summaryrefslogtreecommitdiff
path: root/arm9/asm
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm')
-rw-r--r--arm9/asm/scrcmd.s12171
-rw-r--r--arm9/asm/scrcmd_10.s986
-rw-r--r--arm9/asm/scrcmd_11.s239
-rw-r--r--arm9/asm/scrcmd_12.s1433
-rw-r--r--arm9/asm/scrcmd_13.s220
-rw-r--r--arm9/asm/scrcmd_14.s267
-rw-r--r--arm9/asm/scrcmd_15.s198
-rw-r--r--arm9/asm/scrcmd_16.s408
-rw-r--r--arm9/asm/scrcmd_17.s202
-rw-r--r--arm9/asm/scrcmd_18.s1862
-rw-r--r--arm9/asm/scrcmd_19.s164
-rw-r--r--arm9/asm/scrcmd_2.s225
-rw-r--r--arm9/asm/scrcmd_20.s42
-rw-r--r--arm9/asm/scrcmd_21.s459
-rw-r--r--arm9/asm/scrcmd_22.s220
-rw-r--r--arm9/asm/scrcmd_23.s483
-rw-r--r--arm9/asm/scrcmd_24.s316
-rw-r--r--arm9/asm/scrcmd_25.s30
-rw-r--r--arm9/asm/scrcmd_3.s1000
-rw-r--r--arm9/asm/scrcmd_4.s1311
-rw-r--r--arm9/asm/scrcmd_5.s274
-rw-r--r--arm9/asm/scrcmd_6.s399
-rw-r--r--arm9/asm/scrcmd_7.s674
-rw-r--r--arm9/asm/scrcmd_8.s234
-rw-r--r--arm9/asm/scrcmd_9.s621
-rw-r--r--arm9/asm/unk_02046030.s141738
-rw-r--r--arm9/asm/unk_0204639C.s141742
27 files changed, 154009 insertions, 153909 deletions
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index 265769e5..01151854 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -12432,12174 +12432,3 @@ FUN_0203FCDC: ; 0x0203FCDC
mov r0, #0x0
pop {r3, pc}
.balign 4
-
- thumb_func_start FUN_0203FCF4
-FUN_0203FCF4: ; 0x0203FCF4
- push {r4-r7, lr}
- sub sp, #0x84
- add r7, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- mov r4, #0x0
- add r6, r4, #0x0
- add r5, r4, #0x0
-_0203FD10:
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r5, #0x0
- bl FUN_020239D0
- cmp r0, #0x1
- bne _0203FD2C
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_0203FD2C:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0203FD10
- cmp r6, #0x8
- bhi _0203FD70
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0203FD46: ; jump table (using 16-bit offset)
- .short _0203FD58 - _0203FD46 - 2; case 0
- .short _0203FD5C - _0203FD46 - 2; case 1
- .short _0203FD5C - _0203FD46 - 2; case 2
- .short _0203FD60 - _0203FD46 - 2; case 3
- .short _0203FD60 - _0203FD46 - 2; case 4
- .short _0203FD64 - _0203FD46 - 2; case 5
- .short _0203FD64 - _0203FD46 - 2; case 6
- .short _0203FD68 - _0203FD46 - 2; case 7
- .short _0203FD6C - _0203FD46 - 2; case 8
-_0203FD58:
- mov r1, #0x1
- b _0203FD72
-_0203FD5C:
- mov r1, #0x2
- b _0203FD72
-_0203FD60:
- mov r1, #0x3
- b _0203FD72
-_0203FD64:
- mov r1, #0x4
- b _0203FD72
-_0203FD68:
- mov r1, #0x5
- b _0203FD72
-_0203FD6C:
- mov r1, #0x6
- b _0203FD72
-_0203FD70:
- mov r1, #0x1
-_0203FD72:
- ldr r0, _0203FDB4 ; =0x020F4218
- mov r2, #0x0
- add r6, sp, #0x4
-_0203FD78:
- lsl r3, r2, #0x2
- add r5, r0, r3
- ldrh r3, [r5, #0x2]
- cmp r1, r3
- blt _0203FD8E
- ldrh r5, [r5, #0x0]
- lsl r3, r4, #0x1
- strh r5, [r6, r3]
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- lsr r4, r3, #0x18
-_0203FD8E:
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- cmp r2, #0x13
- blo _0203FD78
- ldr r1, _0203FDB8 ; =0x0000FFFF
- lsl r0, r4, #0x1
- add r2, sp, #0x4
- strh r1, [r2, r0]
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, [r7, #0x74]
- add r7, #0x80
- ldr r1, [r7, #0x0]
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x84
- pop {r4-r7, pc}
- .balign 4
-_0203FDB4: .word 0x020F4218
-_0203FDB8: .word 0x0000FFFF
-
- thumb_func_start FUN_0203FDBC
-FUN_0203FDBC: ; 0x0203FDBC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, _0203FE00 ; =0x0000FFF8
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x5
- bhi _0203FDE4
- mov r0, #0x1
- b _0203FDE6
-_0203FDE4:
- mov r0, #0x0
-_0203FDE6:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE04 ; =0x02105E10
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x0
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE00: .word 0x0000FFF8
-_0203FE04: .word 0x02105E10
-
- thumb_func_start FUN_0203FE08
-FUN_0203FE08: ; 0x0203FE08
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- cmp r2, #0x1
- bhi _0203FE28
- mov r0, #0x1
- b _0203FE2A
-_0203FE28:
- mov r0, #0x0
-_0203FE2A:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE44 ; =0x02105DEC
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x1
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE44: .word 0x02105DEC
-
- thumb_func_start FUN_0203FE48
-FUN_0203FE48: ; 0x0203FE48
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0x0
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE7C ; =0x02105DF4
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x2
- bl MOD06_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE7C: .word 0x02105DF4
-
- thumb_func_start FUN_0203FE80
-FUN_0203FE80: ; 0x0203FE80
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02038AD0
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203FE90
-FUN_0203FE90: ; 0x0203FE90
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- bl FUN_02082140
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203FEC0
-FUN_0203FEC0: ; 0x0203FEC0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- ldr r1, _0203FEF0 ; =FUN_0203FEF4
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203FEF0: .word FUN_0203FEF4
-
- thumb_func_start FUN_0203FEF4
-FUN_0203FEF4: ; 0x0203FEF4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r1, [r4, #0x64]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02082158
- pop {r4, pc}
-
- thumb_func_start FUN_0203FF10
-FUN_0203FF10: ; 0x0203FF10
- push {r3-r7, lr}
- sub sp, #0x38
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020239A0
- add r7, r0, #0x0
- ldr r1, [sp, #0x8]
- add r0, sp, #0x14
- strb r1, [r0, #0x0]
- ldr r1, [sp, #0x4]
- strb r1, [r0, #0x1]
- ldr r1, [sp, #0xc]
- strb r1, [r0, #0x2]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED0C
- add r1, sp, #0x14
- strb r0, [r1, #0x3]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024CA4
- add r1, sp, #0x14
- strb r0, [r1, #0x4]
- strb r6, [r1, #0x5]
- ldr r0, [sp, #0x10]
- str r7, [sp, #0x20]
- str r0, [sp, #0x1c]
- add r0, r5, #0x0
- str r4, [sp, #0x24]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x2c]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r5, #0x80
- ldr r0, [r0, #0xc]
- str r0, [sp, #0x30]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x34]
- add r0, sp, #0x14
- bl FUN_02081214
- ldr r1, [sp, #0x0]
- str r0, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02040028
-FUN_02040028: ; 0x02040028
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r5, #0x80
- ldr r3, [r5, #0x0]
- add r2, r0, #0x0
- ldr r1, [r3, #0xc]
- add r3, #0x98
- ldr r0, [r4, #0x0]
- ldr r3, [r3, #0x0]
- bl FUN_02082630
- ldr r0, [r4, #0x0]
- bl FUN_020814E8
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040074
-FUN_02040074: ; 0x02040074
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_0208201C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020400C8
-FUN_020400C8: ; 0x020400C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_02082034
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204011C
-FUN_0204011C: ; 0x0204011C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_0208206C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040170
-FUN_02040170: ; 0x02040170
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r2, r6, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020401CC
-FUN_020401CC: ; 0x020401CC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02081DC4
- ldr r1, _020401EC ; =FUN_020401F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_020401EC: .word FUN_020401F0
-
- thumb_func_start FUN_020401F0
-FUN_020401F0: ; 0x020401F0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02081EB8
- pop {r3, pc}
-
- thumb_func_start FUN_02040204
-FUN_02040204: ; 0x02040204
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- ldr r1, [r1, #0x0]
- bl FUN_02080E0C
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_02040220
-FUN_02040220: ; 0x02040220
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_02082090
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204025C
-FUN_0204025C: ; 0x0204025C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_020820B8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040298
-FUN_02040298: ; 0x02040298
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_020820DC
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020402D4
-FUN_020402D4: ; 0x020402D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0208213C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040304
-FUN_02040304: ; 0x02040304
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_0208210C
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040340
-FUN_02040340: ; 0x02040340
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0208217C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040370
-FUN_02040370: ; 0x02040370
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02082190
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020403A0
-FUN_020403A0: ; 0x020403A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020821B4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020403D0
-FUN_020403D0: ; 0x020403D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_020821C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040414
-FUN_02040414: ; 0x02040414
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_020821DC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040458
-FUN_02040458: ; 0x02040458
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020821F0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040488
-FUN_02040488: ; 0x02040488
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r3, [sp, #0x4]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02082214
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020404FC
-FUN_020404FC: ; 0x020404FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02082254
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204052C
-FUN_0204052C: ; 0x0204052C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- mov r3, #0xb
- bl FUN_02082284
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204056C
-FUN_0204056C: ; 0x0204056C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020822F0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204059C
-FUN_0204059C: ; 0x0204059C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0208223C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020405B4
-FUN_020405B4: ; 0x020405B4
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0208224C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020405CC
-FUN_020405CC: ; 0x020405CC
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02082444
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020405F8
-FUN_020405F8: ; 0x020405F8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r1, _02040614 ; =FUN_02040618
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02040614: .word FUN_02040618
-
- thumb_func_start FUN_02040618
-FUN_02040618: ; 0x02040618
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02082508
- cmp r0, #0x1
- bne _02040632
- mov r0, #0x1
- pop {r3, pc}
-_02040632:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02040638
-FUN_02040638: ; 0x02040638
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0x1c]
- bl MOD05_021F4608
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204064C
-FUN_0204064C: ; 0x0204064C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0x1c]
- bl MOD05_021F45E8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02040660
-FUN_02040660: ; 0x02040660
- push {r4-r5, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x18
- add r2, sp, #0x14
- add r3, sp, #0x10
- bl FUN_020825A0
- ldr r0, [sp, #0x14]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0x10]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0x8]
- cmp r0, #0x1
- bne _020406B6
-_020406B0:
- mov r0, #0x1
- strh r0, [r5, #0x0]
- b _020406BA
-_020406B6:
- mov r0, #0x0
- strh r0, [r5, #0x0]
-_020406BA:
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020406C0
-FUN_020406C0: ; 0x020406C0
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl MOD06_0224D3E8
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_020406CC
-FUN_020406CC: ; 0x020406CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r4, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r5, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_0200ABC0
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040700
-FUN_02040700: ; 0x02040700
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xf
- add r0, r4, #0x0
- bl FUN_02039438
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, [r4, #0xc]
- bl FUN_0200ABE4
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040724
-FUN_02040724: ; 0x02040724
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xf
- add r0, r4, #0x0
- bl FUN_02039438
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, [r4, #0xc]
- bl FUN_0200AC0C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040748
-FUN_02040748: ; 0x02040748
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AC60
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040790
-FUN_02040790: ; 0x02040790
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE38
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020407C8
-FUN_020407C8: ; 0x020407C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AEE0
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040800
-FUN_02040800: ; 0x02040800
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- bl FUN_0206EA30
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204083C
-FUN_0204083C: ; 0x0204083C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040874
-FUN_02040874: ; 0x02040874
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl FUN_02054C14
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020408BC
-FUN_020408BC: ; 0x020408BC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- ldr r1, [r5, #0x8]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r3, [r2, #0x0]
- cmp r4, #0x0
- bne _02040904
- bl FUN_02054C14
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
-_02040904:
- str r4, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- ldr r2, [sp, #0x8]
- add r1, r6, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204091C
-FUN_0204091C: ; 0x0204091C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040964
-FUN_02040964: ; 0x02040964
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- mov r1, #0x1e
- bl _s32_div_f
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1e
- bl _s32_div_f
- add r2, r1, #0x0
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0206B5E4
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020409C0
-FUN_020409C0: ; 0x020409C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B02C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020409F8
-FUN_020409F8: ; 0x020409F8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B064
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040A30
-FUN_02040A30: ; 0x02040A30
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r7, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r7, #0x8]
- add r0, r4, #0x0
- ldrb r5, [r1, #0x0]
- bl FUN_020239CC
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02023A28
- add r1, r0, #0x0
- add r0, r7, #0x0
- mov r2, #0x2
- bl FUN_020536D0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- bl FUN_0200B09C
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02040A7C
-FUN_02040A7C: ; 0x02040A7C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x8]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r5, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x4
- bl FUN_02040AE4
- add r6, r0, #0x0
- str r5, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- ldr r3, [sp, #0x8]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200ABB4
- add r0, r6, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040AE4
-FUN_02040AE4: ; 0x02040AE4
- push {r3-r5, lr}
- ldr r2, _02040B08 ; =0x0000016A
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02040B08: .word 0x0000016A
-
- thumb_func_start FUN_02040B0C
-FUN_02040B0C: ; 0x02040B0C
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F388
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040B5C
-FUN_02040B5C: ; 0x02040B5C
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F398
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040BAC
-FUN_02040BAC: ; 0x02040BAC
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040BFC
-FUN_02040BFC: ; 0x02040BFC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B350
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040C34
-FUN_02040C34: ; 0x02040C34
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B1D4
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040C6C
-FUN_02040C6C: ; 0x02040C6C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B164
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040CA4
-FUN_02040CA4: ; 0x02040CA4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x16
- mov r1, #0x4
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- mov r1, #0x4
- add r2, r4, #0x0
- bl FUN_02064E60
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r1, r6, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040D04
-FUN_02040D04: ; 0x02040D04
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- sub r5, #0x95
- add r4, r0, #0x0
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x20
- bl FUN_020852E8
- add r5, r0, #0x0
- cmp r4, #0x2
- bhs _02040D5A
- mov r0, #0x1
- b _02040D5C
-_02040D5A:
- mov r0, #0x0
-_02040D5C:
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r1, r6, #0x0
- add r2, r5, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040D7C
-FUN_02040D7C: ; 0x02040D7C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE04
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040DB4
-FUN_02040DB4: ; 0x02040DB4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B660
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040DEC
-FUN_02040DEC: ; 0x02040DEC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- mov r0, #0xb
- ldrb r6, [r1, #0x0]
- add r1, r0, #0x0
- bl FUN_020219F4
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024EB4
- bl FUN_02024F0C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02021E28
- ldr r0, _02040E48 ; =0x020ECAC4
- mov r3, #0x0
- ldrb r0, [r0, #0x0]
- str r3, [sp, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r2, r4, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02040E48: .word 0x020ECAC4
-
- thumb_func_start FUN_02040E4C
-FUN_02040E4C: ; 0x02040E4C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- ldrb r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- ldr r1, [sp, #0x0]
- bl FUN_0206B9B0
- add r4, #0x36
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r7, #0x0]
- add r1, r5, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040EB4
-FUN_02040EB4: ; 0x02040EB4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x3
- bl FUN_0207FC5C
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD94
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040EF8
-FUN_02040EF8: ; 0x02040EF8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- sub r2, r2, #0x1
- lsl r2, r2, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- bl FUN_0200B534
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040F34
-FUN_02040F34: ; 0x02040F34
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE70
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040F6C
-FUN_02040F6C: ; 0x02040F6C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AEA8
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040FA4
-FUN_02040FA4: ; 0x02040FA4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B388
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040FDC
-FUN_02040FDC: ; 0x02040FDC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B20C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041014
-FUN_02041014: ; 0x02041014
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B19C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204104C
-FUN_0204104C: ; 0x0204104C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r0, [r5, #0x8]
- add r1, r4, #0x0
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- ldr r0, [r6, #0x0]
- add r2, r7, #0x0
- bl FUN_0200ACC0
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041094
-FUN_02041094: ; 0x02041094
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldrb r4, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACC0
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020410C8
-FUN_020410C8: ; 0x020410C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B698
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041100
-FUN_02041100: ; 0x02041100
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B09C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041138
-FUN_02041138: ; 0x02041138
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- sub r2, r2, #0x1
- lsl r2, r2, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- bl FUN_0200B568
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02041174
-FUN_02041174: ; 0x02041174
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_0200B7A8
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02041194
-FUN_02041194: ; 0x02041194
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F5D8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020411C4
-FUN_020411C4: ; 0x020411C4
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r0, #0x0
- add r0, #0x80
- ldr r7, [r0, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x20]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, _0204133C ; =0x00000000
- str r0, [sp, #0x1c]
- str r0, [sp, #0x18]
- ldr r5, [sp, #0x1c]
- beq _02041286
-_0204123C:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204127C
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r1, r1, #0x10
- ldr r0, [sp, #0x0]
- lsr r1, r1, #0x10
- bl FUN_02041354
- cmp r0, #0x0
- beq _0204127C
- ldr r1, [sp, #0x1c]
- cmp r1, r0
- bge _0204127C
- str r0, [sp, #0x1c]
- str r5, [sp, #0x18]
-_0204127C:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _0204123C
-_02041286:
- mov r6, #0x0
- str r6, [sp, #0x14]
- str r6, [sp, #0x10]
- add r7, r6, #0x0
-_0204128E:
- mov r5, #0x0
-_02041290:
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x10]
- add r2, r5, #0x0
- bl FUN_0206B5E4
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _020412E0
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _020412E0
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r1, r1, #0x10
- ldr r0, [sp, #0x0]
- lsr r1, r1, #0x10
- bl FUN_02041354
- cmp r0, #0x0
- beq _020412E0
- cmp r6, r0
- bge _020412E0
- add r6, r0, #0x0
- add r0, r5, r7
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x14]
-_020412E0:
- add r5, r5, #0x1
- cmp r5, #0x1e
- blo _02041290
- ldr r0, [sp, #0x10]
- add r7, #0x1e
- add r0, r0, #0x1
- str r0, [sp, #0x10]
- cmp r0, #0x12
- blo _0204128E
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0204130C
- cmp r6, #0x0
- bne _0204130C
- ldr r0, [sp, #0xc]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r1, [r0, #0x0]
- b _02041336
-_0204130C:
- ldr r0, [sp, #0x1c]
- cmp r0, r6
- blo _02041326
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0xc]
- strh r1, [r0, #0x0]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _02041336
-_02041326:
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0xc]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- mov r1, #0x1
- strh r6, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r1, [r0, #0x0]
-_02041336:
- mov r0, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_0204133C: .word 0x00000000
-
- thumb_func_start FUN_02041340
-FUN_02041340: ; 0x02041340
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F5FC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02041354
-FUN_02041354: ; 0x02041354
- push {r4-r7, lr}
- sub sp, #0xc
- mov r6, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r6, #0x0
-_02041360:
- add r0, r5, #0x0
- mov r1, #0xa
- bl _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xa
- bl _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _020413AC
- add r0, r5, #0x0
- mov r1, #0xa
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x0
- mov r1, #0xa
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x5
- blo _02041360
-_020413AC:
- ldr r1, _020413BC ; =0x021C5A10
- ldr r0, [sp, #0x8]
- strh r0, [r1, #0x2]
- ldr r0, [sp, #0x4]
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_020413BC: .word 0x021C5A10
-
- thumb_func_start FUN_020413C0
-FUN_020413C0: ; 0x020413C0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02005410
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020413E8
-FUN_020413E8: ; 0x020413E8
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_0200521C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020413F8
-FUN_020413F8: ; 0x020413F8
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_02004124
- mov r1, #0x0
- bl FUN_02005350
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0204140C
-FUN_0204140C: ; 0x0204140C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x1c]
- ldr r1, [r1, #0x0]
- bl FUN_0204ABA8
- bl FUN_0200521C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041424
-FUN_02041424: ; 0x02041424
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204AB20
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204143C
-FUN_0204143C: ; 0x0204143C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020053CC
- ldr r1, _02041460 ; =FUN_02041464
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02041460: .word FUN_02041464
-
- thumb_func_start FUN_02041464
-FUN_02041464: ; 0x02041464
- push {r3, lr}
- bl FUN_02005404
- cmp r0, #0x0
- bne _02041472
- mov r0, #0x1
- pop {r3, pc}
-_02041472:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041478
-FUN_02041478: ; 0x02041478
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- mov r0, #0x7f
- mov r2, #0x0
- bl FUN_0200538C
- ldr r1, _02041498 ; =FUN_02041464
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02041498: .word FUN_02041464
-
- thumb_func_start FUN_0204149C
-FUN_0204149C: ; 0x0204149C
- push {r3, lr}
- ldr r1, [r0, #0x8]
- add r3, r1, #0x1
- str r3, [r0, #0x8]
- ldrb r2, [r1, #0x0]
- add r1, r3, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r3, #0x0]
- add r0, r2, #0x0
- bl FUN_020047C8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414B8
-FUN_020414B8: ; 0x020414B8
- push {r3, lr}
- bl ScriptReadHalfword
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_02005308
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414CC
-FUN_020414CC: ; 0x020414CC
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r0, [r2, #0x0]
- bl FUN_020040F4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414E0
-FUN_020414E0: ; 0x020414E0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- bl FUN_020054C8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020414FC
-FUN_020414FC: ; 0x020414FC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- mov r1, #0x0
- bl FUN_020054F0
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02041518
-FUN_02041518: ; 0x02041518
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- ldr r1, _0204153C ; =FUN_02041540
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0204153C: .word FUN_02041540
-
- thumb_func_start FUN_02041540
-FUN_02041540: ; 0x02041540
- push {r3, lr}
- ldr r0, [r0, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02005508
- cmp r0, #0x0
- bne _02041554
- mov r0, #0x1
- pop {r3, pc}
-_02041554:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02041558
-FUN_02041558: ; 0x02041558
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl FUN_02005578
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041588
-FUN_02041588: ; 0x02041588
- push {r3, lr}
- ldr r1, _02041594 ; =FUN_02041598
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_02041594: .word FUN_02041598
-
- thumb_func_start FUN_02041598
-FUN_02041598: ; 0x02041598
- push {r3, lr}
- bl FUN_02005670
- cmp r0, #0x0
- bne _020415A6
- mov r0, #0x1
- pop {r3, pc}
-_020415A6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415AC
-FUN_020415AC: ; 0x020415AC
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_02005C28
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415BC
-FUN_020415BC: ; 0x020415BC
- push {r3, lr}
- ldr r1, _020415C8 ; =FUN_020415CC
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_020415C8: .word FUN_020415CC
-
- thumb_func_start FUN_020415CC
-FUN_020415CC: ; 0x020415CC
- push {r3, lr}
- bl FUN_02005CBC
- cmp r0, #0x0
- bne _020415DA
- mov r0, #0x1
- pop {r3, pc}
-_020415DA:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415E0
-FUN_020415E0: ; 0x020415E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- bl FUN_02005D20
- cmp r0, #0x1
- bne _02041610
- mov r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-_02041610:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041618
-FUN_02041618: ; 0x02041618
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- bl FUN_02005E28
- cmp r0, #0x0
- bne _0204163C
- mov r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-_0204163C:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02041644
-FUN_02041644: ; 0x02041644
- push {r3, lr}
- bl FUN_02005E64
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041650
-FUN_02041650: ; 0x02041650
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- bl FUN_02005E6C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041664
-FUN_02041664: ; 0x02041664
- push {r3, lr}
- mov r1, #0x0
- mov r0, #0x3f
- add r2, r1, #0x0
- bl FUN_0200433C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041674
-FUN_02041674: ; 0x02041674
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200488C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020416A8
-FUN_020416A8: ; 0x020416A8
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bne _02041708
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_02039438
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_02039438
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x1b
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x1c
- bl FUN_02039438
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x1d
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x1e
- bl FUN_02039438
- b _02041748
-_02041708:
- add r0, r4, #0x0
- mov r1, #0x1f
- bl FUN_02039438
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02039438
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x21
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x22
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_02039438
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_02039438
-_02041748:
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0xc]
- ldr r0, [r0, #0x0]
- ldr r3, [sp, #0x14]
- str r0, [sp, #0x4]
- str r5, [sp, #0x8]
- ldr r0, [r6, #0x0]
- ldr r1, [r4, #0x38]
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- bl FUN_0205CA4C
- str r0, [r7, #0x0]
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041770
-FUN_02041770: ; 0x02041770
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x0]
- cmp r6, #0x0
- bne _020417AE
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x1e
- bl FUN_02039438
- b _020417B8
-_020417AE:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x25
- bl FUN_02039438
-_020417B8:
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _020417C6
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020417C6:
- bl FUN_0205CA64
- cmp r0, #0x1
- bne _020417DC
- ldr r0, [r5, #0x0]
- bl FUN_0205CA78
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- strh r0, [r4, #0x0]
-_020417DC:
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020417E0
-FUN_020417E0: ; 0x020417E0
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1c
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- ldrh r1, [r5, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041808
-FUN_02041808: ; 0x02041808
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1b
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x22
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- cmp r7, #0x0
- bne _02041852
- ldrh r1, [r4, #0x0]
- b _02041854
-_02041852:
- ldrh r1, [r6, #0x0]
-_02041854:
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204185C
-FUN_0204185C: ; 0x0204185C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204188C
-FUN_0204188C: ; 0x0204188C
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x8
- add r0, r4, #0x0
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x17
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r6, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _020418F2
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F368
- add r6, r0, #0x0
-_020418F2:
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- ldr r0, [r5, #0x74]
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x8]
- add r3, r6, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204190C
-FUN_0204190C: ; 0x0204190C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- ldr r0, [r5, #0x74]
- add r1, r7, #0x0
- add r3, r6, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02041970
-FUN_02041970: ; 0x02041970
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _020419D2
- mov r0, #0x0
- mov r1, #0x2
- add r2, r0, #0x0
- b _020419EC
-_020419D2:
- ldrh r0, [r4, #0x0]
- bl FUN_02039618
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _020419E6
- mov r0, #0x3
- mov r1, #0x5
- mov r2, #0x6
- b _020419EC
-_020419E6:
- mov r0, #0x7
- mov r1, #0x9
- mov r2, #0xa
-_020419EC:
- strh r0, [r7, #0x0]
- strh r1, [r6, #0x0]
- strh r2, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020419F8
-FUN_020419F8: ; 0x020419F8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _02041A5A
- mov r1, #0x0
- mov r0, #0x11
- add r2, r1, #0x0
- b _02041A74
-_02041A5A:
- ldrh r0, [r4, #0x0]
- bl FUN_02039618
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _02041A6E
- mov r0, #0x12
- mov r1, #0x0
- mov r2, #0x6
- b _02041A74
-_02041A6E:
- mov r0, #0x13
- mov r1, #0x0
- mov r2, #0xa
-_02041A74:
- strh r0, [r7, #0x0]
- strh r1, [r6, #0x0]
- strh r2, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041A80
-FUN_02041A80: ; 0x02041A80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041AB4
-FUN_02041AB4: ; 0x02041AB4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- bl FUN_0204AD0C
- bl FUN_02004724
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02041AD4
-FUN_02041AD4: ; 0x02041AD4
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02048498
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041AE0
-FUN_02041AE0: ; 0x02041AE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480B8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B10
-FUN_02041B10: ; 0x02041B10
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480C8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B40
-FUN_02041B40: ; 0x02041B40
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480D8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B70
-FUN_02041B70: ; 0x02041B70
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0204A248
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B9C
-FUN_02041B9C: ; 0x02041B9C
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- mov r1, #0xb
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x0
- ldr r0, [r4, #0x74]
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02041BC4
-FUN_02041BC4: ; 0x02041BC4
- push {r3-r5, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058738
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl FUN_0203965C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041BF0
-FUN_02041BF0: ; 0x02041BF0
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058738
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r7, #0x0
- lsr r1, r1, #0x10
- bl FUN_02039640
- cmp r0, #0x1
- bne _02041C34
- ldr r1, [r6, #0x8]
- add r0, r6, #0x0
- add r1, r1, r4
- bl ScriptJump
- mov r0, #0x1
- pop {r3-r7, pc}
-_02041C34:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02041C38
-FUN_02041C38: ; 0x02041C38
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202881C
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r7, [r0, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x6
- bls _02041C6C
- b _02041E38
-_02041C6C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02041C78: ; jump table (using 16-bit offset)
- .short _02041C86 - _02041C78 - 2; case 0
- .short _02041CBC - _02041C78 - 2; case 1
- .short _02041CF2 - _02041C78 - 2; case 2
- .short _02041D28 - _02041C78 - 2; case 3
- .short _02041D5E - _02041C78 - 2; case 4
- .short _02041D94 - _02041C78 - 2; case 5
- .short _02041DCE - _02041C78 - 2; case 6
-_02041C86:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02028828
- strh r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041CBC:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02028840
- strh r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041CF2:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0200B708
- b _02041E38
-_02041D28:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0200B708
- b _02041E38
-_02041D5E:
- mov r1, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020287A8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r2, #0x0
- str r2, [sp, #0x0]
- str r5, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x74]
- mov r1, #0x5
- mov r3, #0x7
- bl FUN_020385CC
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02041D94:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02028828
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x1
- bl FUN_02028700
- cmp r6, #0x0
- beq _02041DC8
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_020612F8
-_02041DC8:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041DCE:
- mov r0, #0x40
- mov r1, #0x20
- bl FUN_020219F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r6, #0x0
- add r7, r0, #0x0
- bl FUN_02023990
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x1
- add r3, r6, #0x0
- bl FUN_020287C0
- add r0, r7, #0x0
- bl FUN_020239CC
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020287EC
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl FUN_02028810
- bl rand_MT
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02028788
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_02028700
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_020612EC
-_02041E38:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041E40
-FUN_02041E40: ; 0x02041E40
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x6
- bls _02041E4E
- b _02041FD2
-_02041E4E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02041E5A: ; jump table (using 16-bit offset)
- .short _02041E68 - _02041E5A - 2; case 0
- .short _02041E88 - _02041E5A - 2; case 1
- .short _02041F24 - _02041E5A - 2; case 2
- .short _02041ECA - _02041E5A - 2; case 3
- .short _02041F2E - _02041E5A - 2; case 4
- .short _02041F68 - _02041E5A - 2; case 5
- .short _02041FB4 - _02041E5A - 2; case 6
-_02041E68:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl MOD06_02248CD0
- strh r0, [r5, #0x0]
- b _02041FD2
-_02041E88:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- ldr r0, _02041FD8 ; =0x00000233
- add r4, #0x80
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- add r1, r7, #0x0
- bl MOD06_02249038
- strh r0, [r6, #0x0]
- b _02041FD2
-_02041ECA:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r5, #0x0]
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl MOD06_022490A0
- b _02041FD2
-_02041F24:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl MOD06_02248CC0
- b _02041FD2
-_02041F2E:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r4, #0x80
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl MOD06_022491FC
- strh r0, [r6, #0x0]
- b _02041FD2
-_02041F68:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl MOD06_02248F70
- strh r0, [r5, #0x0]
- b _02041FD2
-_02041FB4:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl MOD06_02248FE0
- strh r0, [r5, #0x0]
-_02041FD2:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02041FD8: .word 0x00000233
-
- thumb_func_start FUN_02041FDC
-FUN_02041FDC: ; 0x02041FDC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02061374
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042000
-FUN_02042000: ; 0x02042000
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0206B9B0
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02061460
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042038
-FUN_02042038: ; 0x02042038
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042058
- cmp r0, #0x1
- beq _020420A8
- b _02042106
-_02042058:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- ldr r0, _0204210C ; =0x00000232
- add r5, #0x80
- strh r0, [r6, #0x0]
- ldr r0, [sp, #0x0]
- ldr r1, [r5, #0x0]
- ldr r2, [r4, #0x0]
- bl FUN_020421F0
- strh r0, [r7, #0x0]
- b _02042106
-_020420A8:
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r3, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020421D8
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_0202A170
-_02042106:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0204210C: .word 0x00000232
-
- thumb_func_start FUN_02042110
-FUN_02042110: ; 0x02042110
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_02042214
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204214C
-FUN_0204214C: ; 0x0204214C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042170
- cmp r0, #0x1
- beq _020421A2
- cmp r0, #0x2
- beq _020421BC
- b _020421D4
-_02042170:
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0206B9B0
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x4
- bl FUN_02060F3C
- b _020421D4
-_020421A2:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02060F9C
- b _020421D4
-_020421BC:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02060F88
-_020421D4:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020421D8
-FUN_020421D8: ; 0x020421D8
- push {r3, lr}
- sub r1, r1, #0x1
- lsl r3, r1, #0x4
- ldr r1, _020421EC ; =0x020F4264
- ldr r3, [r1, r3]
- cmp r3, #0x0
- beq _020421EA
- add r1, r2, #0x0
- blx r3
-_020421EA:
- pop {r3, pc}
- .balign 4
-_020421EC: .word 0x020F4264
-
- thumb_func_start FUN_020421F0
-FUN_020421F0: ; 0x020421F0
- push {r4, lr}
- sub r0, r0, #0x1
- lsl r4, r0, #0x4
- ldr r0, _0204220C ; =0x020F4268
- ldr r3, [r0, r4]
- cmp r3, #0x0
- beq _02042204
- add r0, r1, #0x0
- add r1, r2, #0x0
- blx r3
-_02042204:
- ldr r0, _02042210 ; =0x020F4270
- ldr r0, [r0, r4]
- pop {r4, pc}
- nop
-_0204220C: .word 0x020F4268
-_02042210: .word 0x020F4270
-
- thumb_func_start FUN_02042214
-FUN_02042214: ; 0x02042214
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- add r5, r1, #0x0
- bl FUN_02022504
- mov r1, #0x1
- add r2, r5, #0x0
- bl FUN_0202B710
- cmp r0, #0x0
- bne _02042230
- mov r0, #0x0
- pop {r3-r5, pc}
-_02042230:
- sub r0, r5, #0x1
- lsl r1, r0, #0x4
- ldr r0, _02042248 ; =0x020F426C
- ldr r1, [r0, r1]
- cmp r1, #0x0
- bne _02042240
- mov r0, #0x1
- pop {r3-r5, pc}
-_02042240:
- add r0, r4, #0x0
- blx r1
- pop {r3-r5, pc}
- nop
-_02042248: .word 0x020F426C
-
- thumb_func_start FUN_0204224C
-FUN_0204224C: ; 0x0204224C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- mov r0, #0x40
- mov r1, #0x4
- str r3, [sp, #0x8]
- bl FUN_020219F4
- add r1, r7, #0x0
- add r4, r0, #0x0
- bl FUN_02021E28
- ldr r0, [sp, #0x24]
- ldr r3, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02042288
-FUN_02042288: ; 0x02042288
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_0206BB1C
- bl FUN_0204A20C
- bl FUN_020690E4
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200AC60
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020422A8
-FUN_020422A8: ; 0x020422A8
- push {r4, lr}
- ldr r0, [r0, #0x4]
- add r4, r1, #0x0
- ldr r0, [r0, #0x14]
- bl MOD20_02252538
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200B02C
- pop {r4, pc}
-
- thumb_func_start FUN_020422C0
-FUN_020422C0: ; 0x020422C0
- push {r4, lr}
- sub sp, #0x20
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B844
- ldrh r0, [r0, #0x2]
- mov r1, #0x4
- add r2, sp, #0x8
- bl FUN_0200A99C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r2, sp, #0x8
- add r3, r1, #0x0
- bl FUN_0204224C
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020422F4
-FUN_020422F4: ; 0x020422F4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B85C
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042304
-FUN_02042304: ; 0x02042304
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0204C1A8
- bl FUN_0204BEC8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02042314
-FUN_02042314: ; 0x02042314
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B838
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042324
-FUN_02042324: ; 0x02042324
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- mov r1, #0x0
- bl FUN_02027098
- pop {r3, pc}
-
- thumb_func_start FUN_02042334
-FUN_02042334: ; 0x02042334
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B850
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042344
-FUN_02042344: ; 0x02042344
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B844
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042354
-FUN_02042354: ; 0x02042354
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r0, #0xa8
- bl MOD06_022434BC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02042364
-FUN_02042364: ; 0x02042364
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MOD06_022434D0
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r1, #0xa8
- str r0, [r1, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042394
-FUN_02042394: ; 0x02042394
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl MOD06_02243694
- add r4, #0x80
- ldr r1, [r4, #0x0]
- mov r0, #0x0
- add r1, #0xa8
- str r0, [r1, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020423B0
-FUN_020423B0: ; 0x020423B0
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0xa8
- ldr r5, [r0, #0x0]
- ldr r0, [sp, #0x0]
- cmp r0, #0x64
- bls _020423FA
- b _020426F6
-_020423FA:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02042406: ; jump table (using 16-bit offset)
- .short _020424D0 - _02042406 - 2; case 0
- .short _020424DA - _02042406 - 2; case 1
- .short _020424F6 - _02042406 - 2; case 2
- .short _020424FC - _02042406 - 2; case 3
- .short _02042508 - _02042406 - 2; case 4
- .short _02042516 - _02042406 - 2; case 5
- .short _0204251E - _02042406 - 2; case 6
- .short _020426F6 - _02042406 - 2; case 7
- .short _02042526 - _02042406 - 2; case 8
- .short _02042532 - _02042406 - 2; case 9
- .short _02042540 - _02042406 - 2; case 10
- .short _0204254E - _02042406 - 2; case 11
- .short _0204255A - _02042406 - 2; case 12
- .short _020426F6 - _02042406 - 2; case 13
- .short _02042564 - _02042406 - 2; case 14
- .short _0204256E - _02042406 - 2; case 15
- .short _02042578 - _02042406 - 2; case 16
- .short _020426F6 - _02042406 - 2; case 17
- .short _020426F6 - _02042406 - 2; case 18
- .short _020426F6 - _02042406 - 2; case 19
- .short _020426F6 - _02042406 - 2; case 20
- .short _020426F6 - _02042406 - 2; case 21
- .short _020426F6 - _02042406 - 2; case 22
- .short _020426F6 - _02042406 - 2; case 23
- .short _020426F6 - _02042406 - 2; case 24
- .short _020426F6 - _02042406 - 2; case 25
- .short _020426F6 - _02042406 - 2; case 26
- .short _020426F6 - _02042406 - 2; case 27
- .short _020426F6 - _02042406 - 2; case 28
- .short _020426F6 - _02042406 - 2; case 29
- .short _0204258A - _02042406 - 2; case 30
- .short _020425A2 - _02042406 - 2; case 31
- .short _020425BC - _02042406 - 2; case 32
- .short _020425C8 - _02042406 - 2; case 33
- .short _020425D2 - _02042406 - 2; case 34
- .short _020425DC - _02042406 - 2; case 35
- .short _020425E6 - _02042406 - 2; case 36
- .short _020425F0 - _02042406 - 2; case 37
- .short _020425F8 - _02042406 - 2; case 38
- .short _02042600 - _02042406 - 2; case 39
- .short _02042608 - _02042406 - 2; case 40
- .short _0204261A - _02042406 - 2; case 41
- .short _02042626 - _02042406 - 2; case 42
- .short _02042642 - _02042406 - 2; case 43
- .short _0204264C - _02042406 - 2; case 44
- .short _02042656 - _02042406 - 2; case 45
- .short _02042660 - _02042406 - 2; case 46
- .short _0204266A - _02042406 - 2; case 47
- .short _02042674 - _02042406 - 2; case 48
- .short _02042680 - _02042406 - 2; case 49
- .short _0204268C - _02042406 - 2; case 50
- .short _020426A0 - _02042406 - 2; case 51
- .short _020426AA - _02042406 - 2; case 52
- .short _020426B4 - _02042406 - 2; case 53
- .short _020426BE - _02042406 - 2; case 54
- .short _020426CC - _02042406 - 2; case 55
- .short _02042612 - _02042406 - 2; case 56
- .short _020426DA - _02042406 - 2; case 57
- .short _020426F6 - _02042406 - 2; case 58
- .short _020426F6 - _02042406 - 2; case 59
- .short _020426F6 - _02042406 - 2; case 60
- .short _020426F6 - _02042406 - 2; case 61
- .short _020426F6 - _02042406 - 2; case 62
- .short _020426F6 - _02042406 - 2; case 63
- .short _020426F6 - _02042406 - 2; case 64
- .short _020426F6 - _02042406 - 2; case 65
- .short _020426F6 - _02042406 - 2; case 66
- .short _020426F6 - _02042406 - 2; case 67
- .short _020426F6 - _02042406 - 2; case 68
- .short _020426F6 - _02042406 - 2; case 69
- .short _020426F6 - _02042406 - 2; case 70
- .short _020426F6 - _02042406 - 2; case 71
- .short _020426F6 - _02042406 - 2; case 72
- .short _020426F6 - _02042406 - 2; case 73
- .short _020426F6 - _02042406 - 2; case 74
- .short _020426F6 - _02042406 - 2; case 75
- .short _020426F6 - _02042406 - 2; case 76
- .short _020426F6 - _02042406 - 2; case 77
- .short _020426F6 - _02042406 - 2; case 78
- .short _020426F6 - _02042406 - 2; case 79
- .short _020426F6 - _02042406 - 2; case 80
- .short _020426F6 - _02042406 - 2; case 81
- .short _020426F6 - _02042406 - 2; case 82
- .short _020426F6 - _02042406 - 2; case 83
- .short _020426F6 - _02042406 - 2; case 84
- .short _020426F6 - _02042406 - 2; case 85
- .short _020426F6 - _02042406 - 2; case 86
- .short _020426F6 - _02042406 - 2; case 87
- .short _020426F6 - _02042406 - 2; case 88
- .short _020426F6 - _02042406 - 2; case 89
- .short _020426F6 - _02042406 - 2; case 90
- .short _020426F6 - _02042406 - 2; case 91
- .short _020426F6 - _02042406 - 2; case 92
- .short _020426F6 - _02042406 - 2; case 93
- .short _020426F6 - _02042406 - 2; case 94
- .short _020426F6 - _02042406 - 2; case 95
- .short _020426F6 - _02042406 - 2; case 96
- .short _020426F6 - _02042406 - 2; case 97
- .short _020426F6 - _02042406 - 2; case 98
- .short _020426F6 - _02042406 - 2; case 99
- .short _020426E6 - _02042406 - 2; case 100
-_020424D0:
- add r0, r6, #0x0
- bl MOD06_0224312C
- strh r0, [r4, #0x0]
- b _020426FA
-_020424DA:
- cmp r6, #0x0
- bne _020424EA
- ldrb r0, [r5, #0xe]
- ldr r1, [r1, #0xc]
- bl MOD06_022432E4
- strh r0, [r4, #0x0]
- b _020426FA
-_020424EA:
- ldr r1, [r1, #0xc]
- add r0, r6, #0x0
- bl MOD06_022432E4
- strh r0, [r4, #0x0]
- b _020426FA
-_020424F6:
- bl MOD06_0224339C
- b _020426FA
-_020424FC:
- ldr r0, [r1, #0xc]
- bl FUN_0202A8CC
- bl MOD06_022433A8
- b _020426FA
-_02042508:
- ldr r0, [r1, #0xc]
- bl FUN_0202A8CC
- bl MOD06_022433B0
- strh r0, [r4, #0x0]
- b _020426FA
-_02042516:
- add r0, r1, #0x0
- bl MOD06_022433B8
- b _020426FA
-_0204251E:
- add r0, r1, #0x0
- bl MOD06_022433F8
- b _020426FA
-_02042526:
- ldr r0, [r1, #0xc]
- add r1, r6, #0x0
- bl MOD06_02243408
- strh r0, [r4, #0x0]
- b _020426FA
-_02042532:
- ldr r1, [r1, #0xc]
- mov r0, #0x0
- mov r2, #0x2
- bl MOD06_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_02042540:
- mov r0, #0x0
- ldr r1, [r1, #0xc]
- add r2, r0, #0x0
- bl MOD06_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_0204254E:
- ldr r0, [r1, #0xc]
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- bl MOD06_02243428
- b _020426FA
-_0204255A:
- ldr r0, [r1, #0xc]
- bl MOD06_02243448
- strh r0, [r4, #0x0]
- b _020426FA
-_02042564:
- ldr r0, [r1, #0xc]
- bl MOD06_0224345C
- strh r0, [r4, #0x0]
- b _020426FA
-_0204256E:
- ldr r0, [r1, #0xc]
- bl MOD06_022434AC
- strh r0, [r4, #0x0]
- b _020426FA
-_02042578:
- ldrh r3, [r4, #0x0]
- ldr r0, [r7, #0x74]
- ldr r2, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_0205FD38
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204258A:
- add r0, r1, #0x0
- mov r1, #0x13
- bl FUN_02039438
- add r2, r0, #0x0
- ldr r1, [r7, #0x74]
- add r0, r5, #0x0
- bl MOD06_022436C8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020425A2:
- add r0, r1, #0x0
- mov r1, #0x13
- bl FUN_02039438
- add r7, #0x80
- ldr r2, [r7, #0x0]
- add r1, r0, #0x0
- ldr r2, [r2, #0xc]
- add r0, r5, #0x0
- bl MOD06_022436E8
- strh r0, [r4, #0x0]
- b _020426FA
-_020425BC:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243780
- strh r0, [r4, #0x0]
- b _020426FA
-_020425C8:
- add r0, r5, #0x0
- bl MOD06_022438DC
- strh r0, [r4, #0x0]
- b _020426FA
-_020425D2:
- add r0, r5, #0x0
- bl MOD06_022438E0
- strh r0, [r4, #0x0]
- b _020426FA
-_020425DC:
- add r0, r5, #0x0
- bl MOD06_022438FC
- strh r0, [r4, #0x0]
- b _020426FA
-_020425E6:
- add r0, r5, #0x0
- bl MOD06_02243920
- strh r0, [r4, #0x0]
- b _020426FA
-_020425F0:
- add r0, r5, #0x0
- bl MOD06_022439F8
- b _020426FA
-_020425F8:
- add r0, r5, #0x0
- bl MOD06_02243AD8
- b _020426FA
-_02042600:
- add r0, r5, #0x0
- bl MOD06_02243BA8
- b _020426FA
-_02042608:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243C5C
- b _020426FA
-_02042612:
- add r0, r5, #0x0
- bl MOD06_02243D3C
- b _020426FA
-_0204261A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl MOD06_02243DA0
- strh r0, [r4, #0x0]
- b _020426FA
-_02042626:
- add r0, r1, #0x0
- mov r1, #0x17
- bl FUN_02039438
- add r7, #0x80
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r5, #0x0
- ldr r0, [r0, #0x10]
- bl MOD06_02243DB8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02042642:
- add r0, r5, #0x0
- bl MOD06_02243DC0
- strh r0, [r4, #0x0]
- b _020426FA
-_0204264C:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl MOD06_02243DC4
- b _020426FA
-_02042656:
- add r0, r5, #0x0
- bl MOD06_02243DD8
- strh r0, [r4, #0x0]
- b _020426FA
-_02042660:
- add r0, r5, #0x0
- bl MOD06_02243DE0
- strh r0, [r4, #0x0]
- b _020426FA
-_0204266A:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243E34
- b _020426FA
-_02042674:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243F18
- strh r0, [r4, #0x0]
- b _020426FA
-_02042680:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243F50
- strh r0, [r4, #0x0]
- b _020426FA
-_0204268C:
- ldrb r1, [r5, #0x10]
- mov r0, #0xe0
- bic r1, r0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r5, #0x10]
- b _020426FA
-_020426A0:
- ldrb r0, [r5, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- strh r0, [r4, #0x0]
- b _020426FA
-_020426AA:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243838
- b _020426FA
-_020426B4:
- add r0, r5, r6
- add r0, #0x2a
- ldrb r0, [r0, #0x0]
- strh r0, [r4, #0x0]
- b _020426FA
-_020426BE:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- mov r2, #0x1
- bl MOD06_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_020426CC:
- lsl r1, r6, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0204290C
- strh r0, [r4, #0x0]
- b _020426FA
-_020426DA:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl MOD06_02243F9C
- strh r0, [r4, #0x0]
- b _020426FA
-_020426E6:
- cmp r5, #0x0
- bne _020426F0
- mov r0, #0x1
- strh r0, [r4, #0x0]
- b _020426FA
-_020426F0:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- b _020426FA
-_020426F6:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_020426FA:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02042700
-FUN_02042700: ; 0x02042700
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- add r1, #0xa8
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- lsl r2, r6, #0x4
- add r2, r6, r2
- mov r1, #0x38
- lsl r2, r2, #0x4
- mul r1, r7
- add r2, r4, r2
- add r3, r2, r1
- mov r2, #0xb2
- lsl r2, r2, #0x2
- ldrh r1, [r3, r2]
- lsl r1, r1, #0x15
- lsr r4, r1, #0x15
- ldr r1, [sp, #0x0]
- strh r4, [r1, #0x0]
- add r1, r2, #0x4
- ldrh r1, [r3, r1]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02042780
-FUN_02042780: ; 0x02042780
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0205FE10
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020427A8
-FUN_020427A8: ; 0x020427A8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0205FF5C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020427D0
-FUN_020427D0: ; 0x020427D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- add r0, #0xa8
- ldr r6, [r0, #0x0]
- ldr r0, _0204285C ; =0x00000884
- mov r2, #0x46
- add r0, r6, r0
- bl MI_CpuFill8
- cmp r4, #0x0
- beq _0204281E
- cmp r4, #0x1
- beq _02042830
- cmp r4, #0x2
- beq _0204283E
- b _0204284C
-_0204281E:
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r0, r1, #0x0
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0xc]
- bl MOD06_022446FC
- b _0204284C
-_02042830:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl MOD06_02244758
- b _0204284C
-_0204283E:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl MOD06_02244770
-_0204284C:
- bl FUN_02031190
- ldr r1, _02042860 ; =0x0000083E
- add r1, r6, r1
- bl FUN_020316AC
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204285C: .word 0x00000884
-_02042860: .word 0x0000083E
-
- thumb_func_start FUN_02042864
-FUN_02042864: ; 0x02042864
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x10]
- bl FUN_0205FDDC
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042894
-FUN_02042894: ; 0x02042894
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202A8E4
- add r1, sp, #0x0
- bl FUN_0202A864
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- strh r1, [r4, #0x0]
- ldrb r0, [r0, #0x1]
- strh r0, [r6, #0x0]
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_020428E0
-FUN_020428E0: ; 0x020428E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202A8E4
- bl FUN_0202A74C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204290C
-FUN_0204290C: ; 0x0204290C
- cmp r1, #0x2
- bne _02042918
- ldrb r0, [r0, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- bx lr
-_02042918:
- cmp r1, #0x1
- bne _0204293E
- ldrb r1, [r0, #0xf]
- cmp r1, #0x2
- bne _02042930
- ldrb r0, [r0, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- lsl r1, r0, #0x1
- ldr r0, _0204294C ; =0x020F4334
- ldrh r0, [r0, r1]
- bx lr
-_02042930:
- ldrb r0, [r0, #0x12]
- cmp r0, #0x0
- beq _0204293A
- mov r0, #0x61
- bx lr
-_0204293A:
- mov r0, #0x0
- bx lr
-_0204293E:
- ldrb r0, [r0, #0x11]
- cmp r0, #0x0
- beq _02042948
- mov r0, #0x61
- bx lr
-_02042948:
- mov r0, #0x0
- bx lr
- .balign 4
-_0204294C: .word 0x020F4334
-
- thumb_func_start FUN_02042950
-FUN_02042950: ; 0x02042950
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r1, [r5, #0x8]
- ldr r0, [r0, #0x0]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- ldrb r6, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl MOD05_021E2A70
- str r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02042980
-FUN_02042980: ; 0x02042980
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl MOD05_021E29B4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02042998
-FUN_02042998: ; 0x02042998
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl MOD05_021E2AD4
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020429B8
-FUN_020429B8: ; 0x020429B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0202A3B4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020429E8
-FUN_020429E8: ; 0x020429E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- add r1, r5, #0x0
- mov r2, #0x5
- bl FUN_0202A3B4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042A18
-FUN_02042A18: ; 0x02042A18
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- add r1, r5, #0x0
- mov r2, #0x6
- bl FUN_0202A3B4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042A48
-FUN_02042A48: ; 0x02042A48
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202A8D8
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0202A3B4
- cmp r0, r6
- bhs _02042A8E
- mov r0, #0x0
- b _02042A90
-_02042A8E:
- mov r0, #0x1
-_02042A90:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02042A98
-FUN_02042A98: ; 0x02042A98
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- cmp r7, #0x1
- bne _02042AEE
- mov r1, #0x1a
- b _02042AF0
-_02042AEE:
- mov r1, #0x0
-_02042AF0:
- add r1, r1, r6
- lsl r2, r1, #0x2
- ldr r1, _02042B04 ; =0x020F433E
- ldrh r1, [r1, r2]
- strh r1, [r4, #0x0]
- ldr r1, _02042B08 ; =0x020F4340
- ldrh r1, [r1, r2]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02042B04: .word 0x020F433E
-_02042B08: .word 0x020F4340
-
- thumb_func_start FUN_02042B0C
-FUN_02042B0C: ; 0x02042B0C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r1, r0, #0x0
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_0204B5FC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042B40
-FUN_02042B40: ; 0x02042B40
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B63C
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042B74
-FUN_02042B74: ; 0x02042B74
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B660
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042BA8
-FUN_02042BA8: ; 0x02042BA8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B684
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042BDC
-FUN_02042BDC: ; 0x02042BDC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B6A4
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042C10
-FUN_02042C10: ; 0x02042C10
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B57C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042C44
-FUN_02042C44: ; 0x02042C44
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B5A8
- add r0, r6, #0x0
- mov r1, #0x3
- bl FUN_0202A0E8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042C8C
-FUN_02042C8C: ; 0x02042C8C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042C9E
- cmp r0, #0x1
- beq _02042CA8
- b _02042CB2
-_02042C9E:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204B9A0
- b _02042CB6
-_02042CA8:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204B9CC
- b _02042CB6
-_02042CB2:
- bl ErrorHandling
-_02042CB6:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042CBC
-FUN_02042CBC: ; 0x02042CBC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r1, r0, #0x0
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_0204B4FC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0202A170
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042CF0
-FUN_02042CF0: ; 0x02042CF0
- str r1, [r0, #0x0]
- str r2, [r0, #0x4]
- str r3, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02042CF8
-FUN_02042CF8: ; 0x02042CF8
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202AFC0
- pop {r3, pc}
-
- thumb_func_start FUN_02042D04
-FUN_02042D04: ; 0x02042D04
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202AFFC
- pop {r3, pc}
-
- thumb_func_start FUN_02042D10
-FUN_02042D10: ; 0x02042D10
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202B020
- pop {r3, pc}
-
- thumb_func_start FUN_02042D1C
-FUN_02042D1C: ; 0x02042D1C
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x8
- bls _02042D2C
- b _02042F04
-_02042D2C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02042D38: ; jump table (using 16-bit offset)
- .short _02042D4A - _02042D38 - 2; case 0
- .short _02042D74 - _02042D38 - 2; case 1
- .short _02042DA0 - _02042D38 - 2; case 2
- .short _02042DC0 - _02042D38 - 2; case 3
- .short _02042DFC - _02042D38 - 2; case 4
- .short _02042E2E - _02042D38 - 2; case 5
- .short _02042E9A - _02042D38 - 2; case 6
- .short _02042D58 - _02042D38 - 2; case 7
- .short _02042D66 - _02042D38 - 2; case 8
-_02042D4A:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x20
- ldr r0, [r0, #0xc]
- bl FUN_0202AF70
- b _02042F04
-_02042D58:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202AF88
- b _02042F04
-_02042D66:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0xc]
- bl FUN_0202AF88
- b _02042F04
-_02042D74:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02042CF8
- cmp r0, #0x0
- beq _02042D9A
- mov r0, #0x1
- strh r0, [r5, #0x0]
- b _02042F04
-_02042D9A:
- mov r0, #0x0
- strh r0, [r5, #0x0]
- b _02042F04
-_02042DA0:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02042CF8
- strh r0, [r5, #0x0]
- b _02042F04
-_02042DC0:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- lsl r5, r0, #0x4
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r7, _02042F0C ; =0x020F43E4
- bl FUN_02042D04
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r7, r5]
- blx r2
- strh r0, [r6, #0x0]
- b _02042F04
-_02042DFC:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r2, [r5, #0x4]
- blx r2
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_02042D10
- b _02042F04
-_02042E2E:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r4, #0x80
- add r3, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r0, sp, #0x14
- bl FUN_02042CF0
- ldr r2, [sp, #0x0]
- ldr r3, [r5, #0x8]
- add r0, sp, #0x14
- add r1, r7, #0x0
- blx r3
- b _02042F04
-_02042E9A:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r4, #0x80
- add r3, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r0, sp, #0x8
- bl FUN_02042CF0
- ldr r2, [sp, #0x4]
- ldr r3, [r5, #0xc]
- add r0, sp, #0x8
- add r1, r7, #0x0
- blx r3
-_02042F04:
- mov r0, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- nop
-_02042F0C: .word 0x020F43E4
-
- thumb_func_start FUN_02042F10
-FUN_02042F10: ; 0x02042F10
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- cmp r0, #0x6
- bge _02042F24
- mov r0, #0x1
- pop {r3, pc}
-_02042F24:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02042F28
-FUN_02042F28: ; 0x02042F28
- push {r3, lr}
- sub sp, #0x8
- add r1, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- ldr r1, [r1, #0xc]
- ldr r2, _02042F44 ; =0x000001EA
- mov r0, #0x20
- bl FUN_0204A0C8
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-_02042F44: .word 0x000001EA
-
- thumb_func_start FUN_02042F48
-FUN_02042F48: ; 0x02042F48
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0xd
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042F6C
-FUN_02042F6C: ; 0x02042F6C
- push {r3-r7, lr}
- sub sp, #0x38
- str r0, [sp, #0x4]
- bl FUN_02042D04
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- mov r7, #0x0
- add r5, r0, #0x0
- add r4, r0, #0x4
- add r0, r4, #0x0
- mov r1, #0x97
- add r2, r7, #0x0
- add r5, #0xf0
- bl FUN_020671BC
- add r1, r7, #0x0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x7
- add r2, r7, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- bl OS_GetTick
- bl rand_ALT
- add r1, r0, #0x0
- ldr r0, [sp, #0x14]
- str r1, [sp, #0x34]
- cmp r0, #0x0
- beq _02042FE8
- cmp r0, #0x1
- bne _02042FE6
- add r0, r6, #0x0
- bl FUN_02068AAC
- cmp r0, #0x0
- beq _02042FE8
-_02042FD0:
- ldr r0, [sp, #0x34]
- bl rand_ALT
- add r1, r0, #0x0
- add r0, r6, #0x0
- str r1, [sp, #0x34]
- bl FUN_02068AAC
- cmp r0, #0x0
- bne _02042FD0
- b _02042FE8
-_02042FE6:
- str r0, [sp, #0x34]
-_02042FE8:
- ldr r1, [sp, #0x34]
- add r0, r4, #0x0
- bl FUN_0206A23C
- add r0, r4, #0x0
- bl FUN_020689E0
- str r0, [sp, #0x30]
- add r0, r4, #0x0
- mov r1, #0x6f
- add r2, sp, #0x30
- bl FUN_02067830
- add r0, r4, #0x0
- mov r1, #0x4b
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x4a
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x49
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x20]
- add r0, r4, #0x0
- mov r1, #0x48
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x24]
- add r0, r4, #0x0
- mov r1, #0x46
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x47
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r6, r0
- ldr r0, [sp, #0x24]
- add r1, r0, r1
- ldr r0, [sp, #0x20]
- add r1, r0, r1
- ldr r0, [sp, #0x1c]
- add r1, r0, r1
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- str r0, [sp, #0x30]
- bne _020430DA
- bl rand_LC
- add r6, r0, #0x0
- mov r0, #0x1f
- and r0, r6
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x46
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x3e
- lsl r0, r0, #0x4
- and r0, r6
- lsr r0, r0, #0x5
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x47
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x1f
- lsl r0, r0, #0xa
- and r0, r6
- lsr r0, r0, #0xa
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x48
- add r2, sp, #0x34
- bl FUN_02067830
- bl rand_LC
- add r6, r0, #0x0
- mov r0, #0x1f
- and r0, r6
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x49
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x3e
- lsl r0, r0, #0x4
- and r0, r6
- lsr r0, r0, #0x5
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x4a
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x1f
- lsl r0, r0, #0xa
- and r0, r6
- lsr r0, r0, #0xa
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x4b
- add r2, sp, #0x34
- bl FUN_02067830
-_020430DA:
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0202A918
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020430FC
- mov r0, #0x49
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x0]
- strb r1, [r6, r0]
-_020430FC:
- add r0, r4, #0x0
- mov r1, #0x2f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043114
- mov r0, #0x4a
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x1]
- strb r1, [r6, r0]
-_02043114:
- add r0, r4, #0x0
- mov r1, #0x30
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204312C
- mov r0, #0x4b
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x2]
- strb r1, [r6, r0]
-_0204312C:
- add r0, r4, #0x0
- mov r1, #0x31
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043144
- mov r0, #0x4c
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x3]
- strb r1, [r6, r0]
-_02043144:
- add r0, r4, #0x0
- mov r1, #0x32
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204315C
- mov r0, #0x4d
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x4]
- strb r1, [r6, r0]
-_0204315C:
- add r0, r4, #0x0
- mov r1, #0x33
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043174
- mov r0, #0x4e
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x5]
- strb r1, [r6, r0]
-_02043174:
- add r0, r4, #0x0
- mov r1, #0x34
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204318C
- mov r0, #0x4f
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x6]
- strb r1, [r6, r0]
-_0204318C:
- add r0, r4, #0x0
- mov r1, #0x67
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431A4
- mov r0, #0x19
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x7]
- strb r1, [r6, r0]
-_020431A4:
- add r0, r4, #0x0
- mov r1, #0x68
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431BC
- mov r0, #0x1a
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x8]
- strb r1, [r6, r0]
-_020431BC:
- add r0, r4, #0x0
- mov r1, #0x69
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431D4
- mov r0, #0x1b
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x9]
- strb r1, [r6, r0]
-_020431D4:
- ldr r0, [sp, #0x10]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204322C
- ldr r0, [sp, #0xc]
- mov r1, #0x20
- bl FUN_020239A0
- add r5, r0, #0x0
- ldr r0, [sp, #0xc]
- bl FUN_020239BC
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0xc]
- bl FUN_020239CC
- str r0, [sp, #0x28]
- mov r0, #0x20
- bl FUN_020669C0
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02069B88
- add r0, r7, #0x0
- mov r1, #0x90
- add r2, r5, #0x0
- bl FUN_02067830
- add r0, r7, #0x0
- mov r1, #0x7
- add r2, sp, #0x2c
- bl FUN_02067830
- add r0, r7, #0x0
- mov r1, #0x9c
- add r2, sp, #0x28
- bl FUN_02067830
- add r0, r5, #0x0
- add r4, r7, #0x0
- bl FUN_02021A20
-_0204322C:
- ldr r1, [sp, #0x8]
- mov r0, #0x2
- bl FUN_02015CF8
- add r3, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- mov r2, #0x4
- bl FUN_0208089C
- add r0, r4, #0x0
- bl FUN_02066ED8
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B900
- cmp r0, #0x0
- beq _02043266
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202C144
-_02043266:
- cmp r7, #0x0
- beq _02043270
- add r0, r7, #0x0
- bl FUN_02016A18
-_02043270:
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043274
-FUN_02043274: ; 0x02043274
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x7
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x4
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200ACA4
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020432B4
-FUN_020432B4: ; 0x020432B4
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x4
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020432C0
-FUN_020432C0: ; 0x020432C0
- ldr r3, _020432C4 ; =FUN_02042F6C
- bx r3
- .balign 4
-_020432C4: .word FUN_02042F6C
-
- thumb_func_start FUN_020432C8
-FUN_020432C8: ; 0x020432C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x8
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x4
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200AC60
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043308
-FUN_02043308: ; 0x02043308
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043330
-FUN_02043330: ; 0x02043330
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043358
-FUN_02043358: ; 0x02043358
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x9
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0200AE38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043394
-FUN_02043394: ; 0x02043394
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020433C4
-FUN_020433C4: ; 0x020433C4
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020433C8
-FUN_020433C8: ; 0x020433C8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02023BD4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020433DC
-FUN_020433DC: ; 0x020433DC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xa
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x0
- mov r1, #0x20
- bl FUN_02023AF4
- add r4, r0, #0x0
- mov r1, #0x1
- str r1, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x4]
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043430
-FUN_02043430: ; 0x02043430
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0204343C
-FUN_0204343C: ; 0x0204343C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02026CC4
- bl FUN_02025DB0
- cmp r0, #0xc8
- bge _02043450
- mov r0, #0x1
- pop {r3, pc}
-_02043450:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02043454
-FUN_02043454: ; 0x02043454
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02026CC4
- ldr r1, [r4, #0x0]
- bl FUN_02025D6C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204346C
-FUN_0204346C: ; 0x0204346C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r7, [r0, #0x0]
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xb
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0200B350
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020434A4
-FUN_020434A4: ; 0x020434A4
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020434B0
-FUN_020434B0: ; 0x020434B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- ldr r4, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020434CA
- cmp r0, #0x2
- beq _020434DA
- cmp r0, #0x3
- beq _020434DE
- b _020434E2
-_020434CA:
- ldr r0, [r5, #0xc]
- bl FUN_02029C80
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02029DD4
- pop {r3-r5, pc}
-_020434DA:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020434DE:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020434E2:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020434E8
-FUN_020434E8: ; 0x020434E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- ldr r4, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _02043502
- cmp r0, #0x2
- beq _02043512
- cmp r0, #0x3
- beq _02043526
- pop {r3-r5, pc}
-_02043502:
- ldr r0, [r5, #0xc]
- bl FUN_02029C80
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02029D44
- pop {r3-r5, pc}
-_02043512:
- ldr r0, [r5, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020271A4
- pop {r3-r5, pc}
-_02043526:
- ldr r0, [r5, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- bl FUN_02027264
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043538
-FUN_02043538: ; 0x02043538
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r2, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _02043558
- cmp r0, #0x2
- beq _02043562
- cmp r0, #0x3
- beq _0204356C
- b _02043574
-_02043558:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B534
- b _02043574
-_02043562:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B660
- b _02043574
-_0204356C:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B6D0
-_02043574:
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xc
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043594
-FUN_02043594: ; 0x02043594
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020435A0
-FUN_020435A0: ; 0x020435A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- ldr r1, _020435C0 ; =0x000001C6
- add r0, r4, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-_020435C0: .word 0x000001C6
-
- thumb_func_start FUN_020435C4
-FUN_020435C4: ; 0x020435C4
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- ldr r1, _020435F4 ; =0x000001C6
- add r0, r5, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-_020435F4: .word 0x000001C6
-
- thumb_func_start FUN_020435F8
-FUN_020435F8: ; 0x020435F8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xe
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, _02043630 ; =0x000001C6
- mov r1, #0x1
- bl FUN_0200AE38
- pop {r4-r6, pc}
- nop
-_02043630: .word 0x000001C6
-
- thumb_func_start FUN_02043634
-FUN_02043634: ; 0x02043634
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x7a
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043660
-FUN_02043660: ; 0x02043660
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- mov r1, #0x71
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043684
-FUN_02043684: ; 0x02043684
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x71
- add r4, r0, #0x0
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020436B8
-FUN_020436B8: ; 0x020436B8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xf
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- mov r2, #0x71
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- lsl r2, r2, #0x2
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020436F0
-FUN_020436F0: ; 0x020436F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x78
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204371C
-FUN_0204371C: ; 0x0204371C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- ldr r1, _0204373C ; =0x000001C7
- add r0, r4, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-_0204373C: .word 0x000001C7
-
- thumb_func_start FUN_02043740
-FUN_02043740: ; 0x02043740
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- ldr r1, _02043770 ; =0x000001C7
- add r0, r5, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-_02043770: .word 0x000001C7
-
- thumb_func_start FUN_02043774
-FUN_02043774: ; 0x02043774
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x10
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, _020437AC ; =0x000001C7
- mov r1, #0x1
- bl FUN_0200AE38
- pop {r4-r6, pc}
- nop
-_020437AC: .word 0x000001C7
-
- thumb_func_start FUN_020437B0
-FUN_020437B0: ; 0x020437B0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x7b
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020437DC
-FUN_020437DC: ; 0x020437DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r0, r4, #0x0
- bl FUN_0204BEC8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020437F8
-FUN_020437F8: ; 0x020437F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0204BED8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043818
-FUN_02043818: ; 0x02043818
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x12
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, [r7, #0x0]
- mov r1, #0x1
- bl FUN_0200B02C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043850
-FUN_02043850: ; 0x02043850
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x13
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204387C
-FUN_0204387C: ; 0x0204387C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- cmp r0, #0x0
- bne _020438B2
- add r0, r4, #0x0
- bl FUN_0205F224
- add r5, #0x80
- ldr r0, [r5, #0x0]
- bl FUN_0204B9EC
- b _020438CA
-_020438B2:
- cmp r0, #0x1
- bne _020438C6
- add r0, r4, #0x0
- bl FUN_0205F234
- add r5, #0x80
- ldr r0, [r5, #0x0]
- bl FUN_0204BA1C
- b _020438CA
-_020438C6:
- bl ErrorHandling
-_020438CA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020438D0
-FUN_020438D0: ; 0x020438D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022528
- add r6, r0, #0x0
- mov r0, #0x20
- bl FUN_020669C0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202C000
- cmp r0, #0x6
- bne _02043908
- mov r0, #0x1
- b _0204390A
-_02043908:
- mov r0, #0x0
-_0204390A:
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043918
-FUN_02043918: ; 0x02043918
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022528
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x8]
- mov r0, #0x20
- bl FUN_020669C0
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- mov r5, #0x0
-_0204395C:
- add r0, r7, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202BFD8
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_0208089C
- add r0, r4, #0x0
- bl FUN_020690E4
- add r1, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_0206B20C
- cmp r0, #0x0
- bne _0204398C
- bl ErrorHandling
-_0204398C:
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202C144
- add r5, r5, #0x1
- cmp r5, #0x6
- blt _0204395C
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- bl FUN_0202BEDC
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020439B4
-FUN_020439B4: ; 0x020439B4
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- cmp r6, #0x3
- bhi _02043A40
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020439EE: ; jump table (using 16-bit offset)
- .short _020439F6 - _020439EE - 2; case 0
- .short _02043A02 - _020439EE - 2; case 1
- .short _02043A0E - _020439EE - 2; case 2
- .short _02043A1A - _020439EE - 2; case 3
-_020439F6:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAC4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A02:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAD4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A0E:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAE4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A1A:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204BAD4
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204BAC4
- add r4, #0x80
- add r7, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204BAE4
- add r0, r7, r0
- add r0, r6, r0
- strh r0, [r5, #0x0]
-_02043A40:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043A44
-FUN_02043A44: ; 0x02043A44
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x26
- bl FUN_02039438
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl MOD05_021E2950
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043A94
-FUN_02043A94: ; 0x02043A94
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl MOD05_021E29B4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043AAC
-FUN_02043AAC: ; 0x02043AAC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl MOD05_021E29C8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02043ACC
-FUN_02043ACC: ; 0x02043ACC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02028930
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043AFC
-FUN_02043AFC: ; 0x02043AFC
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02028934
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043B28
-FUN_02043B28: ; 0x02043B28
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202896C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043B54
-FUN_02043B54: ; 0x02043B54
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0202896C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043B84
-FUN_02043B84: ; 0x02043B84
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- ldr r0, [r5, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02028930
- cmp r0, r4
- bhs _02043BC8
- mov r0, #0x0
- b _02043BCA
-_02043BC8:
- mov r0, #0x1
-_02043BCA:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043BD0
-FUN_02043BD0: ; 0x02043BD0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- ldr r0, [r4, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldrh r5, [r0, #0x0]
- add r0, r6, #0x0
- bl FUN_02028930
- cmp r0, r5
- bhs _02043C1E
- mov r0, #0x0
- b _02043C20
-_02043C1E:
- mov r0, #0x1
-_02043C20:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043C28
-FUN_02043C28: ; 0x02043C28
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02028954
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043C6C
-FUN_02043C6C: ; 0x02043C6C
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A30
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043C90
-FUN_02043C90: ; 0x02043C90
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A54
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043CB4
-FUN_02043CB4: ; 0x02043CB4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A54
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043CE4
-FUN_02043CE4: ; 0x02043CE4
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02023A10
- cmp r0, r4
- bhs _02043D20
- mov r0, #0x0
- b _02043D22
-_02043D20:
- mov r0, #0x1
-_02043D22:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043D28
-FUN_02043D28: ; 0x02043D28
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02023A10
- cmp r0, r4
- bhs _02043D6E
- mov r0, #0x0
- b _02043D70
-_02043D6E:
- mov r0, #0x1
-_02043D70:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043D78
-FUN_02043D78: ; 0x02043D78
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x27
- bl FUN_02039438
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl MOD05_021E27E8
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043DC8
-FUN_02043DC8: ; 0x02043DC8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x27
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl MOD05_021E288C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043DE0
-FUN_02043DE0: ; 0x02043DE0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x27
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl MOD05_021E28A0
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02043E00
-FUN_02043E00: ; 0x02043E00
- push {r3-r5, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r5, [r0, #0xc]
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023D58
- ldr r1, [r4, #0x0]
- bl MOD05_021ED4E0
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043E20
-FUN_02043E20: ; 0x02043E20
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl MOD05_021ED5EC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043E50
-FUN_02043E50: ; 0x02043E50
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- ldr r0, [r0, #0xc]
- bl FUN_02022610
- bl MOD05_021ECD64
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043E68
-FUN_02043E68: ; 0x02043E68
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x8
- ldr r0, [r5, #0xc]
- bl FUN_02022610
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl MOD05_021ED0CC
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043E9C
-FUN_02043E9C: ; 0x02043E9C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- ldr r6, [r5, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x8
- bl FUN_02022610
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- lsl r3, r4, #0x18
- ldr r1, [r7, #0x0]
- add r2, r6, #0x0
- lsr r3, r3, #0x18
- bl MOD05_021EC71C
- ldr r1, [sp, #0x0]
- strh r0, [r1, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043EFC
-FUN_02043EFC: ; 0x02043EFC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- ldr r5, [r5, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02022610
- lsl r1, r4, #0x18
- ldr r2, [r7, #0x0]
- lsr r1, r1, #0x18
- bl MOD05_021EC854
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043F50
-FUN_02043F50: ; 0x02043F50
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r4, [r0, #0xc]
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- ldr r2, [r6, #0x0]
- add r1, r5, #0x0
- bl MOD05_021EC864
- strh r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043FA0
-FUN_02043FA0: ; 0x02043FA0
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl MOD05_021ED5C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043FF4
-FUN_02043FF4: ; 0x02043FF4
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r1, r6, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- ldr r5, [r4, #0xc]
- bl ScriptReadHalfword
- add r6, #0x80
- add r1, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02022610
- lsl r1, r6, #0x18
- add r2, r0, #0x0
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- add r3, r5, #0x0
- bl MOD05_021EC57C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044034
-FUN_02044034: ; 0x02044034
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r5, [r0, #0xc]
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023D58
- lsl r1, r4, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- ldr r1, [r6, #0x0]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- str r1, [sp, #0x4]
- lsl r1, r7, #0x18
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl MOD05_021ED52C
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020440C0
-FUN_020440C0: ; 0x020440C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl MOD05_021ED644
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020440F0
-FUN_020440F0: ; 0x020440F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl FUN_02023C90
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044120
-FUN_02044120: ; 0x02044120
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02044138
-FUN_02044138: ; 0x02044138
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204413C
-FUN_0204413C: ; 0x0204413C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02044140
-FUN_02044140: ; 0x02044140
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02044158
-FUN_02044158: ; 0x02044158
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F54C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0204416C
-FUN_0204416C: ; 0x0204416C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F55C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044198
-FUN_02044198: ; 0x02044198
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl rand_LC
- mov r1, #0x64
- bl _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0xf
- bhs _020441D6
- mov r0, #0x0
- b _02044218
-_020441D6:
- cmp r0, #0x1e
- bhs _020441DE
- mov r0, #0x1
- b _02044218
-_020441DE:
- cmp r0, #0x2d
- bhs _020441E6
- mov r0, #0x2
- b _02044218
-_020441E6:
- cmp r0, #0x3c
- bhs _020441EE
- mov r0, #0x3
- b _02044218
-_020441EE:
- cmp r0, #0x46
- bhs _020441F6
- mov r0, #0x4
- b _02044218
-_020441F6:
- cmp r0, #0x50
- bhs _020441FE
- mov r0, #0x5
- b _02044218
-_020441FE:
- cmp r0, #0x58
- bhs _02044206
- mov r0, #0x6
- b _02044218
-_02044206:
- cmp r0, #0x5d
- bhs _0204420E
- mov r0, #0x7
- b _02044218
-_0204420E:
- cmp r0, #0x62
- bhs _02044216
- mov r0, #0x8
- b _02044218
-_02044216:
- mov r0, #0x9
-_02044218:
- ldr r2, _020442B4 ; =0x0000011D
- cmp r5, r2
- bgt _02044244
- bge _02044290
- cmp r5, #0x27
- bgt _02044236
- cmp r5, #0x23
- blt _02044230
- beq _02044284
- cmp r5, #0x27
- beq _02044290
- b _0204429C
-_02044230:
- cmp r5, #0x19
- beq _02044294
- b _0204429C
-_02044236:
- cmp r5, #0x36
- bgt _0204423E
- beq _0204428C
- b _0204429C
-_0204423E:
- cmp r5, #0xff
- beq _02044288
- b _0204429C
-_02044244:
- add r1, r2, #0x0
- add r1, #0x8c
- cmp r5, r1
- bgt _0204426C
- add r1, r2, #0x0
- add r1, #0x8c
- cmp r5, r1
- bge _02044288
- add r1, r2, #0x0
- add r1, #0xf
- cmp r5, r1
- bgt _02044264
- add r2, #0xf
- cmp r5, r2
- beq _02044284
- b _0204429C
-_02044264:
- add r2, #0x84
- cmp r5, r2
- beq _0204428C
- b _0204429C
-_0204426C:
- add r1, r2, #0x0
- add r1, #0x8e
- cmp r5, r1
- bgt _0204427C
- add r2, #0x8e
- cmp r5, r2
- beq _02044298
- b _0204429C
-_0204427C:
- add r2, #0x9b
- cmp r5, r2
- beq _02044298
- b _0204429C
-_02044284:
- mov r2, #0x0
- b _0204429E
-_02044288:
- mov r2, #0x1
- b _0204429E
-_0204428C:
- mov r2, #0x2
- b _0204429E
-_02044290:
- mov r2, #0x3
- b _0204429E
-_02044294:
- mov r2, #0x4
- b _0204429E
-_02044298:
- mov r2, #0x5
- b _0204429E
-_0204429C:
- mov r2, #0x0
-_0204429E:
- add r3, r2, #0x0
- mov r1, #0x14
- mul r3, r1
- ldr r2, _020442B8 ; =0x020F4494
- lsl r1, r0, #0x1
- add r0, r2, r3
- ldrh r0, [r1, r0]
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_020442B4: .word 0x0000011D
-_020442B8: .word 0x020F4494
-
- thumb_func_start FUN_020442BC
-FUN_020442BC: ; 0x020442BC
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r0, [sp, #0x10]
- lsl r3, r7, #0x18
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- ldr r1, [r5, #0xc]
- ldr r2, [sp, #0xc]
- mov r0, #0xb
- lsr r3, r3, #0x18
- bl FUN_0204A048
- strh r0, [r4, #0x0]
- mov r0, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204434C
-FUN_0204434C: ; 0x0204434C
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldrh r1, [r6, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _020443A0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- b _020443A2
-_020443A0:
- mov r0, #0x0
-_020443A2:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020443A8
-FUN_020443A8: ; 0x020443A8
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldrh r1, [r6, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r7, #0x0
- bl FUN_020239BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r5, r0
- bne _0204440C
- mov r0, #0x0
- b _0204440E
-_0204440C:
- mov r0, #0x1
-_0204440E:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02044414
-FUN_02044414: ; 0x02044414
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x6
- bhs _02044494
- mov r0, #0xb
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- mov r0, #0x1
- add r1, r5, #0x0
- bl FUN_02015CF8
- mov r1, #0x3
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- mov r2, #0x1
- add r3, r7, #0x0
- bl MOD05_021ECF14
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B900
- add r0, r4, #0x0
- bl FUN_02016A18
-_02044494:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204449C
-FUN_0204449C: ; 0x0204449C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_0204A120
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020444F4
-FUN_020444F4: ; 0x020444F4
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- mov r1, #0x4c
- add r4, r0, #0x0
- strh r2, [r6, #0x0]
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044556
- mov r0, #0x0
- pop {r3-r7, pc}
-_02044556:
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _02044592
-_0204458E:
- mov r0, #0x1
- strh r0, [r6, #0x0]
-_02044592:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044598
-FUN_02044598: ; 0x02044598
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x4]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, _02044650 ; =0x00000006
- ldr r0, [sp, #0x0]
- ldr r6, _02044654 ; =0x00000000
- strh r1, [r0, #0x0]
- beq _02044648
-_020445E4:
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204463E
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _0204463E
-_02044638:
- ldr r0, [sp, #0x0]
- strh r6, [r0, #0x0]
- b _02044648
-_0204463E:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, r7
- blo _020445E4
-_02044648:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02044650: .word 0x00000006
-_02044654: .word 0x00000000
-
- thumb_func_start FUN_02044658
-FUN_02044658: ; 0x02044658
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- bl FUN_0204A32C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204469C
-FUN_0204469C: ; 0x0204469C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- mov r4, #0x0
- ldr r0, [sp, #0x4]
- add r5, r4, #0x0
- strh r4, [r0, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bls _02044726
-_020446EA:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204471A
- add r0, r6, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bhi _0204471A
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-_0204471A:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x8]
- cmp r4, r0
- blo _020446EA
-_02044726:
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02044730
-FUN_02044730: ; 0x02044730
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- mov r1, #0x4c
- add r5, r0, #0x0
- strh r2, [r4, #0x0]
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044786
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
-_02044786:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204478C
-FUN_0204478C: ; 0x0204478C
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r1, r6, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl ScriptReadHalfword
- add r6, #0x80
- add r1, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r6, r0
- blt _020447D2
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020447D2:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020447F2
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020447F2:
- add r0, r5, #0x0
- bl FUN_02068854
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044800
-FUN_02044800: ; 0x02044800
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r1, _02044884 ; =0x000000FF
- ldr r0, [sp, #0x4]
- ldr r5, _02044888 ; =0x00000000
- strh r1, [r0, #0x0]
- beq _0204487E
-_02044848:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044874
- add r0, r4, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x0]
- cmp r1, r0
- bne _02044874
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- b _0204487E
-_02044874:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _02044848
-_0204487E:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02044884: .word 0x000000FF
-_02044888: .word 0x00000000
-
- thumb_func_start FUN_0204488C
-FUN_0204488C: ; 0x0204488C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020448D4
-FUN_020448D4: ; 0x020448D4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r7, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- ldr r1, [sp, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- add r1, sp, #0x4
- strh r0, [r1, #0x0]
- cmp r4, #0x0
- beq _02044982
- add r0, r5, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x1
- mov r2, #0xb
- bl FUN_0206E7B8
- cmp r0, #0x34
- bne _0204495A
- mov r0, #0x96
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_0204495A:
- add r0, r5, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xb
- bne _0204496E
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_0204496E:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- bne _02044982
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_02044982:
- add r0, sp, #0x4
- ldrh r1, [r0, #0x0]
- add r1, r1, r4
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- cmp r1, #0xff
- bls _02044994
- mov r1, #0xff
- strh r1, [r0, #0x0]
-_02044994:
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x4
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020449A4
-FUN_020449A4: ; 0x020449A4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- add r1, sp, #0x0
- strh r0, [r1, #0x0]
- ldrh r0, [r1, #0x0]
- cmp r4, r0
- bls _020449F8
- mov r0, #0x0
- b _020449FA
-_020449F8:
- sub r0, r0, r4
-_020449FA:
- strh r0, [r1, #0x0]
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02044A0C
-FUN_02044A0C: ; 0x02044A0C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r4, #0x13
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044A6C
-FUN_02044A6C: ; 0x02044A6C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02054DEC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044A94
-FUN_02044A94: ; 0x02044A94
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- mov r1, #0xb0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- add r0, r4, #0x0
- mov r1, #0xb1
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044B00
-FUN_02044B00: ; 0x02044B00
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044B2C
-FUN_02044B2C: ; 0x02044B2C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r7, r0, #0x0
- add r4, r5, #0x0
- cmp r7, #0x0
- ble _02044B7A
-_02044B5A:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044B74
- add r4, r4, #0x1
-_02044B74:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02044B5A
-_02044B7A:
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044B84
-FUN_02044B84: ; 0x02044B84
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r4, r5, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02044C00
-_02044BC8:
- ldr r0, [sp, #0x0]
- cmp r5, r0
- beq _02044BF8
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044BF8
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044BF8
- add r4, r4, #0x1
-_02044BF8:
- ldr r0, [sp, #0x8]
- add r5, r5, #0x1
- cmp r5, r0
- blt _02044BC8
-_02044C00:
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044C0C
-FUN_02044C0C: ; 0x02044C0C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x4]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r4, r5, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02044C76
-_02044C44:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044C6E
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044C6E
- add r4, r4, #0x1
-_02044C6E:
- ldr r0, [sp, #0x8]
- add r5, r5, #0x1
- cmp r5, r0
- blt _02044C44
-_02044C76:
- ldr r0, [sp, #0x4]
- bl FUN_0206B57C
- add r1, r4, r0
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02044C88
-FUN_02044C88: ; 0x02044C88
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r7, r0, #0x0
- add r4, r5, #0x0
- cmp r7, #0x0
- ble _02044CD6
-_02044CB6:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044CD0
- add r4, r4, #0x1
-_02044CD0:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02044CB6
-_02044CD6:
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044CE0
-FUN_02044CE0: ; 0x02044CE0
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r4, _02044D40 ; =0x00000000
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- beq _02044D3C
- mov r7, #0x99
-_02044D12:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044D32
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- b _02044D3C
-_02044D32:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r6
- blo _02044D12
-_02044D3C:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02044D40: .word 0x00000000
-
- thumb_func_start FUN_02044D44
-FUN_02044D44: ; 0x02044D44
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044D8C
-FUN_02044D8C: ; 0x02044D8C
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044DDA
- mov r0, #0x0
- strh r0, [r5, #0x0]
- pop {r4-r6, pc}
-_02044DDA:
- mov r4, #0x0
- add r0, r6, #0x0
- mov r1, #0x36
- add r2, r4, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044DF0
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044DF0:
- add r0, r6, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E04
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E04:
- add r0, r6, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E18
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E18:
- add r0, r6, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E2C
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E2C:
- strh r4, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044E34
-FUN_02044E34: ; 0x02044E34
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r1, r4, #0x0
- bl FUN_020699A4
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044E78
-FUN_02044E78: ; 0x02044E78
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r4, #0x36
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044ED8
-FUN_02044ED8: ; 0x02044ED8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044F20
-FUN_02044F20: ; 0x02044F20
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- add r1, sp, #0x0
- strh r2, [r1, #0x0]
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02044F58
-FUN_02044F58: ; 0x02044F58
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r5, _02044FE4 ; =0x00000000
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- beq _02044FDE
-_02044F9E:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044FD4
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _02044FD4
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- b _02044FDE
-_02044FD4:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _02044F9E
-_02044FDE:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02044FE4: .word 0x00000000
-
- thumb_func_start FUN_02044FE8
-FUN_02044FE8: ; 0x02044FE8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r4, #0x0
- add r7, r4, #0x0
-_0204502A:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r7, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045048
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02045048:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x50
- blo _0204502A
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204505C
-FUN_0204505C: ; 0x0204505C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- add r4, #0x80
- lsr r6, r0, #0x10
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0x4]
-_0204509A:
- mov r5, #0x0
- cmp r6, #0x0
- bls _020450E8
- ldr r0, [sp, #0x8]
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-_020450A6:
- ldr r0, [sp, #0xc]
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _020450E8
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020450DE
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- b _020450E8
-_020450DE:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _020450A6
-_020450E8:
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x8]
- cmp r0, #0x50
- blo _0204509A
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02045104
-FUN_02045104: ; 0x02045104
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02045170
-FUN_02045170: ; 0x02045170
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- mov r1, #0x1
- add r0, sp, #0x0
- add r5, #0x80
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020451D0
-FUN_020451D0: ; 0x020451D0
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- add r4, #0x80
- lsr r6, r0, #0x10
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
-_0204520C:
- mov r5, #0x0
- cmp r6, #0x0
- bls _0204524C
-_02045212:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045242
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045242
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_02045242:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _02045212
-_0204524C:
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- cmp r0, #0x50
- blo _0204520C
- ldr r1, [sp, #0x0]
- mov r0, #0x0
- strh r0, [r1, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045264
-FUN_02045264: ; 0x02045264
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045268
-FUN_02045268: ; 0x02045268
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r4, #0x0
- ldr r7, _020452B0 ; =0x020F450C
- str r0, [sp, #0x0]
- add r5, r4, #0x0
-_02045288:
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- lsl r1, r4, #0x2
- ldrh r1, [r7, r1]
- mov r2, #0x4
- bl FUN_0206EEF8
- add r0, r5, r0
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x7
- blo _02045288
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020452B0: .word 0x020F450C
-
- thumb_func_start FUN_020452B4
-FUN_020452B4: ; 0x020452B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- mov r5, #0x0
- ldr r2, _02045300 ; =0x020F450C
- strh r5, [r4, #0x0]
-_020452E0:
- lsl r3, r5, #0x2
- ldrh r1, [r2, r3]
- cmp r0, r1
- bne _020452F0
- ldr r0, _02045304 ; =0x020F450E
- ldrh r0, [r0, r3]
- strh r0, [r4, #0x0]
- b _020452FA
-_020452F0:
- add r1, r5, #0x1
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
- cmp r5, #0x7
- blo _020452E0
-_020452FA:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02045300: .word 0x020F450C
-_02045304: .word 0x020F450E
-
- thumb_func_start FUN_02045308
-FUN_02045308: ; 0x02045308
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- mov r4, #0x0
- ldr r0, [sp, #0x8]
- add r6, r4, #0x0
- strh r4, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
-_02045358:
- ldr r0, [r7, #0xc]
- lsl r5, r4, #0x2
- bl FUN_0206F158
- ldr r1, _02045394 ; =0x020F450C
- mov r2, #0x4
- ldrh r1, [r1, r5]
- bl FUN_0206EEF8
- add r0, r6, r0
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, [sp, #0x0]
- cmp r6, r0
- blo _02045384
- ldr r0, _02045394 ; =0x020F450C
- ldrh r1, [r0, r5]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
- b _0204538E
-_02045384:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x7
- blo _02045358
-_0204538E:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02045394: .word 0x020F450C
-
- thumb_func_start FUN_02045398
-FUN_02045398: ; 0x02045398
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204539C
-FUN_0204539C: ; 0x0204539C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020453A0
-FUN_020453A0: ; 0x020453A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldr r1, _020453EC ; =0x020F4528
- lsl r2, r4, #0x2
- ldrh r1, [r1, r2]
- strh r1, [r6, #0x0]
- ldr r1, _020453F0 ; =0x020F452A
- ldrh r1, [r1, r2]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_020453EC: .word 0x020F4528
-_020453F0: .word 0x020F452A
-
- thumb_func_start FUN_020453F4
-FUN_020453F4: ; 0x020453F4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02024D64
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045424
-FUN_02045424: ; 0x02045424
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024D80
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045438
-FUN_02045438: ; 0x02045438
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- bl FUN_02055474
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045468
-FUN_02045468: ; 0x02045468
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- mov r1, #0x1
- bl FUN_02055488
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02045484
-FUN_02045484: ; 0x02045484
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- cmp r4, #0x8
- blo _020454B6
- bl ErrorHandling
-_020454B6:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r4, #0x0
- bl FUN_020239D0
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020454CC
-FUN_020454CC: ; 0x020454CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- cmp r4, #0x8
- blo _020454EA
- bl ErrorHandling
-_020454EA:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r4, #0x0
- bl FUN_020239E4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045500
-FUN_02045500: ; 0x02045500
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECE0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204552C
-FUN_0204552C: ; 0x0204552C
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r4, #0x0
- ldr r7, _02045578 ; =0x020F4574
- str r0, [sp, #0x0]
- add r5, r4, #0x0
-_02045548:
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- ldrb r1, [r7, r4]
- bl FUN_020239D0
- cmp r0, #0x1
- bne _02045564
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02045564:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x8
- blo _02045548
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02045578: .word 0x020F4574
-
- thumb_func_start FUN_0204557C
-FUN_0204557C: ; 0x0204557C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECD4
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045590
-FUN_02045590: ; 0x02045590
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020455BC
-FUN_020455BC: ; 0x020455BC
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED1C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020455D0
-FUN_020455D0: ; 0x020455D0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED2C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020455E4
-FUN_020455E4: ; 0x020455E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED6C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045610
-FUN_02045610: ; 0x02045610
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED4C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045624
-FUN_02045624: ; 0x02045624
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED5C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045638
-FUN_02045638: ; 0x02045638
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED0C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045664
-FUN_02045664: ; 0x02045664
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECFC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045678
-FUN_02045678: ; 0x02045678
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _020456A6
- cmp r1, #0x1
- beq _0204569E
- cmp r1, #0x2
- beq _020456AE
- b _020456CC
-_0204569E:
- mov r1, #0x1
- bl FUN_0205F264
- b _020456D0
-_020456A6:
- mov r1, #0x0
- bl FUN_0205F264
- b _020456D0
-_020456AE:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0205F264
- strh r0, [r5, #0x0]
- b _020456D0
-_020456CC:
- bl ErrorHandling
-_020456D0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020456D4
-FUN_020456D4: ; 0x020456D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02045700
- cmp r1, #0x1
- beq _020456FA
- cmp r1, #0x2
- beq _02045706
- b _02045722
-_020456FA:
- bl FUN_0205F274
- b _02045726
-_02045700:
- bl FUN_0205F284
- b _02045726
-_02045706:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F294
- strh r0, [r5, #0x0]
- b _02045726
-_02045722:
- bl ErrorHandling
-_02045726:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204572C
-FUN_0204572C: ; 0x0204572C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02045758
- cmp r1, #0x1
- beq _02045752
- cmp r1, #0x2
- beq _0204575E
- b _0204577A
-_02045752:
- bl FUN_0205F2A4
- b _0204577E
-_02045758:
- bl FUN_0205F2B4
- b _0204577E
-_0204575E:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F2C4
- strh r0, [r5, #0x0]
- b _0204577E
-_0204577A:
- bl ErrorHandling
-_0204577E:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045784
-FUN_02045784: ; 0x02045784
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206ED38
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020457DC
-FUN_020457DC: ; 0x020457DC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206EDD4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045834
-FUN_02045834: ; 0x02045834
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206ED24
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204588C
-FUN_0204588C: ; 0x0204588C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0xb
- bl FUN_0206EE50
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020458E4
-FUN_020458E4: ; 0x020458E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054CB0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045918
-FUN_02045918: ; 0x02045918
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0xb
- bl FUN_0206E7B8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045950
-FUN_02045950: ; 0x02045950
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045954
-FUN_02045954: ; 0x02045954
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045958
-FUN_02045958: ; 0x02045958
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02025D6C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020459AC
-FUN_020459AC: ; 0x020459AC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020459E8
-FUN_020459E8: ; 0x020459E8
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02025D94
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02045A3C
-FUN_02045A3C: ; 0x02045A3C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045A78
-FUN_02045A78: ; 0x02045A78
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02026298
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02045ACC
-FUN_02045ACC: ; 0x02045ACC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B08
-FUN_02045B08: ; 0x02045B08
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B44
-FUN_02045B44: ; 0x02045B44
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B80
-FUN_02045B80: ; 0x02045B80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r0, r4, #0x0
- bl FUN_02026CC4
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045BC8
-FUN_02045BC8: ; 0x02045BC8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C04
-FUN_02045C04: ; 0x02045C04
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C40
-FUN_02045C40: ; 0x02045C40
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C7C
-FUN_02045C7C: ; 0x02045C7C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020260C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045CD4
-FUN_02045CD4: ; 0x02045CD4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D10
-FUN_02045D10: ; 0x02045D10
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D4C
-FUN_02045D4C: ; 0x02045D4C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D88
-FUN_02045D88: ; 0x02045D88
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r1, r5, #0x0
- add r1, #0x80
- lsl r2, r4, #0x18
- add r6, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- lsr r2, r2, #0x18
- bl FUN_02037CF0
- str r0, [r6, #0x0]
- ldr r1, _02045DCC ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_02045DCC: .word FUN_0203BC04
-
- thumb_func_start FUN_02045DD0
-FUN_02045DD0: ; 0x02045DD0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02045DFC
- bl ErrorHandling
-_02045DFC:
- ldr r0, [r4, #0x0]
- bl FUN_02037D5C
- strh r0, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x4
- bne _02045E0E
- mov r0, #0xff
- strh r0, [r5, #0x0]
-_02045E0E:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045E1C
-FUN_02045E1C: ; 0x02045E1C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045E20
-FUN_02045E20: ; 0x02045E20
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x20
- bl FUN_02088DF8
- add r5, r0, #0x0
- bl FUN_02088EF8
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02045E74
-FUN_02045E74: ; 0x02045E74
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- add r7, r1, #0x0
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- str r2, [sp, #0x0]
- add r6, r3, #0x0
- bl FUN_02039438
- str r0, [sp, #0x4]
- mov r0, #0x20
- bl FUN_02088DD8
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- str r4, [r0, #0x0]
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x8]
- str r6, [r4, #0xc]
- add r0, r5, #0x0
- strb r7, [r4, #0x15]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_02038864
- ldr r1, _02045EDC ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02045EDC: .word FUN_0203BC04
-
- thumb_func_start FUN_02045EE0
-FUN_02045EE0: ; 0x02045EE0
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02045EE4
-FUN_02045EE4: ; 0x02045EE4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- mov r1, #0x20
- bl FUN_02088DF8
- add r3, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_02045E74
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045F24
-FUN_02045F24: ; 0x02045F24
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- mov r0, #0x20
- mov r1, #0x4
- bl FUN_02016998
- add r3, r0, #0x0
- ldr r0, _02045F80 ; =0x0000FFFF
- strh r4, [r3, #0x0]
- strh r0, [r3, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02045E74
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_02045F80: .word 0x0000FFFF
-
- thumb_func_start FUN_02045F84
-FUN_02045F84: ; 0x02045F84
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045F88
-FUN_02045F88: ; 0x02045F88
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- bne _02045FB2
- bl ErrorHandling
-_02045FB2:
- ldrb r0, [r4, #0x16]
- cmp r0, #0x0
- bne _02045FBC
- mov r0, #0x0
- b _02045FBE
-_02045FBC:
- mov r0, #0xff
-_02045FBE:
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02088DF0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045FCC
-FUN_02045FCC: ; 0x02045FCC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- bne _02045FF6
- bl ErrorHandling
-_02045FF6:
- ldrb r0, [r4, #0x16]
- cmp r0, #0x0
- bne _02046000
- mov r0, #0x0
- b _02046002
-_02046000:
- mov r0, #0xff
-_02046002:
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02088DF0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02046010
-FUN_02046010: ; 0x02046010
- push {r3, lr}
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204601C
-FUN_0204601C: ; 0x0204601C
- push {r3, lr}
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02046028
-FUN_02046028: ; 0x02046028
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204602C
-FUN_0204602C: ; 0x0204602C
- mov r0, #0x0
- bx lr
diff --git a/arm9/asm/scrcmd_10.s b/arm9/asm/scrcmd_10.s
new file mode 100644
index 00000000..f1c4f394
--- /dev/null
+++ b/arm9/asm/scrcmd_10.s
@@ -0,0 +1,986 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02042354
+FUN_02042354: ; 0x02042354
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r0, #0xa8
+ bl MOD06_022434BC
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042364
+FUN_02042364: ; 0x02042364
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD06_022434D0
+ add r5, #0x80
+ ldr r1, [r5, #0x0]
+ add r1, #0xa8
+ str r0, [r1, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042394
+FUN_02042394: ; 0x02042394
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl MOD06_02243694
+ add r4, #0x80
+ ldr r1, [r4, #0x0]
+ mov r0, #0x0
+ add r1, #0xa8
+ str r0, [r1, #0x0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_020423B0
+FUN_020423B0: ; 0x020423B0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r0, #0x0
+ bl ScriptReadHalfword
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl ScriptReadHalfword
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r1, [sp, #0x4]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r1, [r0, #0x0]
+ add r0, r1, #0x0
+ add r0, #0xa8
+ ldr r5, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x64
+ bls _020423FA
+ b _020426F6
+_020423FA:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02042406: ; jump table (using 16-bit offset)
+ .short _020424D0 - _02042406 - 2; case 0
+ .short _020424DA - _02042406 - 2; case 1
+ .short _020424F6 - _02042406 - 2; case 2
+ .short _020424FC - _02042406 - 2; case 3
+ .short _02042508 - _02042406 - 2; case 4
+ .short _02042516 - _02042406 - 2; case 5
+ .short _0204251E - _02042406 - 2; case 6
+ .short _020426F6 - _02042406 - 2; case 7
+ .short _02042526 - _02042406 - 2; case 8
+ .short _02042532 - _02042406 - 2; case 9
+ .short _02042540 - _02042406 - 2; case 10
+ .short _0204254E - _02042406 - 2; case 11
+ .short _0204255A - _02042406 - 2; case 12
+ .short _020426F6 - _02042406 - 2; case 13
+ .short _02042564 - _02042406 - 2; case 14
+ .short _0204256E - _02042406 - 2; case 15
+ .short _02042578 - _02042406 - 2; case 16
+ .short _020426F6 - _02042406 - 2; case 17
+ .short _020426F6 - _02042406 - 2; case 18
+ .short _020426F6 - _02042406 - 2; case 19
+ .short _020426F6 - _02042406 - 2; case 20
+ .short _020426F6 - _02042406 - 2; case 21
+ .short _020426F6 - _02042406 - 2; case 22
+ .short _020426F6 - _02042406 - 2; case 23
+ .short _020426F6 - _02042406 - 2; case 24
+ .short _020426F6 - _02042406 - 2; case 25
+ .short _020426F6 - _02042406 - 2; case 26
+ .short _020426F6 - _02042406 - 2; case 27
+ .short _020426F6 - _02042406 - 2; case 28
+ .short _020426F6 - _02042406 - 2; case 29
+ .short _0204258A - _02042406 - 2; case 30
+ .short _020425A2 - _02042406 - 2; case 31
+ .short _020425BC - _02042406 - 2; case 32
+ .short _020425C8 - _02042406 - 2; case 33
+ .short _020425D2 - _02042406 - 2; case 34
+ .short _020425DC - _02042406 - 2; case 35
+ .short _020425E6 - _02042406 - 2; case 36
+ .short _020425F0 - _02042406 - 2; case 37
+ .short _020425F8 - _02042406 - 2; case 38
+ .short _02042600 - _02042406 - 2; case 39
+ .short _02042608 - _02042406 - 2; case 40
+ .short _0204261A - _02042406 - 2; case 41
+ .short _02042626 - _02042406 - 2; case 42
+ .short _02042642 - _02042406 - 2; case 43
+ .short _0204264C - _02042406 - 2; case 44
+ .short _02042656 - _02042406 - 2; case 45
+ .short _02042660 - _02042406 - 2; case 46
+ .short _0204266A - _02042406 - 2; case 47
+ .short _02042674 - _02042406 - 2; case 48
+ .short _02042680 - _02042406 - 2; case 49
+ .short _0204268C - _02042406 - 2; case 50
+ .short _020426A0 - _02042406 - 2; case 51
+ .short _020426AA - _02042406 - 2; case 52
+ .short _020426B4 - _02042406 - 2; case 53
+ .short _020426BE - _02042406 - 2; case 54
+ .short _020426CC - _02042406 - 2; case 55
+ .short _02042612 - _02042406 - 2; case 56
+ .short _020426DA - _02042406 - 2; case 57
+ .short _020426F6 - _02042406 - 2; case 58
+ .short _020426F6 - _02042406 - 2; case 59
+ .short _020426F6 - _02042406 - 2; case 60
+ .short _020426F6 - _02042406 - 2; case 61
+ .short _020426F6 - _02042406 - 2; case 62
+ .short _020426F6 - _02042406 - 2; case 63
+ .short _020426F6 - _02042406 - 2; case 64
+ .short _020426F6 - _02042406 - 2; case 65
+ .short _020426F6 - _02042406 - 2; case 66
+ .short _020426F6 - _02042406 - 2; case 67
+ .short _020426F6 - _02042406 - 2; case 68
+ .short _020426F6 - _02042406 - 2; case 69
+ .short _020426F6 - _02042406 - 2; case 70
+ .short _020426F6 - _02042406 - 2; case 71
+ .short _020426F6 - _02042406 - 2; case 72
+ .short _020426F6 - _02042406 - 2; case 73
+ .short _020426F6 - _02042406 - 2; case 74
+ .short _020426F6 - _02042406 - 2; case 75
+ .short _020426F6 - _02042406 - 2; case 76
+ .short _020426F6 - _02042406 - 2; case 77
+ .short _020426F6 - _02042406 - 2; case 78
+ .short _020426F6 - _02042406 - 2; case 79
+ .short _020426F6 - _02042406 - 2; case 80
+ .short _020426F6 - _02042406 - 2; case 81
+ .short _020426F6 - _02042406 - 2; case 82
+ .short _020426F6 - _02042406 - 2; case 83
+ .short _020426F6 - _02042406 - 2; case 84
+ .short _020426F6 - _02042406 - 2; case 85
+ .short _020426F6 - _02042406 - 2; case 86
+ .short _020426F6 - _02042406 - 2; case 87
+ .short _020426F6 - _02042406 - 2; case 88
+ .short _020426F6 - _02042406 - 2; case 89
+ .short _020426F6 - _02042406 - 2; case 90
+ .short _020426F6 - _02042406 - 2; case 91
+ .short _020426F6 - _02042406 - 2; case 92
+ .short _020426F6 - _02042406 - 2; case 93
+ .short _020426F6 - _02042406 - 2; case 94
+ .short _020426F6 - _02042406 - 2; case 95
+ .short _020426F6 - _02042406 - 2; case 96
+ .short _020426F6 - _02042406 - 2; case 97
+ .short _020426F6 - _02042406 - 2; case 98
+ .short _020426F6 - _02042406 - 2; case 99
+ .short _020426E6 - _02042406 - 2; case 100
+_020424D0:
+ add r0, r6, #0x0
+ bl MOD06_0224312C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424DA:
+ cmp r6, #0x0
+ bne _020424EA
+ ldrb r0, [r5, #0xe]
+ ldr r1, [r1, #0xc]
+ bl MOD06_022432E4
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424EA:
+ ldr r1, [r1, #0xc]
+ add r0, r6, #0x0
+ bl MOD06_022432E4
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020424F6:
+ bl MOD06_0224339C
+ b _020426FA
+_020424FC:
+ ldr r0, [r1, #0xc]
+ bl FUN_0202A8CC
+ bl MOD06_022433A8
+ b _020426FA
+_02042508:
+ ldr r0, [r1, #0xc]
+ bl FUN_0202A8CC
+ bl MOD06_022433B0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042516:
+ add r0, r1, #0x0
+ bl MOD06_022433B8
+ b _020426FA
+_0204251E:
+ add r0, r1, #0x0
+ bl MOD06_022433F8
+ b _020426FA
+_02042526:
+ ldr r0, [r1, #0xc]
+ add r1, r6, #0x0
+ bl MOD06_02243408
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042532:
+ ldr r1, [r1, #0xc]
+ mov r0, #0x0
+ mov r2, #0x2
+ bl MOD06_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042540:
+ mov r0, #0x0
+ ldr r1, [r1, #0xc]
+ add r2, r0, #0x0
+ bl MOD06_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204254E:
+ ldr r0, [r1, #0xc]
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ bl MOD06_02243428
+ b _020426FA
+_0204255A:
+ ldr r0, [r1, #0xc]
+ bl MOD06_02243448
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042564:
+ ldr r0, [r1, #0xc]
+ bl MOD06_0224345C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204256E:
+ ldr r0, [r1, #0xc]
+ bl MOD06_022434AC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042578:
+ ldrh r3, [r4, #0x0]
+ ldr r0, [r7, #0x74]
+ ldr r2, [sp, #0x4]
+ add r1, r6, #0x0
+ bl FUN_0205FD38
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204258A:
+ add r0, r1, #0x0
+ mov r1, #0x13
+ bl FUN_02039438
+ add r2, r0, #0x0
+ ldr r1, [r7, #0x74]
+ add r0, r5, #0x0
+ bl MOD06_022436C8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020425A2:
+ add r0, r1, #0x0
+ mov r1, #0x13
+ bl FUN_02039438
+ add r7, #0x80
+ ldr r2, [r7, #0x0]
+ add r1, r0, #0x0
+ ldr r2, [r2, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_022436E8
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425BC:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243780
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425C8:
+ add r0, r5, #0x0
+ bl MOD06_022438DC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425D2:
+ add r0, r5, #0x0
+ bl MOD06_022438E0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425DC:
+ add r0, r5, #0x0
+ bl MOD06_022438FC
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425E6:
+ add r0, r5, #0x0
+ bl MOD06_02243920
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020425F0:
+ add r0, r5, #0x0
+ bl MOD06_022439F8
+ b _020426FA
+_020425F8:
+ add r0, r5, #0x0
+ bl MOD06_02243AD8
+ b _020426FA
+_02042600:
+ add r0, r5, #0x0
+ bl MOD06_02243BA8
+ b _020426FA
+_02042608:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243C5C
+ b _020426FA
+_02042612:
+ add r0, r5, #0x0
+ bl MOD06_02243D3C
+ b _020426FA
+_0204261A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl MOD06_02243DA0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042626:
+ add r0, r1, #0x0
+ mov r1, #0x17
+ bl FUN_02039438
+ add r7, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r7, #0x0]
+ add r1, r5, #0x0
+ ldr r0, [r0, #0x10]
+ bl MOD06_02243DB8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02042642:
+ add r0, r5, #0x0
+ bl MOD06_02243DC0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204264C:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl MOD06_02243DC4
+ b _020426FA
+_02042656:
+ add r0, r5, #0x0
+ bl MOD06_02243DD8
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042660:
+ add r0, r5, #0x0
+ bl MOD06_02243DE0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204266A:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243E34
+ b _020426FA
+_02042674:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243F18
+ strh r0, [r4, #0x0]
+ b _020426FA
+_02042680:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243F50
+ strh r0, [r4, #0x0]
+ b _020426FA
+_0204268C:
+ ldrb r1, [r5, #0x10]
+ mov r0, #0xe0
+ bic r1, r0
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r5, #0x10]
+ b _020426FA
+_020426A0:
+ ldrb r0, [r5, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426AA:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243838
+ b _020426FA
+_020426B4:
+ add r0, r5, r6
+ add r0, #0x2a
+ ldrb r0, [r0, #0x0]
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426BE:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl MOD06_02243E74
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426CC:
+ lsl r1, r6, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0204290C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426DA:
+ ldr r1, [r1, #0xc]
+ add r0, r5, #0x0
+ bl MOD06_02243F9C
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426E6:
+ cmp r5, #0x0
+ bne _020426F0
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426F0:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ b _020426FA
+_020426F6:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_020426FA:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02042700
+FUN_02042700: ; 0x02042700
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ add r1, #0xa8
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ lsl r2, r6, #0x4
+ add r2, r6, r2
+ mov r1, #0x38
+ lsl r2, r2, #0x4
+ mul r1, r7
+ add r2, r4, r2
+ add r3, r2, r1
+ mov r2, #0xb2
+ lsl r2, r2, #0x2
+ ldrh r1, [r3, r2]
+ lsl r1, r1, #0x15
+ lsr r4, r1, #0x15
+ ldr r1, [sp, #0x0]
+ strh r4, [r1, #0x0]
+ add r1, r2, #0x4
+ ldrh r1, [r3, r1]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042780
+FUN_02042780: ; 0x02042780
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0205FE10
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020427A8
+FUN_020427A8: ; 0x020427A8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0205FF5C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020427D0
+FUN_020427D0: ; 0x020427D0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ add r0, #0xa8
+ ldr r6, [r0, #0x0]
+ ldr r0, _0204285C ; =0x00000884
+ mov r2, #0x46
+ add r0, r6, r0
+ bl MI_CpuFill8
+ cmp r4, #0x0
+ beq _0204281E
+ cmp r4, #0x1
+ beq _02042830
+ cmp r4, #0x2
+ beq _0204283E
+ b _0204284C
+_0204281E:
+ add r5, #0x80
+ ldr r1, [r5, #0x0]
+ add r0, r1, #0x0
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r1, #0xc]
+ bl MOD06_022446FC
+ b _0204284C
+_02042830:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl MOD06_02244758
+ b _0204284C
+_0204283E:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bl MOD06_02244770
+_0204284C:
+ bl FUN_02031190
+ ldr r1, _02042860 ; =0x0000083E
+ add r1, r6, r1
+ bl FUN_020316AC
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204285C: .word 0x00000884
+_02042860: .word 0x0000083E
+
+ thumb_func_start FUN_02042864
+FUN_02042864: ; 0x02042864
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x10]
+ bl FUN_0205FDDC
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042894
+FUN_02042894: ; 0x02042894
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A8E4
+ add r1, sp, #0x0
+ bl FUN_0202A864
+ add r0, sp, #0x0
+ ldrb r1, [r0, #0x0]
+ strh r1, [r4, #0x0]
+ ldrb r0, [r0, #0x1]
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_020428E0
+FUN_020428E0: ; 0x020428E0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A8E4
+ bl FUN_0202A74C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204290C
+FUN_0204290C: ; 0x0204290C
+ cmp r1, #0x2
+ bne _02042918
+ ldrb r0, [r0, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ bx lr
+_02042918:
+ cmp r1, #0x1
+ bne _0204293E
+ ldrb r1, [r0, #0xf]
+ cmp r1, #0x2
+ bne _02042930
+ ldrb r0, [r0, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1d
+ lsl r1, r0, #0x1
+ ldr r0, _0204294C ; =0x020F4334
+ ldrh r0, [r0, r1]
+ bx lr
+_02042930:
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x0
+ beq _0204293A
+ mov r0, #0x61
+ bx lr
+_0204293A:
+ mov r0, #0x0
+ bx lr
+_0204293E:
+ ldrb r0, [r0, #0x11]
+ cmp r0, #0x0
+ beq _02042948
+ mov r0, #0x61
+ bx lr
+_02042948:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0204294C: .word 0x020F4334
+
+ thumb_func_start FUN_02042950
+FUN_02042950: ; 0x02042950
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r1, [r5, #0x8]
+ ldr r0, [r0, #0x0]
+ add r2, r1, #0x1
+ str r2, [r5, #0x8]
+ ldrb r6, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r4, [r2, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r5, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl MOD05_021E2A70
+ str r0, [r7, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02042980
+FUN_02042980: ; 0x02042980
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl MOD05_021E29B4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042998
+FUN_02042998: ; 0x02042998
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl MOD05_021E2AD4
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020429B8
+FUN_020429B8: ; 0x020429B8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A3B4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020429E8
+FUN_020429E8: ; 0x020429E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ add r1, r5, #0x0
+ mov r2, #0x5
+ bl FUN_0202A3B4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A18
+FUN_02042A18: ; 0x02042A18
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ add r1, r5, #0x0
+ mov r2, #0x6
+ bl FUN_0202A3B4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A48
+FUN_02042A48: ; 0x02042A48
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202A8D8
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A3B4
+ cmp r0, r6
+ bhs _02042A8E
+ mov r0, #0x0
+ b _02042A90
+_02042A8E:
+ mov r0, #0x1
+_02042A90:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042A98
+FUN_02042A98: ; 0x02042A98
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ cmp r7, #0x1
+ bne _02042AEE
+ mov r1, #0x1a
+ b _02042AF0
+_02042AEE:
+ mov r1, #0x0
+_02042AF0:
+ add r1, r1, r6
+ lsl r2, r1, #0x2
+ ldr r1, _02042B04 ; =0x020F433E
+ ldrh r1, [r1, r2]
+ strh r1, [r4, #0x0]
+ ldr r1, _02042B08 ; =0x020F4340
+ ldrh r1, [r1, r2]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02042B04: .word 0x020F433E
+_02042B08: .word 0x020F4340
diff --git a/arm9/asm/scrcmd_11.s b/arm9/asm/scrcmd_11.s
new file mode 100644
index 00000000..ac6f7c2b
--- /dev/null
+++ b/arm9/asm/scrcmd_11.s
@@ -0,0 +1,239 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02042B0C
+FUN_02042B0C: ; 0x02042B0C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204B5FC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02042B40
+FUN_02042B40: ; 0x02042B40
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B63C
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042B74
+FUN_02042B74: ; 0x02042B74
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B660
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042BA8
+FUN_02042BA8: ; 0x02042BA8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B684
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042BDC
+FUN_02042BDC: ; 0x02042BDC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B6A4
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042C10
+FUN_02042C10: ; 0x02042C10
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B57C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042C44
+FUN_02042C44: ; 0x02042C44
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_0204B5A8
+ add r0, r6, #0x0
+ mov r1, #0x3
+ bl FUN_0202A0E8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02042C8C
+FUN_02042C8C: ; 0x02042C8C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x0
+ beq _02042C9E
+ cmp r0, #0x1
+ beq _02042CA8
+ b _02042CB2
+_02042C9E:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204B9A0
+ b _02042CB6
+_02042CA8:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204B9CC
+ b _02042CB6
+_02042CB2:
+ bl ErrorHandling
+_02042CB6:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042CBC
+FUN_02042CBC: ; 0x02042CBC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204B4FC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0202A170
+ mov r0, #0x0
+ pop {r3-r5, pc}
diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s
new file mode 100644
index 00000000..d35df7bf
--- /dev/null
+++ b/arm9/asm/scrcmd_12.s
@@ -0,0 +1,1433 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02042CF0
+FUN_02042CF0: ; 0x02042CF0
+ str r1, [r0, #0x0]
+ str r2, [r0, #0x4]
+ str r3, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02042CF8
+FUN_02042CF8: ; 0x02042CF8
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202AFC0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D04
+FUN_02042D04: ; 0x02042D04
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202AFFC
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D10
+FUN_02042D10: ; 0x02042D10
+ push {r3, lr}
+ bl FUN_0202AF9C
+ bl FUN_0202B020
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042D1C
+FUN_02042D1C: ; 0x02042D1C
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x8
+ bls _02042D2C
+ b _02042F04
+_02042D2C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02042D38: ; jump table (using 16-bit offset)
+ .short _02042D4A - _02042D38 - 2; case 0
+ .short _02042D74 - _02042D38 - 2; case 1
+ .short _02042DA0 - _02042D38 - 2; case 2
+ .short _02042DC0 - _02042D38 - 2; case 3
+ .short _02042DFC - _02042D38 - 2; case 4
+ .short _02042E2E - _02042D38 - 2; case 5
+ .short _02042E9A - _02042D38 - 2; case 6
+ .short _02042D58 - _02042D38 - 2; case 7
+ .short _02042D66 - _02042D38 - 2; case 8
+_02042D4A:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x20
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF70
+ b _02042F04
+_02042D58:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF88
+ b _02042F04
+_02042D66:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0xc]
+ bl FUN_0202AF88
+ b _02042F04
+_02042D74:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02042CF8
+ cmp r0, #0x0
+ beq _02042D9A
+ mov r0, #0x1
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042D9A:
+ mov r0, #0x0
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042DA0:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02042CF8
+ strh r0, [r5, #0x0]
+ b _02042F04
+_02042DC0:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ lsl r5, r0, #0x4
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r7, _02042F0C ; =0x020F43E4
+ bl FUN_02042D04
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r7, r5]
+ blx r2
+ strh r0, [r6, #0x0]
+ b _02042F04
+_02042DFC:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r2, [r5, #0x4]
+ blx r2
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_02042D10
+ b _02042F04
+_02042E2E:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r4, #0x80
+ add r3, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r0, sp, #0x14
+ bl FUN_02042CF0
+ ldr r2, [sp, #0x0]
+ ldr r3, [r5, #0x8]
+ add r0, sp, #0x14
+ add r1, r7, #0x0
+ blx r3
+ b _02042F04
+_02042E9A:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042CF8
+ sub r0, r0, #0x1
+ ldr r1, _02042F0C ; =0x020F43E4
+ lsl r0, r0, #0x4
+ add r5, r1, r0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_02042D04
+ add r4, #0x80
+ add r3, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r0, sp, #0x8
+ bl FUN_02042CF0
+ ldr r2, [sp, #0x4]
+ ldr r3, [r5, #0xc]
+ add r0, sp, #0x8
+ add r1, r7, #0x0
+ blx r3
+_02042F04:
+ mov r0, #0x0
+ add sp, #0x20
+ pop {r3-r7, pc}
+ nop
+_02042F0C: .word 0x020F43E4
+
+ thumb_func_start FUN_02042F10
+FUN_02042F10: ; 0x02042F10
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ cmp r0, #0x6
+ bge _02042F24
+ mov r0, #0x1
+ pop {r3, pc}
+_02042F24:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042F28
+FUN_02042F28: ; 0x02042F28
+ push {r3, lr}
+ sub sp, #0x8
+ add r1, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ str r3, [sp, #0x4]
+ ldr r1, [r1, #0xc]
+ ldr r2, _02042F44 ; =0x000001EA
+ mov r0, #0x20
+ bl FUN_0204A0C8
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+_02042F44: .word 0x000001EA
+
+ thumb_func_start FUN_02042F48
+FUN_02042F48: ; 0x02042F48
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0xd
+ strh r0, [r2, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042F6C
+FUN_02042F6C: ; 0x02042F6C
+ push {r3-r7, lr}
+ sub sp, #0x38
+ str r0, [sp, #0x4]
+ bl FUN_02042D04
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ mov r7, #0x0
+ add r5, r0, #0x0
+ add r4, r0, #0x4
+ add r0, r4, #0x0
+ mov r1, #0x97
+ add r2, r7, #0x0
+ add r5, #0xf0
+ bl FUN_020671BC
+ add r1, r7, #0x0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0x7
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ bl OS_GetTick
+ bl rand_ALT
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x14]
+ str r1, [sp, #0x34]
+ cmp r0, #0x0
+ beq _02042FE8
+ cmp r0, #0x1
+ bne _02042FE6
+ add r0, r6, #0x0
+ bl FUN_02068AAC
+ cmp r0, #0x0
+ beq _02042FE8
+_02042FD0:
+ ldr r0, [sp, #0x34]
+ bl rand_ALT
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ str r1, [sp, #0x34]
+ bl FUN_02068AAC
+ cmp r0, #0x0
+ bne _02042FD0
+ b _02042FE8
+_02042FE6:
+ str r0, [sp, #0x34]
+_02042FE8:
+ ldr r1, [sp, #0x34]
+ add r0, r4, #0x0
+ bl FUN_0206A23C
+ add r0, r4, #0x0
+ bl FUN_020689E0
+ str r0, [sp, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x6f
+ add r2, sp, #0x30
+ bl FUN_02067830
+ add r0, r4, #0x0
+ mov r1, #0x4b
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x4a
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x49
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+ add r0, r4, #0x0
+ mov r1, #0x48
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x24]
+ add r0, r4, #0x0
+ mov r1, #0x46
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x47
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r6, r0
+ ldr r0, [sp, #0x24]
+ add r1, r0, r1
+ ldr r0, [sp, #0x20]
+ add r1, r0, r1
+ ldr r0, [sp, #0x1c]
+ add r1, r0, r1
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ str r0, [sp, #0x30]
+ bne _020430DA
+ bl rand_LC
+ add r6, r0, #0x0
+ mov r0, #0x1f
+ and r0, r6
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x46
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ and r0, r6
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x47
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ and r0, r6
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x48
+ add r2, sp, #0x34
+ bl FUN_02067830
+ bl rand_LC
+ add r6, r0, #0x0
+ mov r0, #0x1f
+ and r0, r6
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x49
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ and r0, r6
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x4a
+ add r2, sp, #0x34
+ bl FUN_02067830
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ and r0, r6
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x34]
+ add r0, r4, #0x0
+ mov r1, #0x4b
+ add r2, sp, #0x34
+ bl FUN_02067830
+_020430DA:
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A918
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020430FC
+ mov r0, #0x49
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x0]
+ strb r1, [r6, r0]
+_020430FC:
+ add r0, r4, #0x0
+ mov r1, #0x2f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043114
+ mov r0, #0x4a
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x1]
+ strb r1, [r6, r0]
+_02043114:
+ add r0, r4, #0x0
+ mov r1, #0x30
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204312C
+ mov r0, #0x4b
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x2]
+ strb r1, [r6, r0]
+_0204312C:
+ add r0, r4, #0x0
+ mov r1, #0x31
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043144
+ mov r0, #0x4c
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x3]
+ strb r1, [r6, r0]
+_02043144:
+ add r0, r4, #0x0
+ mov r1, #0x32
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204315C
+ mov r0, #0x4d
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x4]
+ strb r1, [r6, r0]
+_0204315C:
+ add r0, r4, #0x0
+ mov r1, #0x33
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02043174
+ mov r0, #0x4e
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x5]
+ strb r1, [r6, r0]
+_02043174:
+ add r0, r4, #0x0
+ mov r1, #0x34
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0204318C
+ mov r0, #0x4f
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x6]
+ strb r1, [r6, r0]
+_0204318C:
+ add r0, r4, #0x0
+ mov r1, #0x67
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431A4
+ mov r0, #0x19
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x7]
+ strb r1, [r6, r0]
+_020431A4:
+ add r0, r4, #0x0
+ mov r1, #0x68
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431BC
+ mov r0, #0x1a
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x8]
+ strb r1, [r6, r0]
+_020431BC:
+ add r0, r4, #0x0
+ mov r1, #0x69
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020431D4
+ mov r0, #0x1b
+ bl FUN_0207FCE0
+ ldrb r1, [r5, #0x9]
+ strb r1, [r6, r0]
+_020431D4:
+ ldr r0, [sp, #0x10]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204322C
+ ldr r0, [sp, #0xc]
+ mov r1, #0x20
+ bl FUN_020239A0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0xc]
+ bl FUN_020239BC
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0xc]
+ bl FUN_020239CC
+ str r0, [sp, #0x28]
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_02069B88
+ add r0, r7, #0x0
+ mov r1, #0x90
+ add r2, r5, #0x0
+ bl FUN_02067830
+ add r0, r7, #0x0
+ mov r1, #0x7
+ add r2, sp, #0x2c
+ bl FUN_02067830
+ add r0, r7, #0x0
+ mov r1, #0x9c
+ add r2, sp, #0x28
+ bl FUN_02067830
+ add r0, r5, #0x0
+ add r4, r7, #0x0
+ bl FUN_02021A20
+_0204322C:
+ ldr r1, [sp, #0x8]
+ mov r0, #0x2
+ bl FUN_02015CF8
+ add r3, r0, #0x0
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x4
+ bl FUN_0208089C
+ add r0, r4, #0x0
+ bl FUN_02066ED8
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ cmp r0, #0x0
+ beq _02043266
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202C144
+_02043266:
+ cmp r7, #0x0
+ beq _02043270
+ add r0, r7, #0x0
+ bl FUN_02016A18
+_02043270:
+ add sp, #0x38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043274
+FUN_02043274: ; 0x02043274
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x7
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x4
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200ACA4
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020432B4
+FUN_020432B4: ; 0x020432B4
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x4
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020432C0
+FUN_020432C0: ; 0x020432C0
+ ldr r3, _020432C4 ; =FUN_02042F6C
+ bx r3
+ .balign 4
+_020432C4: .word FUN_02042F6C
+
+ thumb_func_start FUN_020432C8
+FUN_020432C8: ; 0x020432C8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x8
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x4
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043308
+FUN_02043308: ; 0x02043308
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043330
+FUN_02043330: ; 0x02043330
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043358
+FUN_02043358: ; 0x02043358
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x9
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ add r2, r7, #0x0
+ bl FUN_0200AE38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043394
+FUN_02043394: ; 0x02043394
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020433C4
+FUN_020433C4: ; 0x020433C4
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020433C8
+FUN_020433C8: ; 0x020433C8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02023BD4
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020433DC
+FUN_020433DC: ; 0x020433DC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xa
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r7, #0x0
+ mov r1, #0x20
+ bl FUN_02023AF4
+ add r4, r0, #0x0
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x4]
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043430
+FUN_02043430: ; 0x02043430
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0204343C
+FUN_0204343C: ; 0x0204343C
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02026CC4
+ bl FUN_02025DB0
+ cmp r0, #0xc8
+ bge _02043450
+ mov r0, #0x1
+ pop {r3, pc}
+_02043450:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02043454
+FUN_02043454: ; 0x02043454
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02026CC4
+ ldr r1, [r4, #0x0]
+ bl FUN_02025D6C
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204346C
+FUN_0204346C: ; 0x0204346C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r7, [r0, #0x0]
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xb
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ add r2, r7, #0x0
+ bl FUN_0200B350
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020434A4
+FUN_020434A4: ; 0x020434A4
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020434B0
+FUN_020434B0: ; 0x020434B0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ ldr r4, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _020434CA
+ cmp r0, #0x2
+ beq _020434DA
+ cmp r0, #0x3
+ beq _020434DE
+ b _020434E2
+_020434CA:
+ ldr r0, [r5, #0xc]
+ bl FUN_02029C80
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02029DD4
+ pop {r3-r5, pc}
+_020434DA:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020434DE:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020434E2:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020434E8
+FUN_020434E8: ; 0x020434E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02042D04
+ ldr r4, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _02043502
+ cmp r0, #0x2
+ beq _02043512
+ cmp r0, #0x3
+ beq _02043526
+ pop {r3-r5, pc}
+_02043502:
+ ldr r0, [r5, #0xc]
+ bl FUN_02029C80
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02029D44
+ pop {r3-r5, pc}
+_02043512:
+ ldr r0, [r5, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020271A4
+ pop {r3-r5, pc}
+_02043526:
+ ldr r0, [r5, #0xc]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ bl FUN_02027264
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043538
+FUN_02043538: ; 0x02043538
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ ldr r2, [r0, #0x4]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x1
+ beq _02043558
+ cmp r0, #0x2
+ beq _02043562
+ cmp r0, #0x3
+ beq _0204356C
+ b _02043574
+_02043558:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B534
+ b _02043574
+_02043562:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B660
+ b _02043574
+_0204356C:
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ bl FUN_0200B6D0
+_02043574:
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xc
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043594
+FUN_02043594: ; 0x02043594
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r1, #0x0]
+ mov r0, #0x6
+ strh r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020435A0
+FUN_020435A0: ; 0x020435A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ ldr r1, _020435C0 ; =0x000001C6
+ add r0, r4, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+_020435C0: .word 0x000001C6
+
+ thumb_func_start FUN_020435C4
+FUN_020435C4: ; 0x020435C4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ ldr r1, _020435F4 ; =0x000001C6
+ add r0, r5, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+_020435F4: .word 0x000001C6
+
+ thumb_func_start FUN_020435F8
+FUN_020435F8: ; 0x020435F8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xe
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, _02043630 ; =0x000001C6
+ mov r1, #0x1
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+ nop
+_02043630: .word 0x000001C6
+
+ thumb_func_start FUN_02043634
+FUN_02043634: ; 0x02043634
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x7a
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043660
+FUN_02043660: ; 0x02043660
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ mov r1, #0x71
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043684
+FUN_02043684: ; 0x02043684
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x71
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020436B8
+FUN_020436B8: ; 0x020436B8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0xf
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ mov r2, #0x71
+ ldr r0, [r5, #0x4]
+ mov r1, #0x1
+ lsl r2, r2, #0x2
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020436F0
+FUN_020436F0: ; 0x020436F0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x78
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204371C
+FUN_0204371C: ; 0x0204371C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ ldr r1, _0204373C ; =0x000001C7
+ add r0, r4, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED24
+ pop {r3-r5, pc}
+ .balign 4
+_0204373C: .word 0x000001C7
+
+ thumb_func_start FUN_02043740
+FUN_02043740: ; 0x02043740
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02042D04
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ ldr r1, _02043770 ; =0x000001C7
+ add r0, r5, #0x0
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206ED38
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0205F478
+ pop {r3-r5, pc}
+ .balign 4
+_02043770: .word 0x000001C7
+
+ thumb_func_start FUN_02043774
+FUN_02043774: ; 0x02043774
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x10
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, _020437AC ; =0x000001C7
+ mov r1, #0x1
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+ nop
+_020437AC: .word 0x000001C7
+
+ thumb_func_start FUN_020437B0
+FUN_020437B0: ; 0x020437B0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206F158
+ ldr r0, [r5, #0x0]
+ bl FUN_02042D04
+ mov r2, #0x53
+ lsl r2, r2, #0x2
+ strh r2, [r4, #0x0]
+ mov r0, #0x5
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ add r2, #0x7b
+ bl FUN_0200AE38
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020437DC
+FUN_020437DC: ; 0x020437DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0204C1A8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r0, r4, #0x0
+ bl FUN_0204BEC8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020437F8
+FUN_020437F8: ; 0x020437F8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0204C1A8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02042D04
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0204BED8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043818
+FUN_02043818: ; 0x02043818
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ add r7, r0, #0x0
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x12
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x4]
+ ldr r2, [r7, #0x0]
+ mov r1, #0x1
+ bl FUN_0200B02C
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043850
+FUN_02043850: ; 0x02043850
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02042D04
+ mov r0, #0x53
+ lsl r0, r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x13
+ strh r0, [r6, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ pop {r4-r6, pc}
diff --git a/arm9/asm/scrcmd_13.s b/arm9/asm/scrcmd_13.s
new file mode 100644
index 00000000..6bcbe812
--- /dev/null
+++ b/arm9/asm/scrcmd_13.s
@@ -0,0 +1,220 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_0204387C
+FUN_0204387C: ; 0x0204387C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ cmp r0, #0x0
+ bne _020438B2
+ add r0, r4, #0x0
+ bl FUN_0205F224
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ bl FUN_0204B9EC
+ b _020438CA
+_020438B2:
+ cmp r0, #0x1
+ bne _020438C6
+ add r0, r4, #0x0
+ bl FUN_0205F234
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ bl FUN_0204BA1C
+ b _020438CA
+_020438C6:
+ bl ErrorHandling
+_020438CA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020438D0
+FUN_020438D0: ; 0x020438D0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022528
+ add r6, r0, #0x0
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0202C000
+ cmp r0, #0x6
+ bne _02043908
+ mov r0, #0x1
+ b _0204390A
+_02043908:
+ mov r0, #0x0
+_0204390A:
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043918
+FUN_02043918: ; 0x02043918
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x8]
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ mov r5, #0x0
+_0204395C:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0202BFD8
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_0208089C
+ add r0, r4, #0x0
+ bl FUN_020690E4
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_0206B20C
+ cmp r0, #0x0
+ bne _0204398C
+ bl ErrorHandling
+_0204398C:
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202C144
+ add r5, r5, #0x1
+ cmp r5, #0x6
+ blt _0204395C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r7, #0x0
+ bl FUN_0202BEDC
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020439B4
+FUN_020439B4: ; 0x020439B4
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ cmp r6, #0x3
+ bhi _02043A40
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020439EE: ; jump table (using 16-bit offset)
+ .short _020439F6 - _020439EE - 2; case 0
+ .short _02043A02 - _020439EE - 2; case 1
+ .short _02043A0E - _020439EE - 2; case 2
+ .short _02043A1A - _020439EE - 2; case 3
+_020439F6:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAC4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A02:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAD4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A0E:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAE4
+ strh r0, [r5, #0x0]
+ b _02043A40
+_02043A1A:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_0204BAD4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_0204BAC4
+ add r4, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204BAE4
+ add r0, r7, r0
+ add r0, r6, r0
+ strh r0, [r5, #0x0]
+_02043A40:
+ mov r0, #0x0
+ pop {r3-r7, pc}
diff --git a/arm9/asm/scrcmd_14.s b/arm9/asm/scrcmd_14.s
new file mode 100644
index 00000000..10c89335
--- /dev/null
+++ b/arm9/asm/scrcmd_14.s
@@ -0,0 +1,267 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02043A44
+FUN_02043A44: ; 0x02043A44
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x26
+ bl FUN_02039438
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl MOD05_021E2950
+ str r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043A94
+FUN_02043A94: ; 0x02043A94
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl MOD05_021E29B4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043AAC
+FUN_02043AAC: ; 0x02043AAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x26
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl MOD05_021E29C8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043ACC
+FUN_02043ACC: ; 0x02043ACC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02028930
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043AFC
+FUN_02043AFC: ; 0x02043AFC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02028934
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043B28
+FUN_02043B28: ; 0x02043B28
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202896C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043B54
+FUN_02043B54: ; 0x02043B54
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r1, r0, #0x0
+ ldrh r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0202896C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043B84
+FUN_02043B84: ; 0x02043B84
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ ldr r0, [r5, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadWord
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02028930
+ cmp r0, r4
+ bhs _02043BC8
+ mov r0, #0x0
+ b _02043BCA
+_02043BC8:
+ mov r0, #0x1
+_02043BCA:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043BD0
+FUN_02043BD0: ; 0x02043BD0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ ldr r0, [r4, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ ldrh r5, [r0, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02028930
+ cmp r0, r5
+ bhs _02043C1E
+ mov r0, #0x0
+ b _02043C20
+_02043C1E:
+ mov r0, #0x1
+_02043C20:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043C28
+FUN_02043C28: ; 0x02043C28
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202390C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02028954
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_15.s b/arm9/asm/scrcmd_15.s
new file mode 100644
index 00000000..d933672e
--- /dev/null
+++ b/arm9/asm/scrcmd_15.s
@@ -0,0 +1,198 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02043C6C
+FUN_02043C6C: ; 0x02043C6C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadWord
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A30
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043C90
+FUN_02043C90: ; 0x02043C90
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadWord
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A54
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043CB4
+FUN_02043CB4: ; 0x02043CB4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023A54
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043CE4
+FUN_02043CE4: ; 0x02043CE4
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadWord
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02023A10
+ cmp r0, r4
+ bhs _02043D20
+ mov r0, #0x0
+ b _02043D22
+_02043D20:
+ mov r0, #0x1
+_02043D22:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043D28
+FUN_02043D28: ; 0x02043D28
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02023A10
+ cmp r0, r4
+ bhs _02043D6E
+ mov r0, #0x0
+ b _02043D70
+_02043D6E:
+ mov r0, #0x1
+_02043D70:
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043D78
+FUN_02043D78: ; 0x02043D78
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x27
+ bl FUN_02039438
+ lsl r1, r6, #0x18
+ lsl r2, r7, #0x18
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ bl MOD05_021E27E8
+ str r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02043DC8
+FUN_02043DC8: ; 0x02043DC8
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x27
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl MOD05_021E288C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043DE0
+FUN_02043DE0: ; 0x02043DE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x27
+ bl FUN_02039438
+ add r1, r0, #0x0
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r1, #0x0]
+ bl MOD05_021E28A0
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_16.s b/arm9/asm/scrcmd_16.s
new file mode 100644
index 00000000..8e9b20ba
--- /dev/null
+++ b/arm9/asm/scrcmd_16.s
@@ -0,0 +1,408 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02043E00
+FUN_02043E00: ; 0x02043E00
+ push {r3-r5, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r5, [r0, #0xc]
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023D58
+ ldr r1, [r4, #0x0]
+ bl MOD05_021ED4E0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02043E20
+FUN_02043E20: ; 0x02043E20
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl MOD05_021ED5EC
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043E50
+FUN_02043E50: ; 0x02043E50
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ ldr r0, [r0, #0xc]
+ bl FUN_02022610
+ bl MOD05_021ECD64
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043E68
+FUN_02043E68: ; 0x02043E68
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0x8
+ ldr r0, [r5, #0xc]
+ bl FUN_02022610
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl MOD05_021ED0CC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02043E9C
+FUN_02043E9C: ; 0x02043E9C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ ldr r6, [r5, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ lsl r3, r4, #0x18
+ ldr r1, [r7, #0x0]
+ add r2, r6, #0x0
+ lsr r3, r3, #0x18
+ bl MOD05_021EC71C
+ ldr r1, [sp, #0x0]
+ strh r0, [r1, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043EFC
+FUN_02043EFC: ; 0x02043EFC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ ldr r5, [r5, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ lsl r1, r4, #0x18
+ ldr r2, [r7, #0x0]
+ lsr r1, r1, #0x18
+ bl MOD05_021EC854
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043F50
+FUN_02043F50: ; 0x02043F50
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r4, [r0, #0xc]
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ ldr r2, [r6, #0x0]
+ add r1, r5, #0x0
+ bl MOD05_021EC864
+ strh r0, [r7, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043FA0
+FUN_02043FA0: ; 0x02043FA0
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r5, #0x0
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r2, [r6, #0x0]
+ add r1, r7, #0x0
+ bl MOD05_021ED5C4
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02043FF4
+FUN_02043FF4: ; 0x02043FF4
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r1, r6, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ ldr r5, [r4, #0xc]
+ bl ScriptReadHalfword
+ add r6, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ lsl r1, r6, #0x18
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ add r3, r5, #0x0
+ bl MOD05_021EC57C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044034
+FUN_02044034: ; 0x02044034
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ ldr r5, [r0, #0xc]
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02023D58
+ lsl r1, r4, #0x18
+ lsr r1, r1, #0x18
+ str r1, [sp, #0x0]
+ ldr r1, [r6, #0x0]
+ ldr r2, [sp, #0x8]
+ ldr r3, [sp, #0xc]
+ str r1, [sp, #0x4]
+ lsl r1, r7, #0x18
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl MOD05_021ED52C
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020440C0
+FUN_020440C0: ; 0x020440C0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl MOD05_021ED644
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020440F0
+FUN_020440F0: ; 0x020440F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02022610
+ bl FUN_02023C90
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044120
+FUN_02044120: ; 0x02044120
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044138
+FUN_02044138: ; 0x02044138
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204413C
+FUN_0204413C: ; 0x0204413C
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02044140
+FUN_02044140: ; 0x02044140
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_17.s b/arm9/asm/scrcmd_17.s
new file mode 100644
index 00000000..43f6c9f4
--- /dev/null
+++ b/arm9/asm/scrcmd_17.s
@@ -0,0 +1,202 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02044158
+FUN_02044158: ; 0x02044158
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F54C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204416C
+FUN_0204416C: ; 0x0204416C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F55C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044198
+FUN_02044198: ; 0x02044198
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bl rand_LC
+ mov r1, #0x64
+ bl _s32_div_f
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0xf
+ bhs _020441D6
+ mov r0, #0x0
+ b _02044218
+_020441D6:
+ cmp r0, #0x1e
+ bhs _020441DE
+ mov r0, #0x1
+ b _02044218
+_020441DE:
+ cmp r0, #0x2d
+ bhs _020441E6
+ mov r0, #0x2
+ b _02044218
+_020441E6:
+ cmp r0, #0x3c
+ bhs _020441EE
+ mov r0, #0x3
+ b _02044218
+_020441EE:
+ cmp r0, #0x46
+ bhs _020441F6
+ mov r0, #0x4
+ b _02044218
+_020441F6:
+ cmp r0, #0x50
+ bhs _020441FE
+ mov r0, #0x5
+ b _02044218
+_020441FE:
+ cmp r0, #0x58
+ bhs _02044206
+ mov r0, #0x6
+ b _02044218
+_02044206:
+ cmp r0, #0x5d
+ bhs _0204420E
+ mov r0, #0x7
+ b _02044218
+_0204420E:
+ cmp r0, #0x62
+ bhs _02044216
+ mov r0, #0x8
+ b _02044218
+_02044216:
+ mov r0, #0x9
+_02044218:
+ ldr r2, _020442B4 ; =0x0000011D
+ cmp r5, r2
+ bgt _02044244
+ bge _02044290
+ cmp r5, #0x27
+ bgt _02044236
+ cmp r5, #0x23
+ blt _02044230
+ beq _02044284
+ cmp r5, #0x27
+ beq _02044290
+ b _0204429C
+_02044230:
+ cmp r5, #0x19
+ beq _02044294
+ b _0204429C
+_02044236:
+ cmp r5, #0x36
+ bgt _0204423E
+ beq _0204428C
+ b _0204429C
+_0204423E:
+ cmp r5, #0xff
+ beq _02044288
+ b _0204429C
+_02044244:
+ add r1, r2, #0x0
+ add r1, #0x8c
+ cmp r5, r1
+ bgt _0204426C
+ add r1, r2, #0x0
+ add r1, #0x8c
+ cmp r5, r1
+ bge _02044288
+ add r1, r2, #0x0
+ add r1, #0xf
+ cmp r5, r1
+ bgt _02044264
+ add r2, #0xf
+ cmp r5, r2
+ beq _02044284
+ b _0204429C
+_02044264:
+ add r2, #0x84
+ cmp r5, r2
+ beq _0204428C
+ b _0204429C
+_0204426C:
+ add r1, r2, #0x0
+ add r1, #0x8e
+ cmp r5, r1
+ bgt _0204427C
+ add r2, #0x8e
+ cmp r5, r2
+ beq _02044298
+ b _0204429C
+_0204427C:
+ add r2, #0x9b
+ cmp r5, r2
+ beq _02044298
+ b _0204429C
+_02044284:
+ mov r2, #0x0
+ b _0204429E
+_02044288:
+ mov r2, #0x1
+ b _0204429E
+_0204428C:
+ mov r2, #0x2
+ b _0204429E
+_02044290:
+ mov r2, #0x3
+ b _0204429E
+_02044294:
+ mov r2, #0x4
+ b _0204429E
+_02044298:
+ mov r2, #0x5
+ b _0204429E
+_0204429C:
+ mov r2, #0x0
+_0204429E:
+ add r3, r2, #0x0
+ mov r1, #0x14
+ mul r3, r1
+ ldr r2, _020442B8 ; =0x020F4494
+ lsl r1, r0, #0x1
+ add r0, r2, r3
+ ldrh r0, [r1, r0]
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_020442B4: .word 0x0000011D
+_020442B8: .word 0x020F4494
diff --git a/arm9/asm/scrcmd_18.s b/arm9/asm/scrcmd_18.s
new file mode 100644
index 00000000..35d82a32
--- /dev/null
+++ b/arm9/asm/scrcmd_18.s
@@ -0,0 +1,1862 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020442BC
+FUN_020442BC: ; 0x020442BC
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r0, [sp, #0x10]
+ lsl r3, r7, #0x18
+ str r0, [sp, #0x0]
+ str r6, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ ldr r1, [r5, #0xc]
+ ldr r2, [sp, #0xc]
+ mov r0, #0xb
+ lsr r3, r3, #0x18
+ bl FUN_0204A048
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204434C
+FUN_0204434C: ; 0x0204434C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldrh r1, [r6, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _020443A0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ b _020443A2
+_020443A0:
+ mov r0, #0x0
+_020443A2:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020443A8
+FUN_020443A8: ; 0x020443A8
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldrh r1, [r6, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r7, #0x0
+ bl FUN_020239BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r5, r0
+ bne _0204440C
+ mov r0, #0x0
+ b _0204440E
+_0204440C:
+ mov r0, #0x1
+_0204440E:
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02044414
+FUN_02044414: ; 0x02044414
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x6
+ bhs _02044494
+ mov r0, #0xb
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ bl FUN_02066978
+ mov r0, #0x1
+ add r1, r5, #0x0
+ bl FUN_02015CF8
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r2, #0x1
+ add r3, r7, #0x0
+ bl MOD05_021ECF14
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_02044494:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204449C
+FUN_0204449C: ; 0x0204449C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_0204A120
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020444F4
+FUN_020444F4: ; 0x020444F4
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r2, #0x0
+ mov r1, #0x4c
+ add r4, r0, #0x0
+ strh r2, [r6, #0x0]
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044556
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02044556:
+ add r0, r4, #0x0
+ mov r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204458E
+ add r0, r4, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bne _02044592
+_0204458E:
+ mov r0, #0x1
+ strh r0, [r6, #0x0]
+_02044592:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044598
+FUN_02044598: ; 0x02044598
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ str r1, [sp, #0x4]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r1, _02044650 ; =0x00000006
+ ldr r0, [sp, #0x0]
+ ldr r6, _02044654 ; =0x00000000
+ strh r1, [r0, #0x0]
+ beq _02044648
+_020445E4:
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204463E
+ add r0, r4, #0x0
+ mov r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02044638
+ add r0, r4, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bne _0204463E
+_02044638:
+ ldr r0, [sp, #0x0]
+ strh r6, [r0, #0x0]
+ b _02044648
+_0204463E:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, r7
+ blo _020445E4
+_02044648:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02044650: .word 0x00000006
+_02044654: .word 0x00000000
+
+ thumb_func_start FUN_02044658
+FUN_02044658: ; 0x02044658
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ bl FUN_0204A32C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204469C
+FUN_0204469C: ; 0x0204469C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ mov r4, #0x0
+ ldr r0, [sp, #0x4]
+ add r5, r4, #0x0
+ strh r4, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ bls _02044726
+_020446EA:
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204471A
+ add r0, r6, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bhi _0204471A
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+_0204471A:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x8]
+ cmp r4, r0
+ blo _020446EA
+_02044726:
+ ldr r0, [sp, #0x4]
+ strh r5, [r0, #0x0]
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02044730
+FUN_02044730: ; 0x02044730
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r2, #0x0
+ mov r1, #0x4c
+ add r5, r0, #0x0
+ strh r2, [r4, #0x0]
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044786
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r4, #0x0]
+_02044786:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204478C
+FUN_0204478C: ; 0x0204478C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r1, r6, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl ScriptReadHalfword
+ add r6, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r6, r0
+ blt _020447D2
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_020447D2:
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020447F2
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_020447F2:
+ add r0, r5, #0x0
+ bl FUN_02068854
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044800
+FUN_02044800: ; 0x02044800
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r1, _02044884 ; =0x000000FF
+ ldr r0, [sp, #0x4]
+ ldr r5, _02044888 ; =0x00000000
+ strh r1, [r0, #0x0]
+ beq _0204487E
+_02044848:
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044874
+ add r0, r4, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x0]
+ cmp r1, r0
+ bne _02044874
+ ldr r0, [sp, #0x4]
+ strh r5, [r0, #0x0]
+ b _0204487E
+_02044874:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ blo _02044848
+_0204487E:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02044884: .word 0x000000FF
+_02044888: .word 0x00000000
+
+ thumb_func_start FUN_0204488C
+FUN_0204488C: ; 0x0204488C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020448D4
+FUN_020448D4: ; 0x020448D4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r7, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ ldr r1, [sp, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x9
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x4
+ strh r0, [r1, #0x0]
+ cmp r4, #0x0
+ beq _02044982
+ add r0, r5, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x1
+ mov r2, #0xb
+ bl FUN_0206E7B8
+ cmp r0, #0x34
+ bne _0204495A
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0204495A:
+ add r0, r5, #0x0
+ mov r1, #0x9a
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0xb
+ bne _0204496E
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_0204496E:
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r7, r0
+ bne _02044982
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02044982:
+ add r0, sp, #0x4
+ ldrh r1, [r0, #0x0]
+ add r1, r1, r4
+ strh r1, [r0, #0x0]
+ ldrh r1, [r0, #0x0]
+ cmp r1, #0xff
+ bls _02044994
+ mov r1, #0xff
+ strh r1, [r0, #0x0]
+_02044994:
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x4
+ bl FUN_02067830
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020449A4
+FUN_020449A4: ; 0x020449A4
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x9
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x0
+ strh r0, [r1, #0x0]
+ ldrh r0, [r1, #0x0]
+ cmp r4, r0
+ bls _020449F8
+ mov r0, #0x0
+ b _020449FA
+_020449F8:
+ sub r0, r0, r4
+_020449FA:
+ strh r0, [r1, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02044A0C
+FUN_02044A0C: ; 0x02044A0C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ add r4, #0x13
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044A6C
+FUN_02044A6C: ; 0x02044A6C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02054DEC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044A94
+FUN_02044A94: ; 0x02044A94
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ add r4, r0, #0x0
+ mov r1, #0xb0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xb1
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r7, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044B00
+FUN_02044B00: ; 0x02044B00
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044B2C
+FUN_02044B2C: ; 0x02044B2C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ mov r5, #0x0
+ add r7, r0, #0x0
+ add r4, r5, #0x0
+ cmp r7, #0x0
+ ble _02044B7A
+_02044B5A:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044B74
+ add r4, r4, #0x1
+_02044B74:
+ add r5, r5, #0x1
+ cmp r5, r7
+ blt _02044B5A
+_02044B7A:
+ ldr r0, [sp, #0x0]
+ strh r4, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044B84
+FUN_02044B84: ; 0x02044B84
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ mov r5, #0x0
+ add r4, r5, #0x0
+ str r0, [sp, #0x8]
+ cmp r0, #0x0
+ ble _02044C00
+_02044BC8:
+ ldr r0, [sp, #0x0]
+ cmp r5, r0
+ beq _02044BF8
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044BF8
+ add r0, r6, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044BF8
+ add r4, r4, #0x1
+_02044BF8:
+ ldr r0, [sp, #0x8]
+ add r5, r5, #0x1
+ cmp r5, r0
+ blt _02044BC8
+_02044C00:
+ ldr r0, [sp, #0x4]
+ strh r4, [r0, #0x0]
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044C0C
+FUN_02044C0C: ; 0x02044C0C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ mov r5, #0x0
+ add r4, r5, #0x0
+ str r0, [sp, #0x8]
+ cmp r0, #0x0
+ ble _02044C76
+_02044C44:
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044C6E
+ add r0, r6, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044C6E
+ add r4, r4, #0x1
+_02044C6E:
+ ldr r0, [sp, #0x8]
+ add r5, r5, #0x1
+ cmp r5, r0
+ blt _02044C44
+_02044C76:
+ ldr r0, [sp, #0x4]
+ bl FUN_0206B57C
+ add r1, r4, r0
+ ldr r0, [sp, #0x0]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02044C88
+FUN_02044C88: ; 0x02044C88
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ mov r5, #0x0
+ add r7, r0, #0x0
+ add r4, r5, #0x0
+ cmp r7, #0x0
+ ble _02044CD6
+_02044CB6:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044CD0
+ add r4, r4, #0x1
+_02044CD0:
+ add r5, r5, #0x1
+ cmp r5, r7
+ blt _02044CB6
+_02044CD6:
+ ldr r0, [sp, #0x0]
+ strh r4, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044CE0
+FUN_02044CE0: ; 0x02044CE0
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ ldr r4, _02044D40 ; =0x00000000
+ ldr r0, [sp, #0x0]
+ strh r4, [r0, #0x0]
+ beq _02044D3C
+ mov r7, #0x99
+_02044D12:
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044D32
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+ b _02044D3C
+_02044D32:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, r6
+ blo _02044D12
+_02044D3C:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02044D40: .word 0x00000000
+
+ thumb_func_start FUN_02044D44
+FUN_02044D44: ; 0x02044D44
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02044D8C
+FUN_02044D8C: ; 0x02044D8C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044DDA
+ mov r0, #0x0
+ strh r0, [r5, #0x0]
+ pop {r4-r6, pc}
+_02044DDA:
+ mov r4, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x36
+ add r2, r4, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044DF0
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02044DF0:
+ add r0, r6, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044E04
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02044E04:
+ add r0, r6, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044E18
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02044E18:
+ add r0, r6, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02044E2C
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02044E2C:
+ strh r4, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044E34
+FUN_02044E34: ; 0x02044E34
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ add r1, r4, #0x0
+ bl FUN_020699A4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02044E78
+FUN_02044E78: ; 0x02044E78
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ add r4, #0x36
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02044ED8
+FUN_02044ED8: ; 0x02044ED8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02044F20
+FUN_02044F20: ; 0x02044F20
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r2, #0x0
+ add r1, sp, #0x0
+ strh r2, [r1, #0x0]
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02044F58
+FUN_02044F58: ; 0x02044F58
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r5, _02044FE4 ; =0x00000000
+ ldr r0, [sp, #0x4]
+ strh r5, [r0, #0x0]
+ beq _02044FDE
+_02044F9E:
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02044FD4
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, [sp, #0x0]
+ cmp r0, r1
+ bne _02044FD4
+ ldr r0, [sp, #0x4]
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+ b _02044FDE
+_02044FD4:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, r6
+ blo _02044F9E
+_02044FDE:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02044FE4: .word 0x00000000
+
+ thumb_func_start FUN_02044FE8
+FUN_02044FE8: ; 0x02044FE8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r4, #0x0
+ add r6, r0, #0x0
+ add r5, r4, #0x0
+ add r7, r4, #0x0
+_0204502A:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ add r1, r7, #0x0
+ bl FUN_0207FC5C
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02045048
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_02045048:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x50
+ blo _0204502A
+ ldr r0, [sp, #0x0]
+ strh r5, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204505C
+FUN_0204505C: ; 0x0204505C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ add r4, #0x80
+ lsr r6, r0, #0x10
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [sp, #0xc]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0x4]
+_0204509A:
+ mov r5, #0x0
+ cmp r6, #0x0
+ bls _020450E8
+ ldr r0, [sp, #0x8]
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+_020450A6:
+ ldr r0, [sp, #0xc]
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _020450E8
+ add r0, r7, #0x0
+ mov r1, #0x0
+ bl FUN_0207FC5C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020450DE
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ b _020450E8
+_020450DE:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, r6
+ blo _020450A6
+_020450E8:
+ ldr r0, [sp, #0x8]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x8]
+ cmp r0, #0x50
+ blo _0204509A
+ ldr r1, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045104
+FUN_02045104: ; 0x02045104
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x0
+ bl FUN_0207FC5C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045170
+FUN_02045170: ; 0x02045170
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ mov r1, #0x1
+ add r0, sp, #0x0
+ add r5, #0x80
+ strb r1, [r0, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x0
+ bl FUN_0207FC5C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020451D0
+FUN_020451D0: ; 0x020451D0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ add r4, #0x80
+ lsr r6, r0, #0x10
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r7, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+_0204520C:
+ mov r5, #0x0
+ cmp r6, #0x0
+ bls _0204524C
+_02045212:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02045242
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02045242
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02045242:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, r6
+ blo _02045212
+_0204524C:
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ cmp r0, #0x50
+ blo _0204520C
+ ldr r1, [sp, #0x0]
+ mov r0, #0x0
+ strh r0, [r1, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02045264
+FUN_02045264: ; 0x02045264
+ mov r0, #0x0
+ bx lr
diff --git a/arm9/asm/scrcmd_19.s b/arm9/asm/scrcmd_19.s
new file mode 100644
index 00000000..bf0b9651
--- /dev/null
+++ b/arm9/asm/scrcmd_19.s
@@ -0,0 +1,164 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02045268
+FUN_02045268: ; 0x02045268
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r4, #0x0
+ ldr r7, _020452B0 ; =0x020F450C
+ str r0, [sp, #0x0]
+ add r5, r4, #0x0
+_02045288:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206F158
+ lsl r1, r4, #0x2
+ ldrh r1, [r7, r1]
+ mov r2, #0x4
+ bl FUN_0206EEF8
+ add r0, r5, r0
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x7
+ blo _02045288
+ ldr r0, [sp, #0x0]
+ strh r5, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_020452B0: .word 0x020F450C
+
+ thumb_func_start FUN_020452B4
+FUN_020452B4: ; 0x020452B4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ mov r5, #0x0
+ ldr r2, _02045300 ; =0x020F450C
+ strh r5, [r4, #0x0]
+_020452E0:
+ lsl r3, r5, #0x2
+ ldrh r1, [r2, r3]
+ cmp r0, r1
+ bne _020452F0
+ ldr r0, _02045304 ; =0x020F450E
+ ldrh r0, [r0, r3]
+ strh r0, [r4, #0x0]
+ b _020452FA
+_020452F0:
+ add r1, r5, #0x1
+ lsl r1, r1, #0x10
+ lsr r5, r1, #0x10
+ cmp r5, #0x7
+ blo _020452E0
+_020452FA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_02045300: .word 0x020F450C
+_02045304: .word 0x020F450E
+
+ thumb_func_start FUN_02045308
+FUN_02045308: ; 0x02045308
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r7, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ mov r4, #0x0
+ ldr r0, [sp, #0x8]
+ add r6, r4, #0x0
+ strh r4, [r0, #0x0]
+ ldr r0, [sp, #0x4]
+ strh r4, [r0, #0x0]
+_02045358:
+ ldr r0, [r7, #0xc]
+ lsl r5, r4, #0x2
+ bl FUN_0206F158
+ ldr r1, _02045394 ; =0x020F450C
+ mov r2, #0x4
+ ldrh r1, [r1, r5]
+ bl FUN_0206EEF8
+ add r0, r6, r0
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ ldr r0, [sp, #0x0]
+ cmp r6, r0
+ blo _02045384
+ ldr r0, _02045394 ; =0x020F450C
+ ldrh r1, [r0, r5]
+ ldr r0, [sp, #0x8]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x4]
+ strh r4, [r0, #0x0]
+ b _0204538E
+_02045384:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x7
+ blo _02045358
+_0204538E:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02045394: .word 0x020F450C
+
+ thumb_func_start FUN_02045398
+FUN_02045398: ; 0x02045398
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204539C
+FUN_0204539C: ; 0x0204539C
+ mov r0, #0x0
+ bx lr
diff --git a/arm9/asm/scrcmd_2.s b/arm9/asm/scrcmd_2.s
new file mode 100644
index 00000000..948cac67
--- /dev/null
+++ b/arm9/asm/scrcmd_2.s
@@ -0,0 +1,225 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_0203FCF4
+FUN_0203FCF4: ; 0x0203FCF4
+ push {r4-r7, lr}
+ sub sp, #0x84
+ add r7, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ mov r4, #0x0
+ add r6, r4, #0x0
+ add r5, r4, #0x0
+_0203FD10:
+ add r0, r7, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r1, r5, #0x0
+ bl FUN_020239D0
+ cmp r0, #0x1
+ bne _0203FD2C
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_0203FD2C:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x8
+ blo _0203FD10
+ cmp r6, #0x8
+ bhi _0203FD70
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0203FD46: ; jump table (using 16-bit offset)
+ .short _0203FD58 - _0203FD46 - 2; case 0
+ .short _0203FD5C - _0203FD46 - 2; case 1
+ .short _0203FD5C - _0203FD46 - 2; case 2
+ .short _0203FD60 - _0203FD46 - 2; case 3
+ .short _0203FD60 - _0203FD46 - 2; case 4
+ .short _0203FD64 - _0203FD46 - 2; case 5
+ .short _0203FD64 - _0203FD46 - 2; case 6
+ .short _0203FD68 - _0203FD46 - 2; case 7
+ .short _0203FD6C - _0203FD46 - 2; case 8
+_0203FD58:
+ mov r1, #0x1
+ b _0203FD72
+_0203FD5C:
+ mov r1, #0x2
+ b _0203FD72
+_0203FD60:
+ mov r1, #0x3
+ b _0203FD72
+_0203FD64:
+ mov r1, #0x4
+ b _0203FD72
+_0203FD68:
+ mov r1, #0x5
+ b _0203FD72
+_0203FD6C:
+ mov r1, #0x6
+ b _0203FD72
+_0203FD70:
+ mov r1, #0x1
+_0203FD72:
+ ldr r0, _0203FDB4 ; =0x020F4218
+ mov r2, #0x0
+ add r6, sp, #0x4
+_0203FD78:
+ lsl r3, r2, #0x2
+ add r5, r0, r3
+ ldrh r3, [r5, #0x2]
+ cmp r1, r3
+ blt _0203FD8E
+ ldrh r5, [r5, #0x0]
+ lsl r3, r4, #0x1
+ strh r5, [r6, r3]
+ add r3, r4, #0x1
+ lsl r3, r3, #0x18
+ lsr r4, r3, #0x18
+_0203FD8E:
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ cmp r2, #0x13
+ blo _0203FD78
+ ldr r1, _0203FDB8 ; =0x0000FFFF
+ lsl r0, r4, #0x1
+ add r2, sp, #0x4
+ strh r1, [r2, r0]
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldr r0, [r7, #0x74]
+ add r7, #0x80
+ ldr r1, [r7, #0x0]
+ bl MOD06_0223D3D0
+ mov r0, #0x1
+ add sp, #0x84
+ pop {r4-r7, pc}
+ .balign 4
+_0203FDB4: .word 0x020F4218
+_0203FDB8: .word 0x0000FFFF
+
+ thumb_func_start FUN_0203FDBC
+FUN_0203FDBC: ; 0x0203FDBC
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, _0203FE00 ; =0x0000FFF8
+ add r0, r2, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x5
+ bhi _0203FDE4
+ mov r0, #0x1
+ b _0203FDE6
+_0203FDE4:
+ mov r0, #0x0
+_0203FDE6:
+ lsl r3, r2, #0x2
+ str r0, [sp, #0x0]
+ ldr r2, _0203FE04 ; =0x02105E10
+ ldr r0, [r4, #0x74]
+ add r4, #0x80
+ ldr r2, [r2, r3]
+ ldr r1, [r4, #0x0]
+ mov r3, #0x0
+ bl MOD06_0223D3D0
+ mov r0, #0x1
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0203FE00: .word 0x0000FFF8
+_0203FE04: .word 0x02105E10
+
+ thumb_func_start FUN_0203FE08
+FUN_0203FE08: ; 0x0203FE08
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ cmp r2, #0x1
+ bhi _0203FE28
+ mov r0, #0x1
+ b _0203FE2A
+_0203FE28:
+ mov r0, #0x0
+_0203FE2A:
+ lsl r3, r2, #0x2
+ str r0, [sp, #0x0]
+ ldr r2, _0203FE44 ; =0x02105DEC
+ ldr r0, [r4, #0x74]
+ add r4, #0x80
+ ldr r2, [r2, r3]
+ ldr r1, [r4, #0x0]
+ mov r3, #0x1
+ bl MOD06_0223D3D0
+ mov r0, #0x1
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0203FE44: .word 0x02105DEC
+
+ thumb_func_start FUN_0203FE48
+FUN_0203FE48: ; 0x0203FE48
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ mov r0, #0x0
+ lsl r3, r2, #0x2
+ str r0, [sp, #0x0]
+ ldr r2, _0203FE7C ; =0x02105DF4
+ ldr r0, [r4, #0x74]
+ add r4, #0x80
+ ldr r2, [r2, r3]
+ ldr r1, [r4, #0x0]
+ mov r3, #0x2
+ bl MOD06_0223D3D0
+ mov r0, #0x1
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0203FE7C: .word 0x02105DF4
+
+ thumb_func_start FUN_0203FE80
+FUN_0203FE80: ; 0x0203FE80
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x10]
+ bl FUN_02038AD0
+ mov r0, #0x1
+ pop {r3, pc}
diff --git a/arm9/asm/scrcmd_20.s b/arm9/asm/scrcmd_20.s
new file mode 100644
index 00000000..890a4245
--- /dev/null
+++ b/arm9/asm/scrcmd_20.s
@@ -0,0 +1,42 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020453A0
+FUN_020453A0: ; 0x020453A0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ ldr r1, _020453EC ; =0x020F4528
+ lsl r2, r4, #0x2
+ ldrh r1, [r1, r2]
+ strh r1, [r6, #0x0]
+ ldr r1, _020453F0 ; =0x020F452A
+ ldrh r1, [r1, r2]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_020453EC: .word 0x020F4528
+_020453F0: .word 0x020F452A
diff --git a/arm9/asm/scrcmd_21.s b/arm9/asm/scrcmd_21.s
new file mode 100644
index 00000000..b0d27506
--- /dev/null
+++ b/arm9/asm/scrcmd_21.s
@@ -0,0 +1,459 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020453F4
+FUN_020453F4: ; 0x020453F4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02024D64
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045424
+FUN_02045424: ; 0x02045424
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024D80
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02045438
+FUN_02045438: ; 0x02045438
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ bl FUN_02055474
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045468
+FUN_02045468: ; 0x02045468
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ mov r1, #0x1
+ bl FUN_02055488
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045484
+FUN_02045484: ; 0x02045484
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ cmp r4, #0x8
+ blo _020454B6
+ bl ErrorHandling
+_020454B6:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r1, r4, #0x0
+ bl FUN_020239D0
+ strh r0, [r6, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020454CC
+FUN_020454CC: ; 0x020454CC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ cmp r4, #0x8
+ blo _020454EA
+ bl ErrorHandling
+_020454EA:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r1, r4, #0x0
+ bl FUN_020239E4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045500
+FUN_02045500: ; 0x02045500
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ECE0
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204552C
+FUN_0204552C: ; 0x0204552C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ mov r4, #0x0
+ ldr r7, _02045578 ; =0x020F4574
+ str r0, [sp, #0x0]
+ add r5, r4, #0x0
+_02045548:
+ add r0, r6, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ ldrb r1, [r7, r4]
+ bl FUN_020239D0
+ cmp r0, #0x1
+ bne _02045564
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_02045564:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x8
+ blo _02045548
+ ldr r0, [sp, #0x0]
+ strh r5, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_02045578: .word 0x020F4574
+
+ thumb_func_start FUN_0204557C
+FUN_0204557C: ; 0x0204557C
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ECD4
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02045590
+FUN_02045590: ; 0x02045590
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020455BC
+FUN_020455BC: ; 0x020455BC
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED1C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020455D0
+FUN_020455D0: ; 0x020455D0
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED2C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020455E4
+FUN_020455E4: ; 0x020455E4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED6C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045610
+FUN_02045610: ; 0x02045610
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED4C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02045624
+FUN_02045624: ; 0x02045624
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED5C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02045638
+FUN_02045638: ; 0x02045638
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED0C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045664
+FUN_02045664: ; 0x02045664
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ECFC
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02045678
+FUN_02045678: ; 0x02045678
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ ldr r2, [r5, #0x8]
+ add r4, r0, #0x0
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _020456A6
+ cmp r1, #0x1
+ beq _0204569E
+ cmp r1, #0x2
+ beq _020456AE
+ b _020456CC
+_0204569E:
+ mov r1, #0x1
+ bl FUN_0205F264
+ b _020456D0
+_020456A6:
+ mov r1, #0x0
+ bl FUN_0205F264
+ b _020456D0
+_020456AE:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0205F264
+ strh r0, [r5, #0x0]
+ b _020456D0
+_020456CC:
+ bl ErrorHandling
+_020456D0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020456D4
+FUN_020456D4: ; 0x020456D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ ldr r2, [r5, #0x8]
+ add r4, r0, #0x0
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _02045700
+ cmp r1, #0x1
+ beq _020456FA
+ cmp r1, #0x2
+ beq _02045706
+ b _02045722
+_020456FA:
+ bl FUN_0205F274
+ b _02045726
+_02045700:
+ bl FUN_0205F284
+ b _02045726
+_02045706:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F294
+ strh r0, [r5, #0x0]
+ b _02045726
+_02045722:
+ bl ErrorHandling
+_02045726:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204572C
+FUN_0204572C: ; 0x0204572C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ ldr r2, [r5, #0x8]
+ add r4, r0, #0x0
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _02045758
+ cmp r1, #0x1
+ beq _02045752
+ cmp r1, #0x2
+ beq _0204575E
+ b _0204577A
+_02045752:
+ bl FUN_0205F2A4
+ b _0204577E
+_02045758:
+ bl FUN_0205F2B4
+ b _0204577E
+_0204575E:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F2C4
+ strh r0, [r5, #0x0]
+ b _0204577E
+_0204577A:
+ bl ErrorHandling
+_0204577E:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_22.s b/arm9/asm/scrcmd_22.s
new file mode 100644
index 00000000..4d6295d1
--- /dev/null
+++ b/arm9/asm/scrcmd_22.s
@@ -0,0 +1,220 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02045784
+FUN_02045784: ; 0x02045784
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ mov r3, #0x4
+ bl FUN_0206ED38
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020457DC
+FUN_020457DC: ; 0x020457DC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ mov r3, #0x4
+ bl FUN_0206EDD4
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02045834
+FUN_02045834: ; 0x02045834
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ mov r3, #0x4
+ bl FUN_0206ED24
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204588C
+FUN_0204588C: ; 0x0204588C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ mov r3, #0xb
+ bl FUN_0206EE50
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020458E4
+FUN_020458E4: ; 0x020458E4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02054CB0
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02045918
+FUN_02045918: ; 0x02045918
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r2, #0xb
+ bl FUN_0206E7B8
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02045950
+FUN_02045950: ; 0x02045950
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02045954
+FUN_02045954: ; 0x02045954
+ mov r0, #0x0
+ bx lr
diff --git a/arm9/asm/scrcmd_23.s b/arm9/asm/scrcmd_23.s
new file mode 100644
index 00000000..040971f8
--- /dev/null
+++ b/arm9/asm/scrcmd_23.s
@@ -0,0 +1,483 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02045958
+FUN_02045958: ; 0x02045958
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02026CC4
+ add r1, r6, #0x0
+ bl FUN_02025D6C
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020459AC
+FUN_020459AC: ; 0x020459AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020459E8
+FUN_020459E8: ; 0x020459E8
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02026CC4
+ add r1, r6, #0x0
+ bl FUN_02025D94
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02045A3C
+FUN_02045A3C: ; 0x02045A3C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045A78
+FUN_02045A78: ; 0x02045A78
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02026CC4
+ add r1, r6, #0x0
+ bl FUN_02026298
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02045ACC
+FUN_02045ACC: ; 0x02045ACC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045B08
+FUN_02045B08: ; 0x02045B08
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045B44
+FUN_02045B44: ; 0x02045B44
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045B80
+FUN_02045B80: ; 0x02045B80
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r4, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r0, r4, #0x0
+ bl FUN_02026CC4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02045BC8
+FUN_02045BC8: ; 0x02045BC8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045C04
+FUN_02045C04: ; 0x02045C04
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045C40
+FUN_02045C40: ; 0x02045C40
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045C7C
+FUN_02045C7C: ; 0x02045C7C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0x80
+ ldr r1, [r1, #0x0]
+ ldr r5, [r1, #0xc]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02026CC4
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020260C4
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02045CD4
+FUN_02045CD4: ; 0x02045CD4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045D10
+FUN_02045D10: ; 0x02045D10
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045D4C
+FUN_02045D4C: ; 0x02045D4C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_24.s b/arm9/asm/scrcmd_24.s
new file mode 100644
index 00000000..6893e15c
--- /dev/null
+++ b/arm9/asm/scrcmd_24.s
@@ -0,0 +1,316 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02045D88
+FUN_02045D88: ; 0x02045D88
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ add r1, r5, #0x0
+ add r1, #0x80
+ lsl r2, r4, #0x18
+ add r6, r0, #0x0
+ ldr r1, [r1, #0x0]
+ mov r0, #0x20
+ lsr r2, r2, #0x18
+ bl FUN_02037CF0
+ str r0, [r6, #0x0]
+ ldr r1, _02045DCC ; =FUN_0203BC04
+ add r0, r5, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ nop
+_02045DCC: .word FUN_0203BC04
+
+ thumb_func_start FUN_02045DD0
+FUN_02045DD0: ; 0x02045DD0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ bne _02045DFC
+ bl ErrorHandling
+_02045DFC:
+ ldr r0, [r4, #0x0]
+ bl FUN_02037D5C
+ strh r0, [r5, #0x0]
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x4
+ bne _02045E0E
+ mov r0, #0xff
+ strh r0, [r5, #0x0]
+_02045E0E:
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045E1C
+FUN_02045E1C: ; 0x02045E1C
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02045E20
+FUN_02045E20: ; 0x02045E20
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x20
+ bl FUN_02088DF8
+ add r5, r0, #0x0
+ bl FUN_02088EF8
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045E74
+FUN_02045E74: ; 0x02045E74
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ add r7, r1, #0x0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x13
+ str r2, [sp, #0x0]
+ add r6, r3, #0x0
+ bl FUN_02039438
+ str r0, [sp, #0x4]
+ mov r0, #0x20
+ bl FUN_02088DD8
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ str r4, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0x8]
+ str r6, [r4, #0xc]
+ add r0, r5, #0x0
+ strb r7, [r4, #0x15]
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r1, r4, #0x0
+ bl FUN_02038864
+ ldr r1, _02045EDC ; =FUN_0203BC04
+ add r0, r5, #0x0
+ bl SetupNativeScript
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02045EDC: .word FUN_0203BC04
+
+ thumb_func_start FUN_02045EE0
+FUN_02045EE0: ; 0x02045EE0
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_02045EE4
+FUN_02045EE4: ; 0x02045EE4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r4, r0, #0x0
+ mov r1, #0x20
+ bl FUN_02088DF8
+ add r3, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_02045E74
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02045F24
+FUN_02045F24: ; 0x02045F24
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ mov r0, #0x20
+ mov r1, #0x4
+ bl FUN_02016998
+ add r3, r0, #0x0
+ ldr r0, _02045F80 ; =0x0000FFFF
+ strh r4, [r3, #0x0]
+ strh r0, [r3, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02045E74
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+_02045F80: .word 0x0000FFFF
+
+ thumb_func_start FUN_02045F84
+FUN_02045F84: ; 0x02045F84
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02045F88
+FUN_02045F88: ; 0x02045F88
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ ldr r4, [r0, #0x0]
+ cmp r4, #0x0
+ bne _02045FB2
+ bl ErrorHandling
+_02045FB2:
+ ldrb r0, [r4, #0x16]
+ cmp r0, #0x0
+ bne _02045FBC
+ mov r0, #0x0
+ b _02045FBE
+_02045FBC:
+ mov r0, #0xff
+_02045FBE:
+ strh r0, [r5, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02088DF0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02045FCC
+FUN_02045FCC: ; 0x02045FCC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x13
+ bl FUN_02039438
+ ldr r4, [r0, #0x0]
+ cmp r4, #0x0
+ bne _02045FF6
+ bl ErrorHandling
+_02045FF6:
+ ldrb r0, [r4, #0x16]
+ cmp r0, #0x0
+ bne _02046000
+ mov r0, #0x0
+ b _02046002
+_02046000:
+ mov r0, #0xff
+_02046002:
+ strh r0, [r5, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02088DF0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_25.s b/arm9/asm/scrcmd_25.s
new file mode 100644
index 00000000..ab6d4787
--- /dev/null
+++ b/arm9/asm/scrcmd_25.s
@@ -0,0 +1,30 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02046010
+FUN_02046010: ; 0x02046010
+ push {r3, lr}
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204601C
+FUN_0204601C: ; 0x0204601C
+ push {r3, lr}
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02046028
+FUN_02046028: ; 0x02046028
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204602C
+FUN_0204602C: ; 0x0204602C
+ mov r0, #0x0
+ bx lr
diff --git a/arm9/asm/scrcmd_3.s b/arm9/asm/scrcmd_3.s
new file mode 100644
index 00000000..54c1e00c
--- /dev/null
+++ b/arm9/asm/scrcmd_3.s
@@ -0,0 +1,1000 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_0203FE90
+FUN_0203FE90: ; 0x0203FE90
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ ldr r0, [r4, #0x0]
+ lsr r1, r1, #0x18
+ bl FUN_02082140
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0203FEC0
+FUN_0203FEC0: ; 0x0203FEC0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [r4, #0x64]
+ ldr r1, _0203FEF0 ; =FUN_0203FEF4
+ add r0, r4, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_0203FEF0: .word FUN_0203FEF4
+
+ thumb_func_start FUN_0203FEF4
+FUN_0203FEF4: ; 0x0203FEF4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r1, [r4, #0x64]
+ ldr r0, [r0, #0x0]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02082158
+ pop {r4, pc}
+
+ thumb_func_start FUN_0203FF10
+FUN_0203FF10: ; 0x0203FF10
+ push {r3-r7, lr}
+ sub sp, #0x38
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020239A0
+ add r7, r0, #0x0
+ ldr r1, [sp, #0x8]
+ add r0, sp, #0x14
+ strb r1, [r0, #0x0]
+ ldr r1, [sp, #0x4]
+ strb r1, [r0, #0x1]
+ ldr r1, [sp, #0xc]
+ strb r1, [r0, #0x2]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED0C
+ add r1, sp, #0x14
+ strb r0, [r1, #0x3]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024CA4
+ add r1, sp, #0x14
+ strb r0, [r1, #0x4]
+ strb r6, [r1, #0x5]
+ ldr r0, [sp, #0x10]
+ str r7, [sp, #0x20]
+ str r0, [sp, #0x1c]
+ add r0, r5, #0x0
+ str r4, [sp, #0x24]
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ str r0, [sp, #0x28]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0x2c]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ add r5, #0x80
+ ldr r0, [r0, #0xc]
+ str r0, [sp, #0x30]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029EF8
+ str r0, [sp, #0x34]
+ add r0, sp, #0x14
+ bl FUN_02081214
+ ldr r1, [sp, #0x0]
+ str r0, [r1, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02040028
+FUN_02040028: ; 0x02040028
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r5, #0x80
+ ldr r3, [r5, #0x0]
+ add r2, r0, #0x0
+ ldr r1, [r3, #0xc]
+ add r3, #0x98
+ ldr r0, [r4, #0x0]
+ ldr r3, [r3, #0x0]
+ bl FUN_02082630
+ ldr r0, [r4, #0x0]
+ bl FUN_020814E8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02040074
+FUN_02040074: ; 0x02040074
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0208201C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020400C8
+FUN_020400C8: ; 0x020400C8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r1, r7, #0x0
+ bl FUN_02082034
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204011C
+FUN_0204011C: ; 0x0204011C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r6, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0208206C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040170
+FUN_02040170: ; 0x02040170
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ str r3, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r2, r6, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020401CC
+FUN_020401CC: ; 0x020401CC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_02081DC4
+ ldr r1, _020401EC ; =FUN_020401F0
+ add r0, r4, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_020401EC: .word FUN_020401F0
+
+ thumb_func_start FUN_020401F0
+FUN_020401F0: ; 0x020401F0
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_02081EB8
+ pop {r3, pc}
+
+ thumb_func_start FUN_02040204
+FUN_02040204: ; 0x02040204
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x74]
+ ldr r1, [r1, #0x0]
+ bl FUN_02080E0C
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_02040220
+FUN_02040220: ; 0x02040220
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, [r6, #0x0]
+ bl FUN_02082090
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204025C
+FUN_0204025C: ; 0x0204025C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, [r6, #0x0]
+ bl FUN_020820B8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040298
+FUN_02040298: ; 0x02040298
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, [r6, #0x0]
+ bl FUN_020820DC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020402D4
+FUN_020402D4: ; 0x020402D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0208213C
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040304
+FUN_02040304: ; 0x02040304
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, [r6, #0x0]
+ bl FUN_0208210C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040340
+FUN_02040340: ; 0x02040340
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0208217C
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040370
+FUN_02040370: ; 0x02040370
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02082190
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020403A0
+FUN_020403A0: ; 0x020403A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020821B4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020403D0
+FUN_020403D0: ; 0x020403D0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ bl FUN_020821C4
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040414
+FUN_02040414: ; 0x02040414
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ bl FUN_020821DC
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040458
+FUN_02040458: ; 0x02040458
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020821F0
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040488
+FUN_02040488: ; 0x02040488
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r3, [sp, #0x4]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02082214
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020404FC
+FUN_020404FC: ; 0x020404FC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02082254
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204052C
+FUN_0204052C: ; 0x0204052C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, [r6, #0x0]
+ mov r3, #0xb
+ bl FUN_02082284
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204056C
+FUN_0204056C: ; 0x0204056C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020822F0
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204059C
+FUN_0204059C: ; 0x0204059C
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_0208223C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020405B4
+FUN_020405B4: ; 0x020405B4
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_0208224C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020405CC
+FUN_020405CC: ; 0x020405CC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02082444
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020405F8
+FUN_020405F8: ; 0x020405F8
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r1, _02040614 ; =FUN_02040618
+ add r0, r4, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_02040614: .word FUN_02040618
+
+ thumb_func_start FUN_02040618
+FUN_02040618: ; 0x02040618
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ ldr r0, [r0, #0x0]
+ bl FUN_02082508
+ cmp r0, #0x1
+ bne _02040632
+ mov r0, #0x1
+ pop {r3, pc}
+_02040632:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040638
+FUN_02040638: ; 0x02040638
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ ldr r0, [r0, #0x1c]
+ bl MOD05_021F4608
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204064C
+FUN_0204064C: ; 0x0204064C
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ ldr r0, [r0, #0x1c]
+ bl MOD05_021F45E8
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040660
+FUN_02040660: ; 0x02040660
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x14
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, sp, #0xc
+ str r0, [sp, #0x0]
+ add r0, sp, #0x8
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x18
+ add r2, sp, #0x14
+ add r3, sp, #0x10
+ bl FUN_020825A0
+ ldr r0, [sp, #0x14]
+ cmp r0, #0x1
+ beq _020406B0
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x1
+ beq _020406B0
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x1
+ beq _020406B0
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x1
+ bne _020406B6
+_020406B0:
+ mov r0, #0x1
+ strh r0, [r5, #0x0]
+ b _020406BA
+_020406B6:
+ mov r0, #0x0
+ strh r0, [r5, #0x0]
+_020406BA:
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_020406C0
+FUN_020406C0: ; 0x020406C0
+ push {r3, lr}
+ ldr r0, [r0, #0x74]
+ bl MOD06_0224D3E8
+ mov r0, #0x1
+ pop {r3, pc}
diff --git a/arm9/asm/scrcmd_4.s b/arm9/asm/scrcmd_4.s
new file mode 100644
index 00000000..3b1a07ca
--- /dev/null
+++ b/arm9/asm/scrcmd_4.s
@@ -0,0 +1,1311 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020406CC
+FUN_020406CC: ; 0x020406CC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r6, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r6, #0x0
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r4, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ ldrb r5, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0200ABC0
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040700
+FUN_02040700: ; 0x02040700
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r4, #0x0
+ bl FUN_02039438
+ ldr r2, [r5, #0x8]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r0, #0x0]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200ABE4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02040724
+FUN_02040724: ; 0x02040724
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r4, #0x0
+ bl FUN_02039438
+ ldr r2, [r5, #0x8]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r0, #0x0]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200AC0C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02040748
+FUN_02040748: ; 0x02040748
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r6, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r6, #0x0
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ add r2, r0, #0x0
+ ldr r0, [r7, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AC60
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040790
+FUN_02040790: ; 0x02040790
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AE38
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020407C8
+FUN_020407C8: ; 0x020407C8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AEE0
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040800
+FUN_02040800: ; 0x02040800
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ bl FUN_0206EA30
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AD5C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204083C
+FUN_0204083C: ; 0x0204083C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AD5C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040874
+FUN_02040874: ; 0x02040874
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bl FUN_02054C14
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020408BC
+FUN_020408BC: ; 0x020408BC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ ldr r1, [r5, #0x8]
+ add r2, r1, #0x1
+ str r2, [r5, #0x8]
+ ldrb r4, [r1, #0x0]
+ add r1, r2, #0x1
+ str r1, [r5, #0x8]
+ ldrb r3, [r2, #0x0]
+ cmp r4, #0x0
+ bne _02040904
+ bl FUN_02054C14
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+_02040904:
+ str r4, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0x0]
+ ldr r2, [sp, #0x8]
+ add r1, r6, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204091C
+FUN_0204091C: ; 0x0204091C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r6, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r6, #0x0
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ add r2, r0, #0x0
+ ldr r0, [r7, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040964
+FUN_02040964: ; 0x02040964
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ mov r1, #0x1e
+ bl _s32_div_f
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1e
+ bl _s32_div_f
+ add r2, r1, #0x0
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0206B5E4
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020409C0
+FUN_020409C0: ; 0x020409C0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B02C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020409F8
+FUN_020409F8: ; 0x020409F8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B064
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040A30
+FUN_02040A30: ; 0x02040A30
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r0, #0x80
+ ldr r5, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r7, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r7, #0x8]
+ add r0, r4, #0x0
+ ldrb r5, [r1, #0x0]
+ bl FUN_020239CC
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02023A28
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ mov r2, #0x2
+ bl FUN_020536D0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0200B09C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02040A7C
+FUN_02040A7C: ; 0x02040A7C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ ldr r1, [r5, #0x8]
+ str r0, [sp, #0x8]
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ ldrb r5, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x4
+ bl FUN_02040AE4
+ add r6, r0, #0x0
+ str r5, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0x0]
+ ldr r3, [sp, #0x8]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0200ABB4
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040AE4
+FUN_02040AE4: ; 0x02040AE4
+ push {r3-r5, lr}
+ ldr r2, _02040B08 ; =0x0000016A
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ add r5, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_02040B08: .word 0x0000016A
+
+ thumb_func_start FUN_02040B0C
+FUN_02040B0C: ; 0x02040B0C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r4, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r4, #0x8]
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldrb r5, [r1, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F388
+ mov r1, #0x4
+ bl FUN_02040AE4
+ add r4, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r6, #0x0]
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040B5C
+FUN_02040B5C: ; 0x02040B5C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r4, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r4, #0x8]
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldrb r5, [r1, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F398
+ mov r1, #0x4
+ bl FUN_02040AE4
+ add r4, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r6, #0x0]
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040BAC
+FUN_02040BAC: ; 0x02040BAC
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r4, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r4, #0x8]
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldrb r5, [r1, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F3C0
+ mov r1, #0x4
+ bl FUN_02040AE4
+ add r4, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r6, #0x0]
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040BFC
+FUN_02040BFC: ; 0x02040BFC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B350
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040C34
+FUN_02040C34: ; 0x02040C34
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B1D4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040C6C
+FUN_02040C6C: ; 0x02040C6C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B164
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040CA4
+FUN_02040CA4: ; 0x02040CA4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ mov r0, #0x16
+ mov r1, #0x4
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ mov r1, #0x4
+ add r2, r4, #0x0
+ bl FUN_02064E60
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0x0]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040D04
+FUN_02040D04: ; 0x02040D04
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r4, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ ldrb r6, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ sub r5, #0x95
+ add r4, r0, #0x0
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x20
+ bl FUN_020852E8
+ add r5, r0, #0x0
+ cmp r4, #0x2
+ bhs _02040D5A
+ mov r0, #0x1
+ b _02040D5C
+_02040D5A:
+ mov r0, #0x0
+_02040D5C:
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0x0]
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040D7C
+FUN_02040D7C: ; 0x02040D7C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AE04
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040DB4
+FUN_02040DB4: ; 0x02040DB4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B660
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040DEC
+FUN_02040DEC: ; 0x02040DEC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ mov r0, #0xb
+ ldrb r6, [r1, #0x0]
+ add r1, r0, #0x0
+ bl FUN_020219F4
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024EB4
+ bl FUN_02024F0C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02021E28
+ ldr r0, _02040E48 ; =0x020ECAC4
+ mov r3, #0x0
+ ldrb r0, [r0, #0x0]
+ str r3, [sp, #0x0]
+ add r1, r6, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [r7, #0x0]
+ add r2, r4, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02040E48: .word 0x020ECAC4
+
+ thumb_func_start FUN_02040E4C
+FUN_02040E4C: ; 0x02040E4C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r6, [r0, #0x0]
+ mov r1, #0xf
+ add r0, r6, #0x0
+ bl FUN_02039438
+ ldr r1, [r4, #0x8]
+ add r7, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ ldrb r5, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r4, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ ldr r1, [sp, #0x0]
+ bl FUN_0206B9B0
+ add r4, #0x36
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ ldr r0, [r7, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0200AD5C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040EB4
+FUN_02040EB4: ; 0x02040EB4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x3
+ bl FUN_0207FC5C
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AD94
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040EF8
+FUN_02040EF8: ; 0x02040EF8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ sub r2, r2, #0x1
+ lsl r2, r2, #0x10
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ bl FUN_0200B534
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02040F34
+FUN_02040F34: ; 0x02040F34
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AE70
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040F6C
+FUN_02040F6C: ; 0x02040F6C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200AEA8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040FA4
+FUN_02040FA4: ; 0x02040FA4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B388
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02040FDC
+FUN_02040FDC: ; 0x02040FDC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B20C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041014
+FUN_02041014: ; 0x02041014
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B19C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204104C
+FUN_0204104C: ; 0x0204104C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ ldr r0, [r5, #0x8]
+ add r1, r4, #0x0
+ add r0, r0, #0x1
+ str r0, [r5, #0x8]
+ ldr r0, [r6, #0x0]
+ add r2, r7, #0x0
+ bl FUN_0200ACC0
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041094
+FUN_02041094: ; 0x02041094
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ ldrb r4, [r1, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F3C0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200ACC0
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020410C8
+FUN_020410C8: ; 0x020410C8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B698
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041100
+FUN_02041100: ; 0x02041100
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0200B09C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041138
+FUN_02041138: ; 0x02041138
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r1, [r5, #0x8]
+ add r6, r0, #0x0
+ add r0, r1, #0x1
+ str r0, [r5, #0x8]
+ add r0, r5, #0x0
+ ldrb r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ sub r2, r2, #0x1
+ lsl r2, r2, #0x10
+ ldr r0, [r6, #0x0]
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ bl FUN_0200B568
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02041174
+FUN_02041174: ; 0x02041174
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ ldr r2, [r4, #0x8]
+ add r1, r2, #0x1
+ str r1, [r4, #0x8]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0200B7A8
+ mov r0, #0x0
+ pop {r4, pc}
diff --git a/arm9/asm/scrcmd_5.s b/arm9/asm/scrcmd_5.s
new file mode 100644
index 00000000..1cec77e4
--- /dev/null
+++ b/arm9/asm/scrcmd_5.s
@@ -0,0 +1,274 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02041194
+FUN_02041194: ; 0x02041194
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F5D8
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020411C4
+FUN_020411C4: ; 0x020411C4
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r7, [r0, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x20]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ ldr r0, _0204133C ; =0x00000000
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x18]
+ ldr r5, [sp, #0x1c]
+ beq _02041286
+_0204123C:
+ ldr r0, [r7, #0xc]
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204127C
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ lsl r1, r1, #0x10
+ ldr r0, [sp, #0x0]
+ lsr r1, r1, #0x10
+ bl FUN_02041354
+ cmp r0, #0x0
+ beq _0204127C
+ ldr r1, [sp, #0x1c]
+ cmp r1, r0
+ bge _0204127C
+ str r0, [sp, #0x1c]
+ str r5, [sp, #0x18]
+_0204127C:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, r6
+ blo _0204123C
+_02041286:
+ mov r6, #0x0
+ str r6, [sp, #0x14]
+ str r6, [sp, #0x10]
+ add r7, r6, #0x0
+_0204128E:
+ mov r5, #0x0
+_02041290:
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x10]
+ add r2, r5, #0x0
+ bl FUN_0206B5E4
+ mov r1, #0x5
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _020412E0
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _020412E0
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ lsl r1, r1, #0x10
+ ldr r0, [sp, #0x0]
+ lsr r1, r1, #0x10
+ bl FUN_02041354
+ cmp r0, #0x0
+ beq _020412E0
+ cmp r6, r0
+ bge _020412E0
+ add r6, r0, #0x0
+ add r0, r5, r7
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x14]
+_020412E0:
+ add r5, r5, #0x1
+ cmp r5, #0x1e
+ blo _02041290
+ ldr r0, [sp, #0x10]
+ add r7, #0x1e
+ add r0, r0, #0x1
+ str r0, [sp, #0x10]
+ cmp r0, #0x12
+ blo _0204128E
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x0
+ bne _0204130C
+ cmp r6, #0x0
+ bne _0204130C
+ ldr r0, [sp, #0xc]
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x4]
+ strh r1, [r0, #0x0]
+ b _02041336
+_0204130C:
+ ldr r0, [sp, #0x1c]
+ cmp r0, r6
+ blo _02041326
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0xc]
+ strh r1, [r0, #0x0]
+ ldr r1, [sp, #0x1c]
+ ldr r0, [sp, #0x8]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x4]
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ b _02041336
+_02041326:
+ ldr r1, [sp, #0x14]
+ ldr r0, [sp, #0xc]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x1
+ strh r6, [r0, #0x0]
+ ldr r0, [sp, #0x4]
+ strh r1, [r0, #0x0]
+_02041336:
+ mov r0, #0x0
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_0204133C: .word 0x00000000
+
+ thumb_func_start FUN_02041340
+FUN_02041340: ; 0x02041340
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F5FC
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02041354
+FUN_02041354: ; 0x02041354
+ push {r4-r7, lr}
+ sub sp, #0xc
+ mov r6, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r7, r6, #0x0
+_02041360:
+ add r0, r5, #0x0
+ mov r1, #0xa
+ bl _s32_div_f
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xa
+ bl _s32_div_f
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x0]
+ cmp r0, r1
+ bne _020413AC
+ add r0, r5, #0x0
+ mov r1, #0xa
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0x0
+ mov r1, #0xa
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r7, #0x1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, #0x5
+ blo _02041360
+_020413AC:
+ ldr r1, _020413BC ; =0x021C5A10
+ ldr r0, [sp, #0x8]
+ strh r0, [r1, #0x2]
+ ldr r0, [sp, #0x4]
+ strh r0, [r1, #0x0]
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_020413BC: .word 0x021C5A10
diff --git a/arm9/asm/scrcmd_6.s b/arm9/asm/scrcmd_6.s
new file mode 100644
index 00000000..84bd89b2
--- /dev/null
+++ b/arm9/asm/scrcmd_6.s
@@ -0,0 +1,399 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020413C0
+FUN_020413C0: ; 0x020413C0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02005410
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020413E8
+FUN_020413E8: ; 0x020413E8
+ push {r3, lr}
+ bl ScriptReadHalfword
+ bl FUN_0200521C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020413F8
+FUN_020413F8: ; 0x020413F8
+ push {r3, lr}
+ bl ScriptReadHalfword
+ bl FUN_02004124
+ mov r1, #0x0
+ bl FUN_02005350
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204140C
+FUN_0204140C: ; 0x0204140C
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x1c]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204ABA8
+ bl FUN_0200521C
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041424
+FUN_02041424: ; 0x02041424
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204AB20
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204143C
+FUN_0204143C: ; 0x0204143C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020053CC
+ ldr r1, _02041460 ; =FUN_02041464
+ add r0, r5, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_02041460: .word FUN_02041464
+
+ thumb_func_start FUN_02041464
+FUN_02041464: ; 0x02041464
+ push {r3, lr}
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02041472
+ mov r0, #0x1
+ pop {r3, pc}
+_02041472:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041478
+FUN_02041478: ; 0x02041478
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ mov r0, #0x7f
+ mov r2, #0x0
+ bl FUN_0200538C
+ ldr r1, _02041498 ; =FUN_02041464
+ add r0, r4, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_02041498: .word FUN_02041464
+
+ thumb_func_start FUN_0204149C
+FUN_0204149C: ; 0x0204149C
+ push {r3, lr}
+ ldr r1, [r0, #0x8]
+ add r3, r1, #0x1
+ str r3, [r0, #0x8]
+ ldrb r2, [r1, #0x0]
+ add r1, r3, #0x1
+ str r1, [r0, #0x8]
+ ldrb r1, [r3, #0x0]
+ add r0, r2, #0x0
+ bl FUN_020047C8
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020414B8
+FUN_020414B8: ; 0x020414B8
+ push {r3, lr}
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ mov r0, #0x4
+ bl FUN_02005308
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020414CC
+FUN_020414CC: ; 0x020414CC
+ push {r3, lr}
+ ldr r2, [r0, #0x8]
+ add r1, r2, #0x1
+ str r1, [r0, #0x8]
+ ldrb r0, [r2, #0x0]
+ bl FUN_020040F4
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020414E0
+FUN_020414E0: ; 0x020414E0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ bl FUN_020054C8
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020414FC
+FUN_020414FC: ; 0x020414FC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ mov r1, #0x0
+ bl FUN_020054F0
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02041518
+FUN_02041518: ; 0x02041518
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [r4, #0x64]
+ ldr r1, _0204153C ; =FUN_02041540
+ add r0, r4, #0x0
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_0204153C: .word FUN_02041540
+
+ thumb_func_start FUN_02041540
+FUN_02041540: ; 0x02041540
+ push {r3, lr}
+ ldr r0, [r0, #0x64]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02005508
+ cmp r0, #0x0
+ bne _02041554
+ mov r0, #0x1
+ pop {r3, pc}
+_02041554:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02041558
+FUN_02041558: ; 0x02041558
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r0, r5, #0x0
+ bl FUN_02005578
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02041588
+FUN_02041588: ; 0x02041588
+ push {r3, lr}
+ ldr r1, _02041594 ; =FUN_02041598
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_02041594: .word FUN_02041598
+
+ thumb_func_start FUN_02041598
+FUN_02041598: ; 0x02041598
+ push {r3, lr}
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _020415A6
+ mov r0, #0x1
+ pop {r3, pc}
+_020415A6:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020415AC
+FUN_020415AC: ; 0x020415AC
+ push {r3, lr}
+ bl ScriptReadHalfword
+ bl FUN_02005C28
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020415BC
+FUN_020415BC: ; 0x020415BC
+ push {r3, lr}
+ ldr r1, _020415C8 ; =FUN_020415CC
+ bl SetupNativeScript
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_020415C8: .word FUN_020415CC
+
+ thumb_func_start FUN_020415CC
+FUN_020415CC: ; 0x020415CC
+ push {r3, lr}
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ bne _020415DA
+ mov r0, #0x1
+ pop {r3, pc}
+_020415DA:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020415E0
+FUN_020415E0: ; 0x020415E0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029EF8
+ bl FUN_02005D20
+ cmp r0, #0x1
+ bne _02041610
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02041610:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041618
+FUN_02041618: ; 0x02041618
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ bl FUN_02005E28
+ cmp r0, #0x0
+ bne _0204163C
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+_0204163C:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041644
+FUN_02041644: ; 0x02041644
+ push {r3, lr}
+ bl FUN_02005E64
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041650
+FUN_02041650: ; 0x02041650
+ push {r3, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029EF8
+ bl FUN_02005E6C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02041664
+FUN_02041664: ; 0x02041664
+ push {r3, lr}
+ mov r1, #0x0
+ mov r0, #0x3f
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02041674
+FUN_02041674: ; 0x02041674
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200488C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_7.s b/arm9/asm/scrcmd_7.s
new file mode 100644
index 00000000..c17c563a
--- /dev/null
+++ b/arm9/asm/scrcmd_7.s
@@ -0,0 +1,674 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_020416A8
+FUN_020416A8: ; 0x020416A8
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r4, [r1, #0x0]
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ bne _02041708
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_02039438
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_02039438
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_02039438
+ add r0, r4, #0x0
+ mov r1, #0x1b
+ bl FUN_02039438
+ add r0, r4, #0x0
+ mov r1, #0x1c
+ bl FUN_02039438
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x1e
+ bl FUN_02039438
+ b _02041748
+_02041708:
+ add r0, r4, #0x0
+ mov r1, #0x1f
+ bl FUN_02039438
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_02039438
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r1, #0x21
+ bl FUN_02039438
+ add r0, r4, #0x0
+ mov r1, #0x22
+ bl FUN_02039438
+ add r0, r4, #0x0
+ mov r1, #0x23
+ bl FUN_02039438
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ mov r1, #0x24
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x25
+ bl FUN_02039438
+_02041748:
+ add r7, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0xc]
+ ldr r0, [r0, #0x0]
+ ldr r3, [sp, #0x14]
+ str r0, [sp, #0x4]
+ str r5, [sp, #0x8]
+ ldr r0, [r6, #0x0]
+ ldr r1, [r4, #0x38]
+ ldr r2, [r2, #0x0]
+ ldr r3, [r3, #0x0]
+ bl FUN_0205CA4C
+ str r0, [r7, #0x0]
+ mov r0, #0x0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041770
+FUN_02041770: ; 0x02041770
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ cmp r6, #0x0
+ bne _020417AE
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1e
+ bl FUN_02039438
+ b _020417B8
+_020417AE:
+ add r5, #0x80
+ ldr r0, [r5, #0x0]
+ mov r1, #0x25
+ bl FUN_02039438
+_020417B8:
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x0
+ bne _020417C6
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_020417C6:
+ bl FUN_0205CA64
+ cmp r0, #0x1
+ bne _020417DC
+ ldr r0, [r5, #0x0]
+ bl FUN_0205CA78
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+_020417DC:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020417E0
+FUN_020417E0: ; 0x020417E0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1c
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ ldrh r1, [r5, #0x0]
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02041808
+FUN_02041808: ; 0x02041808
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1b
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x22
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ cmp r7, #0x0
+ bne _02041852
+ ldrh r1, [r4, #0x0]
+ b _02041854
+_02041852:
+ ldrh r1, [r6, #0x0]
+_02041854:
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204185C
+FUN_0204185C: ; 0x0204185C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x0]
+ bl FUN_020395F4
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204188C
+FUN_0204188C: ; 0x0204188C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r4, [r0, #0x0]
+ mov r1, #0x8
+ add r0, r4, #0x0
+ bl FUN_02039438
+ add r0, r4, #0x0
+ mov r1, #0x17
+ bl FUN_02039438
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r6, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _020418F2
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F368
+ add r6, r0, #0x0
+_020418F2:
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ str r7, [sp, #0x4]
+ ldr r0, [r5, #0x74]
+ ldr r1, [sp, #0xc]
+ ldr r2, [sp, #0x8]
+ add r3, r6, #0x0
+ bl FUN_020470E8
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204190C
+FUN_0204190C: ; 0x0204190C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x17
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r2, r0, #0x0
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ str r4, [sp, #0x4]
+ ldr r0, [r5, #0x74]
+ add r1, r7, #0x0
+ add r3, r6, #0x0
+ bl FUN_020470E8
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02041970
+FUN_02041970: ; 0x02041970
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x0]
+ bl FUN_020395F4
+ bl FUN_0203962C
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _020419D2
+ mov r0, #0x0
+ mov r1, #0x2
+ add r2, r0, #0x0
+ b _020419EC
+_020419D2:
+ ldrh r0, [r4, #0x0]
+ bl FUN_02039618
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _020419E6
+ mov r0, #0x3
+ mov r1, #0x5
+ mov r2, #0x6
+ b _020419EC
+_020419E6:
+ mov r0, #0x7
+ mov r1, #0x9
+ mov r2, #0xa
+_020419EC:
+ strh r0, [r7, #0x0]
+ strh r1, [r6, #0x0]
+ strh r2, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020419F8
+FUN_020419F8: ; 0x020419F8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x0]
+ bl FUN_020395F4
+ bl FUN_0203962C
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _02041A5A
+ mov r1, #0x0
+ mov r0, #0x11
+ add r2, r1, #0x0
+ b _02041A74
+_02041A5A:
+ ldrh r0, [r4, #0x0]
+ bl FUN_02039618
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _02041A6E
+ mov r0, #0x12
+ mov r1, #0x0
+ mov r2, #0x6
+ b _02041A74
+_02041A6E:
+ mov r0, #0x13
+ mov r1, #0x0
+ mov r2, #0xa
+_02041A74:
+ strh r0, [r7, #0x0]
+ strh r1, [r6, #0x0]
+ strh r2, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041A80
+FUN_02041A80: ; 0x02041A80
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x8
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x0]
+ bl FUN_020395F4
+ bl FUN_0203962C
+ strh r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041AB4
+FUN_02041AB4: ; 0x02041AB4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ bl FUN_0204AD0C
+ bl FUN_02004724
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041AD4
+FUN_02041AD4: ; 0x02041AD4
+ push {r3, lr}
+ ldr r0, [r0, #0x74]
+ bl FUN_02048498
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02041AE0
+FUN_02041AE0: ; 0x02041AE0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x17
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020480B8
+ strh r0, [r5, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041B10
+FUN_02041B10: ; 0x02041B10
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x17
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020480C8
+ strh r0, [r5, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041B40
+FUN_02041B40: ; 0x02041B40
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x17
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020480D8
+ strh r0, [r5, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041B70
+FUN_02041B70: ; 0x02041B70
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0204A248
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02041B9C
+FUN_02041B9C: ; 0x02041B9C
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0x17
+ bl FUN_02039438
+ mov r1, #0xb
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r2, #0x0
+ ldr r0, [r4, #0x74]
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_020470E8
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r4, pc}
+
+ thumb_func_start FUN_02041BC4
+FUN_02041BC4: ; 0x02041BC4
+ push {r3-r5, lr}
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02058738
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02058448
+ add r1, r0, #0x0
+ lsl r1, r1, #0x10
+ add r0, r4, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_0203965C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02041BF0
+FUN_02041BF0: ; 0x02041BF0
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xa
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl ScriptReadWord
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02058738
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02058448
+ add r1, r0, #0x0
+ lsl r1, r1, #0x10
+ add r0, r7, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_02039640
+ cmp r0, #0x1
+ bne _02041C34
+ ldr r1, [r6, #0x8]
+ add r0, r6, #0x0
+ add r1, r1, r4
+ bl ScriptJump
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02041C34:
+ mov r0, #0x0
+ pop {r3-r7, pc}
diff --git a/arm9/asm/scrcmd_8.s b/arm9/asm/scrcmd_8.s
new file mode 100644
index 00000000..bae8f7ad
--- /dev/null
+++ b/arm9/asm/scrcmd_8.s
@@ -0,0 +1,234 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02041C38
+FUN_02041C38: ; 0x02041C38
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0202881C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r7, [r0, #0xc]
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x6
+ bls _02041C6C
+ b _02041E38
+_02041C6C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02041C78: ; jump table (using 16-bit offset)
+ .short _02041C86 - _02041C78 - 2; case 0
+ .short _02041CBC - _02041C78 - 2; case 1
+ .short _02041CF2 - _02041C78 - 2; case 2
+ .short _02041D28 - _02041C78 - 2; case 3
+ .short _02041D5E - _02041C78 - 2; case 4
+ .short _02041D94 - _02041C78 - 2; case 5
+ .short _02041DCE - _02041C78 - 2; case 6
+_02041C86:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02028828
+ strh r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02041CBC:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02028840
+ strh r0, [r4, #0x0]
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02041CF2:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B708
+ b _02041E38
+_02041D28:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_020394F0
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B708
+ b _02041E38
+_02041D5E:
+ mov r1, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020287A8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ str r5, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x74]
+ mov r1, #0x5
+ mov r3, #0x7
+ bl FUN_020385CC
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02041D94:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02028828
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x1
+ bl FUN_02028700
+ cmp r6, #0x0
+ beq _02041DC8
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_020612F8
+_02041DC8:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02041DCE:
+ mov r0, #0x40
+ mov r1, #0x20
+ bl FUN_020219F4
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ add r1, r6, #0x0
+ add r7, r0, #0x0
+ bl FUN_02023990
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ add r3, r6, #0x0
+ bl FUN_020287C0
+ add r0, r7, #0x0
+ bl FUN_020239CC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020287EC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x2
+ bl FUN_02028810
+ bl rand_MT
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02028788
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_02028700
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl FUN_020612EC
+_02041E38:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
diff --git a/arm9/asm/scrcmd_9.s b/arm9/asm/scrcmd_9.s
new file mode 100644
index 00000000..c58fe478
--- /dev/null
+++ b/arm9/asm/scrcmd_9.s
@@ -0,0 +1,621 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_02041E40
+FUN_02041E40: ; 0x02041E40
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x6
+ bls _02041E4E
+ b _02041FD2
+_02041E4E:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02041E5A: ; jump table (using 16-bit offset)
+ .short _02041E68 - _02041E5A - 2; case 0
+ .short _02041E88 - _02041E5A - 2; case 1
+ .short _02041F24 - _02041E5A - 2; case 2
+ .short _02041ECA - _02041E5A - 2; case 3
+ .short _02041F2E - _02041E5A - 2; case 4
+ .short _02041F68 - _02041E5A - 2; case 5
+ .short _02041FB4 - _02041E5A - 2; case 6
+_02041E68:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl MOD06_02248CD0
+ strh r0, [r5, #0x0]
+ b _02041FD2
+_02041E88:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ ldr r0, _02041FD8 ; =0x00000233
+ add r4, #0x80
+ strh r0, [r5, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, r7, #0x0
+ bl MOD06_02249038
+ strh r0, [r6, #0x0]
+ b _02041FD2
+_02041ECA:
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ str r0, [sp, #0x0]
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ ldr r1, [r5, #0x0]
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl MOD06_022490A0
+ b _02041FD2
+_02041F24:
+ add r4, #0x80
+ ldr r0, [r4, #0x0]
+ bl MOD06_02248CC0
+ b _02041FD2
+_02041F2E:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r4, #0x80
+ strh r0, [r5, #0x0]
+ ldr r0, [r4, #0x0]
+ bl MOD06_022491FC
+ strh r0, [r6, #0x0]
+ b _02041FD2
+_02041F68:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl MOD06_02248F70
+ strh r0, [r5, #0x0]
+ b _02041FD2
+_02041FB4:
+ add r0, r4, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r4, #0x80
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl MOD06_02248FE0
+ strh r0, [r5, #0x0]
+_02041FD2:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_02041FD8: .word 0x00000233
+
+ thumb_func_start FUN_02041FDC
+FUN_02041FDC: ; 0x02041FDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r4, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02061374
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042000
+FUN_02042000: ; 0x02042000
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0206B9B0
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02061460
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02042038
+FUN_02042038: ; 0x02042038
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ mov r1, #0xf
+ bl FUN_02039438
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x0
+ beq _02042058
+ cmp r0, #0x1
+ beq _020420A8
+ b _02042106
+_02042058:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r7, r0, #0x0
+ ldr r0, _0204210C ; =0x00000232
+ add r5, #0x80
+ strh r0, [r6, #0x0]
+ ldr r0, [sp, #0x0]
+ ldr r1, [r5, #0x0]
+ ldr r2, [r4, #0x0]
+ bl FUN_020421F0
+ strh r0, [r7, #0x0]
+ b _02042106
+_020420A8:
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r5, #0x80
+ add r3, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020421D8
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_0202A170
+_02042106:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_0204210C: .word 0x00000232
+
+ thumb_func_start FUN_02042110
+FUN_02042110: ; 0x02042110
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394F0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ bl FUN_020394B8
+ add r5, #0x80
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02042214
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204214C
+FUN_0204214C: ; 0x0204214C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ cmp r0, #0x0
+ beq _02042170
+ cmp r0, #0x1
+ beq _020421A2
+ cmp r0, #0x2
+ beq _020421BC
+ b _020421D4
+_02042170:
+ add r0, r5, #0x0
+ add r0, #0x80
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x4
+ bl FUN_02060F3C
+ b _020421D4
+_020421A2:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02060F9C
+ b _020421D4
+_020421BC:
+ add r0, r5, #0x0
+ bl ScriptReadHalfword
+ add r5, #0x80
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_020394F0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02060F88
+_020421D4:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020421D8
+FUN_020421D8: ; 0x020421D8
+ push {r3, lr}
+ sub r1, r1, #0x1
+ lsl r3, r1, #0x4
+ ldr r1, _020421EC ; =0x020F4264
+ ldr r3, [r1, r3]
+ cmp r3, #0x0
+ beq _020421EA
+ add r1, r2, #0x0
+ blx r3
+_020421EA:
+ pop {r3, pc}
+ .balign 4
+_020421EC: .word 0x020F4264
+
+ thumb_func_start FUN_020421F0
+FUN_020421F0: ; 0x020421F0
+ push {r4, lr}
+ sub r0, r0, #0x1
+ lsl r4, r0, #0x4
+ ldr r0, _0204220C ; =0x020F4268
+ ldr r3, [r0, r4]
+ cmp r3, #0x0
+ beq _02042204
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ blx r3
+_02042204:
+ ldr r0, _02042210 ; =0x020F4270
+ ldr r0, [r0, r4]
+ pop {r4, pc}
+ nop
+_0204220C: .word 0x020F4268
+_02042210: .word 0x020F4270
+
+ thumb_func_start FUN_02042214
+FUN_02042214: ; 0x02042214
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02022504
+ mov r1, #0x1
+ add r2, r5, #0x0
+ bl FUN_0202B710
+ cmp r0, #0x0
+ bne _02042230
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02042230:
+ sub r0, r5, #0x1
+ lsl r1, r0, #0x4
+ ldr r0, _02042248 ; =0x020F426C
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ bne _02042240
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02042240:
+ add r0, r4, #0x0
+ blx r1
+ pop {r3-r5, pc}
+ nop
+_02042248: .word 0x020F426C
+
+ thumb_func_start FUN_0204224C
+FUN_0204224C: ; 0x0204224C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ mov r0, #0x40
+ mov r1, #0x4
+ str r3, [sp, #0x8]
+ bl FUN_020219F4
+ add r1, r7, #0x0
+ add r4, r0, #0x0
+ bl FUN_02021E28
+ ldr r0, [sp, #0x24]
+ ldr r3, [sp, #0x8]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ add r1, r6, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042288
+FUN_02042288: ; 0x02042288
+ push {r4, lr}
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_0206BB1C
+ bl FUN_0204A20C
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200AC60
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020422A8
+FUN_020422A8: ; 0x020422A8
+ push {r4, lr}
+ ldr r0, [r0, #0x4]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0x14]
+ bl MOD20_02252538
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200B02C
+ pop {r4, pc}
+
+ thumb_func_start FUN_020422C0
+FUN_020422C0: ; 0x020422C0
+ push {r4, lr}
+ sub sp, #0x20
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B844
+ ldrh r0, [r0, #0x2]
+ mov r1, #0x4
+ add r2, sp, #0x8
+ bl FUN_0200A99C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r2, sp, #0x8
+ add r3, r1, #0x0
+ bl FUN_0204224C
+ add sp, #0x20
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020422F4
+FUN_020422F4: ; 0x020422F4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B85C
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042304
+FUN_02042304: ; 0x02042304
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0204C1A8
+ bl FUN_0204BEC8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02042314
+FUN_02042314: ; 0x02042314
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B838
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042324
+FUN_02042324: ; 0x02042324
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ mov r1, #0x0
+ bl FUN_02027098
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042334
+FUN_02042334: ; 0x02042334
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B850
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02042344
+FUN_02042344: ; 0x02042344
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ bl FUN_0202B844
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
diff --git a/arm9/asm/unk_02046030.s b/arm9/asm/unk_02046030.s
index 02b844ac..9bcfb74c 100644
--- a/arm9/asm/unk_02046030.s
+++ b/arm9/asm/unk_02046030.s
@@ -445,141741 +445,3 @@ _02046396:
lsl r0, r4, #0x1
add r0, r5, r0
pop {r3-r5, pc}
-
- thumb_func_start FUN_0204639C
-FUN_0204639C: ; 0x0204639C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- add r6, r1, #0x0
- add r1, r0, #0x0
- add r7, r2, #0x0
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r6, [r4, #0x4]
- str r0, [r4, #0x8]
- str r7, [r4, #0xc]
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
- mov r0, #0x20
- mov r1, #0x4
- str r5, [r4, #0x18]
- bl FUN_020169D8
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020463CC
-FUN_020463CC: ; 0x020463CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r0, #0x0
- beq _020463DE
- bl ErrorHandling
-_020463DE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0204639C
- str r0, [r5, #0x10]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020463EC
-FUN_020463EC: ; 0x020463EC
- push {r4, lr}
- add r4, r0, #0x0
- str r1, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- str r2, [r4, #0xc]
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02046400
- beq _0204640A
-_02046400:
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
-_0204640A:
- pop {r4, pc}
-
- thumb_func_start FUN_0204640C
-FUN_0204640C: ; 0x0204640C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- bl FUN_0204639C
- str r4, [r0, #0x0]
- ldr r1, [r4, #0x18]
- str r0, [r1, #0x10]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02046420
-FUN_02046420: ; 0x02046420
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _0204642E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204642E:
- ldr r1, [r0, #0x4]
- blx r1
- cmp r0, #0x1
- bne _02046466
-_02046436:
- ldr r0, [r5, #0x10]
- ldr r4, [r0, #0x0]
- ldr r0, [r0, #0x14]
- cmp r0, #0x0
- beq _02046444
- bl FUN_02016A18
-_02046444:
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x1c]
- bl FUN_02016A18
- ldr r0, [r5, #0x10]
- bl FUN_02016A18
- str r4, [r5, #0x10]
- cmp r4, #0x0
- bne _0204645C
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204645C:
- ldr r0, [r5, #0x10]
- ldr r1, [r0, #0x4]
- blx r1
- cmp r0, #0x1
- beq _02046436
-_02046466:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204646C
-FUN_0204646C: ; 0x0204646C
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02046476
- mov r0, #0x1
- bx lr
-_02046476:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204647C
-FUN_0204647C: ; 0x0204647C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _02046492
- add r0, r4, #0x0
- bl FUN_020373C4
- cmp r0, #0x0
- beq _02046496
-_02046492:
- mov r0, #0x1
- pop {r4, pc}
-_02046496:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204649C
-FUN_0204649C: ; 0x0204649C
- ldr r3, _020464A0 ; =LoadOverlay_MODULE_05
- bx r3
- .balign 4
-_020464A0: .word LoadOverlay_MODULE_05
-
- thumb_func_start FUN_020464A4
-FUN_020464A4: ; 0x020464A4
- push {r3, lr}
- bl FUN_020373AC
- cmp r0, #0x0
- beq _020464B2
- mov r0, #0x1
- pop {r3, pc}
-_020464B2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020464B8
-FUN_020464B8: ; 0x020464B8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020464D6
- cmp r0, #0x1
- beq _020464E8
- b _020464FC
-_020464D6:
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_020373D4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020464FC
-_020464E8:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020464FC
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_020464FC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02046500
-FUN_02046500: ; 0x02046500
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x20
- mov r1, #0xc
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r5, [r2, #0x4]
- ldr r1, _02046524 ; =FUN_020464B8
- add r0, r6, #0x0
- str r4, [r2, #0x8]
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_02046524: .word FUN_020464B8
-
- thumb_func_start FUN_02046528
-FUN_02046528: ; 0x02046528
- ldr r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_0204652C
-FUN_0204652C: ; 0x0204652C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02046530
-FUN_02046530: ; 0x02046530
- add r0, #0x8
- bx lr
-
- thumb_func_start FUN_02046534
-FUN_02046534: ; 0x02046534
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204653C
-FUN_0204653C: ; 0x0204653C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02046562
- cmp r0, #0x1
- beq _02046572
- b _02046580
-_02046562:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0203780C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046580
-_02046572:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02046580
- mov r0, #0x1
- pop {r4-r6, pc}
-_02046580:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02046584
-FUN_02046584: ; 0x02046584
- ldr r3, _0204658C ; =FUN_0204640C
- add r2, r1, #0x0
- ldr r1, _02046590 ; =FUN_0204653C
- bx r3
- .balign 4
-_0204658C: .word FUN_0204640C
-_02046590: .word FUN_0204653C
-
- thumb_func_start FUN_02046594
-FUN_02046594: ; 0x02046594
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x14
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020169D8
- str r4, [r0, #0x0]
- cmp r4, #0x0
- beq _020465B0
- mov r1, #0x0
- str r1, [r4, #0x0]
-_020465B0:
- str r6, [r0, #0x4]
- str r7, [r0, #0x8]
- str r5, [r0, #0x10]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020465B8
-FUN_020465B8: ; 0x020465B8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_02047964
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020465CC
-FUN_020465CC: ; 0x020465CC
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020465D8
- ldr r1, [r0, #0x10]
- ldr r1, [r1, #0x14]
- str r1, [r2, #0x0]
-_020465D8:
- ldr r0, [r0, #0x10]
- ldr r3, _020465E0 ; =FUN_020480B8
- ldr r0, [r0, #0x14]
- bx r3
- .balign 4
-_020465E0: .word FUN_020480B8
-
- thumb_func_start FUN_020465E4
-FUN_020465E4: ; 0x020465E4
- push {r3, lr}
- mov r2, #0x2
- ldr r3, [r0, #0x0]
- lsl r2, r2, #0x1e
- tst r2, r3
- bne _020465F4
- bl FUN_02047F38
-_020465F4:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020465F8
-FUN_020465F8: ; 0x020465F8
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _020466F8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046624: ; jump table (using 16-bit offset)
- .short _02046630 - _02046624 - 2; case 0
- .short _02046648 - _02046624 - 2; case 1
- .short _02046656 - _02046624 - 2; case 2
- .short _02046666 - _02046624 - 2; case 3
- .short _020466DA - _02046624 - 2; case 4
- .short _020466EE - _02046624 - 2; case 5
-_02046630:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046648:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046656:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046666:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r2, [r5, #0x10]
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02046682
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- beq _02046682
- cmp r1, #0x4a
- bne _02046690
-_02046682:
- mov r1, #0x4d
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r2, [r2, #0x14]
- add r0, r6, #0x0
- bl FUN_02061080
-_02046690:
- add r0, r5, #0x0
- bl FUN_020465CC
- cmp r0, #0x0
- bne _020466A4
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020466A4:
- ldr r0, [r6, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x0
- beq _020466BC
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
-_020466BC:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020473CC
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_020466DA:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_020466EE:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020466F8:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020466FC
-FUN_020466FC: ; 0x020466FC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x8]
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046718 ; =FUN_020465F8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_02046718: .word FUN_020465F8
-
- thumb_func_start FUN_0204671C
-FUN_0204671C: ; 0x0204671C
- push {r3, lr}
- mov r2, #0xf
- and r0, r2
- cmp r0, #0x6
- bhi _02046754
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046732: ; jump table (using 16-bit offset)
- .short _02046754 - _02046732 - 2; case 0
- .short _02046740 - _02046732 - 2; case 1
- .short _0204674A - _02046732 - 2; case 2
- .short _02046754 - _02046732 - 2; case 3
- .short _02046754 - _02046732 - 2; case 4
- .short _0204674A - _02046732 - 2; case 5
- .short _02046740 - _02046732 - 2; case 6
-_02046740:
- ldr r0, [r1, #0xc]
- mov r1, #0x1
- bl FUN_0202E25C
- pop {r3, pc}
-_0204674A:
- ldr r0, [r1, #0xc]
- sub r2, #0x10
- add r1, r2, #0x0
- bl FUN_0202E25C
-_02046754:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02046758
-FUN_02046758: ; 0x02046758
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _020467F6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046784: ; jump table (using 16-bit offset)
- .short _02046790 - _02046784 - 2; case 0
- .short _020467A2 - _02046784 - 2; case 1
- .short _020467B0 - _02046784 - 2; case 2
- .short _020467C0 - _02046784 - 2; case 3
- .short _020467EC - _02046784 - 2; case 4
- .short _020467EC - _02046784 - 2; case 5
-_02046790:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467A2:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467B0:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467C0:
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_0204671C
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_02047FA4
- ldr r0, [r7, #0xc]
- bl FUN_02029FC8
- mov r1, #0x15
- bl FUN_0202A170
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467EC:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020467F6:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020467FC
-FUN_020467FC: ; 0x020467FC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02046826
- cmp r0, #0x1
- beq _02046844
- cmp r0, #0x2
- beq _0204686A
- b _02046874
-_02046826:
- ldr r1, [r5, #0x8]
- mov r0, #0x5
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- bl FUN_0200433C
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046874
-_02046844:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_0204671C
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_02047FA4
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x15
- bl FUN_0202A170
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046874
-_0204686A:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046874:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02046878
-FUN_02046878: ; 0x02046878
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _02046922
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020468A4: ; jump table (using 16-bit offset)
- .short _020468B0 - _020468A4 - 2; case 0
- .short _020468C2 - _020468A4 - 2; case 1
- .short _020468D0 - _020468A4 - 2; case 2
- .short _020468E0 - _020468A4 - 2; case 3
- .short _0204690A - _020468A4 - 2; case 4
- .short _02046918 - _020468A4 - 2; case 5
-_020468B0:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468C2:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468D0:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468E0:
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_02047FA4
- mov r1, #0x4e
- ldr r2, [r5, #0x10]
- lsl r1, r1, #0x2
- add r0, r7, #0x0
- add r1, r2, r1
- bl FUN_02060044
- add r0, r5, #0x0
- bl FUN_020465CC
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_0204690A:
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_02046918:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046922:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02046928
-FUN_02046928: ; 0x02046928
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x8]
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046944 ; =FUN_02046878
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_02046944: .word FUN_02046878
-
- thumb_func_start FUN_02046948
-FUN_02046948: ; 0x02046948
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r7, r0, #0x0
- add r5, r2, #0x0
- bl FUN_02046528
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl MOD06_02244558
- add r4, r0, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r5, [sp, #0x0]
- bl FUN_02046928
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204697C
-FUN_0204697C: ; 0x0204697C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x14
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020169D8
- str r4, [r0, #0xc]
- cmp r4, #0x0
- beq _02046998
- mov r1, #0x0
- str r1, [r4, #0x0]
-_02046998:
- str r6, [r0, #0x4]
- str r7, [r0, #0x8]
- str r5, [r0, #0x10]
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020469A4
-FUN_020469A4: ; 0x020469A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_02047964
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020469B8
-FUN_020469B8: ; 0x020469B8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- beq _020469F2
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046A18 ; =FUN_02046C1C
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
-_020469F2:
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0204697C
- add r2, r0, #0x0
- ldr r1, _02046A1C ; =FUN_02046A88
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_02046A18: .word FUN_02046C1C
-_02046A1C: .word FUN_02046A88
-
- thumb_func_start FUN_02046A20
-FUN_02046A20: ; 0x02046A20
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- beq _02046A5A
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046A80 ; =FUN_02046C1C
- add r0, r5, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
-_02046A5A:
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0204697C
- add r2, r0, #0x0
- ldr r1, _02046A84 ; =FUN_02046A88
- add r0, r5, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
- .balign 4
-_02046A80: .word FUN_02046C1C
-_02046A84: .word FUN_02046A88
-
- thumb_func_start FUN_02046A88
-FUN_02046A88: ; 0x02046A88
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bls _02046AA2
- b _02046C12
-_02046AA2:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046AAE: ; jump table (using 16-bit offset)
- .short _02046ABC - _02046AAE - 2; case 0
- .short _02046AE0 - _02046AAE - 2; case 1
- .short _02046AEE - _02046AAE - 2; case 2
- .short _02046AFE - _02046AAE - 2; case 3
- .short _02046BAE - _02046AAE - 2; case 4
- .short _02046BC4 - _02046AAE - 2; case 5
- .short _02046BF4 - _02046AAE - 2; case 6
-_02046ABC:
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AE0:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AEE:
- ldr r1, [r4, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AFE:
- ldr r0, [r4, #0x10]
- add r1, r5, #0x0
- bl FUN_020465E4
- mov r1, #0x4d
- ldr r2, [r4, #0x10]
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r2, [r2, #0x14]
- add r0, r5, #0x0
- bl FUN_02061080
- ldr r0, [r4, #0x10]
- ldr r0, [r0, #0x14]
- bl FUN_020480B8
- cmp r0, #0x0
- bne _02046B3E
- add r0, r4, #0x0
- bl FUN_020469A4
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- ldr r1, _02046C18 ; =FUN_0204837C
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020463EC
- mov r0, #0x0
- pop {r4-r6, pc}
-_02046B3E:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x0
- beq _02046B56
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
-_02046B56:
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020472F4
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020473CC
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x0
- beq _02046BA0
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E0A4
- cmp r0, #0x0
- beq _02046B98
- ldr r0, [r4, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x1
- beq _02046BA0
- cmp r0, #0x4
- beq _02046BA0
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- b _02046BA0
-_02046B98:
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
-_02046BA0:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BAE:
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl MOD06_02248724
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BC4:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x0
- beq _02046BEC
- ldr r1, [r4, #0x10]
- add r2, r5, #0x0
- add r2, #0x90
- ldr r1, [r1, #0x14]
- ldr r2, [r2, #0x0]
- add r0, r5, #0x0
- bl FUN_0205DED4
- add r0, r5, #0x0
- add r5, #0x90
- ldr r1, [r5, #0x0]
- bl FUN_0205DF44
-_02046BEC:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BF4:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DF9C
- cmp r0, #0x0
- beq _02046C12
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_020469A4
- mov r0, #0x1
- pop {r4-r6, pc}
-_02046C12:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02046C18: .word FUN_0204837C
-
- thumb_func_start FUN_02046C1C
-FUN_02046C1C: ; 0x02046C1C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034E24
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- cmp r0, #0x7
- bls _02046C4C
- b _02046DA0
-_02046C4C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046C58: ; jump table (using 16-bit offset)
- .short _02046C68 - _02046C58 - 2; case 0
- .short _02046C8C - _02046C58 - 2; case 1
- .short _02046C9A - _02046C58 - 2; case 2
- .short _02046CAA - _02046C58 - 2; case 3
- .short _02046D0E - _02046C58 - 2; case 4
- .short _02046D1C - _02046C58 - 2; case 5
- .short _02046D30 - _02046C58 - 2; case 6
- .short _02046D94 - _02046C58 - 2; case 7
-_02046C68:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046C8C:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046C9A:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046CAA:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- bne _02046CD4
- ldr r0, [r6, #0xc]
- bl FUN_02022504
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x10]
- mov r1, #0x0
- ldr r0, [r0, #0x8]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02060FE0
-_02046CD4:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02046CFE
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- beq _02046CFE
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02049160
-_02046CFE:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020473CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D0E:
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D1C:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D30:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02046D5C
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- bne _02046D4E
- mov r2, #0x0
- ldr r1, _02046DA8 ; =0x00002262
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _02046D8C
-_02046D4E:
- mov r2, #0x0
- ldr r1, _02046DAC ; =0x00002269
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _02046D8C
-_02046D5C:
- ldr r0, [r6, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x8]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r5, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_0206B334
- cmp r0, #0x12
- bne _02046D8C
- add r0, r5, #0x0
- bl FUN_0206B9AC
- cmp r0, #0x6
- bne _02046D8C
- mov r2, #0x0
- ldr r1, _02046DB0 ; =0x00002276
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
-_02046D8C:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D94:
- add r0, r5, #0x0
- bl FUN_020465B8
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02046DA0:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02046DA8: .word 0x00002262
-_02046DAC: .word 0x00002269
-_02046DB0: .word 0x00002276
-
- thumb_func_start FUN_02046DB4
-FUN_02046DB4: ; 0x02046DB4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02047BB0
- mov r0, #0x15
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- add r0, r0, #0x4
- str r1, [r4, r0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl MOD06_0223CCDC
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_020466FC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02046E18
-FUN_02046E18: ; 0x02046E18
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x4]
- add r7, r1, #0x0
- str r2, [sp, #0x8]
- add r6, r3, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02047BB0
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r3, r4, #0x0
- bl MOD06_0223CD7C
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _02046E60
- mov r1, #0x63
- lsl r1, r1, #0x2
- ldr r2, [r4, r1]
- mov r0, #0x8
- orr r0, r2
- str r0, [r4, r1]
-_02046E60:
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_020466FC
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02046E8C
-FUN_02046E8C: ; 0x02046E8C
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02046F6C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046EB8: ; jump table (using 16-bit offset)
- .short _02046EC6 - _02046EB8 - 2; case 0
- .short _02046EEA - _02046EB8 - 2; case 1
- .short _02046EF8 - _02046EB8 - 2; case 2
- .short _02046F08 - _02046EB8 - 2; case 3
- .short _02046F28 - _02046EB8 - 2; case 4
- .short _02046F36 - _02046EB8 - 2; case 5
- .short _02046F4A - _02046EB8 - 2; case 6
-_02046EC6:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046EEA:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046EF8:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F08:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_0204BAA0
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F28:
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F36:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F4A:
- add r0, r5, #0x0
- bl FUN_020465B8
- add r0, r6, #0x0
- bl FUN_0204BAB0
- cmp r0, #0x0
- bne _02046F68
- add r0, r7, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_02038D10
- mov r0, #0x0
- pop {r3-r7, pc}
-_02046F68:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046F6C:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02046F70
-FUN_02046F70: ; 0x02046F70
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046F9C ; =FUN_02046E8C
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_02046F9C: .word FUN_02046E8C
-
- thumb_func_start FUN_02046FA0
-FUN_02046FA0: ; 0x02046FA0
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x4]
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- bl FUN_02047BB0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- add r3, r4, #0x0
- bl MOD06_0223CD7C
- mov r0, #0x63
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_020466FC
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047004
-FUN_02047004: ; 0x02047004
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _020470A6
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02047030: ; jump table (using 16-bit offset)
- .short _0204703E - _02047030 - 2; case 0
- .short _02047056 - _02047030 - 2; case 1
- .short _02047064 - _02047030 - 2; case 2
- .short _02047074 - _02047030 - 2; case 3
- .short _0204707A - _02047030 - 2; case 4
- .short _02047088 - _02047030 - 2; case 5
- .short _0204709C - _02047030 - 2; case 6
-_0204703E:
- ldr r0, [r7, #0x34]
- bl FUN_02058780
- ldr r1, [r6, #0x4]
- ldr r2, [r6, #0x8]
- add r0, r5, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047056:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047064:
- ldr r1, [r6, #0x10]
- add r0, r5, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047074:
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_0204707A:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047088:
- ldr r0, [r7, #0x34]
- bl FUN_020587B0
- add r0, r5, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_0204709C:
- add r0, r6, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020470A6:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020470AC
-FUN_020470AC: ; 0x020470AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r1, r0, #0x0
- mov r0, #0xb
- bl FUN_02047814
- add r4, r0, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020470E4 ; =FUN_02047004
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_020470E4: .word FUN_02047004
-
- thumb_func_start FUN_020470E8
-FUN_020470E8: ; 0x020470E8
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x4]
- add r6, r1, #0x0
- add r5, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_02046528
- add r7, r0, #0x0
- cmp r5, #0x0
- beq _02047110
- cmp r6, r5
- beq _02047110
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0204710C
- mov r4, #0x13
- b _0204711A
-_0204710C:
- mov r4, #0x4b
- b _0204711A
-_02047110:
- cmp r6, r5
- bne _02047118
- mov r4, #0x3
- b _0204711A
-_02047118:
- mov r4, #0x1
-_0204711A:
- add r0, r7, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- add r1, r4, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r7, #0x0
- bl FUN_02047BB0
- str r6, [r4, #0x1c]
- ldr r0, [sp, #0x8]
- str r5, [r4, #0x24]
- str r0, [r4, #0x20]
- ldr r1, [r7, #0xc]
- ldr r2, [sp, #0x20]
- add r0, r4, #0x0
- bl FUN_0206ABC4
- ldr r0, [r7, #0xc]
- bl FUN_02029FC8
- mov r1, #0x8
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- ldr r0, [sp, #0x24]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r2, r5, #0x0
- bl FUN_020466FC
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02047174
-FUN_02047174: ; 0x02047174
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r7, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- mov r0, #0xb
- add r1, r5, #0x0
- bl FUN_020476CC
- add r5, r0, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02047F1C
- add r0, r5, #0x0
- bl FUN_020475A0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020471BC ; =FUN_02046758
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_020471BC: .word FUN_02046758
-
- thumb_func_start FUN_020471C0
-FUN_020471C0: ; 0x020471C0
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- cmp r4, #0x0
- beq _020471DE
- mov r0, #0xb
- mov r1, #0x5
- bl FUN_020476CC
- b _020471E6
-_020471DE:
- mov r0, #0xb
- mov r1, #0x7
- bl FUN_020476CC
-_020471E6:
- add r4, r0, #0x0
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02047BC0
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r1, _0204721C ; =FUN_020467FC
- str r5, [r2, #0xc]
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0204721C: .word FUN_020467FC
-
- thumb_func_start FUN_02047220
-FUN_02047220: ; 0x02047220
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02047246
- cmp r0, #0x1
- beq _02047258
- b _02047262
-_02047246:
- ldr r1, _02047268 ; =FUN_02046758
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02047262
-_02047258:
- add r0, r6, #0x0
- bl FUN_0204FF5C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02047262:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02047268: .word FUN_02046758
-
- thumb_func_start FUN_0204726C
-FUN_0204726C: ; 0x0204726C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- add r1, r2, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02047F1C
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020472AC ; =FUN_02047220
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- nop
-_020472AC: .word FUN_02047220
-
- thumb_func_start FUN_020472B0
-FUN_020472B0: ; 0x020472B0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- add r1, r2, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- bl FUN_02047D48
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020472F0 ; =FUN_02047220
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_020472F0: .word FUN_02047220
-
- thumb_func_start FUN_020472F4
-FUN_020472F4: ; 0x020472F4
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r1, #0x0]
- mov r3, #0x4
- ldr r2, [r1, #0x14]
- tst r3, r0
- bne _020473C8
- mov r3, #0x80
- add r5, r0, #0x0
- tst r5, r3
- bne _020473C8
- cmp r0, #0x0
- beq _02047318
- add r3, #0x80
- cmp r0, r3
- beq _02047318
- cmp r0, #0x4a
- bne _02047364
-_02047318:
- cmp r2, #0x1
- bne _0204732A
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x8
- bl FUN_0202A170
- pop {r3-r5, pc}
-_0204732A:
- cmp r2, #0x4
- bne _020473C8
- ldr r0, [r1, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- mov r0, #0x0
- bl FUN_0206BB48
- cmp r0, #0x0
- ldr r0, [r4, #0xc]
- beq _02047358
- bl FUN_02029FC8
- mov r1, #0x9
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047358:
- bl FUN_02029FC8
- mov r1, #0xa
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047364:
- mov r3, #0x1
- tst r3, r0
- bne _02047370
- mov r3, #0x10
- tst r3, r0
- beq _02047382
-_02047370:
- cmp r2, #0x1
- bne _020473C8
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0xb
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047382:
- mov r3, #0x20
- add r5, r0, #0x0
- tst r5, r3
- bne _02047390
- lsl r3, r3, #0x4
- tst r0, r3
- beq _020473C8
-_02047390:
- cmp r2, #0x4
- bne _020473C8
- ldr r0, [r1, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- mov r0, #0x0
- bl FUN_0206BB48
- cmp r0, #0x0
- ldr r0, [r4, #0xc]
- beq _020473BE
- bl FUN_02029FC8
- mov r1, #0x9
- bl FUN_0202A170
- pop {r3-r5, pc}
-_020473BE:
- bl FUN_02029FC8
- mov r1, #0xa
- bl FUN_0202A170
-_020473C8:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020473CC
-FUN_020473CC: ; 0x020473CC
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x4
- ldr r1, [r4, #0x14]
- tst r2, r0
- bne _020473EC
- mov r3, #0x80
- add r2, r0, #0x0
- tst r2, r3
- bne _020473EC
- lsl r2, r3, #0x2
- tst r2, r0
- beq _020473EE
-_020473EC:
- b _020474FC
-_020473EE:
- cmp r0, #0x0
- beq _02047400
- add r3, #0x80
- cmp r0, r3
- beq _02047400
- cmp r0, #0x4a
- beq _02047400
- cmp r0, #0x20
- bne _020474D2
-_02047400:
- cmp r1, #0x1
- bne _02047470
- add r0, r5, #0x0
- add r0, #0x76
- ldrh r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r5, #0x0
- add r0, #0x76
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x76
- ldrh r0, [r0, #0x0]
- cmp r0, #0x5
- blo _020474FC
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023918
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r3, #0xb
- str r3, [sp, #0x0]
- lsl r3, r3, #0x5
- ldr r3, [r4, r3]
- lsl r1, r7, #0x10
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x4]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0202920C
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x2
- bl FUN_02028AD4
- add sp, #0xc
- pop {r4-r7, pc}
-_02047470:
- cmp r1, #0x4
- bne _020474FC
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x4]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023918
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r3, #0xb
- str r3, [sp, #0x0]
- lsl r3, r3, #0x5
- ldr r3, [r4, r3]
- lsl r1, r7, #0x10
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x8]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0202918C
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x2
- bl FUN_02028AD4
- add sp, #0xc
- pop {r4-r7, pc}
-_020474D2:
- mov r2, #0x1
- tst r2, r0
- bne _020474DE
- mov r2, #0x10
- tst r0, r2
- beq _020474FC
-_020474DE:
- cmp r1, #0x1
- bne _020474FC
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- ldr r2, [r4, #0x1c]
- add r0, #0x98
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- mov r3, #0xb
- bl FUN_020299DC
-_020474FC:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02047500
-FUN_02047500: ; 0x02047500
- push {r4, lr}
- ldr r4, [r0, #0x0]
- mov r1, #0x1
- tst r1, r4
- beq _02047546
- add r0, #0x5d
- ldrb r0, [r0, #0x0]
- bl FUN_020475C0
- mov r1, #0x80
- tst r1, r4
- beq _0204752A
- cmp r0, #0x1c
- beq _02047558
- mov r0, #0x2
- tst r0, r4
- beq _02047526
- mov r0, #0x1a
- pop {r4, pc}
-_02047526:
- mov r0, #0x18
- pop {r4, pc}
-_0204752A:
- add r1, r0, #0x0
- sub r1, #0x15
- cmp r1, #0x2
- bls _02047558
- mov r1, #0x2
- tst r1, r4
- beq _0204753C
- mov r0, #0x1a
- pop {r4, pc}
-_0204753C:
- mov r1, #0x4
- tst r1, r4
- beq _02047558
- mov r0, #0x19
- pop {r4, pc}
-_02047546:
- ldr r0, [r0, #0x8]
- bl FUN_02047668
- cmp r0, #0x1e
- blo _02047558
- mov r1, #0x2
- tst r1, r4
- beq _02047558
- mov r0, #0x1b
-_02047558:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204755C
-FUN_0204755C: ; 0x0204755C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x1f
- blo _0204756A
- bl ErrorHandling
-_0204756A:
- ldr r0, _02047580 ; =0x020F457C
- lsl r1, r5, #0x2
- ldrh r0, [r0, r1]
- ldr r1, _02047584 ; =0x0000FFFF
- cmp r0, r1
- bne _0204757C
- add r0, r4, #0x0
- bl MOD05_021E495C
-_0204757C:
- pop {r3-r5, pc}
- nop
-_02047580: .word 0x020F457C
-_02047584: .word 0x0000FFFF
-
- thumb_func_start FUN_02047588
-FUN_02047588: ; 0x02047588
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x1f
- blo _02047594
- bl ErrorHandling
-_02047594:
- ldr r0, _0204759C ; =0x020F457E
- lsl r1, r4, #0x2
- ldrh r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_0204759C: .word 0x020F457E
-
- thumb_func_start FUN_020475A0
-FUN_020475A0: ; 0x020475A0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047500
- add r1, r4, #0x0
- bl FUN_0204755C
- pop {r4, pc}
-
- thumb_func_start FUN_020475B0
-FUN_020475B0: ; 0x020475B0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047500
- add r1, r4, #0x0
- bl FUN_02047588
- pop {r4, pc}
-
- thumb_func_start FUN_020475C0
-FUN_020475C0: ; 0x020475C0
- sub r0, #0x3e
- mov r1, #0x1d
- cmp r0, #0x23
- bhi _02047662
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020475D4: ; jump table (using 16-bit offset)
- .short _0204761C - _020475D4 - 2; case 0
- .short _02047650 - _020475D4 - 2; case 1
- .short _02047634 - _020475D4 - 2; case 2
- .short _0204763C - _020475D4 - 2; case 3
- .short _02047640 - _020475D4 - 2; case 4
- .short _02047644 - _020475D4 - 2; case 5
- .short _02047648 - _020475D4 - 2; case 6
- .short _0204764C - _020475D4 - 2; case 7
- .short _02047662 - _020475D4 - 2; case 8
- .short _02047662 - _020475D4 - 2; case 9
- .short _02047658 - _020475D4 - 2; case 10
- .short _0204765C - _020475D4 - 2; case 11
- .short _02047620 - _020475D4 - 2; case 12
- .short _02047624 - _020475D4 - 2; case 13
- .short _02047628 - _020475D4 - 2; case 14
- .short _0204762C - _020475D4 - 2; case 15
- .short _02047630 - _020475D4 - 2; case 16
- .short _02047638 - _020475D4 - 2; case 17
- .short _02047662 - _020475D4 - 2; case 18
- .short _02047662 - _020475D4 - 2; case 19
- .short _02047662 - _020475D4 - 2; case 20
- .short _02047662 - _020475D4 - 2; case 21
- .short _02047662 - _020475D4 - 2; case 22
- .short _02047662 - _020475D4 - 2; case 23
- .short _02047654 - _020475D4 - 2; case 24
- .short _02047658 - _020475D4 - 2; case 25
- .short _02047658 - _020475D4 - 2; case 26
- .short _0204765C - _020475D4 - 2; case 27
- .short _02047662 - _020475D4 - 2; case 28
- .short _02047662 - _020475D4 - 2; case 29
- .short _02047662 - _020475D4 - 2; case 30
- .short _02047662 - _020475D4 - 2; case 31
- .short _02047662 - _020475D4 - 2; case 32
- .short _02047662 - _020475D4 - 2; case 33
- .short _02047662 - _020475D4 - 2; case 34
- .short _02047660 - _020475D4 - 2; case 35
-_0204761C:
- mov r1, #0x0
- b _02047662
-_02047620:
- mov r1, #0x1
- b _02047662
-_02047624:
- mov r1, #0x2
- b _02047662
-_02047628:
- mov r1, #0x3
- b _02047662
-_0204762C:
- mov r1, #0x4
- b _02047662
-_02047630:
- mov r1, #0x5
- b _02047662
-_02047634:
- mov r1, #0x6
- b _02047662
-_02047638:
- mov r1, #0x7
- b _02047662
-_0204763C:
- mov r1, #0x8
- b _02047662
-_02047640:
- mov r1, #0x9
- b _02047662
-_02047644:
- mov r1, #0xa
- b _02047662
-_02047648:
- mov r1, #0xb
- b _02047662
-_0204764C:
- mov r1, #0xc
- b _02047662
-_02047650:
- mov r1, #0xd
- b _02047662
-_02047654:
- mov r1, #0x17
- b _02047662
-_02047658:
- mov r1, #0x16
- b _02047662
-_0204765C:
- mov r1, #0x15
- b _02047662
-_02047660:
- mov r1, #0x1c
-_02047662:
- add r0, r1, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02047668
-FUN_02047668: ; 0x02047668
- push {r4, lr}
- mov r4, #0x1e
- bl FUN_0204A1D8
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020476C8 ; =0x000001DF
- sub r0, r0, r1
- cmp r0, #0xe
- bhi _020476C4
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204768C: ; jump table (using 16-bit offset)
- .short _020476B2 - _0204768C - 2; case 0
- .short _020476BA - _0204768C - 2; case 1
- .short _020476B6 - _0204768C - 2; case 2
- .short _020476BA - _0204768C - 2; case 3
- .short _020476BE - _0204768C - 2; case 4
- .short _020476BE - _0204768C - 2; case 5
- .short _020476B2 - _0204768C - 2; case 6
- .short _020476B2 - _0204768C - 2; case 7
- .short _020476B2 - _0204768C - 2; case 8
- .short _020476AE - _0204768C - 2; case 9
- .short _020476C4 - _0204768C - 2; case 10
- .short _020476C4 - _0204768C - 2; case 11
- .short _020476B2 - _0204768C - 2; case 12
- .short _020476AA - _0204768C - 2; case 13
- .short _020476C2 - _0204768C - 2; case 14
-_020476AA:
- mov r4, #0xe
- b _020476C4
-_020476AE:
- mov r4, #0x14
- b _020476C4
-_020476B2:
- mov r4, #0x13
- b _020476C4
-_020476B6:
- mov r4, #0x11
- b _020476C4
-_020476BA:
- mov r4, #0x10
- b _020476C4
-_020476BE:
- mov r4, #0xf
- b _020476C4
-_020476C2:
- mov r4, #0x12
-_020476C4:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_020476C8: .word 0x000001DF
-
- thumb_func_start FUN_020476CC
-FUN_020476CC: ; 0x020476CC
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x67
- lsl r1, r1, #0x2
- add r5, r0, #0x0
- bl FUN_02016998
- mov r2, #0x67
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r7, r0, #0x0
- bl MI_CpuFill8
- mov r1, #0x63
- str r4, [r7, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x2
- str r0, [r7, r1]
- add r4, r7, #0x0
- str r0, [sp, #0x0]
- str r0, [r7, #0x14]
- add r6, r7, #0x0
- add r4, #0x28
-_020476FA:
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x34
- str r0, [r6, #0x18]
- bl MIi_CpuClear32
- ldr r0, [sp, #0x0]
- add r6, r6, #0x4
- add r0, r0, #0x1
- add r4, #0x34
- str r0, [sp, #0x0]
- cmp r0, #0x4
- blt _020476FA
- mov r0, #0x15
- lsl r0, r0, #0x4
- mov r6, #0x0
- str r6, [r7, r0]
- mov r2, #0xc
- add r1, r0, #0x4
- str r2, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x8
- str r6, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x10
- str r6, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x14
- str r6, [r7, r1]
- add r1, r0, #0x0
- mov r2, #0x1
- add r1, #0x18
- str r2, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x1c
- str r2, [r7, r1]
- add r0, #0x24
- str r6, [r7, r0]
- add r4, r7, #0x0
-_02047748:
- add r0, r5, #0x0
- bl FUN_0206B8AC
- str r0, [r4, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02047748
- mov r6, #0x0
- add r4, r7, #0x0
-_0204775C:
- add r0, r5, #0x0
- bl FUN_02023928
- add r1, r4, #0x0
- add r1, #0xf8
- add r6, r6, #0x1
- add r4, r4, #0x4
- str r0, [r1, #0x0]
- cmp r6, #0x4
- blt _0204775C
- mov r6, #0x0
- add r4, r7, #0x0
-_02047774:
- add r0, r5, #0x0
- bl FUN_02029EE4
- mov r1, #0x46
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02047774
- add r0, r5, #0x0
- bl FUN_0206EB88
- mov r1, #0x42
- lsl r1, r1, #0x2
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02023D6C
- mov r1, #0x11
- lsl r1, r1, #0x4
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02024F30
- mov r1, #0x13
- lsl r1, r1, #0x4
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02061008
- mov r2, #0x4d
- lsl r2, r2, #0x2
- str r0, [r7, r2]
- add r0, r2, #0x0
- mov r1, #0x0
- sub r0, #0x28
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x5c
- str r1, [r7, r0]
- add r0, r2, #0x0
- sub r0, #0x8
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x10
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x14
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x60
- str r1, [r7, r0]
- add r0, r2, #0x4
- add r0, r7, r0
- mov r2, #0xc
- bl MI_CpuFill8
- add r0, r7, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020477EC
-FUN_020477EC: ; 0x020477EC
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x20
- bl FUN_020476CC
- mov r1, #0x19
- lsl r1, r1, #0x4
- str r4, [r0, r1]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02047800
-FUN_02047800: ; 0x02047800
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_020476CC
- mov r1, #0x19
- lsl r1, r1, #0x4
- str r4, [r0, r1]
- pop {r4, pc}
-
- thumb_func_start FUN_02047814
-FUN_02047814: ; 0x02047814
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r1, #0x0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x10]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- mov r1, #0x1
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- lsl r1, r1, #0xa
- bl FUN_020476CC
- add r4, r0, #0x0
- ldr r2, _0204795C ; =0x000001F1
- mov r0, #0x1
- mov r1, #0x1a
- add r3, r6, #0x0
- bl FUN_0200A86C
- str r0, [sp, #0x18]
- mov r0, #0x8
- add r1, r6, #0x0
- bl FUN_020219F4
- add r7, r0, #0x0
- ldr r0, [sp, #0x10]
- bl FUN_020239CC
- add r2, r0, #0x0
- mov r1, #0x1
- eor r1, r2
- ldr r0, [sp, #0x18]
- add r2, r7, #0x0
- bl FUN_0200A8E0
- add r0, r7, #0x0
- bl FUN_02021F2C
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202395C
- add r0, r7, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x18]
- bl FUN_0200A8B8
- ldr r0, [sp, #0x10]
- bl FUN_020239CC
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- eor r1, r2
- bl FUN_020239C8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0204806C
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x14]
- ldr r1, [r4, r1]
- bl FUN_02024F44
- add r0, r5, #0x0
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- sub r1, #0x58
- ldr r0, [r4, r1]
- mov r1, #0x4
- mov r2, #0x14
- add r3, r6, #0x0
- bl FUN_0206ED38
- add r0, r6, #0x0
- bl FUN_020669C0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- mov r2, #0x0
- str r2, [sp, #0x0]
- add r1, r0, #0x0
- str r2, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- add r0, r6, #0x0
- mov r2, #0x5
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- bl FUN_0206B900
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x2
- str r2, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r1, _02047960 ; =0x0000018F
- add r0, r6, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [r4, #0x8]
- add r1, r6, #0x0
- bl FUN_0206B900
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r0, [r5, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r5, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- sub r1, #0x8
- str r0, [r4, r1]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r5, #0x0
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [r5, #0x1c]
- add r1, #0x18
- ldr r0, [r0, #0x0]
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_020480E4
- add r0, r4, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_0204795C: .word 0x000001F1
-_02047960: .word 0x0000018F
-
- thumb_func_start FUN_02047964
-FUN_02047964: ; 0x02047964
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r4, #0x0
- add r5, r7, #0x0
-_0204796C:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02047976
- bl ErrorHandling
-_02047976:
- ldr r0, [r5, #0x4]
- bl FUN_02016A18
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _0204796C
- mov r5, #0x0
- add r4, r7, #0x0
-_02047988:
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02047996
- bl ErrorHandling
-_02047996:
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x4
- blt _02047988
- mov r6, #0x46
- mov r5, #0x0
- add r4, r7, #0x0
- lsl r6, r6, #0x2
-_020479B0:
- ldr r0, [r4, r6]
- cmp r0, #0x0
- bne _020479BA
- bl ErrorHandling
-_020479BA:
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x4
- blt _020479B0
- mov r0, #0x42
- lsl r0, r0, #0x2
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x13
- lsl r0, r0, #0x4
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x4d
- lsl r0, r0, #0x2
- ldr r0, [r7, r0]
- bl FUN_02061020
- add r0, r7, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020479FC
-FUN_020479FC: ; 0x020479FC
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A0C
- bl ErrorHandling
-_02047A0C:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x4]
- add r1, r6, #0x0
- bl FUN_0206B900
- cmp r0, #0x0
- bne _02047A20
- bl ErrorHandling
-_02047A20:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02047A24
-FUN_02047A24: ; 0x02047A24
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A34
- bl ErrorHandling
-_02047A34:
- lsl r1, r4, #0x2
- add r1, r5, r1
- ldr r1, [r1, #0x4]
- add r0, r6, #0x0
- bl FUN_0206BAD0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02047A44
-FUN_02047A44: ; 0x02047A44
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A54
- bl ErrorHandling
-_02047A54:
- lsl r1, r4, #0x2
- add r1, r5, r1
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0202393C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02047A64
-FUN_02047A64: ; 0x02047A64
- lsl r2, r2, #0x2
- add r2, r0, r2
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r3, _02047A74 ; =FUN_02029F9C
- ldr r0, [r2, r0]
- bx r3
- nop
-_02047A74: .word FUN_02029F9C
-
- thumb_func_start FUN_02047A78
-FUN_02047A78: ; 0x02047A78
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0xc]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204806C
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_02047A44
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x0]
- ldr r1, [r5, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x4]
- ldr r1, [r5, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0xc]
- ldr r1, [r5, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [r4, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- mov r1, #0x56
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034A04
- mov r1, #0x59
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02079C70
- mov r1, #0x5a
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F1B4
- mov r1, #0x5b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x10]
- bl FUN_02034DEC
- mov r1, #0x5d
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- sub r1, #0x68
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_0204C1A8
- mov r1, #0x4a
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r5, r0]
- ldr r0, [r4, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- add r1, #0x10
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047BB0
-FUN_02047BB0: ; 0x02047BB0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047A78
- add r0, r4, #0x0
- bl FUN_020480E4
- pop {r4, pc}
-
- thumb_func_start FUN_02047BC0
-FUN_02047BC0: ; 0x02047BC0
- push {r4-r7, lr}
- sub sp, #0x1c
- add r6, r0, #0x0
- add r0, r1, #0x0
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- bl FUN_020238F4
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x4]
- mov r0, #0x15
- mov r1, #0x6
- lsl r0, r0, #0x4
- str r1, [r6, r0]
- mov r1, #0x9
- add r0, r0, #0x4
- str r1, [r6, r0]
- add r0, r6, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_02047A44
- mov r0, #0xb
- bl FUN_020669C0
- add r5, r0, #0x0
- ldr r0, [sp, #0x14]
- bl FUN_0206B9AC
- add r1, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0206B8CC
- ldr r0, [sp, #0x14]
- mov r4, #0x0
- bl FUN_0206B9AC
- cmp r0, #0x0
- ble _02047C98
-_02047C40:
- ldr r0, [sp, #0x14]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r1, r5, #0x0
- bl FUN_02069B88
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- beq _02047C82
- cmp r7, #0x0
- beq _02047C82
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r7, #0x0
- bl FUN_02068758
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- mov r1, #0x8
- add r2, sp, #0x18
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
-_02047C82:
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020479FC
- ldr r0, [sp, #0x14]
- add r4, r4, #0x1
- bl FUN_0206B9AC
- cmp r4, r0
- blt _02047C40
-_02047C98:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x10]
- ldr r1, [r6, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0xc]
- ldr r1, [r6, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x4]
- ldr r1, [r6, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x8]
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- sub r1, #0x54
- add r0, #0x94
- ldr r0, [r0, #0x0]
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0204C1A8
- mov r1, #0x4a
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r6, r0]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- add r1, #0x10
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r6, r1]
- add r0, r6, #0x0
- bl FUN_020480E4
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047D48
-FUN_02047D48: ; 0x02047D48
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r0, r1, #0x0
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r7, r3, #0x0
- bl FUN_020238F4
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- mov r1, #0x6
- add r0, #0xac
- ldr r0, [r0, #0x0]
- mov r2, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x15
- lsl r0, r0, #0x4
- str r1, [r5, r0]
- mov r1, #0x9
- add r0, r0, #0x4
- str r1, [r5, r0]
- ldr r1, [sp, #0x20]
- add r0, r5, #0x0
- bl FUN_02047A44
- cmp r7, #0x0
- bne _02047DB6
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- b _02047E14
-_02047DB6:
- mov r4, #0x0
- add r1, r4, #0x0
-_02047DBA:
- ldrb r0, [r7, r1]
- cmp r0, #0x0
- beq _02047DC2
- add r4, r4, #0x1
-_02047DC2:
- add r1, r1, #0x1
- cmp r1, #0x6
- blt _02047DBA
- cmp r4, #0x0
- bne _02047DD8
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- b _02047E14
-_02047DD8:
- mov r0, #0xb
- bl FUN_020669C0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x4]
- add r1, r4, #0x0
- bl FUN_0206B8CC
- mov r6, #0x0
- cmp r4, #0x0
- ble _02047E0E
-_02047DEE:
- ldrb r1, [r7, r6]
- ldr r0, [sp, #0x4]
- sub r1, r1, #0x1
- bl FUN_0206B9B0
- ldr r1, [sp, #0x8]
- bl FUN_02069B88
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020479FC
- add r6, r6, #0x1
- cmp r6, r4
- blt _02047DEE
-_02047E0E:
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
-_02047E14:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- beq _02047E2C
- mov r1, #0xc
- bl FUN_02023B0C
- cmp r0, #0x0
- beq _02047E2C
- mov r0, #0x65
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r5, r0]
-_02047E2C:
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x1c]
- ldr r1, [r5, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x18]
- ldr r1, [r5, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x10]
- ldr r1, [r5, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x14]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- sub r1, #0x54
- add r0, #0x94
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r5, r0]
- ldr r0, [sp, #0x0]
- add r1, #0x18
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- bl FUN_02033534
- bl FUN_0202D8B0
- cmp r0, #0x0
- beq _02047F10
- ldr r0, [sp, #0x20]
- bl FUN_02023A28
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- bl FUN_020239CC
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020536D0
- add r1, r5, #0x0
- add r1, #0x29
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x3c
- bl StringCopy
- add r3, r5, #0x0
- add r3, #0x28
- add r5, #0x90
- mov r2, #0x6
-_02047F00:
- ldmia r3!, {r0-r1}
- stmia r5!, {r0-r1}
- sub r2, r2, #0x1
- bne _02047F00
- ldr r0, [r3, #0x0]
- add sp, #0x24
- str r0, [r5, #0x0]
- pop {r4-r7, pc}
-_02047F10:
- add r0, r5, #0x0
- bl FUN_020480E4
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047F1C
-FUN_02047F1C: ; 0x02047F1C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- add r6, r2, #0x0
- bl FUN_0206BB1C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02047D48
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02047F38
-FUN_02047F38: ; 0x02047F38
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E24
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_0202393C
- ldr r0, [r4, #0x4]
- add r1, r7, #0x0
- bl FUN_0206BAD0
- mov r0, #0x42
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x0]
- bl FUN_0206EBB4
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x4]
- bl FUN_02023D80
- mov r0, #0x19
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- strh r0, [r5, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02047FA4
-FUN_02047FA4: ; 0x02047FA4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- add r1, r0, #0x0
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02023D80
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02047FD0
-FUN_02047FD0: ; 0x02047FD0
- push {r3-r5, lr}
- ldr r2, [r0, #0x1c]
- add r4, r1, #0x0
- ldr r1, [r2, #0x8]
- ldr r2, [r2, #0xc]
- bl FUN_0204A6E0
- add r5, r0, #0x0
- bl FUN_020548F0
- cmp r0, #0x0
- beq _02047FEC
- mov r0, #0x8
- pop {r3-r5, pc}
-_02047FEC:
- add r0, r5, #0x0
- bl FUN_0205478C
- cmp r0, #0x0
- bne _02048000
- add r0, r5, #0x0
- bl FUN_02054798
- cmp r0, #0x0
- beq _02048004
-_02048000:
- mov r0, #0x2
- pop {r3-r5, pc}
-_02048004:
- add r0, r5, #0x0
- bl FUN_02054830
- cmp r0, #0x0
- beq _02048012
- mov r0, #0x1
- pop {r3-r5, pc}
-_02048012:
- add r0, r5, #0x0
- bl FUN_020549AC
- cmp r0, #0x0
- beq _02048020
- mov r0, #0x6
- pop {r3-r5, pc}
-_02048020:
- add r0, r5, #0x0
- bl FUN_02054974
- cmp r0, #0x0
- bne _02048034
- add r0, r5, #0x0
- bl FUN_02054990
- cmp r0, #0x0
- beq _02048038
-_02048034:
- mov r0, #0xa
- pop {r3-r5, pc}
-_02048038:
- add r0, r5, #0x0
- bl FUN_02054A3C
- cmp r0, #0x0
- beq _02048046
- mov r0, #0x5
- pop {r3-r5, pc}
-_02048046:
- add r0, r5, #0x0
- bl FUN_0205481C
- cmp r0, #0x0
- beq _02048054
- mov r0, #0x7
- pop {r3-r5, pc}
-_02048054:
- cmp r4, #0xc
- bhs _02048060
- ldr r0, _02048068 ; =0x020F45F8
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r3-r5, pc}
-_02048060:
- bl ErrorHandling
- mov r0, #0xc
- pop {r3-r5, pc}
- .balign 4
-_02048068: .word 0x020F45F8
-
- thumb_func_start FUN_0204806C
-FUN_0204806C: ; 0x0204806C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- add r6, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034860
- mov r1, #0x15
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [r6, #0x4]
- cmp r0, #0x2
- bne _02048096
- mov r0, #0x1
- str r0, [r5, r1]
-_02048096:
- mov r1, #0x15
- lsl r1, r1, #0x4
- ldr r1, [r5, r1]
- add r0, r4, #0x0
- bl FUN_02047FD0
- mov r1, #0x55
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020480AC
-FUN_020480AC: ; 0x020480AC
- mov r1, #0x55
- mov r2, #0x7
- lsl r1, r1, #0x2
- str r2, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020480B8
-FUN_020480B8: ; 0x020480B8
- cmp r0, #0x2
- beq _020480C0
- cmp r0, #0x3
- bne _020480C4
-_020480C0:
- mov r0, #0x0
- bx lr
-_020480C4:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480C8
-FUN_020480C8: ; 0x020480C8
- cmp r0, #0x1
- beq _020480D0
- cmp r0, #0x4
- bne _020480D4
-_020480D0:
- mov r0, #0x0
- bx lr
-_020480D4:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480D8
-FUN_020480D8: ; 0x020480D8
- cmp r0, #0x4
- bne _020480E0
- mov r0, #0x0
- bx lr
-_020480E0:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480E4
-FUN_020480E4: ; 0x020480E4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_020239CC
- add r1, r4, #0x0
- add r1, #0x29
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x3c
- bl StringCopy
- add r3, r4, #0x0
- add r3, #0x28
- add r4, #0x90
- mov r2, #0x6
-_02048112:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _02048112
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02048120
-FUN_02048120: ; 0x02048120
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _02048158 ; =0x020F465C
- bl FUN_0201E66C
- ldr r0, _0204815C ; =0x020F4630
- bl FUN_02016BBC
- ldr r2, _02048160 ; =0x020F4640
- add r0, r4, #0x0
- mov r1, #0x3
- mov r3, #0x0
- bl FUN_02016C18
- mov r0, #0x20
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r3, #0x1a
- str r0, [sp, #0x4]
- mov r0, #0xe
- mov r1, #0x6
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_02006930
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_02048158: .word 0x020F465C
-_0204815C: .word 0x020F4630
-_02048160: .word 0x020F4640
-
- thumb_func_start FUN_02048164
-FUN_02048164: ; 0x02048164
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0204817A
- bl ErrorHandling
-_0204817A:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x24
- bl memset
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
- mov r0, #0xb
- bl FUN_02016B94
- str r0, [r4, #0x8]
- bl FUN_02048120
- mov r2, #0x52
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r4, #0x1c]
- mov r0, #0xb
- bl FUN_0200AA80
- str r0, [r4, #0x20]
- add r1, r4, #0x0
- ldr r0, [r4, #0x8]
- ldr r2, _02048208 ; =0x020F4628
- add r1, #0xc
- bl FUN_02019150
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x20]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x1c]
- ldr r1, [r0, #0x0]
- ldr r0, _0204820C ; =0x0000019E
- cmp r1, r0
- bne _020481E6
- mov r2, #0x0
- add r0, r4, #0x0
- mov r1, #0x4
- add r3, r2, #0x0
- bl FUN_020482F4
- b _020481F2
-_020481E6:
- mov r2, #0x0
- add r0, r4, #0x0
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_020482F4
-_020481F2:
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_020191D0
- ldr r1, _02048210 ; =FUN_02048214
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02048208: .word 0x020F4628
-_0204820C: .word 0x0000019E
-_02048210: .word FUN_02048214
-
- thumb_func_start FUN_02048214
-FUN_02048214: ; 0x02048214
- push {r3-r4, lr}
- sub sp, #0xc
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- bhi _020482EA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02048230: ; jump table (using 16-bit offset)
- .short _0204823A - _02048230 - 2; case 0
- .short _02048258 - _02048230 - 2; case 1
- .short _02048268 - _02048230 - 2; case 2
- .short _02048298 - _02048230 - 2; case 3
- .short _020482B2 - _02048230 - 2; case 4
-_0204823A:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- mov r2, #0x2a
- mov r3, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048258:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020482EA
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048268:
- ldr r0, _020482F0 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- bne _02048278
- mov r0, #0x2
- tst r0, r1
- beq _020482EA
-_02048278:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048298:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020482EA
- add r0, r4, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_02019620
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_020482B2:
- add r0, r4, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_02019178
- ldr r0, [r4, #0x20]
- bl FUN_0200AB18
- ldr r0, [r4, #0x1c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- bl FUN_020178A0
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_020482EA:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_020482F0: .word 0x021C48B8
-
- thumb_func_start FUN_020482F4
-FUN_020482F4: ; 0x020482F4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x1
- str r1, [sp, #0x10]
- lsl r0, r0, #0xa
- mov r1, #0xb
- add r7, r3, #0x0
- bl FUN_020219F4
- add r6, r0, #0x0
- mov r0, #0x1
- lsl r0, r0, #0xa
- mov r1, #0xb
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_02019620
- ldr r0, [r5, #0x1c]
- ldr r1, [sp, #0x10]
- add r2, r6, #0x0
- bl FUN_0200A8E0
- ldr r0, [r5, #0x20]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200B7B8
- mov r0, #0x0
- add r1, r4, #0x0
- add r2, r0, #0x0
- bl FUN_02002F08
- add r3, r0, #0x0
- str r7, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02048378 ; =0x000F0200
- mov r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- ldrb r5, [r5, #0x13]
- add r0, #0xc
- add r2, r4, #0x0
- lsl r5, r5, #0x3
- sub r3, r5, r3
- lsl r3, r3, #0x18
- lsr r3, r3, #0x19
- sub r3, r3, #0x4
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- bl FUN_0201BDE0
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02048378: .word 0x000F0200
-
- thumb_func_start FUN_0204837C
-FUN_0204837C: ; 0x0204837C
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02048488
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020483A2: ; jump table (using 16-bit offset)
- .short _020483B0 - _020483A2 - 2; case 0
- .short _020483E8 - _020483A2 - 2; case 1
- .short _020483F8 - _020483A2 - 2; case 2
- .short _0204840C - _020483A2 - 2; case 3
- .short _02048434 - _020483A2 - 2; case 4
- .short _02048442 - _020483A2 - 2; case 5
- .short _02048482 - _020483A2 - 2; case 6
-_020483B0:
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- add r7, r0, #0x0
- bl FUN_02034DFC
- add r1, sp, #0x4
- str r0, [sp, #0x0]
- bl FUN_02034EC4
- add r0, r7, #0x0
- bl FUN_02034DCC
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02034E90
- add r0, r5, #0x0
- add r1, sp, #0x4
- bl FUN_02049160
- add r0, r6, #0x0
- bl FUN_020637F0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_020483E8:
- mov r0, #0x0
- mov r1, #0x14
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_020483F8:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02048488
- bl FUN_0204AB0C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_0204840C:
- mov r0, #0xf
- mvn r0, r0
- mov r1, #0x37
- mov r2, #0x1
- bl FUN_0200A274
- mov r0, #0xf
- mvn r0, r0
- mov r1, #0x3f
- mov r2, #0x2
- bl FUN_0200A274
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02048164
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048434:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048442:
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- bl FUN_02034E8C
- add r7, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DFC
- cmp r7, r0
- bne _0204846E
- mov r2, #0x0
- ldr r1, _02048490 ; =0x000007E4
- add r0, r5, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _0204847A
-_0204846E:
- mov r2, #0x0
- ldr r1, _02048494 ; =0x000007E5
- add r0, r5, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
-_0204847A:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048482:
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048488:
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02048490: .word 0x000007E4
-_02048494: .word 0x000007E5
-
- thumb_func_start FUN_02048498
-FUN_02048498: ; 0x02048498
- ldr r3, _020484A0 ; =FUN_0204640C
- ldr r1, _020484A4 ; =FUN_0204837C
- mov r2, #0x0
- bx r3
- .balign 4
-_020484A0: .word FUN_0204640C
-_020484A4: .word FUN_0204837C
-
- thumb_func_start FUN_020484A8
-FUN_020484A8: ; 0x020484A8
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r6, r1, #0x0
- mov r1, #0xb
- add r2, sp, #0x0
- bl FUN_02022534
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- cmp r0, #0x1
- bne _020484C6
- cmp r6, #0x0
- bne _020484CC
-_020484C6:
- add r0, r4, #0x0
- bl FUN_0202B03C
-_020484CC:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- add r0, sp, #0x4
- bl FUN_020126B4
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, sp, #0x4
- bl FUN_0202B050
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02022540
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020484F8
-FUN_020484F8: ; 0x020484F8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x9
- bhi _02048554
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02048526: ; jump table (using 16-bit offset)
- .short _0204853A - _02048526 - 2; case 0
- .short _0204854A - _02048526 - 2; case 1
- .short _02048586 - _02048526 - 2; case 2
- .short _020485AE - _02048526 - 2; case 3
- .short _020485C0 - _02048526 - 2; case 4
- .short _020485F6 - _02048526 - 2; case 5
- .short _02048612 - _02048526 - 2; case 6
- .short _02048624 - _02048526 - 2; case 7
- .short _02048644 - _02048526 - 2; case 8
- .short _02048666 - _02048526 - 2; case 9
-_0204853A:
- add r0, r6, #0x0
- add r1, r5, #0x4
- bl FUN_02038814
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_0204854A:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02048556
-_02048554:
- b _02048688
-_02048556:
- mov r1, #0x4
- mov r0, #0x3
- lsl r2, r1, #0xf
- bl FUN_0201681C
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02048764
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048586:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02048688
- ldr r0, [r6, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- bne _020485A8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_020487E4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485A8:
- mov r0, #0x7
- str r0, [r4, #0x0]
- b _02048688
-_020485AE:
- add r0, r5, #0x0
- bl FUN_02048838
- cmp r0, #0x0
- beq _02048688
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485C0:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
- bl FUN_02022830
- ldr r0, [r6, #0xc]
- bl FUN_02022720
- add r7, r0, #0x0
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_020484A8
- add r0, r5, #0x0
- bl FUN_02048848
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02048864
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485F6:
- add r0, r5, #0x0
- bl FUN_02048838
- cmp r0, #0x0
- beq _02048688
- ldr r0, _02048690 ; =0x0000061B
- bl FUN_020054C8
- mov r0, #0x12
- str r0, [r5, #0x38]
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048612:
- ldr r1, [r5, #0x38]
- cmp r1, #0x0
- beq _0204861E
- sub r0, r1, #0x1
- str r0, [r5, #0x38]
- b _02048688
-_0204861E:
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048624:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x0
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048644:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02048688
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_020488D4
- add r5, #0x10
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02038854
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048666:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02048688
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x4
- bl FUN_020168D0
- mov r0, #0x0
- bl OS_ResetSystem
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02048688:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02048690: .word 0x0000061B
-
- thumb_func_start FUN_02048694
-FUN_02048694: ; 0x02048694
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- mov r0, #0x20
- mov r1, #0x3c
- bl FUN_02016998
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DCC
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- str r0, [r5, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [r5, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- str r0, [r5, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02023918
- str r0, [r5, #0xc]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- str r0, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- str r0, [r5, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [r5, #0x18]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- cmp r0, #0x0
- bne _0204871E
- add r0, r4, #0x0
- bl FUN_0204B328
-_0204871E:
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- bl FUN_0204A25C
- ldr r0, [sp, #0x8]
- bl FUN_020377B0
- ldr r0, [sp, #0x4]
- bl FUN_020377C8
- add r0, r6, #0x0
- bl FUN_0205F154
- add r0, r6, #0x0
- bl FUN_0205ECFC
- ldr r0, [sp, #0x0]
- bl FUN_02023A78
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x2e
- bl FUN_0202A0E8
- ldr r1, _02048760 ; =FUN_020484F8
- add r0, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02048760: .word FUN_020484F8
-
- thumb_func_start FUN_02048764
-FUN_02048764: ; 0x02048764
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r1, #0x2c]
- str r0, [r1, #0x30]
- add r1, #0x1c
- add r0, r1, #0x0
- bl FUN_0201901C
- ldr r0, _020487D4 ; =0x020F46B0
- bl FUN_0201E66C
- ldr r2, _020487D8 ; =0x04000304
- ldrh r1, [r2, #0x0]
- lsr r0, r2, #0xb
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, _020487DC ; =0x020F4684
- bl FUN_02016BBC
- mov r0, #0x3
- mov r1, #0x0
- bl FUN_02017FE4
- ldr r0, [r4, #0x8]
- ldr r2, _020487E0 ; =0x020F4694
- mov r1, #0x3
- mov r3, #0x0
- bl FUN_02016C18
- mov r1, #0x20
- mov r0, #0x3
- mov r2, #0x0
- add r3, r1, #0x0
- bl FUN_02017F18
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x11
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_02018540
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- bl FUN_02017CD0
- add sp, #0x10
- pop {r4, pc}
- nop
-_020487D4: .word 0x020F46B0
-_020487D8: .word 0x04000304
-_020487DC: .word 0x020F4684
-_020487E0: .word 0x020F4694
-
- thumb_func_start FUN_020487E4
-FUN_020487E4: ; 0x020487E4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl LoadPlayerDataAddress
- add r6, r0, #0x0
- mov r0, #0x1a
- mov r1, #0xc7
- mov r2, #0xf
- mov r3, #0x20
- bl FUN_0200A738
- str r0, [r4, #0x2c]
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x1c
- mov r2, #0x3
- bl FUN_020545B8
- add r0, r4, #0x0
- add r0, #0x1c
- add r1, r6, #0x0
- bl FUN_02054608
- add r0, r4, #0x0
- ldr r1, [r4, #0x2c]
- add r0, #0x1c
- add r2, r6, #0x0
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- ldr r1, _02048834 ; =0x000003E2
- add r0, #0x1c
- bl FUN_0200D858
- str r0, [r4, #0x30]
- pop {r4-r6, pc}
- .balign 4
-_02048834: .word 0x000003E2
-
- thumb_func_start FUN_02048838
-FUN_02048838: ; 0x02048838
- ldr r0, [r0, #0x34]
- ldr r3, _02048844 ; =FUN_020546C8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx r3
- nop
-_02048844: .word FUN_020546C8
-
- thumb_func_start FUN_02048848
-FUN_02048848: ; 0x02048848
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x2c]
- bl FUN_02021A20
- ldr r0, [r4, #0x30]
- bl FUN_0200DBFC
- add r4, #0x1c
- add r0, r4, #0x0
- bl FUN_0205464C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02048864
-FUN_02048864: ; 0x02048864
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc7
- mov r3, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- cmp r6, #0x2
- bne _020488AC
- mov r0, #0x4
- bl FUN_0200AA80
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r6, #0x0
- add r1, r7, #0x0
- mov r2, #0x10
- mov r3, #0x4
- bl FUN_0200A9C4
- str r0, [r4, #0x2c]
- add r0, r6, #0x0
- bl FUN_0200AB18
- b _020488B4
-_020488AC:
- mov r1, #0x12
- bl FUN_0200A914
- str r0, [r4, #0x2c]
-_020488B4:
- add r0, r7, #0x0
- bl FUN_0200A8B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x2c]
- add r0, #0x1c
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x34]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020488D4
-FUN_020488D4: ; 0x020488D4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x2c]
- cmp r0, #0x0
- beq _020488E4
- bl FUN_02021A20
-_020488E4:
- add r0, r4, #0x0
- add r0, #0x1c
- bl FUN_02019048
- cmp r0, #0x0
- beq _020488F8
- add r4, #0x1c
- add r0, r4, #0x0
- bl FUN_02019178
-_020488F8:
- ldr r0, [r5, #0x8]
- mov r1, #0x3
- bl FUN_020178A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048904
-FUN_02048904: ; 0x02048904
- ldr r1, [r0, #0x1c]
- ldr r2, _02048950 ; =0x0000014B
- ldr r1, [r1, #0x0]
- cmp r1, r2
- bgt _0204892C
- sub r2, r2, #0x5
- sub r2, r1, r2
- bmi _02048936
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02048920: ; jump table (using 16-bit offset)
- .short _02048932 - _02048920 - 2; case 0
- .short _02048932 - _02048920 - 2; case 1
- .short _02048932 - _02048920 - 2; case 2
- .short _02048932 - _02048920 - 2; case 3
- .short _02048932 - _02048920 - 2; case 4
- .short _02048932 - _02048920 - 2; case 5
-_0204892C:
- ldr r2, _02048954 ; =0x000001ED
- cmp r1, r2
- bne _02048936
-_02048932:
- mov r2, #0x1
- b _02048938
-_02048936:
- mov r2, #0x0
-_02048938:
- cmp r2, #0x0
- bne _02048946
- ldr r1, [r0, #0x6c]
- cmp r1, #0x4
- bne _02048946
- mov r1, #0x0
- str r1, [r0, #0x6c]
-_02048946:
- cmp r2, #0x0
- beq _0204894E
- mov r1, #0x4
- str r1, [r0, #0x6c]
-_0204894E:
- bx lr
- .balign 4
-_02048950: .word 0x0000014B
-_02048954: .word 0x000001ED
-
- thumb_func_start FUN_02048958
-FUN_02048958: ; 0x02048958
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02034E30
- add r6, r0, #0x0
- bl FUN_02034DC8
- add r2, r0, #0x0
- cmp r4, #0x0
- beq _0204898C
- ldr r3, [r5, #0x1c]
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r2, [r5, #0x1c]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
-_0204898C:
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_02034A60
- ldr r0, [r5, #0x1c]
- ldr r1, [r0, #0x4]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- beq _020489DA
- add r0, r5, #0x0
- bl FUN_02034B00
- ldrh r2, [r0, #0x0]
- ldr r1, [r5, #0x1c]
- str r2, [r1, #0x8]
- ldrh r2, [r0, #0x2]
- ldr r1, [r5, #0x1c]
- str r2, [r1, #0xc]
- ldrh r1, [r0, #0x6]
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- bne _020489DA
- add r0, r6, #0x0
- bl FUN_02034DD0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02034DC4
- add r2, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
-_020489DA:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020489DC
-FUN_020489DC: ; 0x020489DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x6c]
- cmp r0, #0x5
- blt _020489EA
- bl ErrorHandling
-_020489EA:
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r1, r0, #0x1c
- ldr r0, _020489F8 ; =0x021C4918
- strb r1, [r0, #0x5]
- pop {r4, pc}
- .balign 4
-_020489F8: .word 0x021C4918
-
- thumb_func_start FUN_020489FC
-FUN_020489FC: ; 0x020489FC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x1c]
- add r4, r1, #0x0
- ldr r7, [r0, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r5, #0x0
- bl FUN_02039564
- cmp r4, #0x0
- bne _02048A28
- add r0, r5, #0x0
- bl FUN_020636DC
- b _02048A2E
-_02048A28:
- add r0, r5, #0x0
- bl FUN_02063684
-_02048A2E:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F408
- cmp r4, #0x0
- bne _02048A42
- add r0, r5, #0x0
- bl FUN_0204B0F8
-_02048A42:
- cmp r4, #0x0
- bne _02048A50
- ldr r0, [r5, #0xc]
- bl FUN_02024ED8
- bl FUN_02025484
-_02048A50:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02034FE4
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- cmp r6, #0xe
- bne _02048A72
- ldr r0, [sp, #0x0]
- bl FUN_0205F2C4
- cmp r0, #0x1
- beq _02048A80
-_02048A72:
- cmp r6, #0x10
- bne _02048A82
- ldr r0, [sp, #0x0]
- bl FUN_0205F294
- cmp r0, #0x1
- bne _02048A82
-_02048A80:
- mov r6, #0x0
-_02048A82:
- ldr r0, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_02034DF4
- cmp r4, #0x0
- beq _02048AA6
- ldr r0, [sp, #0x4]
- bl FUN_02034E10
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203484C
- cmp r6, r0
- beq _02048AB4
- bl ErrorHandling
- b _02048AB4
-_02048AA6:
- add r0, r7, #0x0
- bl FUN_0203484C
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02034E18
-_02048AB4:
- cmp r4, #0x0
- bne _02048ACA
- add r0, r7, #0x0
- bl FUN_02034EF8
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- beq _02048ACA
- ldr r0, [sp, #0x4]
- bl FUN_02034E04
-_02048ACA:
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0203989C
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x74
- strh r1, [r0, #0x0]
- add r5, #0x76
- strh r1, [r5, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02048AE4
-FUN_02048AE4: ; 0x02048AE4
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r1, #0x40
- mov r2, #0x5
- bl FUN_02057380
- str r0, [r5, #0x34]
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- ldr r3, [r5, #0x1c]
- ldr r1, [r0, #0x4]
- str r1, [sp, #0x0]
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x34]
- ldr r1, [r3, #0x8]
- ldr r2, [r3, #0xc]
- ldr r3, [r3, #0x10]
- bl FUN_02055068
- str r0, [r5, #0x38]
- add r0, r5, #0x0
- bl FUN_02034AC8
- ldr r0, [r5, #0x34]
- bl FUN_02058768
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048B34
-FUN_02048B34: ; 0x02048B34
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204CC48
- ldr r0, [r4, #0x38]
- bl FUN_02055160
- ldr r0, [r4, #0x34]
- bl FUN_0205771C
- ldr r0, [r4, #0x34]
- bl FUN_020573AC
- pop {r4, pc}
-
- thumb_func_start FUN_02048B50
-FUN_02048B50: ; 0x02048B50
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x40
- mov r2, #0x5
- bl FUN_02057380
- str r0, [r5, #0x34]
- add r0, r5, #0x0
- bl FUN_02034E60
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r2, r0, #0x0
- ldr r0, [r5, #0x34]
- add r1, r4, #0x0
- bl FUN_020550A4
- str r0, [r5, #0x38]
- ldr r0, [r5, #0x34]
- bl FUN_02058768
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048B90
-FUN_02048B90: ; 0x02048B90
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02048904
- ldr r0, [r4, #0x58]
- cmp r0, #0x0
- beq _02048BA2
- bl ErrorHandling
-_02048BA2:
- ldr r0, [r4, #0x1c]
- ldr r1, [r4, #0x28]
- ldr r0, [r0, #0x0]
- bl FUN_020344AC
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x3
- bl FUN_0205F524
- cmp r0, #0x0
- beq _02048BC2
- ldr r0, [r4, #0x28]
- bl FUN_020346CC
-_02048BC2:
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- bl FUN_0205F524
- cmp r0, #0x0
- bne _02048BD8
- ldr r0, [r4, #0x28]
- bl FUN_02034678
-_02048BD8:
- ldr r0, [r4, #0x6c]
- cmp r0, #0x5
- blt _02048BE2
- bl ErrorHandling
-_02048BE2:
- ldr r0, [r4, #0x6c]
- ldr r1, _02048C28 ; =0x020F46E0
- lsl r0, r0, #0x3
- add r0, r1, r0
- str r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- str r0, [r4, #0x5c]
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- str r0, [r4, #0x18]
- ldr r1, [r4, #0x70]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0x58
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1c
- bl FUN_0204A690
- ldr r0, [r4, #0x70]
- ldr r1, [r0, #0x0]
- lsl r0, r1, #0xc
- lsr r0, r0, #0x1c
- beq _02048C24
- lsr r1, r1, #0x18
- lsl r1, r1, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_0204A368
-_02048C24:
- pop {r4, pc}
- nop
-_02048C28: .word 0x020F46E0
-
- thumb_func_start FUN_02048C2C
-FUN_02048C2C: ; 0x02048C2C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x58]
- cmp r0, #0x0
- bne _02048C3A
- bl ErrorHandling
-_02048C3A:
- mov r0, #0x0
- str r0, [r4, #0x58]
- mov r0, #0x5
- str r0, [r4, #0x18]
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0x1c
- beq _02048C52
- add r0, r4, #0x0
- bl FUN_0204A390
-_02048C52:
- mov r0, #0x0
- str r0, [r4, #0x70]
- pop {r4, pc}
-
- thumb_func_start FUN_02048C58
-FUN_02048C58: ; 0x02048C58
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02048C7E
- ldr r0, [r4, #0x1c]
- mov r1, #0xb
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02028FA4
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- bl FUN_02028AD4
-_02048C7E:
- pop {r4, pc}
-
- thumb_func_start FUN_02048C80
-FUN_02048C80: ; 0x02048C80
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02048CAE
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- ldr r0, [r0, #0x0]
- mov r1, #0xb
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02028FA4
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- bl FUN_02028AD4
-_02048CAE:
- pop {r4, pc}
-
- thumb_func_start FUN_02048CB0
-FUN_02048CB0: ; 0x02048CB0
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- ldr r1, [r4, #0x1c]
- ldr r1, [r1, #0x0]
- str r1, [r5, #0x0]
- mov r1, #0x0
- mvn r1, r1
- str r1, [r5, #0x4]
- str r0, [r5, #0x8]
- str r6, [r5, #0xc]
- mov r0, #0x1
- str r0, [r5, #0x10]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02048CDC
-FUN_02048CDC: ; 0x02048CDC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_020349E4
- cmp r0, #0x0
- beq _02048CFE
- ldr r1, [r4, #0x1c]
- ldr r0, [r1, #0x8]
- cmp r0, #0x7
- bne _02048CFE
- ldr r0, [r1, #0xc]
- cmp r0, #0x6
- bne _02048CFE
- mov r0, #0x1
- pop {r4, pc}
-_02048CFE:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02048D04
-FUN_02048D04: ; 0x02048D04
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x4]
- mov r0, #0x8
- str r0, [r4, #0x8]
- mov r0, #0x2
- str r0, [r4, #0xc]
- mov r0, #0x1
- str r0, [r4, #0x10]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02048D34
-FUN_02048D34: ; 0x02048D34
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02048D56
- cmp r0, #0x1
- beq _02048D7A
- cmp r0, #0x2
- beq _02048D88
- b _02048D8C
-_02048D56:
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- bl FUN_02048958
- add r0, r5, #0x0
- bl FUN_02048B90
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r5, #0x0
- bl FUN_02048AE4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048D8C
-_02048D7A:
- add r0, r6, #0x0
- bl FUN_0204B0E8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048D8C
-_02048D88:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02048D8C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02048D90
-FUN_02048D90: ; 0x02048D90
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- str r1, [r4, #0x6c]
- bl FUN_02039874
- ldr r1, _02048DA8 ; =FUN_02048D34
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020463CC
- pop {r4, pc}
- .balign 4
-_02048DA8: .word FUN_02048D34
-
- thumb_func_start FUN_02048DAC
-FUN_02048DAC: ; 0x02048DAC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- bhi _02048EC2
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02048DD8: ; jump table (using 16-bit offset)
- .short _02048DE2 - _02048DD8 - 2; case 0
- .short _02048E10 - _02048DD8 - 2; case 1
- .short _02048EA4 - _02048DD8 - 2; case 2
- .short _02048EB0 - _02048DD8 - 2; case 3
- .short _02048EB4 - _02048DD8 - 2; case 4
-_02048DE2:
- ldr r0, [r4, #0xc]
- bl FUN_02025B94
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_0205F2D4
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r7, #0x0
- bl FUN_02028A20
- cmp r0, #0x0
- beq _02048E10
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02037944
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02048EC2
-_02048E10:
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_0205F2D4
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r7, #0x0
- bl FUN_020289B0
- add r1, r4, #0x0
- add r1, #0x98
- str r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0205F174
- cmp r0, #0x0
- beq _02048E78
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048CDC
- cmp r0, #0x0
- beq _02048E4E
- add r0, r4, #0x0
- bl FUN_02048D04
-_02048E4E:
- add r0, r6, #0x0
- bl FUN_0205F164
- add r0, r7, #0x0
- bl FUN_02034DD0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r4, #0x0
- bl FUN_02048AE4
- b _02048E92
-_02048E78:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- bl FUN_0204B0F8
- add r0, r4, #0x0
- bl FUN_02048B50
-_02048E92:
- add r0, r4, #0x0
- bl FUN_02048C58
- add r0, r4, #0x0
- bl FUN_02063808
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02048EC2
-_02048EA4:
- add r0, r7, #0x0
- bl FUN_0204B0E8
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _02048EC2
-_02048EB0:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048EB4:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02048EC2
- mov r0, #0x1
- str r0, [r5, #0x0]
-_02048EC2:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02048EC8
-FUN_02048EC8: ; 0x02048EC8
- ldr r3, _02048ED4 ; =FUN_020463CC
- mov r2, #0x0
- str r2, [r0, #0x6c]
- ldr r1, _02048ED8 ; =FUN_02048DAC
- bx r3
- nop
-_02048ED4: .word FUN_020463CC
-_02048ED8: .word FUN_02048DAC
-
- thumb_func_start FUN_02048EDC
-FUN_02048EDC: ; 0x02048EDC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x5
- bhi _02048FC4
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02048F10: ; jump table (using 16-bit offset)
- .short _02048F1C - _02048F10 - 2; case 0
- .short _02048F54 - _02048F10 - 2; case 1
- .short _02048F7E - _02048F10 - 2; case 2
- .short _02048F9A - _02048F10 - 2; case 3
- .short _02048FAE - _02048F10 - 2; case 4
- .short _02048FBA - _02048F10 - 2; case 5
-_02048F1C:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- ldr r0, [r4, #0xc]
- bl FUN_02025B94
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- bl FUN_0205F2D4
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r6, #0x0
- bl FUN_020289B0
- add r4, #0x98
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F54:
- add r0, r4, #0x0
- add r1, r6, #0x4
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r4, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02048C80
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F7E:
- add r0, r4, #0x0
- bl FUN_020520AC
- str r0, [r4, #0x78]
- bl FUN_02052EE8
- str r0, [r4, #0x7c]
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F9A:
- mov r1, #0x0
- str r1, [r6, #0x0]
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl MOD05_021E7750
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048FAE:
- ldr r1, [r6, #0x0]
- cmp r1, #0x0
- beq _02048FC4
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048FBA:
- add r0, r6, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048FC4:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02048FC8
-FUN_02048FC8: ; 0x02048FC8
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034998
- cmp r0, #0x0
- bne _02049000
- add r0, r4, #0x0
- bl FUN_02048CDC
- cmp r0, #0x0
- beq _02048FF8
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048D04
- add r0, r5, #0x0
- bl FUN_0205F154
- b _02049000
-_02048FF8:
- add r0, r4, #0x0
- bl FUN_02048EC8
- pop {r3-r5, pc}
-_02049000:
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r1, #0x0
- ldr r0, _02049030 ; =0x000001D2
- str r1, [r2, #0x0]
- str r0, [r2, #0x4]
- sub r0, r1, #0x1
- str r0, [r2, #0x8]
- mov r0, #0x8
- str r0, [r2, #0xc]
- mov r0, #0xe
- str r0, [r2, #0x10]
- str r1, [r2, #0x14]
- mov r0, #0x2
- str r0, [r4, #0x6c]
- ldr r1, _02049034 ; =FUN_02048EDC
- add r0, r4, #0x0
- bl FUN_020463CC
- pop {r3-r5, pc}
- nop
-_02049030: .word 0x000001D2
-_02049034: .word FUN_02048EDC
-
- thumb_func_start FUN_02049038
-FUN_02049038: ; 0x02049038
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _020490B6
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204905C: ; jump table (using 16-bit offset)
- .short _02049064 - _0204905C - 2; case 0
- .short _02049080 - _0204905C - 2; case 1
- .short _02049090 - _0204905C - 2; case 2
- .short _020490AE - _0204905C - 2; case 3
-_02049064:
- ldr r0, _020490BC ; =0x00000603
- bl FUN_020054C8
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204B090
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_02049080:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_02049090:
- bl FUN_02005404
- cmp r0, #0x0
- bne _020490B6
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204B0E8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_020490AE:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_020490B6:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_020490BC: .word 0x00000603
-
- thumb_func_start FUN_020490C0
-FUN_020490C0: ; 0x020490C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldmia r4!, {r0-r1}
- add r3, r2, #0x4
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- ldr r1, _020490EC ; =FUN_02049038
- str r0, [r3, #0x0]
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- .balign 4
-_020490EC: .word FUN_02049038
-
- thumb_func_start FUN_020490F0
-FUN_020490F0: ; 0x020490F0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02049112
- cmp r0, #0x1
- beq _02049126
- cmp r0, #0x2
- beq _0204914C
- b _0204915C
-_02049112:
- add r0, r5, #0x0
- bl FUN_02048B34
- add r0, r5, #0x0
- bl FUN_02048C2C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204915C
-_02049126:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02048958
- add r0, r5, #0x0
- bl FUN_02048B90
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204915C
-_0204914C:
- add r0, r5, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204915C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049160
-FUN_02049160: ; 0x02049160
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _02049186
- bl ErrorHandling
- pop {r3-r7, pc}
-_02049186:
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldmia r5!, {r0-r1}
- add r2, r4, #0x4
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020491A4 ; =FUN_020490F0
- str r0, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_020491A4: .word FUN_020490F0
-
- thumb_func_start FUN_020491A8
-FUN_020491A8: ; 0x020491A8
- push {lr}
- sub sp, #0x14
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x18]
- str r2, [sp, #0x4]
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x1c]
- str r3, [sp, #0x8]
- str r1, [sp, #0x10]
- add r1, sp, #0x0
- bl FUN_02049160
- add sp, #0x14
- pop {pc}
-
- thumb_func_start FUN_020491C4
-FUN_020491C4: ; 0x020491C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _0204923C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020491E8: ; jump table (using 16-bit offset)
- .short _020491F0 - _020491E8 - 2; case 0
- .short _02049206 - _020491E8 - 2; case 1
- .short _02049216 - _020491E8 - 2; case 2
- .short _02049234 - _020491E8 - 2; case 3
-_020491F0:
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049206:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049216:
- bl FUN_02005404
- cmp r0, #0x0
- bne _0204923C
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049234:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204923C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02049240
-FUN_02049240: ; 0x02049240
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x18
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r5, [r2, #0x4]
- str r4, [r2, #0x8]
- ldr r0, [sp, #0x18]
- str r6, [r2, #0xc]
- str r0, [r2, #0x10]
- ldr r0, [sp, #0x1c]
- ldr r1, _02049270 ; =FUN_020491C4
- str r0, [r2, #0x14]
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049270: .word FUN_020491C4
-
- thumb_func_start FUN_02049274
-FUN_02049274: ; 0x02049274
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x0]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- str r0, [sp, #0x10]
- mov r0, #0xb
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r3, r2, #0x0
- add r5, sp, #0x0
- str r0, [r2, #0x4]
- ldmia r5!, {r0-r1}
- add r3, #0x8
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020492B8 ; =FUN_02049304
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_020463CC
- add sp, #0x14
- pop {r4-r5, pc}
- nop
-_020492B8: .word FUN_02049304
-
- thumb_func_start FUN_020492BC
-FUN_020492BC: ; 0x020492BC
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x0]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- str r0, [sp, #0x10]
- mov r0, #0xb
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r3, r2, #0x0
- add r5, sp, #0x0
- str r0, [r2, #0x4]
- ldmia r5!, {r0-r1}
- add r3, #0x8
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _02049300 ; =FUN_02049304
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_020463EC
- add sp, #0x14
- pop {r4-r5, pc}
- nop
-_02049300: .word FUN_02049304
-
- thumb_func_start FUN_02049304
-FUN_02049304: ; 0x02049304
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r5, r4, #0x0
- ldr r1, [r4, #0x0]
- add r5, #0x8
- cmp r1, #0x3
- bhi _02049390
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204932C: ; jump table (using 16-bit offset)
- .short _02049334 - _0204932C - 2; case 0
- .short _0204934A - _0204932C - 2; case 1
- .short _02049364 - _0204932C - 2; case 2
- .short _02049388 - _0204932C - 2; case 3
-_02049334:
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r7, #0x0
- bl FUN_02049394
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_0204934A:
- ldr r0, [r6, #0x38]
- mov r1, #0x0
- bl FUN_020553A8
- add r1, r4, #0x0
- add r0, r7, #0x0
- add r1, #0x8
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_02049364:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049390
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r6, #0x0
- bl FUN_020637A8
- add r0, r7, #0x0
- bl FUN_020493D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_02049388:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049390:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049394
-FUN_02049394: ; 0x02049394
- ldr r3, _0204939C ; =FUN_0204640C
- ldr r1, _020493A0 ; =FUN_020493A4
- mov r2, #0x0
- bx r3
- .balign 4
-_0204939C: .word FUN_0204640C
-_020493A0: .word FUN_020493A4
-
- thumb_func_start FUN_020493A4
-FUN_020493A4: ; 0x020493A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020493BA
- cmp r0, #0x1
- beq _020493C8
- b _020493CC
-_020493BA:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020493CC
-_020493C8:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020493CC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020493D0
-FUN_020493D0: ; 0x020493D0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204652C
- add r2, r0, #0x0
- ldr r1, _020493E4 ; =FUN_020493E8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_020493E4: .word FUN_020493E8
-
- thumb_func_start FUN_020493E8
-FUN_020493E8: ; 0x020493E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02049408
- cmp r1, #0x1
- beq _02049416
- cmp r1, #0x2
- beq _02049428
- b _0204942C
-_02049408:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204942C
-_02049416:
- bl MOD05_021E331C
- add r0, r5, #0x0
- bl FUN_02049430
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204942C
-_02049428:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204942C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049430
-FUN_02049430: ; 0x02049430
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _02049452
- bl ErrorHandling
- pop {r4-r6, pc}
-_02049452:
- ldr r0, [r5, #0x38]
- bl FUN_020553E8
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl MOD06_022483BC
- str r0, [r4, #0x4]
- ldr r1, _02049470 ; =FUN_02049474
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02049470: .word FUN_02049474
-
- thumb_func_start FUN_02049474
-FUN_02049474: ; 0x02049474
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl MOD06_022483E0
- cmp r0, #0x1
- bne _02049490
- ldr r0, [r4, #0x4]
- bl MOD06_022483EC
- mov r0, #0x1
- pop {r4, pc}
-_02049490:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02049494
-FUN_02049494: ; 0x02049494
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x20
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r4, [r2, #0x4]
- str r0, [r2, #0x8]
- add r3, r2, #0x0
- ldmia r5!, {r0-r1}
- add r3, #0xc
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020494C8 ; =FUN_020494CC
- str r0, [r3, #0x0]
- add r0, r6, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
- .balign 4
-_020494C8: .word FUN_020494CC
-
- thumb_func_start FUN_020494CC
-FUN_020494CC: ; 0x020494CC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r6, r4, #0x0
- ldr r1, [r4, #0x0]
- add r6, #0xc
- cmp r1, #0x3
- bhi _02049570
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020494F4: ; jump table (using 16-bit offset)
- .short _020494FC - _020494F4 - 2; case 0
- .short _02049512 - _020494F4 - 2; case 1
- .short _0204952C - _020494F4 - 2; case 2
- .short _02049568 - _020494F4 - 2; case 3
-_020494FC:
- ldr r1, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_0204AD60
- add r0, r7, #0x0
- bl FUN_02049574
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_02049512:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_020553A8
- add r1, r4, #0x0
- add r0, r7, #0x0
- add r1, #0xc
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_0204952C:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049570
- ldr r1, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_0204AD8C
- ldr r0, [r4, #0x4]
- cmp r0, #0x2
- bne _0204954A
- add r0, r5, #0x0
- bl FUN_020637C4
- b _0204955A
-_0204954A:
- cmp r0, #0x1
- bhi _02049556
- add r0, r5, #0x0
- bl FUN_020637E0
- b _0204955A
-_02049556:
- bl ErrorHandling
-_0204955A:
- add r0, r7, #0x0
- bl FUN_020495B0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_02049568:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049570:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049574
-FUN_02049574: ; 0x02049574
- ldr r3, _0204957C ; =FUN_0204640C
- ldr r1, _02049580 ; =FUN_02049584
- mov r2, #0x0
- bx r3
- .balign 4
-_0204957C: .word FUN_0204640C
-_02049580: .word FUN_02049584
-
- thumb_func_start FUN_02049584
-FUN_02049584: ; 0x02049584
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204959A
- cmp r0, #0x1
- beq _020495A8
- b _020495AC
-_0204959A:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020495AC
-_020495A8:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020495AC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020495B0
-FUN_020495B0: ; 0x020495B0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204652C
- add r2, r0, #0x0
- ldr r1, _020495C4 ; =FUN_020495C8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_020495C4: .word FUN_020495C8
-
- thumb_func_start FUN_020495C8
-FUN_020495C8: ; 0x020495C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020495F0
- cmp r0, #0x1
- beq _020495FE
- cmp r0, #0x2
- beq _02049612
- b _02049616
-_020495F0:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049616
-_020495FE:
- add r0, r6, #0x0
- bl MOD05_021E331C
- add r0, r5, #0x0
- bl FUN_0204961C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049616
-_02049612:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049616:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204961C
-FUN_0204961C: ; 0x0204961C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204963E
- bl ErrorHandling
- pop {r4-r6, pc}
-_0204963E:
- ldr r2, [r6, #0x4]
- add r0, r4, #0x0
- mov r1, #0x4
- bl MOD06_0224C8C8
- add r2, r0, #0x0
- ldr r1, _02049654 ; =0x0224C8E9
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_02049654: .word 0x0224C8E9
-
- thumb_func_start FUN_02049658
-FUN_02049658: ; 0x02049658
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r5, r4, #0x0
- ldr r1, [r4, #0x0]
- add r5, #0x8
- cmp r1, #0x6
- bhi _02049712
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02049680: ; jump table (using 16-bit offset)
- .short _0204968E - _02049680 - 2; case 0
- .short _020496A0 - _02049680 - 2; case 1
- .short _020496BC - _02049680 - 2; case 2
- .short _020496CC - _02049680 - 2; case 3
- .short _020496EA - _02049680 - 2; case 4
- .short _020496FE - _02049680 - 2; case 5
- .short _0204970A - _02049680 - 2; case 6
-_0204968E:
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r4, #0x4
- bl MOD05_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496A0:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02049712
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD60
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496BC:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496CC:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049712
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD8C
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496EA:
- mov r1, #0x0
- str r1, [r4, #0x4]
- add r0, r7, #0x0
- add r2, r4, #0x4
- bl MOD05_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496FE:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02049712
- add r0, r1, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_0204970A:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049712:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049718
-FUN_02049718: ; 0x02049718
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- add r6, r2, #0x0
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r7, r0, #0x0
- bl MI_CpuFill8
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- mov r1, #0x0
- add r2, r7, #0x0
- str r4, [sp, #0x0]
- str r6, [sp, #0x4]
- add r3, sp, #0x0
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldmia r3!, {r0-r1}
- add r2, #0x8
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r1, _02049768 ; =FUN_02049658
- str r0, [r2, #0x0]
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_020463CC
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02049768: .word FUN_02049658
-
- thumb_func_start FUN_0204976C
-FUN_0204976C: ; 0x0204976C
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_020169D8
- add r5, r0, #0x0
- mov r1, #0x0
- str r1, [r5, #0x0]
- str r1, [r5, #0x4]
- ldr r0, [r6, #0x6c]
- cmp r0, #0x1
- bne _020497A4
- ldr r0, [r4, #0x0]
- str r0, [r5, #0x8]
- sub r0, r1, #0x1
- str r0, [r5, #0xc]
- ldr r0, [r4, #0x8]
- str r0, [r5, #0x10]
- ldr r0, [r4, #0xc]
- str r0, [r5, #0x14]
- b _02049820
-_020497A4:
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02048CB0
- mov r0, #0x2
- str r0, [r5, #0x8]
- sub r0, r0, #0x3
- str r0, [r5, #0xc]
- ldr r1, [r4, #0x8]
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r0, r0, #0x5
- ldr r1, [r4, #0xc]
- sub r6, r0, #0x1
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r0, r0, #0x5
- sub r4, r0, #0x6
- cmp r6, #0x0
- bge _020497D4
- bl ErrorHandling
-_020497D4:
- cmp r4, #0x0
- bge _020497DC
- bl ErrorHandling
-_020497DC:
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- bne _020497EE
- mov r0, #0x8
- b _020497F0
-_020497EE:
- mov r0, #0x17
-_020497F0:
- lsr r3, r4, #0x1f
- lsl r2, r4, #0x1f
- sub r2, r2, r3
- mov r1, #0x1f
- ror r2, r1
- add r1, r3, r2
- bne _02049802
- mov r1, #0x8
- b _02049804
-_02049802:
- mov r1, #0x17
-_02049804:
- lsr r2, r6, #0x1f
- add r2, r6, r2
- asr r2, r2, #0x1
- add r6, r2, #0x1
- lsr r2, r4, #0x1f
- add r2, r4, r2
- asr r2, r2, #0x1
- add r3, r2, #0x3
- lsl r2, r6, #0x5
- add r0, r0, r2
- str r0, [r5, #0x10]
- lsl r0, r3, #0x5
- add r0, r1, r0
- str r0, [r5, #0x14]
-_02049820:
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02049824
-FUN_02049824: ; 0x02049824
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0204976C
- add r4, r0, #0x0
- beq _02049840
- add r0, r5, #0x0
- bl FUN_02049BE8
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
-_02049840:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02049844
-FUN_02049844: ; 0x02049844
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0xc
- bhi _0204992C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204986A: ; jump table (using 16-bit offset)
- .short _02049884 - _0204986A - 2; case 0
- .short _020498DC - _0204986A - 2; case 1
- .short _02049918 - _0204986A - 2; case 2
- .short _0204995E - _0204986A - 2; case 3
- .short _020499A2 - _0204986A - 2; case 4
- .short _020499D0 - _0204986A - 2; case 5
- .short _020499E2 - _0204986A - 2; case 6
- .short _020499F2 - _0204986A - 2; case 7
- .short _02049A06 - _0204986A - 2; case 8
- .short _02049A14 - _0204986A - 2; case 9
- .short _02049A42 - _0204986A - 2; case 10
- .short _02049A64 - _0204986A - 2; case 11
- .short _02049A96 - _0204986A - 2; case 12
-_02049884:
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xcf
- mov r3, #0xb
- bl FUN_0200A86C
- add r6, r0, #0x0
- mov r1, #0x7c
- bl FUN_0200A914
- str r0, [r4, #0x34]
- add r0, r6, #0x0
- bl FUN_0200A8B8
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x24
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02054608
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x34]
- add r0, #0x24
- mov r3, #0x1
- bl FUN_02054658
- add r1, r4, #0x0
- add r1, #0x38
- strb r0, [r1, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_020498DC:
- add r0, r4, #0x0
- add r0, #0x38
- ldrb r0, [r0, #0x0]
- bl FUN_020546C8
- cmp r0, #0x1
- bne _0204992C
- ldr r0, [r4, #0x34]
- bl FUN_02021A20
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0xb
- str r3, [sp, #0x4]
- ldr r0, [r5, #0x8]
- ldr r2, _02049AB8 ; =0x000003D9
- mov r1, #0x3
- bl FUN_0200CB00
- mov r3, #0xb
- str r3, [sp, #0x0]
- ldr r0, [r5, #0x8]
- ldr r1, _02049ABC ; =0x020F46D8
- ldr r2, _02049AB8 ; =0x000003D9
- bl FUN_02002198
- str r0, [r4, #0x3c]
- mov r0, #0x2
- str r0, [r4, #0x0]
- b _02049AB2
-_02049918:
- ldr r0, [r4, #0x3c]
- mov r1, #0xb
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0204992E
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _02049946
-_0204992C:
- b _02049AB2
-_0204992E:
- add r0, r4, #0x0
- add r0, #0x24
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02019178
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _02049AB2
-_02049946:
- add r0, r4, #0x0
- add r0, #0x24
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02019178
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_0204995E:
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _02049976
- mov r2, #0x0
- ldr r1, _02049AC0 ; =0x000007F2
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _0204999C
-_02049976:
- ldr r0, [r5, #0xc]
- bl FUN_02025BE8
- add r0, r5, #0x0
- mov r1, #0xb
- mov r2, #0x3
- bl MOD05_021E8588
- str r0, [r4, #0x20]
- bl MOD05_021E84F4
- add r3, r4, #0x0
- mov r2, #0x0
- ldr r1, _02049AC4 ; =0x000007D5
- add r0, r6, #0x0
- add r3, #0x1c
- strh r2, [r4, #0x1c]
- bl FUN_02038CD8
-_0204999C:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _02049AB2
-_020499A2:
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _020499B2
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_020499B2:
- ldr r0, [r4, #0x20]
- bl MOD05_021E856C
- ldr r0, [r4, #0x20]
- bl MOD05_021E85E4
- ldrh r0, [r4, #0x1c]
- cmp r0, #0x0
- bne _020499CA
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_020499CA:
- mov r0, #0x6
- str r0, [r4, #0x0]
- b _02049AB2
-_020499D0:
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_020499E2:
- mov r0, #0x0
- mov r1, #0x1e
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_020499F2:
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049AB2
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A06:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A14:
- mov r0, #0x1
- str r0, [r5, #0x6c]
- ldr r0, _02049AC8 ; =SDK_OVERLAY_MODULE_18_ID
- mov r1, #0x2
- bl HandleLoadOverlay
- add r0, r5, #0x0
- bl FUN_0204FC5C
- ldr r0, [r4, #0x14]
- mov r2, #0x1
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r1, [r4, #0x8]
- ldr r3, [r4, #0x10]
- add r0, r6, #0x0
- sub r2, r2, #0x2
- bl FUN_020491A8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A42:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049AB2
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A64:
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049AB2
- bl FUN_0204FCA0
- add r0, r5, #0x0
- bl MOD18_02244824
- mov r1, #0x0
- str r0, [r5, #0x68]
- mov r0, #0x2
- add r2, r1, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1e
- sub r2, #0x10
- mov r3, #0x19
- bl FUN_0200A208
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A96:
- mov r0, #0x2
- bl FUN_0200A344
- cmp r0, #0x0
- beq _02049AB2
- mov r0, #0x1
- bl MOD18_02247970
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049AB2:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02049AB8: .word 0x000003D9
-_02049ABC: .word 0x020F46D8
-_02049AC0: .word 0x000007F2
-_02049AC4: .word 0x000007D5
-_02049AC8: .word SDK_OVERLAY_MODULE_18_ID
-
- thumb_func_start FUN_02049ACC
-FUN_02049ACC: ; 0x02049ACC
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x7
- bhi _02049BDC
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049AF2: ; jump table (using 16-bit offset)
- .short _02049B02 - _02049AF2 - 2; case 0
- .short _02049B2C - _02049AF2 - 2; case 1
- .short _02049B54 - _02049AF2 - 2; case 2
- .short _02049B68 - _02049AF2 - 2; case 3
- .short _02049B76 - _02049AF2 - 2; case 4
- .short _02049B9C - _02049AF2 - 2; case 5
- .short _02049BBE - _02049AF2 - 2; case 6
- .short _02049BD2 - _02049AF2 - 2; case 7
-_02049B02:
- mov r0, #0x0
- bl MOD18_02247970
- bl FUN_0204FCD8
- ldr r0, [r5, #0x68]
- bl MOD18_0224484C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1e
- add r1, r0, #0x0
- sub r1, #0x2e
- mov r2, #0x0
- mov r3, #0x1
- bl FUN_0200A208
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B2C:
- mov r0, #0x2
- bl FUN_0200A344
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r5, #0x68]
- cmp r0, #0x0
- bne _02049BDC
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02049BDC
- mov r0, #0x0
- mov r1, #0x1e
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B54:
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B68:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B76:
- mov r0, #0x0
- str r0, [r5, #0x6c]
- ldr r0, _02049BE4 ; =SDK_OVERLAY_MODULE_18_ID
- bl UnloadOverlayByID
- ldr r0, [r4, #0x14]
- mov r2, #0x1
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r1, [r4, #0x8]
- ldr r3, [r4, #0x10]
- add r0, r6, #0x0
- sub r2, r2, #0x2
- bl FUN_020491A8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B9C:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049BDC
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049BBE:
- add r0, r6, #0x0
- mov r1, #0x3
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049BD2:
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049BDC:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02049BE4: .word SDK_OVERLAY_MODULE_18_ID
-
- thumb_func_start FUN_02049BE8
-FUN_02049BE8: ; 0x02049BE8
- push {r3, lr}
- ldr r0, [r0, #0x6c]
- cmp r0, #0x0
- bne _02049BF4
- ldr r0, _02049C04 ; =FUN_02049844
- pop {r3, pc}
-_02049BF4:
- cmp r0, #0x1
- bne _02049BFC
- ldr r0, _02049C08 ; =FUN_02049ACC
- pop {r3, pc}
-_02049BFC:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02049C04: .word FUN_02049844
-_02049C08: .word FUN_02049ACC
-
- thumb_func_start FUN_02049C0C
-FUN_02049C0C: ; 0x02049C0C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r5, #0x0
- cmp r0, #0x0
- beq _02049C2E
- cmp r0, #0x1
- beq _02049C44
- b _02049C4E
-_02049C2E:
- add r2, r4, #0x0
- str r5, [r4, #0x18]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, #0x18
- bl FUN_02053C98
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02049C4E
-_02049C44:
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02049C4E
- str r5, [r4, #0x4]
- mov r5, #0x1
-_02049C4E:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049C54
-FUN_02049C54: ; 0x02049C54
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02049C76
- cmp r0, #0x1
- beq _02049C84
- cmp r0, #0x2
- beq _02049C9C
- b _02049CAC
-_02049C76:
- add r0, r5, #0x0
- bl FUN_02048B34
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049CAC
-_02049C84:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02048958
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0203989C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049CAC
-_02049C9C:
- add r0, r5, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_02049CAC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049CB0
-FUN_02049CB0: ; 0x02049CB0
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _02049CD6
- bl ErrorHandling
- pop {r3-r7, pc}
-_02049CD6:
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldmia r5!, {r0-r1}
- add r2, r4, #0x4
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _02049CF4 ; =FUN_02049C54
- str r0, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049CF4: .word FUN_02049C54
-
- thumb_func_start FUN_02049CF8
-FUN_02049CF8: ; 0x02049CF8
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _02049D98
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02049D24: ; jump table (using 16-bit offset)
- .short _02049D30 - _02049D24 - 2; case 0
- .short _02049D4C - _02049D24 - 2; case 1
- .short _02049D60 - _02049D24 - 2; case 2
- .short _02049D72 - _02049D24 - 2; case 3
- .short _02049D80 - _02049D24 - 2; case 4
- .short _02049D8E - _02049D24 - 2; case 5
-_02049D30:
- ldr r1, [r5, #0x8]
- add r0, r7, #0x0
- mov r2, #0x0
- bl FUN_0204ACA8
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r5, #0x4
- bl MOD05_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D4C:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02049D98
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D60:
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D72:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D80:
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D8E:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049D98:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049D9C
-FUN_02049D9C: ; 0x02049D9C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r1, #0x0
- mov r2, #0x1c
- bl MI_CpuFill8
- add r2, r6, #0x0
- ldmia r4!, {r0-r1}
- add r2, #0x8
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
- add r0, r5, #0x0
- bl FUN_020520F8
- ldr r0, [r5, #0x7c]
- bl FUN_02052FA4
- mov r0, #0x0
- str r0, [r5, #0x6c]
- ldr r1, _02049DF0 ; =FUN_02049CF8
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020463CC
- mov r0, #0x0
- str r0, [r5, #0x78]
- pop {r4-r6, pc}
- nop
-_02049DF0: .word FUN_02049CF8
-
- thumb_func_start FUN_02049DF4
-FUN_02049DF4: ; 0x02049DF4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02049E9E
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049E20: ; jump table (using 16-bit offset)
- .short _02049E2E - _02049E20 - 2; case 0
- .short _02049E46 - _02049E20 - 2; case 1
- .short _02049E54 - _02049E20 - 2; case 2
- .short _02049E66 - _02049E20 - 2; case 3
- .short _02049E74 - _02049E20 - 2; case 4
- .short _02049E88 - _02049E20 - 2; case 5
- .short _02049E94 - _02049E20 - 2; case 6
-_02049E2E:
- ldr r1, [r5, #0x8]
- add r0, r7, #0x0
- mov r2, #0x0
- bl FUN_0204ACA8
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E46:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E54:
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E66:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E74:
- mov r1, #0x0
- str r1, [r5, #0x4]
- add r0, r7, #0x0
- add r2, r5, #0x4
- bl MOD05_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E88:
- ldr r1, [r5, #0x4]
- cmp r1, #0x0
- beq _02049E9E
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E94:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049E9E:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049EA4
-FUN_02049EA4: ; 0x02049EA4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02048CB0
- ldr r0, _02049F08 ; =0x000001D2
- str r0, [r4, #0x8]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0xc]
- mov r0, #0x8
- str r0, [r4, #0x10]
- mov r0, #0xe
- str r0, [r4, #0x14]
- mov r0, #0x0
- str r0, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_020520AC
- str r0, [r5, #0x78]
- bl FUN_02052EE8
- str r0, [r5, #0x7c]
- mov r0, #0x2
- str r0, [r5, #0x6c]
- ldr r1, _02049F0C ; =FUN_02049DF4
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049F08: .word 0x000001D2
-_02049F0C: .word FUN_02049DF4
-
- thumb_func_start FUN_02049F10
-FUN_02049F10: ; 0x02049F10
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _02049F8E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049F34: ; jump table (using 16-bit offset)
- .short _02049F3C - _02049F34 - 2; case 0
- .short _02049F58 - _02049F34 - 2; case 1
- .short _02049F68 - _02049F34 - 2; case 2
- .short _02049F86 - _02049F34 - 2; case 3
-_02049F3C:
- ldr r0, _02049F94 ; =0x00000603
- bl FUN_020054C8
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204B090
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F58:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F68:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049F8E
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F86:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049F8E:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02049F94: .word 0x00000603
-
- thumb_func_start FUN_02049F98
-FUN_02049F98: ; 0x02049F98
- push {r3-r7, lr}
- sub sp, #0x18
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r4, #0x0
- bl FUN_02048CB0
- mov r0, #0x3
- str r0, [r4, #0x6c]
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r2, r0, #0x0
- ldr r0, [sp, #0x30]
- str r5, [sp, #0x4]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x34]
- str r6, [sp, #0x8]
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r7, [sp, #0xc]
- add r4, sp, #0x4
- str r0, [r2, #0x0]
- ldmia r4!, {r0-r1}
- add r3, r2, #0x4
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- ldr r1, _02049FF8 ; =FUN_02049F10
- str r0, [r3, #0x0]
- ldr r0, [sp, #0x0]
- bl FUN_0204640C
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02049FF8: .word FUN_02049F10
-
- thumb_func_start FUN_02049FFC
-FUN_02049FFC: ; 0x02049FFC
- push {r4, lr}
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x6c]
- ldr r0, [r4, #0x10]
- bl FUN_020490C0
- pop {r4, pc}
-
- thumb_func_start FUN_0204A01C
-FUN_0204A01C: ; 0x0204A01C
- push {r4, lr}
- mov r1, #0xa2
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A030
- mov r0, #0x0
- pop {r4, pc}
-_0204A030:
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A042
- mov r0, #0x1
- pop {r4, pc}
-_0204A042:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A048
-FUN_0204A048: ; 0x0204A048
- push {r3-r7, lr}
- sub sp, #0x20
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x10]
- bl FUN_020238F4
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_0206BB1C
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r2, [sp, #0x10]
- add r0, r4, #0x0
- add r1, r7, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [sp, #0x40]
- ldr r1, [sp, #0x14]
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x3c]
- add r0, r4, #0x0
- mov r2, #0x4
- str r5, [sp, #0x4]
- bl FUN_0206A014
- add r0, sp, #0x28
- ldrh r0, [r0, #0x10]
- mov r1, #0x6
- add r2, sp, #0x1c
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- bl FUN_02067830
- ldr r0, [sp, #0x18]
- add r1, r4, #0x0
- bl FUN_0206B900
- add r5, r0, #0x0
- beq _0204A0BC
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202C144
-_0204A0BC:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A0C8
-FUN_0204A0C8: ; 0x0204A0C8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r0, r4, #0x0
- add r5, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020238F4
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0206BB1C
- add r6, r0, #0x0
- mov r0, #0x20
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x24]
- bl FUN_02015CF8
- mov r1, #0x4
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl MOD05_021ECF14
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B900
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A120
-FUN_0204A120: ; 0x0204A120
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206B9B0
- lsl r2, r5, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_020697CC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A138
-FUN_0204A138: ; 0x0204A138
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- bl FUN_0206B9AC
- add r7, r0, #0x0
- mov r6, #0x0
- cmp r7, #0x0
- ble _0204A1A2
-_0204A14A:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A19C
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _0204A19C
-_0204A198:
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204A19C:
- add r6, r6, #0x1
- cmp r6, r7
- blt _0204A14A
-_0204A1A2:
- mov r0, #0xff
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A1A8
-FUN_0204A1A8: ; 0x0204A1A8
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_0206B9AC
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
- cmp r6, #0x0
- ble _0204A1D2
-_0204A1BA:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A1CC
- add r5, r5, #0x1
-_0204A1CC:
- add r4, r4, #0x1
- cmp r4, r6
- blt _0204A1BA
-_0204A1D2:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A1D8
-FUN_0204A1D8: ; 0x0204A1D8
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_0206B9AC
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x0
- ble _0204A204
-_0204A1E8:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r7, r0, #0x0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A1FE
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_0204A1FE:
- add r4, r4, #0x1
- cmp r4, r5
- blt _0204A1E8
-_0204A204:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A20C
-FUN_0204A20C: ; 0x0204A20C
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r4, _0204A244 ; =0x00000000
- beq _0204A240
-_0204A21C:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r7, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A236
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_0204A236:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r5
- blo _0204A21C
-_0204A240:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204A244: .word 0x00000000
-
- thumb_func_start FUN_0204A248
-FUN_0204A248: ; 0x0204A248
- push {r3, lr}
- bl FUN_0204A1A8
- cmp r0, #0x2
- blt _0204A256
- mov r0, #0x1
- pop {r3, pc}
-_0204A256:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204A25C
-FUN_0204A25C: ; 0x0204A25C
- push {r3-r7, lr}
- mov r2, #0x1
- add r1, sp, #0x0
- add r7, r0, #0x0
- strb r2, [r1, #0x0]
- bl FUN_0206B9AC
- add r6, r0, #0x0
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204A298
-_0204A272:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A292
- add r0, r4, #0x0
- mov r1, #0x19
- add r2, sp, #0x0
- bl FUN_02067830
-_0204A292:
- add r5, r5, #0x1
- cmp r5, r6
- blt _0204A272
-_0204A298:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A29C
-FUN_0204A29C: ; 0x0204A29C
- push {r3-r7, lr}
- sub sp, #0x10
- mov r7, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r6, r7, #0x0
- bl FUN_0206B9AC
- add r4, r7, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _0204A310
-_0204A2B4:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A308
- add r0, r5, #0x0
- mov r1, #0x9f
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x88
- tst r0, r1
- beq _0204A308
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- cmp r0, #0x1
- bls _0204A2EA
- sub r0, r0, #0x1
- str r0, [sp, #0xc]
-_0204A2EA:
- add r0, r5, #0x0
- mov r1, #0xa2
- add r2, sp, #0xc
- bl FUN_02067830
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- bne _0204A306
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x7
- add r6, r6, #0x1
- bl FUN_020688E8
-_0204A306:
- add r7, r7, #0x1
-_0204A308:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0204A2B4
-_0204A310:
- cmp r6, #0x0
- beq _0204A31A
- add sp, #0x10
- mov r0, #0x2
- pop {r3-r7, pc}
-_0204A31A:
- cmp r7, #0x0
- beq _0204A324
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A324:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A32C
-FUN_0204A32C: ; 0x0204A32C
- push {r3-r4, lr}
- sub sp, #0x4
- mov r1, #0x9f
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- mov r1, #0x88
- tst r0, r1
- beq _0204A362
- add r0, r4, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _0204A362
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x9f
- add r2, sp, #0x0
- bl FUN_02067830
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r4, pc}
-_0204A362:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204A368
-FUN_0204A368: ; 0x0204A368
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x54]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _0204A388
- ldr r1, _0204A38C ; =0x000080E2
- mov r0, #0xb
- bl FUN_02016998
- str r0, [r5, #0x54]
- ldr r0, [r5, #0x28]
- ldr r1, [r5, #0x54]
- add r2, r4, #0x0
- bl FUN_0204A3B0
-_0204A388:
- pop {r3-r5, pc}
- nop
-_0204A38C: .word 0x000080E2
-
- thumb_func_start FUN_0204A390
-FUN_0204A390: ; 0x0204A390
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x54]
- cmp r0, #0x0
- beq _0204A3A2
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x54]
-_0204A3A2:
- pop {r4, pc}
-
- thumb_func_start FUN_0204A3A4
-FUN_0204A3A4: ; 0x0204A3A4
- ldrb r0, [r1, r0]
- add r2, r1, #0x0
- add r2, #0xe2
- lsl r0, r0, #0xb
- add r0, r2, r0
- bx lr
-
- thumb_func_start FUN_0204A3B0
-FUN_0204A3B0: ; 0x0204A3B0
- push {r4-r7, lr}
- sub sp, #0x3c
- str r1, [sp, #0x8]
- str r2, [sp, #0xc]
- str r0, [sp, #0x4]
- mov r2, #0x0
- add r1, sp, #0x18
- strb r2, [r1, #0x0]
- bl FUN_020344FC
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0203450C
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _0204A410
- ldr r7, [sp, #0x14]
-_0204A3DA:
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204A402
-_0204A3E0:
- add r0, r5, r7
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_020344D8
- add r1, sp, #0x18
- add r1, #0x2
- add r2, sp, #0x18
- bl FUN_0204A45C
- ldr r1, [sp, #0x8]
- add r5, r5, #0x1
- strb r0, [r1, r4]
- cmp r5, r6
- blt _0204A3E0
-_0204A402:
- ldr r0, [sp, #0x14]
- add r7, r7, r6
- add r1, r0, #0x1
- ldr r0, [sp, #0x10]
- str r1, [sp, #0x14]
- cmp r1, r0
- blt _0204A3DA
-_0204A410:
- mov r0, #0x43
- mov r1, #0xb
- bl FUN_02006670
- add r7, r0, #0x0
- ldr r0, [sp, #0xc]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0204A452
- ldr r0, [sp, #0x8]
- add r4, sp, #0x18
- add r0, #0xe2
- add r4, #0x2
- add r5, r6, #0x0
- str r0, [sp, #0x8]
-_0204A42E:
- ldr r0, [sp, #0x8]
- lsl r1, r5, #0x1
- add r0, r0, r1
- str r0, [sp, #0x0]
- ldrh r1, [r4, #0x0]
- mov r2, #0x10
- add r0, r7, #0x0
- lsl r3, r2, #0x7
- bl FUN_02006814
- mov r0, #0x1
- lsl r0, r0, #0xa
- add r5, r5, r0
- ldr r0, [sp, #0xc]
- add r6, r6, #0x1
- add r4, r4, #0x2
- cmp r6, r0
- blt _0204A42E
-_0204A452:
- add r0, r7, #0x0
- bl FUN_020066F4
- add sp, #0x3c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A45C
-FUN_0204A45C: ; 0x0204A45C
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- ldrb r0, [r7, #0x0]
- add r6, r1, #0x0
- mov r4, #0x0
- cmp r0, #0x0
- bls _0204A482
-_0204A46C:
- lsl r1, r4, #0x1
- ldrh r1, [r6, r1]
- cmp r5, r1
- bne _0204A478
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0204A478:
- add r1, r4, #0x1
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- cmp r4, r0
- blo _0204A46C
-_0204A482:
- cmp r4, #0x10
- blo _0204A48A
- bl ErrorHandling
-_0204A48A:
- lsl r0, r4, #0x1
- strh r5, [r6, r0]
- ldrb r0, [r7, #0x0]
- add r0, r0, #0x1
- strb r0, [r7, #0x0]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A498
-FUN_0204A498: ; 0x0204A498
- cmp r0, r1
- blt _0204A4A0
- sub r0, r0, r1
- bx lr
-_0204A4A0:
- sub r0, r1, r0
- bx lr
-
- thumb_func_start FUN_0204A4A4
-FUN_0204A4A4: ; 0x0204A4A4
- push {r3-r7, lr}
- sub sp, #0x38
- add r4, r2, #0x0
- add r6, r3, #0x0
- add r5, r0, #0x0
- mov r0, #0x0
- str r4, [sp, #0x2c]
- str r6, [sp, #0x34]
- str r0, [sp, #0x10]
- str r0, [sp, #0x30]
- ldr r0, [r5, #0x24]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x28]
- bl FUN_020344FC
- str r0, [sp, #0x24]
- lsl r0, r0, #0x5
- str r0, [sp, #0xc]
- asr r0, r4, #0xf
- lsr r0, r0, #0x10
- add r0, r4, r0
- asr r7, r0, #0x10
- asr r0, r6, #0xf
- lsr r0, r0, #0x10
- add r0, r6, r0
- asr r0, r0, #0x10
- str r0, [sp, #0x1c]
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [sp, #0x1c]
- ldr r2, [r2, #0x0]
- add r0, r7, #0x0
- add r3, sp, #0x28
- bl MOD05_021F4520
- str r0, [sp, #0x20]
- lsr r0, r7, #0x5
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x1c]
- lsr r0, r0, #0x5
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x18]
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- sub r0, r4, r0
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x14]
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- sub r0, r6, r0
- str r0, [sp, #0x34]
- ldr r0, [sp, #0xc]
- mul r0, r1
- ldr r1, [sp, #0xc]
- add r0, r7, r0
- bl MOD05_021EF620
- ldr r2, [sp, #0x14]
- add r1, r0, #0x0
- add r3, r2, #0x0
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x8]
- mul r3, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r3
- bl MOD05_021EF654
- add r1, r0, #0x0
- cmp r1, #0x3
- bls _0204A53C
- mov r4, #0x0
- b _0204A558
-_0204A53C:
- lsl r1, r1, #0x18
- ldr r0, [sp, #0x8]
- lsr r1, r1, #0x18
- bl MOD05_021EF8C8
- add r3, r0, #0x0
- add r0, sp, #0x30
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x34]
- bl MOD05_021F3DA4
- add r4, r0, #0x0
-_0204A558:
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _0204A5A4
- add r0, sp, #0x28
- add r5, #0x9c
- ldrb r0, [r0, #0x0]
- ldr r1, [r5, #0x0]
- bl MOD05_021F4568
- add r5, r0, #0x0
- cmp r4, #0x0
- beq _0204A59E
- ldr r0, [sp, #0x30]
- str r0, [sp, #0x10]
- cmp r5, r0
- bgt _0204A57C
- mov r1, #0x1
- b _0204A5B2
-_0204A57C:
- ldr r1, [sp, #0x4]
- bl FUN_0204A498
- add r4, r0, #0x0
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0204A498
- cmp r4, r0
- bgt _0204A598
- ldr r0, [sp, #0x30]
- mov r1, #0x1
- str r0, [sp, #0x10]
- b _0204A5B2
-_0204A598:
- str r5, [sp, #0x10]
- mov r1, #0x2
- b _0204A5B2
-_0204A59E:
- mov r1, #0x2
- str r5, [sp, #0x10]
- b _0204A5B2
-_0204A5A4:
- cmp r4, #0x0
- beq _0204A5B0
- ldr r0, [sp, #0x30]
- mov r1, #0x1
- str r0, [sp, #0x10]
- b _0204A5B2
-_0204A5B0:
- mov r1, #0x0
-_0204A5B2:
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- beq _0204A5BA
- strb r1, [r0, #0x0]
-_0204A5BA:
- ldr r0, [sp, #0x10]
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A5C0
-FUN_0204A5C0: ; 0x0204A5C0
- push {r3, lr}
- asr r1, r2, #0xf
- lsr r1, r1, #0x10
- add r1, r2, r1
- asr r2, r3, #0xf
- lsr r2, r2, #0x10
- add r2, r3, r2
- ldr r0, [r0, #0x24]
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- mov r3, #0x0
- bl MOD05_021EF844
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- beq _0204A5EE
- cmp r0, #0x0
- beq _0204A5E8
- mov r1, #0x1
- b _0204A5EA
-_0204A5E8:
- mov r1, #0x0
-_0204A5EA:
- ldr r0, [sp, #0x8]
- strb r1, [r0, #0x0]
-_0204A5EE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204A5F4
-FUN_0204A5F4: ; 0x0204A5F4
- push {r3-r7, lr}
- ldr r7, [r0, #0x24]
- add r4, r3, #0x0
- add r0, r7, #0x0
- add r3, sp, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl MOD05_021EF844
- cmp r0, #0x0
- bne _0204A612
- mov r0, #0xff
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204A612:
- add r1, sp, #0x0
- ldrb r1, [r1, #0x0]
- add r0, r7, #0x0
- bl MOD05_021EF8DC
- lsr r2, r5, #0x1f
- lsl r1, r5, #0x1b
- sub r1, r1, r2
- mov r3, #0x1b
- ror r1, r3
- add r1, r2, r1
- lsr r5, r6, #0x1f
- lsl r2, r6, #0x1b
- sub r2, r2, r5
- ror r2, r3
- add r2, r5, r2
- lsl r2, r2, #0x5
- add r1, r1, r2
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A640
-FUN_0204A640: ; 0x0204A640
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x28]
- add r4, r2, #0x0
- add r5, r1, #0x0
- add r7, r3, #0x0
- bl FUN_020344FC
- asr r2, r4, #0x4
- asr r1, r5, #0x4
- lsr r2, r2, #0x1b
- lsr r1, r1, #0x1b
- add r2, r4, r2
- add r1, r5, r1
- asr r2, r2, #0x5
- asr r1, r1, #0x5
- mul r0, r2
- add r0, r1, r0
- ldr r1, [r6, #0x54]
- bl FUN_0204A3A4
- lsr r2, r5, #0x1f
- lsl r1, r5, #0x1b
- sub r1, r1, r2
- mov r3, #0x1b
- ror r1, r3
- add r1, r2, r1
- lsr r5, r4, #0x1f
- lsl r2, r4, #0x1b
- sub r2, r2, r5
- ror r2, r3
- add r2, r5, r2
- lsl r2, r2, #0x5
- add r1, r1, r2
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- strh r0, [r7, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A690
-FUN_0204A690: ; 0x0204A690
- push {r3, lr}
- cmp r1, #0x0
- bne _0204A69C
- ldr r1, _0204A6AC ; =0x020F4708
- str r1, [r0, #0x0]
- pop {r3, pc}
-_0204A69C:
- cmp r1, #0x1
- bne _0204A6A6
- ldr r1, _0204A6B0 ; =0x020F4710
- str r1, [r0, #0x0]
- pop {r3, pc}
-_0204A6A6:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-_0204A6AC: .word 0x020F4708
-_0204A6B0: .word 0x020F4710
-
- thumb_func_start FUN_0204A6B4
-FUN_0204A6B4: ; 0x0204A6B4
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [r0, #0x58]
- add r3, sp, #0x0
- ldr r4, [r4, #0x4]
- blx r4
- cmp r0, #0x0
- beq _0204A6DA
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- asr r0, r0, #0xf
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x1
- and r1, r0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x1
- beq _0204A6DC
-_0204A6DA:
- mov r0, #0x0
-_0204A6DC:
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204A6E0
-FUN_0204A6E0: ; 0x0204A6E0
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [r0, #0x58]
- add r3, sp, #0x0
- ldr r4, [r4, #0x4]
- blx r4
- cmp r0, #0x0
- beq _0204A700
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- add sp, #0x4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r4, pc}
-_0204A700:
- mov r0, #0xff
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A708
-FUN_0204A708: ; 0x0204A708
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- ldr r4, [r0, #0x58]
- ldr r4, [r4, #0x0]
- blx r4
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A71C
-FUN_0204A71C: ; 0x0204A71C
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [sp, #0x10]
- mov r5, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r4, #0x4]
- lsl r2, r2, #0x10
- lsl r5, r5, #0xe
- lsl r3, r3, #0x10
- add r2, r2, r5
- add r3, r3, r5
- bl FUN_0204A708
- ldr r1, [r4, #0x4]
- cmp r0, r1
- bge _0204A744
- mov r4, #0x0
- add r2, r1, #0x0
- mvn r4, r4
- b _0204A754
-_0204A744:
- cmp r0, r1
- ble _0204A750
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r4, #0x1
- b _0204A754
-_0204A750:
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204A754:
- sub r1, r2, r0
- mov r0, #0x5
- lsl r0, r0, #0xe
- cmp r1, r0
- blt _0204A768
- cmp r4, #0x0
- bne _0204A76A
- bl ErrorHandling
- b _0204A76A
-_0204A768:
- mov r4, #0x0
-_0204A76A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A770
-FUN_0204A770: ; 0x0204A770
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, sp, #0x4
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r7, r3, #0x0
- str r6, [sp, #0x0]
- bl FUN_0204A71C
- ldr r1, [sp, #0x20]
- cmp r1, #0x0
- beq _0204A78A
- strb r0, [r1, #0x0]
-_0204A78A:
- cmp r0, #0x0
- bne _0204A7C2
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6B4
- add r6, r0, #0x0
- bne _0204A7BC
- add r0, sp, #0x4
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0204A7BC
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- bl FUN_020548B4
- cmp r0, #0x0
- beq _0204A7BC
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A7BC:
- add sp, #0x8
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204A7C2:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A7C8
-FUN_0204A7C8: ; 0x0204A7C8
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- add r4, r2, #0x0
- add r7, r3, #0x0
- str r6, [sp, #0x0]
- bl FUN_0204A71C
- ldr r1, [sp, #0x28]
- cmp r1, #0x0
- beq _0204A7E4
- strb r0, [r1, #0x0]
-_0204A7E4:
- cmp r0, #0x0
- bne _0204A83A
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- ldr r3, [r3, #0x4]
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0205CE00
- cmp r0, #0x0
- bne _0204A834
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6B4
- str r0, [sp, #0xc]
- cmp r0, #0x0
- bne _0204A82E
- add r0, sp, #0x8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0204A82E
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- bl FUN_020548B4
- cmp r0, #0x0
- beq _0204A82E
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A82E:
- ldr r0, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
-_0204A834:
- ldr r0, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
-_0204A83A:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A840
-FUN_0204A840: ; 0x0204A840
- push {r3-r7, lr}
- add r6, r0, r2
- ldr r0, [sp, #0x18]
- add r4, r1, r3
- add r0, r6, r0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- ldr r5, [sp, #0x20]
- add r7, r4, r0
- cmp r6, #0x0
- blt _0204A864
- cmp r4, #0x0
- blt _0204A864
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- blt _0204A864
- cmp r7, #0x0
- bge _0204A868
-_0204A864:
- bl ErrorHandling
-_0204A868:
- lsl r0, r6, #0x10
- str r0, [r5, #0x0]
- lsl r0, r4, #0x10
- str r0, [r5, #0x4]
- ldr r0, [sp, #0x0]
- lsl r0, r0, #0x10
- str r0, [r5, #0x8]
- lsl r0, r7, #0x10
- str r0, [r5, #0xc]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A87C
-FUN_0204A87C: ; 0x0204A87C
- push {r4-r5, lr}
- sub sp, #0xc
- add r3, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x0
- add r1, r3, #0x0
- bl MOD05_021E7EA0
- ldr r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, [sp, #0x8]
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x8]
- add r2, r2, r1
- str r2, [sp, #0x8]
- ldr r1, [r5, #0x0]
- cmp r1, r0
- bgt _0204A8BC
- ldr r1, [r5, #0x8]
- cmp r0, r1
- bgt _0204A8BC
- ldr r0, [r5, #0x4]
- cmp r0, r2
- bgt _0204A8BC
- ldr r0, [r5, #0xc]
- cmp r2, r0
- bgt _0204A8BC
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r5, pc}
-_0204A8BC:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A8C4
-FUN_0204A8C4: ; 0x0204A8C4
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204A8D4:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl MOD05_021EF604
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [r0, #0x24]
- bl MOD05_021EF824
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_020344FC
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, sp, #0x10
- bl FUN_0204AAD4
- mov r5, #0x0
-_0204A900:
- ldr r0, [sp, #0xc]
- add r1, r5, #0x0
- bl MOD05_021E7ED0
- add r1, r7, #0x0
- add r2, sp, #0x10
- add r4, r0, #0x0
- bl FUN_0204A87C
- cmp r0, #0x0
- beq _0204A92E
- add r0, r4, #0x0
- bl MOD05_021E7EC4
- cmp r0, r6
- bne _0204A92E
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204A928
- str r4, [r0, #0x0]
-_0204A928:
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0204A92E:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x20
- blo _0204A900
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204A8D4
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A94C
-FUN_0204A94C: ; 0x0204A94C
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204A95C:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl MOD05_021EF604
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [r0, #0x24]
- bl MOD05_021EF824
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_020344FC
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r2, sp, #0x10
- bl FUN_0204AAD4
- mov r6, #0x0
-_0204A988:
- ldr r0, [sp, #0xc]
- add r1, r6, #0x0
- bl MOD05_021E7ED0
- ldr r1, [sp, #0x4]
- add r2, sp, #0x10
- add r7, r0, #0x0
- bl FUN_0204A87C
- cmp r0, #0x0
- beq _0204A9D2
- add r0, r7, #0x0
- bl MOD05_021E7EC4
- mov r1, #0x0
- cmp r4, #0x0
- bls _0204A9D2
-_0204A9AA:
- lsl r2, r1, #0x2
- ldr r2, [r5, r2]
- cmp r0, r2
- bne _0204A9C8
- ldr r1, [sp, #0x30]
- cmp r1, #0x0
- beq _0204A9BA
- str r7, [r1, #0x0]
-_0204A9BA:
- ldr r1, [sp, #0x34]
- cmp r1, #0x0
- beq _0204A9C2
- str r0, [r1, #0x0]
-_0204A9C2:
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0204A9C8:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, r4
- blo _0204A9AA
-_0204A9D2:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x20
- blo _0204A988
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204A95C
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A9F0
-FUN_0204A9F0: ; 0x0204A9F0
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r7, #0x0
-_0204A9FE:
- ldr r1, [sp, #0x0]
- add r0, r7, #0x0
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl MOD05_021EF604
- mov r4, #0x0
-_0204AA0C:
- ldr r0, [sp, #0xc]
- add r1, r4, #0x0
- bl MOD05_021E7ED0
- add r6, r0, #0x0
- bl MOD05_021E7EC4
- cmp r0, r5
- bne _0204AA40
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204AA26
- str r6, [r0, #0x0]
-_0204AA26:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _0204AA3A
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, #0x24]
- bl MOD05_021EF824
- ldr r1, [sp, #0x8]
- str r0, [r1, #0x0]
-_0204AA3A:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204AA40:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x20
- blo _0204AA0C
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x4
- blo _0204A9FE
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204AA5C
-FUN_0204AA5C: ; 0x0204AA5C
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204AA6C:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl MOD05_021EF604
- mov r6, #0x0
-_0204AA7A:
- ldr r0, [sp, #0xc]
- add r1, r6, #0x0
- bl MOD05_021E7ED0
- add r7, r0, #0x0
- bl MOD05_021E7EC4
- mov r1, #0x0
- cmp r4, #0x0
- bls _0204AAB6
-_0204AA8E:
- lsl r2, r1, #0x2
- ldr r2, [r5, r2]
- cmp r0, r2
- bne _0204AAAC
- ldr r1, [sp, #0x4]
- cmp r1, #0x0
- beq _0204AA9E
- str r7, [r1, #0x0]
-_0204AA9E:
- ldr r1, [sp, #0x28]
- cmp r1, #0x0
- beq _0204AAA6
- str r0, [r1, #0x0]
-_0204AAA6:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204AAAC:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, r4
- blo _0204AA8E
-_0204AAB6:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x20
- blo _0204AA7A
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204AA6C
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204AAD4
-FUN_0204AAD4: ; 0x0204AAD4
- push {r4-r6, lr}
- add r4, r2, #0x0
- mov r2, #0x1
- lsl r2, r2, #0x14
- str r2, [r4, #0x0]
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r2, [r4, #0x8]
- bl _s32_div_f
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- ldr r0, [r4, #0x0]
- lsl r1, r1, #0x15
- add r0, r0, r1
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x15
- add r0, r1, r0
- str r0, [r4, #0x8]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB0C
-FUN_0204AB0C: ; 0x0204AB0C
- push {r3, lr}
- bl FUN_0200541C
- bl FUN_02004810
- mov r0, #0x0
- bl FUN_0200415C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB20
-FUN_0204AB20: ; 0x0204AB20
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_02034E30
- bl FUN_02034DE8
- strh r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB34
-FUN_0204AB34: ; 0x0204AB34
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DE8
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0204AB44
-FUN_0204AB44: ; 0x0204AB44
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DE8
- mov r1, #0x0
- strh r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB58
-FUN_0204AB58: ; 0x0204AB58
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r4, r1, #0x0
- bl FUN_020553C4
- cmp r0, #0x2
- bne _0204AB6C
- ldr r0, _0204ABA0 ; =0x0000047F
- pop {r3-r5, pc}
-_0204AB6C:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x1
- bne _0204AB7E
- ldr r0, _0204ABA4 ; =0x0000047E
- pop {r3-r5, pc}
-_0204AB7E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204AB34
- cmp r0, #0x0
- beq _0204AB9A
- add r0, r5, #0x0
- bl FUN_0204AB34
- add r4, r0, #0x0
-_0204AB9A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_0204ABA0: .word 0x0000047F
-_0204ABA4: .word 0x0000047E
-
- thumb_func_start FUN_0204ABA8
-FUN_0204ABA8: ; 0x0204ABA8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0204ABBE
- add r0, r4, #0x0
- bl FUN_020347B0
- b _0204ABC4
-_0204ABBE:
- add r0, r4, #0x0
- bl FUN_020347C4
-_0204ABC4:
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_0205EF20
- cmp r0, #0x0
- beq _0204ABD8
- add r6, r0, #0x0
-_0204ABD8:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204ABDC
-FUN_0204ABDC: ; 0x0204ABDC
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r4, r1, #0x0
- add r7, r2, #0x0
- bl FUN_020553C4
- add r6, r0, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- bne _0204ABFC
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0204ABFC:
- add r0, r5, #0x0
- bl FUN_02004124
- cmp r4, r0
- bne _0204AC0C
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0204AC0C:
- bl FUN_02004810
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x10
- add r3, sp, #0xc
- bl FUN_0204ACCC
- cmp r6, #0x1
- beq _0204AC22
- bne _0204AC3A
-_0204AC22:
- mov r0, #0x1e
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004E08
- b _0204AC4C
-_0204AC3A:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004DCC
-_0204AC4C:
- mov r0, #0x1
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204AC54
-FUN_0204AC54: ; 0x0204AC54
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- bne _0204AC6C
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204AC6C:
- add r0, r5, #0x0
- bl FUN_02004124
- cmp r4, r0
- bne _0204AC7C
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204AC7C:
- bl FUN_02004810
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, sp, #0xc
- add r3, sp, #0x8
- bl FUN_0204ACCC
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004DCC
- mov r0, #0x1
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204ACA8
-FUN_0204ACA8: ; 0x0204ACA8
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0204AB58
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204AD44
- bl FUN_0200414C
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0204AC54
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204ACCC
-FUN_0204ACCC: ; 0x0204ACCC
- cmp r1, #0x3
- bhi _0204AD0A
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204ACDC: ; jump table (using 16-bit offset)
- .short _0204ACE4 - _0204ACDC - 2; case 0
- .short _0204ACEE - _0204ACDC - 2; case 1
- .short _0204ACF8 - _0204ACDC - 2; case 2
- .short _0204AD02 - _0204ACDC - 2; case 3
-_0204ACE4:
- mov r0, #0x1e
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
- bx lr
-_0204ACEE:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
- bx lr
-_0204ACF8:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0xf
- str r0, [r3, #0x0]
- bx lr
-_0204AD02:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
-_0204AD0A:
- bx lr
-
- thumb_func_start FUN_0204AD0C
-FUN_0204AD0C: ; 0x0204AD0C
- push {r3-r5, lr}
- mov r1, #0x1
- bl FUN_0206AC74
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, _0204AD38 ; =0x0000044D
- ldr r2, _0204AD3C ; =0x020F4718
- mov r4, #0x0
-_0204AD1E:
- lsl r3, r4, #0x2
- ldrh r1, [r2, r3]
- cmp r5, r1
- bne _0204AD2C
- ldr r0, _0204AD40 ; =0x020F471A
- ldrh r0, [r0, r3]
- pop {r3-r5, pc}
-_0204AD2C:
- add r1, r4, #0x1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r4, #0x4e
- blo _0204AD1E
- pop {r3-r5, pc}
- .balign 4
-_0204AD38: .word 0x0000044D
-_0204AD3C: .word 0x020F4718
-_0204AD40: .word 0x020F471A
-
- thumb_func_start FUN_0204AD44
-FUN_0204AD44: ; 0x0204AD44
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0204AD58
- add r0, r4, #0x0
- bl FUN_020347B0
- pop {r4, pc}
-_0204AD58:
- add r0, r4, #0x0
- bl FUN_020347C4
- pop {r4, pc}
-
- thumb_func_start FUN_0204AD60
-FUN_0204AD60: ; 0x0204AD60
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- beq _0204AD88
- bl FUN_02004124
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204ABA8
- cmp r4, r0
- beq _0204AD88
- mov r0, #0x0
- mov r1, #0x28
- bl FUN_020053CC
-_0204AD88:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204AD8C
-FUN_0204AD8C: ; 0x0204AD8C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- beq _0204ADB8
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- add r4, r0, #0x0
- bl FUN_0200414C
- mov r0, #0x4
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_0200433C
-_0204ADB8:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204ADBC
-FUN_0204ADBC: ; 0x0204ADBC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0204AB58
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- bl FUN_0200414C
- mov r0, #0x4
- add r1, r6, #0x0
- mov r2, #0x1
- bl FUN_0200433C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204ADE0
-FUN_0204ADE0: ; 0x0204ADE0
- mov r3, #0x0
- add r2, r3, #0x0
-_0204ADE4:
- lsl r1, r3, #0x2
- add r1, r0, r1
- strb r2, [r1, #0x6]
- strb r2, [r1, #0x7]
- strb r2, [r1, #0x8]
- strb r2, [r1, #0x9]
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x6
- blo _0204ADE4
- str r2, [r0, #0x0]
- strb r2, [r0, #0x4]
- strb r2, [r0, #0x5]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204AE04
-FUN_0204AE04: ; 0x0204AE04
- push {r4, lr}
- add r4, r0, #0x0
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r1, r2, #0x4
- lsr r1, r1, #0x1b
- add r1, r2, r1
- lsl r0, r0, #0x13
- lsl r1, r1, #0x13
- ldrb r2, [r4, #0x4]
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- cmp r0, r2
- bne _0204AE28
- ldrb r2, [r4, #0x5]
- cmp r1, r2
- beq _0204AE58
-_0204AE28:
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r0, [r2, #0x6]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x7]
- ldr r0, [r4, #0x0]
- mov r1, #0xff
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x8]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x9]
- ldr r0, [r4, #0x0]
- mov r1, #0x6
- add r0, r0, #0x1
- bl _s32_div_f
- str r1, [r4, #0x0]
-_0204AE58:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204AE5C
-FUN_0204AE5C: ; 0x0204AE5C
- push {r4, lr}
- add r4, r0, #0x0
- lsl r0, r1, #0x18
- lsl r1, r2, #0x18
- ldrb r2, [r4, #0x4]
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- cmp r0, r2
- bne _0204AE74
- ldrb r2, [r4, #0x5]
- cmp r1, r2
- beq _0204AEA6
-_0204AE74:
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r0, [r2, #0x6]
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r1, [r2, #0x7]
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r3, [r2, #0x8]
- ldr r2, [r4, #0x0]
- mov r3, #0x1
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r3, [r2, #0x9]
- strb r0, [r4, #0x4]
- strb r1, [r4, #0x5]
- ldr r0, [r4, #0x0]
- mov r1, #0x6
- add r0, r0, #0x1
- bl _s32_div_f
- str r1, [r4, #0x0]
-_0204AEA6:
- pop {r4, pc}
-
- thumb_func_start FUN_0204AEA8
-FUN_0204AEA8: ; 0x0204AEA8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _0204AEC6
- cmp r1, #0x1
- beq _0204AEE6
- b _0204AEF4
-_0204AEC6:
- ldr r0, [r4, #0x8]
- add r1, r5, #0x0
- add r2, r4, #0x4
- bl MOD05_021E3444
- ldr r1, [r4, #0xc]
- mov r0, #0x5
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- bl FUN_0200433C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204AEF4
-_0204AEE6:
- ldr r1, [r4, #0x4]
- cmp r1, #0x1
- bne _0204AEF4
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204AEF4:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204AEF8
-FUN_0204AEF8: ; 0x0204AEF8
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x10
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r5, [r2, #0x8]
- ldr r1, _0204AF20 ; =FUN_0204AEA8
- add r0, r6, #0x0
- str r4, [r2, #0xc]
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_0204AF20: .word FUN_0204AEA8
-
- thumb_func_start FUN_0204AF24
-FUN_0204AF24: ; 0x0204AF24
- push {r3, lr}
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AF36
- mov r0, #0x1
- pop {r3, pc}
-_0204AF36:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AF3C
-FUN_0204AF3C: ; 0x0204AF3C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AF54
- bl ErrorHandling
- pop {r3-r5, pc}
-_0204AF54:
- add r0, r4, #0x0
- bl FUN_02037394
- ldr r1, _0204AF68 ; =FUN_0204AF24
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0204AF68: .word FUN_0204AF24
-
- thumb_func_start FUN_0204AF6C
-FUN_0204AF6C: ; 0x0204AF6C
- push {r3, lr}
- bl FUN_02046528
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0204AF7E
- mov r0, #0x1
- pop {r3, pc}
-_0204AF7E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AF84
-FUN_0204AF84: ; 0x0204AF84
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _0204AF9C
- bl ErrorHandling
- pop {r3-r5, pc}
-_0204AF9C:
- add r0, r4, #0x0
- bl FUN_0204649C
- ldr r1, _0204AFB0 ; =FUN_0204AF6C
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0204AFB0: .word FUN_0204AF6C
-
- thumb_func_start FUN_0204AFB4
-FUN_0204AFB4: ; 0x0204AFB4
- push {r3, lr}
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204AFC2
- mov r0, #0x1
- pop {r3, pc}
-_0204AFC2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AFC8
-FUN_0204AFC8: ; 0x0204AFC8
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AFE2
- bl ErrorHandling
- add sp, #0xc
- pop {r3-r4, pc}
-_0204AFE2:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r1, _0204B008 ; =FUN_0204AFB4
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0204B008: .word FUN_0204AFB4
-
- thumb_func_start FUN_0204B00C
-FUN_0204B00C: ; 0x0204B00C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204B026
- bl ErrorHandling
- add sp, #0xc
- pop {r3-r4, pc}
-_0204B026:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r1, _0204B04C ; =FUN_0204AFB4
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0204B04C: .word FUN_0204AFB4
-
- thumb_func_start FUN_0204B050
-FUN_0204B050: ; 0x0204B050
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204B06A
- cmp r0, #0x1
- beq _0204B078
- cmp r0, #0x2
- beq _0204B086
- b _0204B08A
-_0204B06A:
- add r0, r5, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B08A
-_0204B078:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B08A
-_0204B086:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B08A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B090
-FUN_0204B090: ; 0x0204B090
- ldr r3, _0204B098 ; =FUN_0204640C
- ldr r1, _0204B09C ; =FUN_0204B050
- mov r2, #0x0
- bx r3
- .balign 4
-_0204B098: .word FUN_0204640C
-_0204B09C: .word FUN_0204B050
-
- thumb_func_start FUN_0204B0A0
-FUN_0204B0A0: ; 0x0204B0A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _0204B0C0
- cmp r1, #0x1
- beq _0204B0CE
- cmp r1, #0x2
- beq _0204B0E0
- b _0204B0E4
-_0204B0C0:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B0E4
-_0204B0CE:
- bl MOD05_021E331C
- add r0, r5, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B0E4
-_0204B0E0:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B0E4:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B0E8
-FUN_0204B0E8: ; 0x0204B0E8
- ldr r3, _0204B0F0 ; =FUN_0204640C
- ldr r1, _0204B0F4 ; =FUN_0204B0A0
- mov r2, #0x0
- bx r3
- .balign 4
-_0204B0F0: .word FUN_0204640C
-_0204B0F4: .word FUN_0204B0A0
-
- thumb_func_start FUN_0204B0F8
-FUN_0204B0F8: ; 0x0204B0F8
- push {r4-r5, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023794
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204B12A
- add r0, sp, #0xc
- add r1, sp, #0x0
- bl FUN_0201265C
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0xc
- bl FUN_0204B130
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0xc
- add r3, sp, #0x0
- bl FUN_0204B158
-_0204B12A:
- add sp, #0x1c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B130
-FUN_0204B130: ; 0x0204B130
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r2, #0x0
- bl RTC_ConvertDateToDay
- ldr r1, [r5, #0x20]
- add r4, r0, #0x0
- cmp r4, r1
- bhs _0204B148
- str r4, [r5, #0x20]
- pop {r4-r6, pc}
-_0204B148:
- cmp r4, r1
- bls _0204B156
- add r0, r6, #0x0
- sub r1, r4, r1
- bl FUN_0204B1DC
- str r4, [r5, #0x20]
-_0204B156:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B158
-FUN_0204B158: ; 0x0204B158
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r0, [sp, #0x0]
- add r6, r3, #0x0
- add r5, r1, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl RTC_ConvertDateTimeToSecond
- str r1, [sp, #0x8]
- add r1, r5, #0x0
- add r7, r0, #0x0
- add r0, r5, #0x4
- add r1, #0x14
- bl RTC_ConvertDateTimeToSecond
- add r2, r1, #0x0
- sub r1, r7, r0
- ldr r1, [sp, #0x8]
- sbc r1, r2
- bge _0204B19C
- add r2, r5, #0x4
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r6!, {r0-r1}
- add r5, #0x14
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add sp, #0xc
- str r0, [r5, #0x0]
- pop {r4-r7, pc}
-_0204B19C:
- ldr r1, [sp, #0x8]
- sub r0, r7, r0
- sbc r1, r2
- mov r2, #0x3c
- mov r3, #0x0
- str r1, [sp, #0x8]
- bl _ll_sdiv
- add r7, r0, #0x0
- cmp r7, #0x0
- ble _0204B1D8
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02023884
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0204B270
- add r2, r5, #0x4
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r6!, {r0-r1}
- add r5, #0x14
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- str r0, [r5, #0x0]
-_0204B1D8:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204B1DC
-FUN_0204B1DC: ; 0x0204B1DC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_020377AC
- add r1, r4, #0x0
- bl FUN_02025A60
- add r0, r5, #0x0
- bl FUN_0203959C
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02060344
- ldr r0, [r5, #0xc]
- bl FUN_0202881C
- add r1, r4, #0x0
- bl FUN_02028754
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202881C
- bl FUN_020287A4
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A988
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_02069D50
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- bl FUN_0205F594
- cmp r0, r4
- ble _0204B244
- sub r0, r0, r4
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- b _0204B246
-_0204B244:
- mov r1, #0x0
-_0204B246:
- add r0, r6, #0x0
- bl FUN_0205F5A4
- lsl r1, r4, #0x10
- ldr r0, [r5, #0xc]
- lsr r1, r1, #0x10
- bl FUN_0205F618
- ldr r0, [r5, #0xc]
- bl FUN_0205F668
- ldr r0, [r5, #0xc]
- bl FUN_0206007C
- ldr r0, [r5, #0xc]
- bl FUN_02029AFC
- bl FUN_02029C08
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B270
-FUN_0204B270: ; 0x0204B270
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204B3D0
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_0202A9D0
- add r0, r5, #0x0
- bl FUN_0204B33C
- add r2, r0, #0x0
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02025B60
- ldr r0, [r5, #0xc]
- bl FUN_02022504
- ldr r2, [r6, #0x4]
- add r1, r4, #0x0
- bl FUN_0202B3C4
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B2A4
-FUN_0204B2A4: ; 0x0204B2A4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x14]
- bl FUN_020127A8
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2B4
-FUN_0204B2B4: ; 0x0204B2B4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x8]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2C0
-FUN_0204B2C0: ; 0x0204B2C0
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0xc]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2CC
-FUN_0204B2CC: ; 0x0204B2CC
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x10]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2D8
-FUN_0204B2D8: ; 0x0204B2D8
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x14]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2E4
-FUN_0204B2E4: ; 0x0204B2E4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x18]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2F0
-FUN_0204B2F0: ; 0x0204B2F0
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02023794
- add r3, r0, #0x0
- ldr r2, [r3, #0x24]
- ldr r3, [r3, #0x28]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl RTC_ConvertSecondToDateTime
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B30C
-FUN_0204B30C: ; 0x0204B30C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02023794
- add r3, r0, #0x0
- ldr r2, [r3, #0x2c]
- ldr r3, [r3, #0x30]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl RTC_ConvertSecondToDateTime
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B328
-FUN_0204B328: ; 0x0204B328
- push {r4, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- add r4, r0, #0x0
- bl FUN_020126FC
- str r0, [r4, #0x2c]
- str r1, [r4, #0x30]
- pop {r4, pc}
-
- thumb_func_start FUN_0204B33C
-FUN_0204B33C: ; 0x0204B33C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- bl FUN_02023874
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204B34C
-FUN_0204B34C: ; 0x0204B34C
- cmp r0, #0x0
- bne _0204B354
- mov r0, #0x0
- bx lr
-_0204B354:
- add r0, #0x94
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B35C
-FUN_0204B35C: ; 0x0204B35C
- cmp r0, #0x0
- bne _0204B364
- mov r0, #0x0
- bx lr
-_0204B364:
- sub r0, #0x94
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B36C
-FUN_0204B36C: ; 0x0204B36C
- cmp r0, #0x0
- bne _0204B374
- mov r0, #0x0
- bx lr
-_0204B374:
- add r0, #0x5e
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B37C
-FUN_0204B37C: ; 0x0204B37C
- cmp r0, #0x0
- bne _0204B384
- mov r0, #0x0
- bx lr
-_0204B384:
- sub r0, #0x5e
- bx lr
-
- thumb_func_start FUN_0204B388
-FUN_0204B388: ; 0x0204B388
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x64
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x64
- bl MI_CpuFill8
- str r6, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_02025128
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B410
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B3B8
-FUN_0204B3B8: ; 0x0204B3B8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204B444
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204B3D0
-FUN_0204B3D0: ; 0x0204B3D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- add r6, r1, #0x0
- cmp r0, #0x0
- bne _0204B3FA
- mov r0, #0xb
- bl FUN_02025128
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02024ECC
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020253E0
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
-_0204B3FA:
- ldr r0, [r0, #0x18]
- ldr r5, [r0, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_02024ECC
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020253E0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B410
-FUN_0204B410: ; 0x0204B410
- push {r3-r5, lr}
- ldr r4, [r0, #0x3c]
- add r5, r1, #0x0
- add r0, r4, #0x0
- mov r1, #0x11
- bl MOD05_021E4C54
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02016998
- str r0, [r5, #0x60]
- ldr r2, [r5, #0x60]
- add r0, r4, #0x0
- mov r1, #0x11
- bl MOD05_021E4C60
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r5, #0x60
- add r0, #0x8
- add r1, #0x5c
- add r2, r5, #0x0
- bl FUN_0201B234
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B444
-FUN_0204B444: ; 0x0204B444
- ldr r3, _0204B44C ; =MOD05_021E4C00
- ldr r0, [r0, #0x60]
- bx r3
- nop
-_0204B44C: .word MOD05_021E4C00
-
- thumb_func_start FUN_0204B450
-FUN_0204B450: ; 0x0204B450
- push {r3-r5, lr}
- sub sp, #0x30
- ldr r3, _0204B48C ; =0x020F4860
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x24
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- add r0, sp, #0x0
- bl MTX_Identity33_
- ldr r0, [r5, #0x4]
- add r1, r4, #0x0
- ldr r0, [r0, #0x18]
- add r2, sp, #0x0
- ldr r0, [r0, #0x5c]
- add r3, sp, #0x24
- bl FUN_0201B6D0
- cmp r0, #0x0
- beq _0204B484
- add sp, #0x30
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B484:
- mov r0, #0x0
- add sp, #0x30
- pop {r3-r5, pc}
- nop
-_0204B48C: .word 0x020F4860
-
- thumb_func_start FUN_0204B490
-FUN_0204B490: ; 0x0204B490
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02024ECC
- add r4, r0, #0x0
- ldr r0, [r5, #0x34]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- bne _0204B4F8
- mov r6, #0x0
- mov r7, #0x1
-_0204B4B6:
- ldr r0, [sp, #0x0]
- bl FUN_02058458
- bl FUN_0205C334
- cmp r0, #0x1
- bne _0204B4E8
- ldr r0, [sp, #0x0]
- bl FUN_02058B7C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B450
- cmp r0, #0x0
- beq _0204B4E8
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, r7, #0x0
- bl FUN_020252C4
-_0204B4E8:
- ldr r0, [r5, #0x34]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _0204B4B6
-_0204B4F8:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204B4FC
-FUN_0204B4FC: ; 0x0204B4FC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r7, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_02058510
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02025244
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020252E8
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0204B34C
- str r0, [sp, #0x8]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02025268
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- lsl r3, r6, #0x10
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x10
- bl FUN_020616A4
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020252F4
- add r0, r7, #0x0
- bl FUN_0205C374
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0204B34C
- lsl r2, r6, #0x10
- add r1, r0, #0x0
- add r0, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x4
- bl FUN_0206ED38
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B57C
-FUN_0204B57C: ; 0x0204B57C
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- add r5, r2, #0x0
- bl FUN_02024ECC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B37C
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020252DC
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5A8
-FUN_0204B5A8: ; 0x0204B5A8
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02024ECC
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204B35C
- ldr r2, [r4, #0x4]
- add r3, r0, #0x0
- ldr r2, [r2, #0x18]
- add r0, r7, #0x0
- ldr r2, [r2, #0x4]
- add r1, r5, #0x0
- bl FUN_02025274
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5DC
-FUN_0204B5DC: ; 0x0204B5DC
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252AC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5FC
-FUN_0204B5FC: ; 0x0204B5FC
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025238
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B61C
-FUN_0204B61C: ; 0x0204B61C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025244
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B63C
-FUN_0204B63C: ; 0x0204B63C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025244
- bl FUN_0204B34C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B660
-FUN_0204B660: ; 0x0204B660
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252D0
- bl FUN_0204B36C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B684
-FUN_0204B684: ; 0x0204B684
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202524C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B6A4
-FUN_0204B6A4: ; 0x0204B6A4
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252E8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B6C4
-FUN_0204B6C4: ; 0x0204B6C4
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- ldr r4, _0204B708 ; =0x00000000
- beq _0204B6D8
- add r0, r5, #0x0
- bl FUN_02058458
- cmp r0, #0x64
- beq _0204B6DC
-_0204B6D8:
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204B6DC:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0204B5FC
- cmp r0, #0x0
- bne _0204B6FE
- mov r0, #0x1
- orr r4, r0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0204B660
- cmp r0, #0x0
- bne _0204B702
- mov r0, #0x2
- orr r4, r0
- b _0204B702
-_0204B6FE:
- mov r0, #0x4
- orr r4, r0
-_0204B702:
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_0204B708: .word 0x00000000
-
- thumb_func_start FUN_0204B70C
-FUN_0204B70C: ; 0x0204B70C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [r7, #0x38]
- add r5, r2, #0x0
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r7, #0x38]
- bl FUN_0205532C
- add r4, r0, #0x0
- cmp r5, #0x2
- bne _0204B72A
- sub r6, r6, #0x1
- b _0204B746
-_0204B72A:
- cmp r5, #0x3
- bne _0204B732
- add r6, r6, #0x1
- b _0204B746
-_0204B732:
- cmp r5, #0x0
- bne _0204B73A
- sub r4, r4, #0x1
- b _0204B746
-_0204B73A:
- cmp r5, #0x1
- bne _0204B742
- add r4, r4, #0x1
- b _0204B746
-_0204B742:
- bl ErrorHandling
-_0204B746:
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204A6B4
- cmp r0, #0x0
- beq _0204B758
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204B758:
- ldr r0, [r7, #0x34]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02058D74
- cmp r0, #0x0
- beq _0204B76A
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204B76A:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B770
-FUN_0204B770: ; 0x0204B770
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r6, r1, #0x0
- bl FUN_02055320
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- cmp r6, #0x2
- bne _0204B78E
- sub r4, r4, #0x1
- b _0204B794
-_0204B78E:
- cmp r6, #0x3
- bne _0204B794
- add r4, r4, #0x1
-_0204B794:
- ldr r0, [r5, #0x34]
- add r1, r4, #0x0
- sub r2, r2, #0x1
- bl FUN_02058D74
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B7A0
-FUN_0204B7A0: ; 0x0204B7A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r6, r1, #0x0
- bl FUN_02055320
- add r7, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r4, r0, #0x0
- ldr r0, [r6, #0x4]
- cmp r0, #0x0
- bne _0204B7C0
- sub r4, r4, #0x1
- b _0204B7CC
-_0204B7C0:
- cmp r0, #0x1
- bne _0204B7C8
- add r4, r4, #0x1
- b _0204B7CC
-_0204B7C8:
- bl ErrorHandling
-_0204B7CC:
- ldr r0, [r5, #0x34]
- add r1, r7, #0x0
- add r2, r4, #0x0
- bl FUN_02058D74
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204B7D8
-FUN_0204B7D8: ; 0x0204B7D8
- push {r3, lr}
- bl FUN_02058458
- cmp r0, #0x64
- bne _0204B7E6
- mov r0, #0x1
- pop {r3, pc}
-_0204B7E6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204B7EC
-FUN_0204B7EC: ; 0x0204B7EC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204B7A0
- add r1, r0, #0x0
- beq _0204B7FE
- add r0, r4, #0x0
- bl FUN_0204B5DC
-_0204B7FE:
- pop {r4, pc}
-
- thumb_func_start FUN_0204B800
-FUN_0204B800: ; 0x0204B800
- push {r3-r5, lr}
- ldr r0, [r0, #0x38]
- add r4, r2, #0x0
- add r5, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_0205AEA4
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B818
-FUN_0204B818: ; 0x0204B818
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- bls _0204B832
- b _0204B98E
-_0204B832:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204B83E: ; jump table (using 16-bit offset)
- .short _0204B848 - _0204B83E - 2; case 0
- .short _0204B866 - _0204B83E - 2; case 1
- .short _0204B876 - _0204B83E - 2; case 2
- .short _0204B93A - _0204B83E - 2; case 3
- .short _0204B972 - _0204B83E - 2; case 4
-_0204B848:
- ldr r0, [r5, #0x38]
- mov r1, #0x10
- bl MOD05_021E5FD8
- ldr r0, [r5, #0x38]
- bl MOD05_021E5FE0
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B866:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B7EC
- mov r0, #0x0
- str r0, [r4, #0x8]
- mov r0, #0x2
- str r0, [r4, #0x0]
-_0204B876:
- ldr r0, _0204B994 ; =0x021C48B8
- mov r1, #0x20
- ldr r0, [r0, #0x44]
- tst r1, r0
- beq _0204B8B8
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0204B770
- cmp r0, #0x0
- beq _0204B894
- bl FUN_0204B7D8
- cmp r0, #0x0
- bne _0204B89A
-_0204B894:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B89A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_0204B70C
- cmp r0, #0x0
- bne _0204B922
- ldr r2, _0204B998 ; =0x020F4850
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B800
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8B8:
- mov r1, #0x10
- tst r1, r0
- beq _0204B8F6
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0204B770
- cmp r0, #0x0
- beq _0204B8D2
- bl FUN_0204B7D8
- cmp r0, #0x0
- bne _0204B8D8
-_0204B8D2:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8D8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x3
- bl FUN_0204B70C
- cmp r0, #0x0
- bne _0204B922
- ldr r2, _0204B99C ; =0x020F4858
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B800
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8F6:
- mov r1, #0x40
- tst r1, r0
- beq _0204B910
- ldr r1, [r4, #0x4]
- cmp r1, #0x1
- bne _0204B910
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B910:
- mov r1, #0x80
- tst r0, r1
- beq _0204B922
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _0204B922
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B922:
- ldr r0, [r4, #0x8]
- add r0, r0, #0x1
- str r0, [r4, #0x8]
- cmp r0, #0x5a
- ble _0204B98E
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B93A:
- ldr r0, [r4, #0xc]
- bl FUN_0205AEF0
- cmp r0, #0x0
- beq _0204B98E
- ldr r0, [r4, #0xc]
- bl FUN_0205AEFC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B7A0
- cmp r0, #0x0
- beq _0204B964
- bl FUN_0204B7D8
- cmp r0, #0x0
- beq _0204B964
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B964:
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B972:
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- bl FUN_02058908
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B98E:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0204B994: .word 0x021C48B8
-_0204B998: .word 0x020F4850
-_0204B99C: .word 0x020F4858
-
- thumb_func_start FUN_0204B9A0
-FUN_0204B9A0: ; 0x0204B9A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x10]
- ldr r1, _0204B9C8 ; =FUN_0204B818
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- .balign 4
-_0204B9C8: .word FUN_0204B818
-
- thumb_func_start FUN_0204B9CC
-FUN_0204B9CC: ; 0x0204B9CC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_020553C4
- bl FUN_02055648
- add r1, r0, #0x0
- ldr r0, [r4, #0x38]
- bl MOD05_021E5FD8
- ldr r0, [r4, #0x38]
- bl MOD05_021E5FE0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204B9EC
-FUN_0204B9EC: ; 0x0204B9EC
- push {r4, lr}
- ldr r1, _0204BA14 ; =0x021C5A1C
- add r4, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4c
- bl MIi_CpuClearFast
- ldr r1, _0204BA14 ; =0x021C5A1C
- add r0, r4, #0x0
- bl FUN_0204BB20
- ldr r0, _0204BA14 ; =0x021C5A1C
- bl FUN_0204BBC4
- bl FUN_020126FC
- ldr r2, _0204BA18 ; =0x021C5A1C
- str r0, [r2, #0x40]
- str r1, [r2, #0x44]
- pop {r4, pc}
- .balign 4
-_0204BA14: .word 0x021C5A1C
-_0204BA18: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA1C
-FUN_0204BA1C: ; 0x0204BA1C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- ldr r4, _0204BA60 ; =0x021C5A1C
- bl FUN_02029FC8
- add r5, r0, #0x0
- bl FUN_020126FC
- add r3, r1, #0x0
- ldr r1, _0204BA64 ; =0x021C5A1C
- add r2, r0, #0x0
- ldr r0, [r1, #0x40]
- ldr r1, [r1, #0x44]
- bl FUN_020127C0
- mov r2, #0xfa
- mov r3, #0x0
- lsl r2, r2, #0x2
- sub r2, r0, r2
- sbc r1, r3
- bge _0204BA50
- mov r1, #0xfa
- lsl r1, r1, #0x2
- sub r0, r1, r0
- lsl r0, r0, #0x1
- b _0204BA52
-_0204BA50:
- mov r0, #0x0
-_0204BA52:
- str r0, [r4, #0x48]
- add r0, r5, #0x0
- mov r1, #0x11
- bl FUN_0202A170
- pop {r3-r5, pc}
- nop
-_0204BA60: .word 0x021C5A1C
-_0204BA64: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA68
-FUN_0204BA68: ; 0x0204BA68
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204BA8C ; =0x021C5A1C
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204BBE8
- cmp r0, #0x1
- bne _0204BA88
- ldr r1, _0204BA8C ; =0x021C5A1C
- add r0, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0204BC48
- pop {r4-r6, pc}
-_0204BA88:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0204BA8C: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA90
-FUN_0204BA90: ; 0x0204BA90
- ldr r3, _0204BA98 ; =FUN_0204BD40
- ldr r1, _0204BA9C ; =0x021C5A1C
- bx r3
- nop
-_0204BA98: .word FUN_0204BD40
-_0204BA9C: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAA0
-FUN_0204BAA0: ; 0x0204BAA0
- ldr r3, _0204BAA8 ; =FUN_0204BD18
- ldr r2, _0204BAAC ; =0x021C5A1C
- bx r3
- nop
-_0204BAA8: .word FUN_0204BD18
-_0204BAAC: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAB0
-FUN_0204BAB0: ; 0x0204BAB0
- push {r3, lr}
- ldr r0, _0204BAC0 ; =0x021C5A1C
- bl FUN_0204BBA8
- mov r1, #0x6
- sub r0, r1, r0
- pop {r3, pc}
- nop
-_0204BAC0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAC4
-FUN_0204BAC4: ; 0x0204BAC4
- ldr r3, _0204BACC ; =FUN_0204BD8C
- ldr r0, _0204BAD0 ; =0x021C5A1C
- bx r3
- nop
-_0204BACC: .word FUN_0204BD8C
-_0204BAD0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAD4
-FUN_0204BAD4: ; 0x0204BAD4
- ldr r3, _0204BADC ; =FUN_0204BE10
- ldr r0, _0204BAE0 ; =0x021C5A1C
- bx r3
- nop
-_0204BADC: .word FUN_0204BE10
-_0204BAE0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAE4
-FUN_0204BAE4: ; 0x0204BAE4
- ldr r3, _0204BAEC ; =FUN_0204BDA0
- ldr r0, _0204BAF0 ; =0x021C5A1C
- bx r3
- nop
-_0204BAEC: .word FUN_0204BDA0
-_0204BAF0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAF4
-FUN_0204BAF4: ; 0x0204BAF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- beq _0204BB04
- ldr r0, _0204BB1C ; =0x000001ED
- cmp r5, r0
- bls _0204BB08
-_0204BB04:
- bl ErrorHandling
-_0204BB08:
- mov r3, #0x6
- add r0, r4, #0x0
- sub r4, r5, #0x1
- str r3, [sp, #0x0]
- mov r1, #0x83
- mov r2, #0x0
- mul r3, r4
- bl FUN_02006548
- pop {r3-r5, pc}
- .balign 4
-_0204BB1C: .word 0x000001ED
-
- thumb_func_start FUN_0204BB20
-FUN_0204BB20: ; 0x0204BB20
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- bl FUN_02022528
- str r0, [sp, #0x4]
- mov r0, #0x4
- bl FUN_020669C0
- ldr r5, [sp, #0x0]
- add r4, r0, #0x0
- mov r6, #0x0
- add r7, sp, #0x8
-_0204BB3C:
- ldr r0, [sp, #0x0]
- add r2, r4, #0x0
- add r1, r0, r6
- add r1, #0x30
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_0202BFD8
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- strh r0, [r5, #0x0]
- add r1, sp, #0x8
- bl FUN_0204BAF4
- ldrb r0, [r7, #0x0]
- cmp r0, #0x0
- beq _0204BB6E
- b _0204BB72
-_0204BB6E:
- ldrb r0, [r7, #0x1]
- add r0, r0, #0x4
-_0204BB72:
- strb r0, [r5, #0x2]
- ldrb r0, [r7, #0x3]
- mov r1, #0xb0
- mov r2, #0x0
- strb r0, [r5, #0x3]
- ldrb r0, [r7, #0x2]
- strh r0, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x6]
- add r0, r4, #0x0
- mov r1, #0xb1
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x7]
- add r6, r6, #0x1
- add r5, #0x8
- cmp r6, #0x6
- blt _0204BB3C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204BBA8
-FUN_0204BBA8: ; 0x0204BBA8
- mov r3, #0x0
- add r2, r3, #0x0
-_0204BBAC:
- add r1, r0, r2
- add r1, #0x30
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204BBB8
- add r3, r3, #0x1
-_0204BBB8:
- add r2, r2, #0x1
- cmp r2, #0x6
- blt _0204BBAC
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BBC4
-FUN_0204BBC4: ; 0x0204BBC4
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl rand_LC
- ldr r1, _0204BBE4 ; =0x0000199A
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0xa
- blo _0204BBDE
- bl ErrorHandling
-_0204BBDE:
- add r0, r5, #0x5
- str r0, [r4, #0x38]
- pop {r3-r5, pc}
- .balign 4
-_0204BBE4: .word 0x0000199A
-
- thumb_func_start FUN_0204BBE8
-FUN_0204BBE8: ; 0x0204BBE8
- push {r3, lr}
- ldr r1, [r0, #0x38]
- sub r1, r1, #0x1
- str r1, [r0, #0x38]
- bne _0204BBFA
- bl FUN_0204BBC4
- mov r0, #0x1
- pop {r3, pc}
-_0204BBFA:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204BC00
-FUN_0204BC00: ; 0x0204BC00
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204A6E0
- add r4, r0, #0x0
- cmp r5, #0x20
- blt _0204BC14
- mov r5, #0x1
- b _0204BC16
-_0204BC14:
- mov r5, #0x0
-_0204BC16:
- cmp r6, #0x20
- bge _0204BC1E
- mov r0, #0x0
- b _0204BC20
-_0204BC1E:
- mov r0, #0x2
-_0204BC20:
- add r5, r5, r0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205478C
- cmp r0, #0x0
- beq _0204BC32
- add r0, r5, #0x1
- pop {r4-r6, pc}
-_0204BC32:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205481C
- cmp r0, #0x0
- beq _0204BC42
- add r0, r5, #0x5
- pop {r4-r6, pc}
-_0204BC42:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204BC48
-FUN_0204BC48: ; 0x0204BC48
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- mov r6, #0x0
- bl FUN_0204BC00
- add r7, r0, #0x0
- bne _0204BC5E
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204BC5E:
- add r0, r6, #0x0
- add r1, r5, #0x0
-_0204BC62:
- add r2, r5, r0
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0204BC76
- ldrb r2, [r1, #0x2]
- cmp r7, r2
- bne _0204BC76
- ldrb r2, [r1, #0x3]
- add r6, r6, r2
-_0204BC76:
- add r0, r0, #0x1
- add r1, #0x8
- cmp r0, #0x6
- blt _0204BC62
- cmp r6, #0x0
- bne _0204BC86
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204BC86:
- add r0, r6, #0x0
- add r0, #0x14
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _0204BC94
- bl ErrorHandling
-_0204BC94:
- add r0, r6, #0x0
- add r0, #0x14
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x1
- bhi _0204BCA4
- mov r4, #0x0
- b _0204BCD8
-_0204BCA4:
- bl rand_LC
- add r1, r6, #0x0
- add r1, #0x14
- add r4, r0, #0x0
- lsl r1, r1, #0x10
- ldr r0, _0204BD14 ; =0x0000FFFF
- lsr r1, r1, #0x10
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- add r6, #0x14
- lsr r4, r0, #0x10
- lsl r0, r6, #0x10
- lsr r0, r0, #0x10
- cmp r4, r0
- blo _0204BCD8
- bl ErrorHandling
-_0204BCD8:
- cmp r4, #0x14
- bge _0204BCE0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204BCE0:
- sub r4, #0x14
- mov r1, #0x0
- add r0, r5, #0x0
-_0204BCE6:
- add r2, r5, r1
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0204BD04
- ldrb r2, [r0, #0x2]
- cmp r7, r2
- bne _0204BD04
- ldrb r2, [r0, #0x3]
- cmp r4, r2
- bge _0204BD02
- str r1, [r5, #0x3c]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204BD02:
- sub r4, r4, r2
-_0204BD04:
- add r1, r1, #0x1
- add r0, #0x8
- cmp r1, #0x6
- blt _0204BCE6
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204BD14: .word 0x0000FFFF
-
- thumb_func_start FUN_0204BD18
-FUN_0204BD18: ; 0x0204BD18
- push {r4, lr}
- ldr r0, [r1, #0x14]
- add r4, r2, #0x0
- cmp r0, #0x4
- beq _0204BD28
- cmp r0, #0x5
- beq _0204BD3E
- b _0204BD3A
-_0204BD28:
- add r0, r4, #0x0
- bl FUN_0204BBA8
- add r1, r0, #0x1
- ldr r0, [r4, #0x3c]
- add r0, r4, r0
- add r0, #0x30
- strb r1, [r0, #0x0]
- pop {r4, pc}
-_0204BD3A:
- bl ErrorHandling
-_0204BD3E:
- pop {r4, pc}
-
- thumb_func_start FUN_0204BD40
-FUN_0204BD40: ; 0x0204BD40
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- add r6, r1, #0x0
- bl FUN_020669C0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02022528
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204BAB0
- add r1, r0, #0x0
- mov r0, #0xb
- bl FUN_02047800
- add r1, r5, #0x0
- add r7, r0, #0x0
- bl FUN_02047BB0
- ldr r0, [sp, #0x0]
- ldr r1, [r6, #0x3c]
- add r2, r4, #0x0
- bl FUN_0202BFD8
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020479FC
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204BD8C
-FUN_0204BD8C: ; 0x0204BD8C
- mov r3, #0x0
- add r2, r3, #0x0
-_0204BD90:
- ldrh r1, [r0, #0x4]
- add r2, r2, #0x1
- add r0, #0x8
- add r3, r3, r1
- cmp r2, #0x6
- blt _0204BD90
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_0204BDA0
-FUN_0204BDA0: ; 0x0204BDA0
- push {r4-r7}
- mov r3, #0x0
- add r5, r0, #0x0
- add r4, r3, #0x0
- mov r0, #0x1
-_0204BDAA:
- mov r1, #0x0
-_0204BDAC:
- add r2, r5, r1
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r0, r2
- bne _0204BDEC
- lsl r1, r1, #0x3
- add r2, r5, r1
- ldrb r1, [r2, #0x6]
- ldrb r2, [r2, #0x7]
- cmp r0, #0x1
- beq _0204BDD8
- mov r6, r12
- cmp r6, r1
- beq _0204BDD8
- mov r6, r12
- cmp r6, r2
- beq _0204BDD8
- cmp r7, r1
- beq _0204BDD8
- cmp r7, r2
- beq _0204BDD8
- add r4, #0xc8
-_0204BDD8:
- mov r6, #0x1
- mov r12, r1
- lsl r6, r1
- add r1, r3, #0x0
- mov r3, #0x1
- lsl r3, r2
- orr r1, r6
- add r7, r2, #0x0
- orr r3, r1
- b _0204BDF2
-_0204BDEC:
- add r1, r1, #0x1
- cmp r1, #0x6
- blt _0204BDAC
-_0204BDF2:
- add r0, r0, #0x1
- cmp r0, #0x7
- blt _0204BDAA
- cmp r3, #0x0
- beq _0204BE0A
- mov r0, #0x1
-_0204BDFE:
- add r1, r3, #0x0
- tst r1, r0
- beq _0204BE06
- add r4, #0x32
-_0204BE06:
- lsr r3, r3, #0x1
- bne _0204BDFE
-_0204BE0A:
- add r0, r4, #0x0
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0204BE10
-FUN_0204BE10: ; 0x0204BE10
- ldr r0, [r0, #0x48]
- bx lr
-
- thumb_func_start FUN_0204BE14
-FUN_0204BE14: ; 0x0204BE14
- mov r0, #0xe8
- bx lr
-
- thumb_func_start FUN_0204BE18
-FUN_0204BE18: ; 0x0204BE18
- push {r3-r5, lr}
- mov r2, #0x0
- add r3, r2, #0x0
-_0204BE1E:
- add r1, r0, r2
- add r2, r2, #0x1
- strb r3, [r1, #0x3]
- cmp r2, #0x20
- blt _0204BE1E
- strb r3, [r0, #0x1]
- strb r3, [r0, #0x2]
- ldrb r1, [r0, #0x0]
- mov r2, #0x1
- bic r1, r2
- strb r1, [r0, #0x0]
- ldrb r4, [r0, #0x0]
- mov r1, #0x38
- bic r4, r1
- strb r4, [r0, #0x0]
- ldrb r4, [r0, #0x0]
- mov r1, #0x2
- bic r4, r1
- strb r4, [r0, #0x0]
- str r3, [r0, #0x24]
- ldrh r1, [r0, #0x28]
- bic r1, r2
- strh r1, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- mov r1, #0x3e
- bic r2, r1
- strh r2, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- ldr r1, _0204BEB0 ; =0xFFFFF03F
- and r1, r2
- strh r1, [r0, #0x28]
- add r1, r0, #0x0
- mov r2, #0x1
- add r1, #0xa8
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xa4
- str r3, [r1, #0x0]
- ldr r1, _0204BEB4 ; =0x020F486C
- add r2, r0, #0x0
-_0204BE6E:
- ldrb r5, [r1, #0x0]
- add r4, r2, #0x0
- add r4, #0xa9
- strb r5, [r4, #0x0]
- add r4, r2, #0x0
- ldrb r5, [r1, #0x1]
- add r4, #0xaa
- add r3, r3, #0x1
- strb r5, [r4, #0x0]
- add r1, r1, #0x2
- add r2, r2, #0x2
- cmp r3, #0x6
- blt _0204BE6E
- mov r4, #0x0
- add r3, r0, #0x0
- add r1, r4, #0x0
-_0204BE8E:
- add r2, r3, #0x0
- add r2, #0xb6
- strh r1, [r2, #0x0]
- add r2, r3, #0x0
- add r2, #0xb8
- add r4, r4, #0x1
- add r3, r3, #0x4
- strh r1, [r2, #0x0]
- cmp r4, #0xc
- blt _0204BE8E
- ldrb r3, [r0, #0x0]
- mov r2, #0x4
- bic r3, r2
- strb r3, [r0, #0x0]
- bl FUN_0204BED8
- pop {r3-r5, pc}
- .balign 4
-_0204BEB0: .word 0xFFFFF03F
-_0204BEB4: .word 0x020F486C
-
- thumb_func_start FUN_0204BEB8
-FUN_0204BEB8: ; 0x0204BEB8
- ldrb r2, [r0, #0x0]
- mov r1, #0x1
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BEC8
-FUN_0204BEC8: ; 0x0204BEC8
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204BED0
-FUN_0204BED0: ; 0x0204BED0
- add r0, r0, r1
- ldrb r0, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BED8
-FUN_0204BED8: ; 0x0204BED8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bmi _0204BEE4
- cmp r4, #0x19
- blt _0204BEE8
-_0204BEE4:
- bl ErrorHandling
-_0204BEE8:
- mov r0, #0x1
- ldrsb r1, [r5, r0]
- cmp r1, #0x19
- bge _0204BF10
- add r2, r5, #0x3
- ldrb r1, [r2, r4]
- cmp r1, #0x0
- bne _0204BF10
- strb r0, [r2, r4]
- ldrsb r0, [r5, r0]
- add r0, r0, #0x1
- strb r0, [r5, #0x1]
- cmp r4, #0x3
- bne _0204BF0C
- ldrb r1, [r5, #0x0]
- mov r0, #0x2
- orr r0, r1
- strb r0, [r5, #0x0]
-_0204BF0C:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204BF10:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204BF14
-FUN_0204BF14: ; 0x0204BF14
- mov r1, #0x2
- ldrsb r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BF1C
-FUN_0204BF1C: ; 0x0204BF1C
- push {r3-r4}
- mov r1, #0x2
- ldrsb r3, [r0, r1]
- mov r2, #0x0
- add r4, r3, #0x0
-_0204BF26:
- add r3, r3, #0x1
- cmp r3, #0x19
- blt _0204BF2E
- add r3, r2, #0x0
-_0204BF2E:
- cmp r3, r4
- beq _0204BF3A
- add r1, r0, r3
- ldrb r1, [r1, #0x3]
- cmp r1, #0x0
- beq _0204BF26
-_0204BF3A:
- mov r1, #0x2
- strb r3, [r0, #0x2]
- ldrsb r0, [r0, r1]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0204BF44
-FUN_0204BF44: ; 0x0204BF44
- push {r4, lr}
- add r4, r0, #0x0
- bne _0204BF4E
- bl ErrorHandling
-_0204BF4E:
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1d
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204BF58
-FUN_0204BF58: ; 0x0204BF58
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0204BF66
- bl ErrorHandling
-_0204BF66:
- cmp r4, #0x8
- blo _0204BF6E
- bl ErrorHandling
-_0204BF6E:
- ldrb r1, [r5, #0x0]
- mov r0, #0x38
- bic r1, r0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1a
- orr r0, r1
- strb r0, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204BF84
-FUN_0204BF84: ; 0x0204BF84
- ldr r0, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_0204BF88
-FUN_0204BF88: ; 0x0204BF88
- ldrb r2, [r0, #0x0]
- lsl r2, r2, #0x1e
- lsr r2, r2, #0x1f
- beq _0204BF92
- str r1, [r0, #0x24]
-_0204BF92:
- bx lr
-
- thumb_func_start FUN_0204BF94
-FUN_0204BF94: ; 0x0204BF94
- ldrh r0, [r0, #0x28]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204BF9C
-FUN_0204BF9C: ; 0x0204BF9C
- ldrh r3, [r0, #0x28]
- lsl r3, r3, #0x1a
- lsr r3, r3, #0x1b
- str r3, [r1, #0x0]
- ldrh r0, [r0, #0x28]
- lsl r0, r0, #0x14
- lsr r0, r0, #0x1a
- str r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BFB0
-FUN_0204BFB0: ; 0x0204BFB0
- push {r4-r5}
- ldrh r4, [r0, #0x28]
- mov r5, #0x1
- lsl r1, r1, #0x10
- bic r4, r5
- lsr r5, r1, #0x10
- mov r1, #0x1
- and r1, r5
- orr r1, r4
- strh r1, [r0, #0x28]
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- lsl r2, r2, #0x1b
- ldrh r1, [r0, #0x28]
- mov r4, #0x3e
- lsr r2, r2, #0x1a
- bic r1, r4
- orr r1, r2
- strh r1, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- ldr r1, _0204BFEC ; =0xFFFFF03F
- and r2, r1
- lsl r1, r3, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x14
- orr r1, r2
- strh r1, [r0, #0x28]
- pop {r4-r5}
- bx lr
- .balign 4
-_0204BFEC: .word 0xFFFFF03F
-
- thumb_func_start FUN_0204BFF0
-FUN_0204BFF0: ; 0x0204BFF0
- push {r3-r4}
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C016
- add r1, r0, #0x0
- add r1, #0xa4
- ldr r4, [r1, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- add r1, r4, #0x0
- orr r1, r2
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0204C016:
- add r3, r0, #0x0
- add r3, #0xa8
- strb r1, [r3, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- add r0, #0xa4
- str r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0204C02C
-FUN_0204C02C: ; 0x0204C02C
- push {r3-r4}
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C052
- add r1, r0, #0x0
- add r1, #0xa4
- ldr r4, [r1, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- mvn r1, r2
- and r1, r4
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0204C052:
- add r2, r0, #0x0
- add r2, #0xa8
- strb r1, [r2, #0x0]
- mov r1, #0x0
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204C064
-FUN_0204C064: ; 0x0204C064
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C07C
- add r0, #0xa4
- ldr r1, [r0, #0x0]
- sub r0, r2, #0x1
- lsr r1, r0
- mov r0, #0x1
- and r0, r1
- bx lr
-_0204C07C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204C080
-FUN_0204C080: ; 0x0204C080
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x6
- blt _0204C092
- bl ErrorHandling
-_0204C092:
- lsl r1, r4, #0x1
- add r0, r5, r1
- add r0, #0xa9
- strb r6, [r0, #0x0]
- add r0, r5, r1
- add r0, #0xaa
- strb r7, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C0A4
-FUN_0204C0A4: ; 0x0204C0A4
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x6
- blt _0204C0B6
- bl ErrorHandling
-_0204C0B6:
- lsl r1, r4, #0x1
- add r0, r5, r1
- add r0, #0xa9
- ldrb r0, [r0, #0x0]
- strb r0, [r6, #0x0]
- add r0, r5, r1
- add r0, #0xaa
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C0CC
-FUN_0204C0CC: ; 0x0204C0CC
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204C0D4
-FUN_0204C0D4: ; 0x0204C0D4
- push {r3, lr}
- ldrb r2, [r0, #0x0]
- lsl r2, r2, #0x1d
- lsr r2, r2, #0x1f
- beq _0204C0E6
- add r0, #0x2a
- mov r2, #0x78
- bl MI_CpuCopy8
-_0204C0E6:
- pop {r3, pc}
-
- thumb_func_start FUN_0204C0E8
-FUN_0204C0E8: ; 0x0204C0E8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r4, #0x0
- add r1, #0x2a
- mov r2, #0x78
- bl MI_CpuCopy8
- ldrb r1, [r4, #0x0]
- mov r0, #0x4
- orr r0, r1
- strb r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204C104
-FUN_0204C104: ; 0x0204C104
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_0204C158
- cmp r0, #0xc
- blt _0204C138
- mov r0, #0x0
- add r1, r5, #0x0
-_0204C116:
- add r2, r1, #0x0
- add r2, #0xba
- ldrh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb6
- strh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xbc
- ldrh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb8
- add r0, r0, #0x1
- add r1, r1, #0x4
- strh r3, [r2, #0x0]
- cmp r0, #0xb
- blt _0204C116
- mov r0, #0xb
-_0204C138:
- lsl r4, r0, #0x2
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r1, r5, r4
- add r1, #0xb6
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0206B754
- add r1, r5, r4
- add r1, #0xb8
- strh r0, [r1, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C158
-FUN_0204C158: ; 0x0204C158
- mov r2, #0x0
-_0204C15A:
- add r1, r0, #0x0
- add r1, #0xb6
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204C168
- add r0, r2, #0x0
- bx lr
-_0204C168:
- add r2, r2, #0x1
- add r0, r0, #0x4
- cmp r2, #0xc
- blt _0204C15A
- add r0, r2, #0x0
- bx lr
-
- thumb_func_start FUN_0204C174
-FUN_0204C174: ; 0x0204C174
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- cmp r4, #0xc
- blt _0204C186
- bl ErrorHandling
-_0204C186:
- add r6, r5, #0x0
- lsl r4, r4, #0x2
- add r6, #0xb6
- ldrh r0, [r6, r4]
- cmp r0, #0x0
- bne _0204C196
- bl ErrorHandling
-_0204C196:
- ldrh r0, [r6, r4]
- str r0, [r7, #0x0]
- add r0, r5, r4
- add r0, #0xb8
- ldrh r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C1A8
-FUN_0204C1A8: ; 0x0204C1A8
- ldr r3, _0204C1B0 ; =FUN_02022610
- mov r1, #0x5
- bx r3
- nop
-_0204C1B0: .word FUN_02022610
-
- thumb_func_start FUN_0204C1B4
-FUN_0204C1B4: ; 0x0204C1B4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02016998
- add r2, r0, #0x0
- str r5, [r2, #0x4]
- str r4, [r2, #0x8]
- str r6, [r2, #0xc]
- add r0, sp, #0x8
- ldrh r0, [r0, #0x10]
- ldr r1, _0204C1F0 ; =FUN_0204C1F4
- strh r0, [r2, #0x10]
- ldr r0, [sp, #0x1c]
- str r0, [r2, #0x14]
- ldr r0, [sp, #0x20]
- str r0, [r2, #0x18]
- ldr r0, [sp, #0x24]
- str r0, [r2, #0x1c]
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0204C1F0: .word FUN_0204C1F4
-
- thumb_func_start FUN_0204C1F4
-FUN_0204C1F4: ; 0x0204C1F4
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204C214
- cmp r0, #0x1
- beq _0204C23C
- b _0204C258
-_0204C214:
- ldr r0, [r5, #0x4]
- ldr r0, [r0, #0x1c]
- bl MOD05_021F4608
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x1c]
- str r0, [sp, #0x8]
- ldrh r3, [r4, #0x10]
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0xc]
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C258
-_0204C23C:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C258
- ldr r0, [r5, #0x4]
- ldr r0, [r0, #0x1c]
- bl MOD05_021F45E8
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r5, pc}
-_0204C258:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204C260
-FUN_0204C260: ; 0x0204C260
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r5, [r2, #0x8]
- str r4, [r2, #0xc]
- ldr r0, [sp, #0x18]
- str r6, [r2, #0x10]
- str r0, [r2, #0x14]
- ldr r0, [sp, #0x1c]
- ldr r1, _0204C298 ; =FUN_0204C380
- str r0, [r2, #0x18]
- ldr r0, [sp, #0x20]
- str r0, [r2, #0x20]
- add r0, r7, #0x0
- bl FUN_020463CC
- pop {r3-r7, pc}
- nop
-_0204C298: .word FUN_0204C380
-
- thumb_func_start FUN_0204C29C
-FUN_0204C29C: ; 0x0204C29C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r4, #0x0
- str r4, [r6, #0x0]
- str r4, [r6, #0x4]
- ldr r0, [sp, #0x0]
- str r5, [r6, #0x8]
- str r0, [r6, #0xc]
- ldr r0, [sp, #0x4]
- str r0, [r6, #0x10]
- ldr r0, [sp, #0x20]
- str r0, [r6, #0x14]
- ldr r0, [sp, #0x24]
- str r0, [r6, #0x18]
- ldr r0, [r7, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x8]
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C308
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C2E6
- mov r4, #0x6
- b _0204C36A
-_0204C2E6:
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x0
- beq _0204C2F4
- mov r4, #0x5
- b _0204C36A
-_0204C2F4:
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C302
- mov r4, #0x6
- b _0204C36A
-_0204C302:
- bl ErrorHandling
- b _0204C36A
-_0204C308:
- ldr r0, [sp, #0x8]
- bl FUN_02034964
- cmp r0, #0x0
- beq _0204C334
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C320
- mov r4, #0x4
- b _0204C36A
-_0204C320:
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C32E
- mov r4, #0x6
- b _0204C36A
-_0204C32E:
- bl ErrorHandling
- b _0204C36A
-_0204C334:
- ldr r0, [sp, #0x8]
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C366
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x0
- bne _0204C36A
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C356
- mov r4, #0x6
- b _0204C36A
-_0204C356:
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- bne _0204C36A
- bl ErrorHandling
- b _0204C36A
-_0204C366:
- bl ErrorHandling
-_0204C36A:
- ldr r1, _0204C37C ; =FUN_0204C380
- add r0, r7, #0x0
- add r2, r6, #0x0
- str r4, [r6, #0x20]
- bl FUN_020463CC
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0204C37C: .word FUN_0204C380
-
- thumb_func_start FUN_0204C380
-FUN_0204C380: ; 0x0204C380
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r6, r4, #0x0
- ldr r1, [r4, #0x0]
- add r6, #0x8
- cmp r1, #0x6
- bhi _0204C458
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204C3A8: ; jump table (using 16-bit offset)
- .short _0204C3B6 - _0204C3A8 - 2; case 0
- .short _0204C3DA - _0204C3A8 - 2; case 1
- .short _0204C3E8 - _0204C3A8 - 2; case 2
- .short _0204C3F8 - _0204C3A8 - 2; case 3
- .short _0204C406 - _0204C3A8 - 2; case 4
- .short _0204C41E - _0204C3A8 - 2; case 5
- .short _0204C450 - _0204C3A8 - 2; case 6
-_0204C3B6:
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r1, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD60
- ldr r1, [r4, #0x20]
- add r0, r5, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0204C45C ; =0x020F4894
- ldr r1, [r1, r2]
- add r2, r4, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3DA:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3E8:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3F8:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C406:
- ldr r0, [r4, #0x20]
- lsl r1, r0, #0x2
- ldr r0, _0204C460 ; =0x020F48B0
- ldr r1, [r0, r1]
- cmp r1, #0x0
- beq _0204C416
- add r0, r7, #0x0
- blx r1
-_0204C416:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C41E:
- bl FUN_02005404
- cmp r0, #0x0
- bne _0204C458
- ldr r1, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD8C
- add r0, r7, #0x0
- bl MOD05_021E331C
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r1, [r4, #0x20]
- add r0, r5, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0204C464 ; =0x020F4878
- ldr r1, [r1, r2]
- add r2, r4, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C450:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C458:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C45C: .word 0x020F4894
-_0204C460: .word 0x020F48B0
-_0204C464: .word 0x020F4878
-
- thumb_func_start FUN_0204C468
-FUN_0204C468: ; 0x0204C468
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C484
- cmp r0, #0x1
- beq _0204C498
- b _0204C49C
-_0204C484:
- ldr r0, _0204C4A0 ; =0x00000603
- bl FUN_020054C8
- add r0, r5, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C49C
-_0204C498:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204C49C:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0204C4A0: .word 0x00000603
-
- thumb_func_start FUN_0204C4A4
-FUN_0204C4A4: ; 0x0204C4A4
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C522
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C4C8: ; jump table (using 16-bit offset)
- .short _0204C4D0 - _0204C4C8 - 2; case 0
- .short _0204C4F6 - _0204C4C8 - 2; case 1
- .short _0204C510 - _0204C4C8 - 2; case 2
- .short _0204C51E - _0204C4C8 - 2; case 3
-_0204C4D0:
- bl MOD05_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl MOD05_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C4F6:
- ldr r1, [r4, #0x1c]
- add r0, r5, #0x0
- bl MOD05_021DA5D8
- cmp r0, #0x0
- beq _0204C522
- ldr r0, [r4, #0x1c]
- bl MOD05_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C510:
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C51E:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C522:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204C528
-FUN_0204C528: ; 0x0204C528
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C54A
- cmp r0, #0x1
- beq _0204C570
- cmp r0, #0x2
- beq _0204C598
- b _0204C59C
-_0204C54A:
- bl MOD05_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl MOD05_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C59C
-_0204C570:
- ldr r0, [r5, #0x38]
- ldr r6, [r4, #0x1c]
- bl FUN_020552F8
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl MOD05_021DAC70
- cmp r0, #0x0
- beq _0204C59C
- ldr r0, [r4, #0x1c]
- bl MOD05_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C59C
-_0204C598:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C59C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C5A0
-FUN_0204C5A0: ; 0x0204C5A0
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C63C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C5C4: ; jump table (using 16-bit offset)
- .short _0204C5CC - _0204C5C4 - 2; case 0
- .short _0204C5FE - _0204C5C4 - 2; case 1
- .short _0204C61C - _0204C5C4 - 2; case 2
- .short _0204C630 - _0204C5C4 - 2; case 3
-_0204C5CC:
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- cmp r6, #0x2
- bne _0204C5E6
- mov r1, #0xa
- bl FUN_0205ADDC
- b _0204C5F6
-_0204C5E6:
- cmp r6, #0x3
- bne _0204C5F2
- mov r1, #0xb
- bl FUN_0205ADDC
- b _0204C5F6
-_0204C5F2:
- bl ErrorHandling
-_0204C5F6:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C5FE:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0204C63C
- add r0, r5, #0x0
- bl FUN_0205AE50
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C61C:
- ldr r0, _0204C640 ; =0x00000603
- bl FUN_020054C8
- mov r0, #0x0
- bl MOD05_021D7CA4
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C630:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C63C
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C63C:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0204C640: .word 0x00000603
-
- thumb_func_start FUN_0204C644
-FUN_0204C644: ; 0x0204C644
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C668
- cmp r0, #0x1
- beq _0204C67E
- b _0204C682
-_0204C668:
- bl MOD05_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C688 ; =0x021DB1D1
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C682
-_0204C67E:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C682:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C688: .word 0x021DB1D1
-
- thumb_func_start FUN_0204C68C
-FUN_0204C68C: ; 0x0204C68C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C6B0
- cmp r0, #0x1
- beq _0204C6C6
- b _0204C6CA
-_0204C6B0:
- bl MOD05_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C6D0 ; =0x021DB145
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C6CA
-_0204C6C6:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C6CA:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C6D0: .word 0x021DB145
-
- thumb_func_start FUN_0204C6D4
-FUN_0204C6D4: ; 0x0204C6D4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- cmp r0, #0x3
- bhi _0204C798
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C6F8: ; jump table (using 16-bit offset)
- .short _0204C700 - _0204C6F8 - 2; case 0
- .short _0204C74A - _0204C6F8 - 2; case 1
- .short _0204C770 - _0204C6F8 - 2; case 2
- .short _0204C794 - _0204C6F8 - 2; case 3
-_0204C700:
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- add r7, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_0204A6E0
- bl FUN_020547B0
- cmp r0, #0x0
- beq _0204C736
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- mov r0, #0x1
- str r0, [r5, #0x4]
- b _0204C798
-_0204C736:
- bl MOD05_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C79C ; =0x021DB251
- add r0, r6, #0x0
- bl FUN_0204640C
- mov r0, #0x3
- str r0, [r5, #0x4]
- b _0204C798
-_0204C74A:
- bl MOD05_021DA5B8
- str r0, [r5, #0x1c]
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r5, #0x1c]
- add r0, r6, #0x0
- bl MOD05_021DA5D0
- ldr r0, [r5, #0x4]
- add r0, r0, #0x1
- str r0, [r5, #0x4]
- b _0204C798
-_0204C770:
- ldr r5, [r5, #0x1c]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl MOD05_021DA7B4
- cmp r0, #0x0
- beq _0204C798
- add r0, r5, #0x0
- bl MOD05_021DA5C8
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- mov r1, #0x0
- bl FUN_0205889C
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C794:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C798:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C79C: .word 0x021DB251
-
- thumb_func_start FUN_0204C7A0
-FUN_0204C7A0: ; 0x0204C7A0
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C7BE
- cmp r0, #0x1
- beq _0204C814
- b _0204C818
-_0204C7BE:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r7, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204A6E0
- bl FUN_020547B0
- cmp r0, #0x0
- beq _0204C7FE
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- mov r0, #0x1
- str r0, [r4, #0x4]
- ldr r1, _0204C81C ; =FUN_0204C6D4
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_020463EC
- b _0204C818
-_0204C7FE:
- bl MOD05_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C820 ; =0x021DB381
- add r0, r6, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C818
-_0204C814:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C818:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C81C: .word FUN_0204C6D4
-_0204C820: .word 0x021DB381
-
- thumb_func_start FUN_0204C824
-FUN_0204C824: ; 0x0204C824
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C846
- cmp r0, #0x1
- beq _0204C86C
- cmp r0, #0x2
- beq _0204C894
- b _0204C898
-_0204C846:
- bl MOD05_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl MOD05_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C898
-_0204C86C:
- ldr r0, [r5, #0x38]
- ldr r6, [r4, #0x1c]
- bl FUN_020552F8
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl MOD05_021DAAA4
- cmp r0, #0x0
- beq _0204C898
- ldr r0, [r4, #0x1c]
- bl MOD05_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C898
-_0204C894:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C898:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C89C
-FUN_0204C89C: ; 0x0204C89C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C936
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C8C0: ; jump table (using 16-bit offset)
- .short _0204C8C8 - _0204C8C0 - 2; case 0
- .short _0204C904 - _0204C8C0 - 2; case 1
- .short _0204C922 - _0204C8C0 - 2; case 2
- .short _0204C932 - _0204C8C0 - 2; case 3
-_0204C8C8:
- mov r0, #0x1
- bl MOD05_021D7CA4
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- cmp r0, #0x2
- bne _0204C8EA
- add r0, r6, #0x0
- mov r1, #0xa
- bl FUN_0205ADDC
- b _0204C8FC
-_0204C8EA:
- cmp r0, #0x3
- bne _0204C8F8
- add r0, r6, #0x0
- mov r1, #0xb
- bl FUN_0205ADDC
- b _0204C8FC
-_0204C8F8:
- bl ErrorHandling
-_0204C8FC:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C904:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0204C936
- add r0, r5, #0x0
- bl FUN_0205AE50
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C922:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C936
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C932:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C936:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204C93C
-FUN_0204C93C: ; 0x0204C93C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C960
- cmp r0, #0x1
- beq _0204C976
- b _0204C97A
-_0204C960:
- bl MOD05_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C980 ; =0x021DB041
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C97A
-_0204C976:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C97A:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C980: .word 0x021DB041
-
- thumb_func_start FUN_0204C984
-FUN_0204C984: ; 0x0204C984
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- bl FUN_02055350
- cmp r4, #0x3
- bne _0204C9AA
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- sub r0, r1, r0
- str r0, [sp, #0x4]
- b _0204C9B4
-_0204C9AA:
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- add r0, r1, r0
- str r0, [sp, #0x4]
-_0204C9B4:
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204A708
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- add r2, r4, #0x0
- bl FUN_020554EC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EFEC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EC68
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204C9EC
-FUN_0204C9EC: ; 0x0204C9EC
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- bl FUN_02055350
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204A6E0
- add r6, r0, #0x0
- bl FUN_020548D8
- cmp r0, #0x0
- beq _0204CA32
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- add r0, r1, r0
- str r0, [sp, #0x4]
- mov r4, #0x2
- b _0204CA48
-_0204CA32:
- add r0, r6, #0x0
- bl FUN_020548E4
- cmp r0, #0x0
- beq _0204CA48
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- sub r0, r1, r0
- str r0, [sp, #0x4]
- mov r4, #0x3
-_0204CA48:
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204A708
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- add r2, r4, #0x0
- bl FUN_020554EC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EFEC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EC68
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204CA80
-FUN_0204CA80: ; 0x0204CA80
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CA8C ; =0x020F48CC
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CA8C: .word 0x020F48CC
-
- thumb_func_start FUN_0204CA90
-FUN_0204CA90: ; 0x0204CA90
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CA9C ; =0x020F48CD
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CA9C: .word 0x020F48CD
-
- thumb_func_start FUN_0204CAA0
-FUN_0204CAA0: ; 0x0204CAA0
- mov r1, #0x1c
- ldr r2, _0204CAAC ; =0x020F48CC
- mul r1, r0
- add r0, r2, r1
- add r0, r0, #0x2
- bx lr
- .balign 4
-_0204CAAC: .word 0x020F48CC
-
- thumb_func_start FUN_0204CAB0
-FUN_0204CAB0: ; 0x0204CAB0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CABC ; =0x020F48D7
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CABC: .word 0x020F48D7
-
- thumb_func_start FUN_0204CAC0
-FUN_0204CAC0: ; 0x0204CAC0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CACC ; =0x020F48D8
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CACC: .word 0x020F48D8
-
- thumb_func_start FUN_0204CAD0
-FUN_0204CAD0: ; 0x0204CAD0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CADC ; =0x020F48D9
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CADC: .word 0x020F48D9
-
- thumb_func_start FUN_0204CAE0
-FUN_0204CAE0: ; 0x0204CAE0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CAEC ; =0x020F48DC
- ldr r0, [r0, r1]
- bx lr
- nop
-_0204CAEC: .word 0x020F48DC
-
- thumb_func_start FUN_0204CAF0
-FUN_0204CAF0: ; 0x0204CAF0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CAFC ; =0x020F48E0
- ldr r0, [r0, r1]
- bx lr
- nop
-_0204CAFC: .word 0x020F48E0
-
- thumb_func_start FUN_0204CB00
-FUN_0204CB00: ; 0x0204CB00
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CB0C ; =0x020F48E4
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CB0C: .word 0x020F48E4
-
- thumb_func_start FUN_0204CB10
-FUN_0204CB10: ; 0x0204CB10
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CB1C ; =0x020F48E5
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CB1C: .word 0x020F48E5
-
- thumb_func_start FUN_0204CB20
-FUN_0204CB20: ; 0x0204CB20
- push {r3-r7, lr}
- add r4, r1, #0x0
- ldr r1, _0204CC34 ; =0x021C5A68
- add r5, r2, #0x0
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _0204CB32
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204CB32:
- bne _0204CB40
- mov r2, #0xb1
- str r0, [r1, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0x2
- bl MI_CpuFill8
-_0204CB40:
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r0, _0204CC38 ; =0x000002BE
- ldr r2, [r1, #0x0]
- strb r5, [r2, r0]
- mov r2, #0x0
- ldr r0, [r1, #0x0]
- cmp r5, #0x0
- str r2, [r0, #0x4]
- beq _0204CB6C
- bl MOD18_02244D1C
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x4]
- ldr r0, [r1, #0x0]
- ldr r0, [r0, #0x4]
- bl MOD18_02244D20
-_0204CB6C:
- ldr r0, _0204CC34 ; =0x021C5A68
- ldr r7, _0204CC3C ; =0x0000FFFF
- ldr r1, [r0, #0x0]
- str r4, [r1, #0x54]
- mov r1, #0x0
- add r2, r1, #0x0
- add r3, r1, #0x0
-_0204CB7A:
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- mov r4, #0x0
- add r5, #0xa6
- mvn r4, r4
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0xa2
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0xa4
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- add r5, #0xa7
- mov r4, #0x2
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- mov r4, #0x0
- add r5, #0x66
- mvn r4, r4
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0x62
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0x64
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- add r5, #0x67
- mov r4, #0x2
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- ldr r5, _0204CC40 ; =0x00000102
- add r6, r4, r1
- mov r4, #0x0
- mvn r4, r4
- strb r4, [r6, r5]
- ldr r4, [r0, #0x0]
- add r2, #0x8
- add r5, r4, r1
- add r5, #0xe2
- mov r4, #0x0
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r1
- add r5, #0xea
- mov r4, #0x1
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r1
- add r5, #0xf2
- mov r4, #0x0
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- mov r5, #0xff
- add r6, r4, r3
- add r4, r5, #0x0
- add r4, #0x6b
- add r1, r1, #0x1
- add r3, #0x22
- strh r5, [r6, r4]
- cmp r1, #0x8
- blt _0204CB7A
- ldr r2, _0204CC34 ; =0x021C5A68
- mov r1, #0xaf
- ldr r3, [r2, #0x0]
- lsl r1, r1, #0x2
- mov r0, #0x0
- strb r0, [r3, r1]
- ldr r2, [r2, #0x0]
- add r1, r1, #0x3
- strb r0, [r2, r1]
- ldr r0, _0204CC44 ; =FUN_0204D4F0
- mov r1, #0x0
- mov r2, #0xc8
- bl FUN_0200CA44
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x50]
- bl FUN_02030FA8
- bl FUN_0204CF60
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0204CC34: .word 0x021C5A68
-_0204CC38: .word 0x000002BE
-_0204CC3C: .word 0x0000FFFF
-_0204CC40: .word 0x00000102
-_0204CC44: .word FUN_0204D4F0
-
- thumb_func_start FUN_0204CC48
-FUN_0204CC48: ; 0x0204CC48
- push {r3-r7, lr}
- ldr r4, _0204CC94 ; =0x021C5A68
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204CC92
- ldr r6, _0204CC98 ; =0x000002BE
- mov r5, #0x0
- mov r7, #0x1
-_0204CC58:
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _0204CC6E
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_0204D43C
- b _0204CC7A
-_0204CC6E:
- lsl r0, r5, #0x18
- mov r1, #0x1
- lsr r0, r0, #0x18
- add r2, r1, #0x0
- bl FUN_0204D43C
-_0204CC7A:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204CC58
- ldr r0, _0204CC94 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204CC98 ; =0x000002BE
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- beq _0204CC92
- mov r1, #0x1
- sub r0, r0, #0x1
- strb r1, [r2, r0]
-_0204CC92:
- pop {r3-r7, pc}
- .balign 4
-_0204CC94: .word 0x021C5A68
-_0204CC98: .word 0x000002BE
-
- thumb_func_start FUN_0204CC9C
-FUN_0204CC9C: ; 0x0204CC9C
- push {r3, lr}
- ldr r1, _0204CCD8 ; =0x021C5A68
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- beq _0204CCD6
- ldr r0, _0204CCDC ; =0x000002BB
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- add r0, r0, #0x2
- strb r2, [r1, r0]
- bl FUN_0204CF60
- mov r0, #0x1
- bl FUN_0204D168
- ldr r0, _0204CCD8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r0, _0204CCD8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
-_0204CCD6:
- pop {r3, pc}
- .balign 4
-_0204CCD8: .word 0x021C5A68
-_0204CCDC: .word 0x000002BB
-
- thumb_func_start FUN_0204CCE0
-FUN_0204CCE0: ; 0x0204CCE0
- push {r3-r7, lr}
- ldr r7, _0204CD70 ; =0x021C5A68
- add r6, r0, #0x0
- ldr r0, [r7, #0x0]
- cmp r0, #0x0
- beq _0204CD6E
- mov r4, #0x0
- add r5, r4, #0x0
-_0204CCF0:
- ldr r0, [r7, #0x0]
- add r1, r0, r5
- mov r0, #0x9f
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204CD0E
- bl FUN_02016A18
- ldr r0, [r7, #0x0]
- mov r1, #0x0
- add r2, r0, r5
- mov r0, #0x9f
- lsl r0, r0, #0x2
- str r1, [r2, r0]
-_0204CD0E:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x5
- blt _0204CCF0
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204CD74 ; =0x000002B2
- ldrh r1, [r2, r0]
- cmp r1, #0x5
- blo _0204CD28
- ldr r0, [r2, #0x54]
- bl FUN_02061B64
-_0204CD28:
- mov r4, #0x0
- add r5, r4, #0x0
-_0204CD2C:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0204D43C
- add r4, r4, #0x1
- cmp r4, #0x8
- blt _0204CD2C
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- bl FUN_0200CAB4
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204CD60
- bl MOD18_02244D3C
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02016A18
-_0204CD60:
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0204CD70 ; =0x021C5A68
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0204CD6E:
- pop {r3-r7, pc}
- .balign 4
-_0204CD70: .word 0x021C5A68
-_0204CD74: .word 0x000002B2
-
- thumb_func_start FUN_0204CD78
-FUN_0204CD78: ; 0x0204CD78
- push {r4, lr}
- lsl r4, r0, #0x2
- ldr r0, _0204CDB0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x28]
- cmp r0, #0x0
- beq _0204CDAC
- bl FUN_020646A0
- cmp r0, #0x0
- beq _0204CD9E
- ldr r0, _0204CDB0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x28]
- bl FUN_02064520
- b _0204CDA2
-_0204CD9E:
- bl ErrorHandling
-_0204CDA2:
- ldr r0, _0204CDB0 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- str r1, [r0, #0x28]
-_0204CDAC:
- pop {r4, pc}
- nop
-_0204CDB0: .word 0x021C5A68
-
- thumb_func_start FUN_0204CDB4
-FUN_0204CDB4: ; 0x0204CDB4
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r6, _0204CED4 ; =0x021C5A68
- add r7, r4, #0x0
- add r5, r4, #0x0
-_0204CDBE:
- add r0, r4, #0x0
- bl FUN_0204E778
- add r0, r4, #0x0
- bl FUN_0204CD78
- cmp r4, #0x0
- beq _0204CDD4
- add r0, r4, #0x0
- bl FUN_0204ED9C
-_0204CDD4:
- ldr r1, [r6, #0x0]
- add r0, r1, r7
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204CDFA
- ldr r2, [r1, #0x54]
- ldr r2, [r2, #0x38]
- cmp r2, r0
- beq _0204CDF2
- ldr r2, _0204CED8 ; =0x000002BE
- ldrb r1, [r1, r2]
- cmp r1, #0x0
- beq _0204CDF2
- bl FUN_02055168
-_0204CDF2:
- ldr r0, [r6, #0x0]
- add r1, r0, r7
- mov r0, #0x0
- str r0, [r1, #0x8]
-_0204CDFA:
- ldr r0, [r6, #0x0]
- add r7, r7, #0x4
- add r1, r0, r4
- add r1, #0x48
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- mov r0, #0x0
- add r1, #0xa6
- mvn r0, r0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0xa2
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0xa4
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0xa7
- mov r0, #0x2
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- mov r0, #0x0
- add r1, #0x66
- mvn r0, r0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0x62
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0x64
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0x67
- mov r0, #0x2
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE0 ; =0x00000102
- mvn r1, r1
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE4 ; =0x0000010A
- add r5, #0x8
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xe2
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xea
- mov r0, #0x1
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xf2
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE8 ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- add r2, r0, r4
- ldr r0, _0204CEEC ; =0x00000142
- add r4, r4, #0x1
- strb r1, [r2, r0]
- cmp r4, #0x8
- blt _0204CDBE
- ldr r0, _0204CED4 ; =0x021C5A68
- ldr r1, _0204CEF0 ; =0x000002BF
- ldr r2, [r0, #0x0]
- mov r0, #0x0
- strb r0, [r2, r1]
- bl FUN_0204CF60
- ldr r0, _0204CED4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- cmp r0, #0x0
- bne _0204CED0
- ldr r0, _0204CEF4 ; =FUN_0204D4F0
- mov r1, #0x0
- mov r2, #0xc8
- bl FUN_0200CA44
- ldr r1, _0204CED4 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x50]
-_0204CED0:
- pop {r3-r7, pc}
- nop
-_0204CED4: .word 0x021C5A68
-_0204CED8: .word 0x000002BE
-_0204CEDC: .word 0x0000FFFF
-_0204CEE0: .word 0x00000102
-_0204CEE4: .word 0x0000010A
-_0204CEE8: .word 0x0000013A
-_0204CEEC: .word 0x00000142
-_0204CEF0: .word 0x000002BF
-_0204CEF4: .word FUN_0204D4F0
-
- thumb_func_start FUN_0204CEF8
-FUN_0204CEF8: ; 0x0204CEF8
- push {r3, lr}
- ldr r0, _0204CF20 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- cmp r0, #0x0
- beq _0204CF16
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0204D4F0
- ldr r0, _0204CF20 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- bl FUN_0200CAB4
-_0204CF16:
- ldr r0, _0204CF20 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x50]
- pop {r3, pc}
- .balign 4
-_0204CF20: .word 0x021C5A68
-
- thumb_func_start FUN_0204CF24
-FUN_0204CF24: ; 0x0204CF24
- push {r3-r5, lr}
- ldr r0, _0204CF58 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204CF54
- mov r5, #0x0
- add r4, r5, #0x0
-_0204CF32:
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- add r1, r4, #0x0
- add r2, r4, #0x0
- bl FUN_0204D43C
- add r0, r5, #0x0
- bl FUN_0204F69C
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204CF32
- ldr r0, _0204CF58 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204CF5C ; =0x000002BD
- strb r2, [r1, r0]
-_0204CF54:
- pop {r3-r5, pc}
- nop
-_0204CF58: .word 0x021C5A68
-_0204CF5C: .word 0x000002BD
-
- thumb_func_start FUN_0204CF60
-FUN_0204CF60: ; 0x0204CF60
- push {r4, lr}
- bl FUN_02031190
- ldr r1, _0204D03C ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x54]
- add r0, r2, r0
- ldr r1, [r1, #0x38]
- str r1, [r0, #0x8]
- bl FUN_02031190
- ldr r1, _0204D03C ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x48
- strb r2, [r0, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa2
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa4
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa6
- strb r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x62
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x64
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x66
- strb r0, [r1, #0x0]
- pop {r4, pc}
- nop
-_0204D03C: .word 0x021C5A68
-
- thumb_func_start FUN_0204D040
-FUN_0204D040: ; 0x0204D040
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- ldr r0, _0204D110 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D114 ; =0x000002BF
- strb r2, [r1, r0]
- bl FUN_02031190
- ldr r2, _0204D110 ; =0x021C5A68
- add r1, r0, #0x0
- ldr r4, [r2, #0x0]
- lsl r6, r1, #0x2
- ldr r0, [r4, #0x54]
- ldr r3, [r0, #0x38]
- add r0, r4, r6
- str r3, [r0, #0x8]
- ldr r0, [r2, #0x0]
- mov r3, #0x1
- add r0, r0, r1
- add r0, #0x48
- strb r3, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r3, [r2, #0x0]
- lsl r5, r0, #0x3
- add r0, r3, r5
- add r0, #0xa2
- lsl r4, r1, #0x3
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0xa2
- strh r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- add r0, r3, r5
- add r0, #0xa4
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0xa4
- strh r0, [r3, #0x0]
- ldr r7, [r2, #0x0]
- mov r0, #0xa6
- add r3, r7, r5
- ldrsb r0, [r3, r0]
- add r3, r7, r4
- add r3, #0xa6
- strb r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- mov r7, #0x29
- add r0, r3, r5
- add r0, #0x62
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0x62
- lsl r7, r7, #0x4
- strh r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- add r0, r3, r5
- add r0, #0x64
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0x64
- strh r0, [r3, #0x0]
- ldr r0, [r2, #0x0]
- mov r3, #0x66
- add r5, r0, r5
- add r0, r0, r4
- ldrsb r5, [r5, r3]
- add r0, #0x66
- strb r5, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r4, [r2, #0x0]
- lsl r5, r0, #0x2
- add r0, r4, r5
- ldr r0, [r0, r7]
- add r4, r4, r6
- str r0, [r4, r7]
- ldr r0, [r2, #0x0]
- mov r4, #0x0
- add r0, r0, r5
- str r4, [r0, r7]
- ldr r2, [r2, #0x0]
- add r0, r2, r6
- ldr r0, [r0, r7]
- cmp r0, #0x0
- beq _0204D0F8
- add r3, #0xe4
- add r3, r2, r3
- mov r2, #0x22
- mul r2, r1
- add r1, r3, r2
- bl FUN_0202393C
-_0204D0F8:
- ldr r1, _0204D110 ; =0x021C5A68
- mov r0, #0xff
- ldr r3, [r1, #0x0]
- ldr r1, [sp, #0x0]
- mov r2, #0x22
- mul r2, r1
- add r1, r0, #0x0
- add r2, r3, r2
- add r1, #0x6b
- strh r0, [r2, r1]
- pop {r3-r7, pc}
- nop
-_0204D110: .word 0x021C5A68
-_0204D114: .word 0x000002BF
-
- thumb_func_start FUN_0204D118
-FUN_0204D118: ; 0x0204D118
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0204D160 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- add r1, sp, #0x0
- strb r4, [r1, #0x0]
- asr r2, r4, #0x8
- strb r2, [r1, #0x1]
- asr r2, r6, #0x8
- strb r6, [r1, #0x2]
- strb r2, [r1, #0x3]
- strb r0, [r1, #0x4]
- cmp r5, #0x0
- beq _0204D14A
- ldrb r2, [r1, #0x4]
- mov r0, #0x80
- orr r0, r2
- strb r0, [r1, #0x4]
-_0204D14A:
- mov r0, #0x16
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _0204D160 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204D164 ; =0x000002BB
- strb r2, [r1, r0]
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0204D160: .word 0x021C5A68
-_0204D164: .word 0x000002BB
-
- thumb_func_start FUN_0204D168
-FUN_0204D168: ; 0x0204D168
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D194 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- add r4, r0, #0x0
- ldr r0, _0204D194 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204D118
- pop {r3-r5, pc}
- nop
-_0204D194: .word 0x021C5A68
-
- thumb_func_start FUN_0204D198
-FUN_0204D198: ; 0x0204D198
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02031190
- ldr r1, _0204D1C8 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x62
- ldrh r4, [r0, #0x0]
- bl FUN_02031190
- ldr r1, _0204D1C8 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x64
- ldrh r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204D118
- pop {r3-r5, pc}
- nop
-_0204D1C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204D1CC
-FUN_0204D1CC: ; 0x0204D1CC
- push {r3-r5, lr}
- sub sp, #0x8
- ldrh r2, [r1, #0x0]
- mov r4, #0xf
- lsl r4, r4, #0xc
- ldrh r3, [r1, #0x2]
- cmp r2, r4
- blo _0204D1DE
- sub r2, r4, #0x1
-_0204D1DE:
- mov r4, #0xf
- lsl r4, r4, #0xc
- cmp r3, r4
- blo _0204D1E8
- sub r3, r4, #0x1
-_0204D1E8:
- mov r4, #0xf
- and r0, r4
- add r4, sp, #0x0
- strb r0, [r4, #0x0]
- strb r2, [r4, #0x1]
- asr r2, r2, #0x8
- add r5, r2, #0x0
- mov r0, #0x1
- and r5, r0
- asr r2, r3, #0x7
- mov r0, #0x2
- and r0, r2
- add r0, r5, r0
- strb r0, [r4, #0x2]
- strb r3, [r4, #0x3]
- ldrb r0, [r1, #0x7]
- cmp r0, #0x0
- beq _0204D214
- ldrb r2, [r4, #0x2]
- mov r0, #0x80
- orr r0, r2
- strb r0, [r4, #0x2]
-_0204D214:
- mov r2, #0x4
- ldrsb r2, [r1, r2]
- add r5, sp, #0x0
- ldrb r0, [r5, #0x0]
- lsr r4, r2, #0x1f
- lsl r3, r2, #0x1e
- sub r3, r3, r4
- mov r2, #0x1e
- ror r3, r2
- add r2, r4, r3
- lsl r2, r2, #0x4
- add r0, r0, r2
- strb r0, [r5, #0x0]
- ldrb r0, [r1, #0x5]
- ldrb r2, [r5, #0x0]
- add r1, sp, #0x0
- lsl r0, r0, #0x6
- add r0, r2, r0
- strb r0, [r5, #0x0]
- mov r0, #0x17
- mov r2, #0x0
- bl FUN_02030BC4
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204D248
-FUN_0204D248: ; 0x0204D248
- push {r3-r5, lr}
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055370
- add r4, r0, #0x0
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055378
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0204D292
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0204D292
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D292
- mov r0, #0x1
- bl FUN_0204D168
- ldr r0, _0204D2A8 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- strb r2, [r1, r0]
-_0204D292:
- cmp r4, #0x1
- bne _0204D2A4
- cmp r5, #0x1
- bne _0204D2A4
- ldr r0, _0204D2A8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- strb r2, [r1, r0]
-_0204D2A4:
- pop {r3-r5, pc}
- nop
-_0204D2A8: .word 0x021C5A68
-_0204D2AC: .word 0x000002BA
-
- thumb_func_start FUN_0204D2B0
-FUN_0204D2B0: ; 0x0204D2B0
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r7, _0204D2FC ; =0x021C5A68
- add r5, r4, #0x0
- add r6, r4, #0x0
-_0204D2BA:
- ldr r0, [r7, #0x0]
- add r2, r0, r4
- add r1, r2, #0x0
- add r1, #0x48
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D2E8
- ldr r3, _0204D300 ; =0x00000132
- add r1, r0, #0x0
- ldrb r3, [r2, r3]
- add r1, #0x62
- cmp r3, #0x0
- bne _0204D2DC
- ldr r3, _0204D304 ; =0x000002BB
- ldrb r0, [r0, r3]
- cmp r0, #0x0
- beq _0204D2E8
-_0204D2DC:
- ldr r0, _0204D300 ; =0x00000132
- add r1, r1, r5
- strb r6, [r2, r0]
- add r0, r4, #0x0
- bl FUN_0204D1CC
-_0204D2E8:
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x8
- blt _0204D2BA
- ldr r0, _0204D2FC ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D304 ; =0x000002BB
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- .balign 4
-_0204D2FC: .word 0x021C5A68
-_0204D300: .word 0x00000132
-_0204D304: .word 0x000002BB
-
- thumb_func_start FUN_0204D308
-FUN_0204D308: ; 0x0204D308
- ldr r0, _0204D31C ; =0x021C5A68
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0204D318
- mov r0, #0xae
- mov r1, #0x0
- lsl r0, r0, #0x2
- strb r1, [r2, r0]
-_0204D318:
- bx lr
- nop
-_0204D31C: .word 0x021C5A68
-
- thumb_func_start FUN_0204D320
-FUN_0204D320: ; 0x0204D320
- mov r0, #0xb1
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204D328
-FUN_0204D328: ; 0x0204D328
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r1, _0204D430 ; =0x021C5A68
- add r5, r0, #0x0
- ldr r2, [r1, #0x0]
- lsl r6, r5, #0x2
- add r1, r2, r6
- ldr r1, [r1, #0x8]
- cmp r1, #0x0
- bne _0204D42A
- ldr r1, _0204D434 ; =0x000002BD
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204D42A
- bl FUN_0202DFA4
- str r0, [sp, #0xc]
- cmp r0, #0x0
- beq _0204D42A
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D438 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D37C
- bl FUN_02031190
- cmp r5, r0
- beq _0204D37C
- ldr r0, _0204D430 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x8
- ldr r0, [r0, #0x54]
- add r1, r5, r1
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- cmp r0, #0x0
- beq _0204D37C
- bl FUN_02057654
-_0204D37C:
- ldr r0, _0204D430 ; =0x021C5A68
- lsl r4, r5, #0x3
- ldr r7, [r0, #0x0]
- ldr r0, [sp, #0xc]
- bl FUN_020239CC
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r7, #0x54]
- add r7, r7, r4
- add r1, r7, #0x0
- add r2, r7, #0x0
- add r1, #0xa2
- add r2, #0xa4
- mov r3, #0xa6
- ldrh r1, [r1, #0x0]
- ldrh r2, [r2, #0x0]
- ldrsb r3, [r7, r3]
- ldr r0, [r0, #0x34]
- bl FUN_02055068
- add r7, r0, #0x0
- bne _0204D3B2
- bl ErrorHandling
-_0204D3B2:
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r6
- str r7, [r0, #0x8]
- add r0, r7, #0x0
- bl FUN_020553A0
- mov r1, #0x1
- lsl r1, r1, #0x8
- add r1, r5, r1
- bl FUN_02058444
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D438 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D3DC
- add r0, r5, #0x0
- bl MOD18_0223E4D4
-_0204D3DC:
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, _0204D438 ; =0x000002BE
- ldr r3, [r0, #0x0]
- ldrb r2, [r3, r1]
- cmp r2, #0x0
- beq _0204D41E
- add r0, r3, r5
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204D41E
- sub r0, r1, #0x1
- ldrb r0, [r3, r0]
- cmp r0, #0x0
- bne _0204D40E
- add r1, r3, r4
- ldr r0, [r3, #0x54]
- add r3, r3, r4
- add r1, #0xa2
- add r3, #0xa4
- ldrh r1, [r1, #0x0]
- ldrh r3, [r3, #0x0]
- mov r2, #0x0
- bl MOD05_021E5B30
-_0204D40E:
- ldr r0, _0204D430 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add sp, #0x10
- add r0, r0, r5
- add r0, #0x48
- strb r1, [r0, #0x0]
- pop {r3-r7, pc}
-_0204D41E:
- cmp r2, #0x0
- bne _0204D42A
- add r0, r3, r5
- mov r1, #0x1
- add r0, #0x48
- strb r1, [r0, #0x0]
-_0204D42A:
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204D430: .word 0x021C5A68
-_0204D434: .word 0x000002BD
-_0204D438: .word 0x000002BE
-
- thumb_func_start FUN_0204D43C
-FUN_0204D43C: ; 0x0204D43C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204D4CC ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- add r7, r2, #0x0
- cmp r0, #0x0
- beq _0204D4C8
- add r0, #0x5a
- mov r1, #0x0
- mov r2, #0x8
- bl MI_CpuFill8
- add r0, r5, #0x0
- bl FUN_0204CD78
- ldr r0, _0204D4CC ; =0x021C5A68
- lsl r4, r5, #0x2
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204D492
- ldr r2, [r1, #0x54]
- ldr r2, [r2, #0x38]
- cmp r2, r0
- beq _0204D488
- ldr r2, _0204D4D0 ; =0x000002BE
- ldrb r1, [r1, r2]
- cmp r1, #0x0
- bne _0204D47E
- cmp r7, #0x0
- beq _0204D484
-_0204D47E:
- bl FUN_02055168
- b _0204D488
-_0204D484:
- bl FUN_02055160
-_0204D488:
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- str r1, [r0, #0x8]
-_0204D492:
- ldr r0, _0204D4CC ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r1, #0x48
- ldrb r0, [r1, r5]
- cmp r0, #0x0
- beq _0204D4A6
- cmp r6, #0x0
- bne _0204D4A6
- mov r0, #0x0
- strb r0, [r1, r5]
-_0204D4A6:
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204D4D4 ; =0x00000132
- cmp r6, #0x0
- strb r2, [r1, r0]
- bne _0204D4C8
- add r0, r5, #0x0
- bl FUN_0204ED9C
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0xfa
- strb r1, [r0, #0x0]
-_0204D4C8:
- pop {r3-r7, pc}
- nop
-_0204D4CC: .word 0x021C5A68
-_0204D4D0: .word 0x000002BE
-_0204D4D4: .word 0x00000132
-
- thumb_func_start FUN_0204D4D8
-FUN_0204D4D8: ; 0x0204D4D8
- ldr r1, _0204D4E8 ; =0x021C48B8
- mov r0, #0x2
- ldr r1, [r1, #0x44]
- tst r1, r0
- beq _0204D4E4
- mov r0, #0x1
-_0204D4E4:
- ldr r3, _0204D4EC ; =FUN_02030F60
- bx r3
- .balign 4
-_0204D4E8: .word 0x021C48B8
-_0204D4EC: .word FUN_02030F60
-
- thumb_func_start FUN_0204D4F0
-FUN_0204D4F0: ; 0x0204D4F0
- push {r4-r6, lr}
- add r4, r1, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D530
- bl FUN_0204D4D8
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D524
- add r0, r4, #0x0
- bl FUN_0204D2B0
- add r0, r4, #0x0
- bl FUN_0204D248
- ldr r0, _0204D560 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204D52A
- bl MOD18_02244D58
- b _0204D52A
-_0204D524:
- add r0, r4, #0x0
- bl FUN_0204D248
-_0204D52A:
- add r0, r4, #0x0
- bl FUN_0204D568
-_0204D530:
- ldr r4, _0204D560 ; =0x021C5A68
- ldr r6, _0204D564 ; =0x000002BE
- mov r5, #0x0
-_0204D536:
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _0204D556
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D556
- add r0, r5, #0x0
- bl FUN_0202DFA4
- cmp r0, #0x0
- bne _0204D556
- add r0, r5, #0x0
- bl MOD18_02245358
-_0204D556:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204D536
- pop {r4-r6, pc}
- nop
-_0204D560: .word 0x021C5A68
-_0204D564: .word 0x000002BE
-
- thumb_func_start FUN_0204D568
-FUN_0204D568: ; 0x0204D568
- push {r3-r7, lr}
- ldr r4, _0204D608 ; =0x021C5A68
- ldr r7, _0204D60C ; =0x000002BE
- mov r5, #0x0
- add r6, sp, #0x0
-_0204D572:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204D5A0
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204D58A
- cmp r5, #0x0
- beq _0204D5A0
-_0204D58A:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D5A0
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r7]
- cmp r0, #0x0
- beq _0204D5A0
- add r0, r5, #0x0
- bl MOD18_02247614
-_0204D5A0:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204D5B8
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204D5C6
- cmp r5, #0x0
- bne _0204D5C6
-_0204D5B8:
- add r0, r5, #0x0
- bl FUN_0204DE30
- add r0, r5, #0x0
- bl FUN_0204EFCC
- b _0204D600
-_0204D5C6:
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D600
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D5F0
- ldr r1, [r4, #0x0]
- ldr r0, _0204D60C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D5F0
- add r0, r5, #0x0
- bl MOD18_0223EB8C
- add r0, r5, #0x0
- bl MOD18_0223CB08
-_0204D5F0:
- strb r5, [r6, #0x0]
- ldr r3, [r4, #0x0]
- mov r0, #0x0
- ldr r3, [r3, #0x54]
- mov r1, #0x1
- add r2, sp, #0x0
- bl FUN_0204DBCC
-_0204D600:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204D572
- pop {r3-r7, pc}
- .balign 4
-_0204D608: .word 0x021C5A68
-_0204D60C: .word 0x000002BE
-
- thumb_func_start FUN_0204D610
-FUN_0204D610: ; 0x0204D610
- ldr r0, _0204D624 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204D620
- mov r0, #0xaf
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- bx lr
-_0204D620:
- mov r0, #0x0
- bx lr
- .balign 4
-_0204D624: .word 0x021C5A68
-
- thumb_func_start FUN_0204D628
-FUN_0204D628: ; 0x0204D628
- push {r3, lr}
- ldr r1, _0204D650 ; =0x021C5A68
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- beq _0204D64E
- mov r1, #0xaf
- lsl r1, r1, #0x2
- ldrb r2, [r3, r1]
- cmp r2, r0
- beq _0204D63E
- strb r0, [r3, r1]
-_0204D63E:
- ldr r1, _0204D650 ; =0x021C5A68
- mov r0, #0x3e
- ldr r2, [r1, #0x0]
- mov r1, #0xaf
- lsl r1, r1, #0x2
- add r1, r2, r1
- bl FUN_020311D0
-_0204D64E:
- pop {r3, pc}
- .balign 4
-_0204D650: .word 0x021C5A68
-
- thumb_func_start FUN_0204D654
-FUN_0204D654: ; 0x0204D654
- push {r4, lr}
- ldr r2, _0204D678 ; =0x021C5A68
- ldr r4, [r2, #0x0]
- cmp r4, #0x0
- beq _0204D674
- mov r1, #0xaf
- lsl r1, r1, #0x2
- ldrb r3, [r4, r1]
- cmp r3, r0
- beq _0204D674
- strb r0, [r4, r1]
- ldr r2, [r2, #0x0]
- mov r0, #0x3e
- add r1, r2, r1
- bl FUN_020311D0
-_0204D674:
- pop {r4, pc}
- nop
-_0204D678: .word 0x021C5A68
-
- thumb_func_start FUN_0204D67C
-FUN_0204D67C: ; 0x0204D67C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D6BC ; =0x021C5A68
- add r4, r2, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D6B8
- cmp r1, #0x1
- beq _0204D692
- bl ErrorHandling
-_0204D692:
- cmp r5, #0x8
- blt _0204D69A
- bl ErrorHandling
-_0204D69A:
- ldrb r0, [r4, #0x0]
- mov r1, #0x1
- cmp r0, #0x1
- beq _0204D6A8
- cmp r0, #0x0
- beq _0204D6A8
- mov r1, #0x0
-_0204D6A8:
- cmp r1, #0x0
- bne _0204D6B0
- bl ErrorHandling
-_0204D6B0:
- ldrb r1, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_0204EAD8
-_0204D6B8:
- pop {r3-r5, pc}
- nop
-_0204D6BC: .word 0x021C5A68
-
- thumb_func_start FUN_0204D6C0
-FUN_0204D6C0: ; 0x0204D6C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D734 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204D732
- ldr r0, _0204D738 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D6E4
- add r0, r4, #0x0
- bl FUN_0204D654
- ldr r0, _0204D734 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D73C ; =0x000002C1
- strb r4, [r1, r0]
-_0204D6E4:
- ldr r4, [r5, #0x38]
- cmp r4, #0x0
- beq _0204D6F8
- bl FUN_02031190
- ldr r1, _0204D734 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- str r4, [r0, #0x8]
-_0204D6F8:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D712
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D712
- ldr r1, _0204D734 ; =0x021C5A68
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204D89C
-_0204D712:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D732
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D732
- ldr r0, _0204D734 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D738 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D732
- bl FUN_0204EC28
-_0204D732:
- pop {r3-r5, pc}
- .balign 4
-_0204D734: .word 0x021C5A68
-_0204D738: .word 0x000002BE
-_0204D73C: .word 0x000002C1
-
- thumb_func_start FUN_0204D740
-FUN_0204D740: ; 0x0204D740
- mov r0, #0x20
- tst r0, r1
- beq _0204D74A
- mov r0, #0x2
- bx lr
-_0204D74A:
- mov r0, #0x10
- tst r0, r1
- beq _0204D754
- mov r0, #0x3
- bx lr
-_0204D754:
- mov r0, #0x40
- tst r0, r1
- beq _0204D75E
- mov r0, #0x0
- bx lr
-_0204D75E:
- mov r0, #0x80
- tst r1, r0
- beq _0204D768
- mov r0, #0x1
- bx lr
-_0204D768:
- sub r0, #0x81
- bx lr
-
- thumb_func_start FUN_0204D76C
-FUN_0204D76C: ; 0x0204D76C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204D7AC ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_02034B64
- add r4, r0, #0x0
- ldr r0, _0204D7AC ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_02034B6C
- mov r2, #0x0
- cmp r4, #0x0
- ble _0204D7A6
-_0204D78E:
- ldrh r1, [r0, #0x18]
- cmp r5, r1
- bne _0204D79E
- ldrh r1, [r0, #0x1a]
- cmp r6, r1
- bne _0204D79E
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204D79E:
- add r2, r2, #0x1
- add r0, #0x20
- cmp r2, r4
- blt _0204D78E
-_0204D7A6:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204D7AC: .word 0x021C5A68
-
- thumb_func_start FUN_0204D7B0
-FUN_0204D7B0: ; 0x0204D7B0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204D824 ; =0x0000FFFF
- add r6, r1, #0x0
- add r7, r2, #0x0
- cmp r5, r0
- beq _0204D812
- cmp r6, r0
- beq _0204D812
- mov r4, #0x0
-_0204D7C4:
- cmp r4, r7
- beq _0204D7E0
- add r0, r4, #0x0
- bl FUN_0204E544
- cmp r5, r0
- bne _0204D7E0
- add r0, r4, #0x0
- bl FUN_0204E598
- cmp r6, r0
- bne _0204D7E0
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D7E0:
- add r4, r4, #0x1
- cmp r4, #0x8
- blt _0204D7C4
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204D76C
- cmp r0, #0x0
- beq _0204D7F6
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D7F6:
- ldr r0, _0204D828 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D82C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D812
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl MOD18_02246F1C
- cmp r0, #0x0
- bne _0204D812
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D812:
- ldr r0, _0204D828 ; =0x021C5A68
- add r1, r5, #0x0
- ldr r0, [r0, #0x0]
- add r2, r6, #0x0
- ldr r0, [r0, #0x54]
- bl FUN_0204A6B4
- pop {r3-r7, pc}
- nop
-_0204D824: .word 0x0000FFFF
-_0204D828: .word 0x021C5A68
-_0204D82C: .word 0x000002BE
-
- thumb_func_start FUN_0204D830
-FUN_0204D830: ; 0x0204D830
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _0204D858 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204D852
- bl MOD18_02244D40
- bl MOD18_02244DA0
- cmp r0, #0x0
- bne _0204D84E
- mov r0, #0x1
- pop {r3, pc}
-_0204D84E:
- mov r0, #0x0
- pop {r3, pc}
-_0204D852:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0204D858: .word 0x021C5A68
-
- thumb_func_start FUN_0204D85C
-FUN_0204D85C: ; 0x0204D85C
- cmp r0, #0x5
- bge _0204D864
- mov r0, #0x8
- bx lr
-_0204D864:
- cmp r0, #0xa
- bge _0204D86C
- mov r0, #0x4
- bx lr
-_0204D86C:
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0204D870
-FUN_0204D870: ; 0x0204D870
- push {r3-r4, lr}
- sub sp, #0x14
- ldr r3, _0204D898 ; =0x020F5824
- add r4, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- cmp r4, #0x5
- str r0, [r2, #0x0]
- blt _0204D88E
- bl ErrorHandling
-_0204D88E:
- lsl r1, r4, #0x2
- add r0, sp, #0x0
- ldr r0, [r0, r1]
- add sp, #0x14
- pop {r3-r4, pc}
- .balign 4
-_0204D898: .word 0x020F5824
-
- thumb_func_start FUN_0204D89C
-FUN_0204D89C: ; 0x0204D89C
- push {r3-r7, lr}
- sub sp, #0x18
- mov r5, #0x0
- add r0, r5, #0x0
- ldr r6, _0204DAF4 ; =0x021C5A68
- str r5, [sp, #0x4]
- str r0, [sp, #0x0]
-_0204D8AA:
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0x48
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r1, r0, r5
- add r1, #0xe2
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r1, r0, r5
- add r1, #0xea
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r2, #0x62
- ldr r0, [r0, #0x4]
- add r4, r2, r1
- cmp r0, #0x0
- beq _0204D8E0
- add r1, r5, #0x0
- bl MOD18_02244D40
- str r0, [sp, #0x4]
-_0204D8E0:
- ldr r1, [r6, #0x0]
- ldr r0, _0204DAF8 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D8F4
- add r0, r5, #0x0
- bl MOD18_02245F4C
- cmp r0, #0x0
- bne _0204D976
-_0204D8F4:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DAFC ; =0x0000013A
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _0204D90A
- ldr r1, _0204DAFC ; =0x0000013A
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DAFC ; =0x0000013A
- strb r2, [r0, r1]
-_0204D90A:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DAFC ; =0x0000013A
- add r2, r0, r5
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204D93C
- ldr r1, _0204DAF8 ; =0x000002BE
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- beq _0204D93C
- add r0, r5, #0x0
- bl MOD18_0223F8D8
- cmp r0, #0x0
- bne _0204D976
- add r0, r5, #0x0
- bl FUN_0204D830
- cmp r0, #0x0
- bne _0204D93C
- add r0, r5, #0x0
- bl MOD06_02247544
- cmp r0, #0x0
- bne _0204D976
-_0204D93C:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204D94A
- bl MOD06_02244DB0
- cmp r0, #0x0
- beq _0204D976
-_0204D94A:
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- add r0, #0xf2
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D95A
- mov r7, #0x0
- b _0204D962
-_0204D95A:
- add r0, r5, #0x0
- bl FUN_02030F88
- add r7, r0, #0x0
-_0204D962:
- add r0, r5, #0x0
- bl FUN_02030F74
- strb r0, [r4, #0x5]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D978
-_0204D976:
- b _0204DAE2
-_0204D978:
- ldr r0, _0204DB00 ; =0x0000010A
- ldr r2, _0204DB04 ; =0x0000012A
- ldrb r0, [r1, r0]
- ldrb r1, [r1, r2]
- bl FUN_0204D85C
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0204E084
- cmp r0, #0x0
- beq _0204D9A8
- ldr r0, [r6, #0x0]
- ldr r1, [sp, #0x10]
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- b _0204DAE2
-_0204D9A8:
- ldrb r0, [r4, #0x7]
- cmp r0, #0x1
- bne _0204D9B8
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
-_0204D9B8:
- mov r0, #0x0
- strb r0, [r4, #0x7]
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x2
- bne _0204D9DE
- add r1, sp, #0x14
- strb r5, [r1, #0x1]
- ldr r1, _0204DB0C ; =0x00000122
- mov r2, #0x1
- strb r2, [r0, r1]
- add r1, sp, #0x14
- mov r0, #0x28
- add r1, #0x1
- bl FUN_02030C4C
- b _0204DAE2
-_0204D9DE:
- add r0, r7, #0x0
- add r1, r7, #0x0
- bl FUN_0204D740
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E62C
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204E664
- str r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldr r0, _0204DB10 ; =0x0000FFFF
- cmp r1, r0
- beq _0204DAE2
- ldr r1, [sp, #0x8]
- cmp r1, r0
- beq _0204DAE2
- mov r0, #0x0
- mvn r0, r0
- cmp r7, r0
- beq _0204DAE2
- mov r0, #0x4
- ldrsb r0, [r4, r0]
- cmp r0, r7
- beq _0204DA44
- strb r7, [r4, #0x4]
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x2
- bls _0204DAE2
- ldr r1, _0204DB0C ; =0x00000122
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DB0C ; =0x00000122
- strb r2, [r0, r1]
- b _0204DAE2
-_0204DA44:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r2, r0, r5
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204DAE2
- ldr r1, _0204DAF8 ; =0x000002BE
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- beq _0204DA66
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- bl MOD18_0224566C
- cmp r0, #0x1
- beq _0204DAE2
-_0204DA66:
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x8]
- add r2, r5, #0x0
- bl FUN_0204D7B0
- cmp r0, #0x0
- beq _0204DA8E
- mov r0, #0x1
- strb r0, [r4, #0x7]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- b _0204DAE2
-_0204DA8E:
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [sp, #0xc]
- strh r0, [r4, #0x0]
- ldr r0, [sp, #0x8]
- strh r0, [r4, #0x2]
- strb r7, [r4, #0x4]
- ldrb r0, [r4, #0x5]
- bl FUN_0204D870
- ldr r1, [r6, #0x0]
- add r2, r1, r5
- ldr r1, _0204DAFC ; =0x0000013A
- strb r0, [r2, r1]
- ldr r0, [r6, #0x0]
- sub r1, #0x20
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _0204DAE2
- ldr r1, _0204DB14 ; =0x0000011A
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DB14 ; =0x0000011A
- strb r2, [r0, r1]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204DB14 ; =0x0000011A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204DAE2
- mov r1, #0x1
- add r0, sp, #0x14
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r2, sp, #0x14
- mov r3, #0x0
- bl MOD18_0224089C
-_0204DAE2:
- ldr r0, [sp, #0x0]
- add r5, r5, #0x1
- add r0, #0x8
- str r0, [sp, #0x0]
- cmp r5, #0x8
- bge _0204DAF0
- b _0204D8AA
-_0204DAF0:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_0204DAF4: .word 0x021C5A68
-_0204DAF8: .word 0x000002BE
-_0204DAFC: .word 0x0000013A
-_0204DB00: .word 0x0000010A
-_0204DB04: .word 0x0000012A
-_0204DB08: .word 0x00000132
-_0204DB0C: .word 0x00000122
-_0204DB10: .word 0x0000FFFF
-_0204DB14: .word 0x0000011A
-
- thumb_func_start FUN_0204DB18
-FUN_0204DB18: ; 0x0204DB18
- push {r3-r7, lr}
- ldr r5, _0204DBC0 ; =0x021C5A68
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- add r3, r2, #0x0
- cmp r0, #0x0
- beq _0204DBBC
- add r2, r0, #0x0
- ldrb r4, [r3, #0x4]
- add r2, #0x62
- lsl r1, r7, #0x3
- add r2, r2, r1
- mov r1, #0x80
- tst r1, r4
- beq _0204DB3E
- ldr r1, _0204DBC4 ; =0x000002BB
- mov r2, #0x1
- strb r2, [r0, r1]
- pop {r3-r7, pc}
-_0204DB3E:
- mov r0, #0x4
- ldrsb r1, [r2, r0]
- sub r0, r0, #0x5
- cmp r1, r0
- bne _0204DB5A
- ldr r4, _0204DBC8 ; =0x00000132
- mov r1, #0x0
- mov r0, #0x1
-_0204DB4E:
- ldr r6, [r5, #0x0]
- add r6, r6, r1
- add r1, r1, #0x1
- strb r0, [r6, r4]
- cmp r1, #0x8
- blt _0204DB4E
-_0204DB5A:
- mov r0, #0x0
- strh r0, [r2, #0x0]
- strh r0, [r2, #0x2]
- ldrh r1, [r2, #0x0]
- ldrb r0, [r3, #0x0]
- add r0, r1, r0
- strh r0, [r2, #0x0]
- ldrb r1, [r3, #0x1]
- ldrh r0, [r2, #0x0]
- lsl r4, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r4, r1
- add r0, r0, r4
- strh r0, [r2, #0x0]
- ldrh r4, [r2, #0x2]
- ldrb r0, [r3, #0x2]
- add r0, r4, r0
- strh r0, [r2, #0x2]
- ldrb r4, [r3, #0x3]
- ldrh r0, [r2, #0x2]
- lsl r4, r4, #0x8
- and r1, r4
- add r0, r0, r1
- strh r0, [r2, #0x2]
- ldrb r1, [r3, #0x4]
- mov r0, #0xf
- ldr r3, _0204DBC0 ; =0x021C5A68
- and r0, r1
- strb r0, [r2, #0x4]
- ldr r1, [r3, #0x0]
- mov r0, #0x1
- add r1, r1, r7
- add r1, #0x48
- strb r0, [r1, #0x0]
- ldr r1, [r3, #0x0]
- add r4, r1, r7
- ldr r1, _0204DBC8 ; =0x00000132
- strb r0, [r4, r1]
- ldr r0, [r3, #0x0]
- ldrh r1, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldr r0, [r0, #0x54]
- bl FUN_0204A6B4
- cmp r0, #0x0
- beq _0204DBBC
- bl ErrorHandling
-_0204DBBC:
- pop {r3-r7, pc}
- nop
-_0204DBC0: .word 0x021C5A68
-_0204DBC4: .word 0x000002BB
-_0204DBC8: .word 0x00000132
-
- thumb_func_start FUN_0204DBCC
-FUN_0204DBCC: ; 0x0204DBCC
- push {r3-r5, lr}
- ldr r0, _0204DC28 ; =0x021C5A68
- ldrb r4, [r2, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204DC24
- bl FUN_02031190
- cmp r4, r0
- beq _0204DC24
- ldr r0, _0204DC28 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204DC2C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DC14
- add r0, r4, #0x0
- bl MOD18_0223E554
- ldr r0, _0204DC28 ; =0x021C5A68
- ldr r3, [r0, #0x0]
- ldr r0, _0204DC30 ; =0x000002BD
- ldrb r0, [r3, r0]
- cmp r0, #0x0
- bne _0204DC14
- lsl r5, r4, #0x3
- add r1, r3, r5
- ldr r0, [r3, #0x54]
- add r3, r3, r5
- add r1, #0xa2
- add r3, #0xa4
- ldrh r1, [r1, #0x0]
- ldrh r3, [r3, #0x0]
- mov r2, #0x0
- bl MOD05_021E5B30
-_0204DC14:
- mov r1, #0x0
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_0204D43C
- add r0, r4, #0x0
- bl FUN_0202DE78
-_0204DC24:
- pop {r3-r5, pc}
- nop
-_0204DC28: .word 0x021C5A68
-_0204DC2C: .word 0x000002BE
-_0204DC30: .word 0x000002BD
-
- thumb_func_start FUN_0204DC34
-FUN_0204DC34: ; 0x0204DC34
- mov r0, #0x5
- bx lr
-
- thumb_func_start FUN_0204DC38
-FUN_0204DC38: ; 0x0204DC38
- push {r3-r5, lr}
- ldrb r1, [r2, #0x0]
- mov r0, #0xf
- add r3, r1, #0x0
- and r3, r0
- ldr r0, _0204DCB0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204DCAC
- ldrb r4, [r2, #0x2]
- add r1, #0xa2
- lsl r0, r3, #0x3
- add r1, r1, r0
- mov r0, #0x80
- tst r0, r4
- beq _0204DC5C
- mov r0, #0x1
- b _0204DC5E
-_0204DC5C:
- mov r0, #0x0
-_0204DC5E:
- strb r0, [r1, #0x7]
- mov r0, #0x0
- strh r0, [r1, #0x0]
- strh r0, [r1, #0x2]
- ldrh r4, [r1, #0x0]
- ldrb r0, [r2, #0x1]
- add r0, r4, r0
- strh r0, [r1, #0x0]
- ldrb r4, [r2, #0x2]
- ldrh r0, [r1, #0x0]
- lsl r5, r4, #0x8
- mov r4, #0x1
- lsl r4, r4, #0x8
- and r5, r4
- add r0, r0, r5
- strh r0, [r1, #0x0]
- ldrh r5, [r1, #0x2]
- ldrb r0, [r2, #0x3]
- add r0, r5, r0
- strh r0, [r1, #0x2]
- ldrb r5, [r2, #0x2]
- ldrh r0, [r1, #0x2]
- lsl r5, r5, #0x7
- and r4, r5
- add r0, r0, r4
- strh r0, [r1, #0x2]
- ldrb r0, [r2, #0x0]
- asr r4, r0, #0x4
- mov r0, #0x3
- and r4, r0
- strb r4, [r1, #0x4]
- ldrb r2, [r2, #0x0]
- asr r2, r2, #0x6
- and r0, r2
- strb r0, [r1, #0x5]
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- bl FUN_0204D328
-_0204DCAC:
- pop {r3-r5, pc}
- nop
-_0204DCB0: .word 0x021C5A68
-
- thumb_func_start FUN_0204DCB4
-FUN_0204DCB4: ; 0x0204DCB4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CC4
- add r4, r0, #0x0
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204DD14 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DD0C
- bl FUN_02031190
- cmp r5, r0
- bne _0204DD0C
- add r0, r4, #0x0
- bl FUN_020266B0
- add r0, r4, #0x0
- bl FUN_020266C8
- cmp r0, #0x32
- bne _0204DD0C
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x25
- bl FUN_0202A170
-_0204DD0C:
- pop {r3-r5, pc}
- nop
-_0204DD10: .word 0x021C5A68
-_0204DD14: .word 0x000002BE
-
- thumb_func_start FUN_0204DD18
-FUN_0204DD18: ; 0x0204DD18
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r4, _0204DE24 ; =0x020F5808
- add r6, r3, #0x0
- add r5, r0, #0x0
- add r3, sp, #0x4
- mov r2, #0xc
-_0204DD26:
- ldrb r0, [r4, #0x0]
- add r4, r4, #0x1
- strb r0, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _0204DD26
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r2, _0204DE2C ; =0x00000102
- ldr r0, [r0, #0x0]
- add r3, r0, r5
- ldrsb r3, [r3, r2]
- mov r2, #0x0
- mvn r2, r2
- cmp r3, r2
- beq _0204DD4E
- lsl r7, r5, #0x2
- add r0, r0, r7
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0204DD54
-_0204DD4E:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204DD54:
- cmp r1, #0x0
- bne _0204DD5E
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204DD5E:
- bl FUN_020553A0
- add r4, r0, #0x0
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r7, #0x0
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- bl FUN_020552F8
- str r0, [sp, #0x0]
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204DE2C ; =0x00000102
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r1, [sp, #0x0]
- cmp r1, r0
- beq _0204DDB4
- add r0, r4, #0x0
- mov r1, #0x80
- bl FUN_02058418
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204DE2C ; =0x00000102
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- add r1, r0, #0x0
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r7
- ldr r0, [r0, #0x8]
- bl FUN_02055304
- add r0, r4, #0x0
- mov r1, #0x80
- bl FUN_02058410
-_0204DDB4:
- add r0, r4, #0x0
- bl FUN_0205AE28
- add r0, r4, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0204DE1C
- add r0, r5, #0x0
- bl FUN_0204DCB4
- cmp r6, #0x0
- beq _0204DDD8
- cmp r6, #0x1
- beq _0204DDEE
- cmp r6, #0x2
- beq _0204DE06
- b _0204DE1C
-_0204DDD8:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r2, [r2, r1]
- add r1, sp, #0x4
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
- b _0204DE1C
-_0204DDEE:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r1, [r2, r1]
- add r2, r1, #0x4
- add r1, sp, #0x4
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
- b _0204DE1C
-_0204DE06:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r2, [r2, r1]
- add r1, sp, #0x4
- add r2, #0x8
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
-_0204DE1C:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204DE24: .word 0x020F5808
-_0204DE28: .word 0x021C5A68
-_0204DE2C: .word 0x00000102
-
- thumb_func_start FUN_0204DE30
-FUN_0204DE30: ; 0x0204DE30
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- ldr r0, _0204E06C ; =0x021C5A68
- lsl r1, r4, #0x3
- ldr r0, [r0, #0x0]
- add r2, r0, #0x0
- add r2, #0xa2
- add r5, r2, r1
- ldr r1, _0204E070 ; =0x00000142
- add r2, r0, r1
- ldrb r1, [r2, r4]
- cmp r1, #0x0
- beq _0204DE54
- sub r0, r1, #0x1
- add sp, #0x1c
- strb r0, [r2, r4]
- pop {r4-r7, pc}
-_0204DE54:
- ldrh r2, [r5, #0x0]
- ldr r1, _0204E074 ; =0x0000FFFF
- cmp r2, r1
- beq _0204DF08
- ldrh r2, [r5, #0x2]
- cmp r2, r1
- beq _0204DF08
- ldr r1, _0204E078 ; =0x000002BD
- ldrb r2, [r0, r1]
- cmp r2, #0x0
- bne _0204DF08
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- bne _0204DE86
- bl FUN_02031190
- cmp r4, r0
- bne _0204DE86
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E07C ; =0x000002C1
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DF08
-_0204DE86:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- str r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0204DE98
- b _0204E068
-_0204DE98:
- bl FUN_02055320
- ldrh r1, [r5, #0x0]
- sub r0, r0, r1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- bl FUN_0205532C
- ldrh r1, [r5, #0x2]
- sub r7, r0, r1
- ldr r0, [sp, #0x18]
- bl FUN_020552F8
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _0204DEC2
- cmp r7, #0x0
- bne _0204DEC2
- mov r6, #0x0
- b _0204DEEC
-_0204DEC2:
- ldr r0, [sp, #0x10]
- bl abs
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl abs
- cmp r6, r0
- ble _0204DEE2
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _0204DEDE
- mov r6, #0x20
- b _0204DEEC
-_0204DEDE:
- mov r6, #0x10
- b _0204DEEC
-_0204DEE2:
- cmp r7, #0x0
- ble _0204DEEA
- mov r6, #0x40
- b _0204DEEC
-_0204DEEA:
- mov r6, #0x80
-_0204DEEC:
- add r0, r7, #0x0
- bl abs
- ldr r0, [sp, #0x10]
- bl abs
- ldrb r3, [r5, #0x5]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_0204DD18
- cmp r0, #0x0
- beq _0204DF0A
-_0204DF08:
- b _0204E068
-_0204DF0A:
- ldrb r0, [r5, #0x5]
- mov r7, #0xff
- str r0, [sp, #0x14]
- cmp r0, #0x3
- bhi _0204DF46
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204DF20: ; jump table (using 16-bit offset)
- .short _0204DF28 - _0204DF20 - 2; case 0
- .short _0204DF2E - _0204DF20 - 2; case 1
- .short _0204DF3C - _0204DF20 - 2; case 2
- .short _0204DF42 - _0204DF20 - 2; case 3
-_0204DF28:
- mov r0, #0x5
- str r0, [sp, #0x8]
- b _0204DF46
-_0204DF2E:
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x2
- orr r0, r6
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- b _0204DF46
-_0204DF3C:
- mov r0, #0x2
- str r0, [sp, #0x8]
- b _0204DF46
-_0204DF42:
- mov r0, #0x1
- str r0, [sp, #0x8]
-_0204DF46:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DF6C
- bl FUN_02031190
- cmp r4, r0
- bne _0204DF6C
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r2, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldrb r1, [r2, r0]
- sub r1, r1, #0x1
- strb r1, [r2, r0]
- b _0204E00C
-_0204DF6C:
- bl FUN_02030FE0
- cmp r0, #0x0
- bne _0204DFA0
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E080 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DFA0
- bl FUN_02031190
- cmp r4, r0
- bne _0204DFA0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_02057194
- add r7, r0, #0x0
- b _0204E00C
-_0204DFA0:
- mov r0, #0x2
- add r1, r6, #0x0
- bic r1, r0
- bne _0204DFDE
- ldrb r0, [r5, #0x7]
- cmp r0, #0x0
- beq _0204DFDE
- mov r0, #0x3
- str r0, [sp, #0x14]
- mov r0, #0x4
- ldrsb r0, [r5, r0]
- cmp r0, #0x3
- bhi _0204DFD2
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204DFC6: ; jump table (using 16-bit offset)
- .short _0204DFCE - _0204DFC6 - 2; case 0
- .short _0204DFD2 - _0204DFC6 - 2; case 1
- .short _0204DFD6 - _0204DFC6 - 2; case 2
- .short _0204DFDA - _0204DFC6 - 2; case 3
-_0204DFCE:
- mov r7, #0x1c
- b _0204E00C
-_0204DFD2:
- mov r7, #0x1d
- b _0204E00C
-_0204DFD6:
- mov r7, #0x1e
- b _0204E00C
-_0204DFDA:
- mov r7, #0x1f
- b _0204E00C
-_0204DFDE:
- cmp r1, #0x0
- bne _0204DFF6
- mov r0, #0x4
- ldrsb r0, [r5, r0]
- ldr r1, [sp, #0xc]
- cmp r0, r1
- beq _0204DFF6
- mov r1, #0x24
- bl FUN_0205AFDC
- add r7, r0, #0x0
- b _0204E00C
-_0204DFF6:
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_02057194
- add r7, r0, #0x0
-_0204E00C:
- ldr r0, [sp, #0x18]
- bl FUN_02057254
- cmp r0, #0x0
- bne _0204E020
- ldr r0, [sp, #0x18]
- bl FUN_020570C4
- cmp r0, #0x0
- beq _0204E068
-_0204E020:
- cmp r7, #0xff
- beq _0204E068
- ldr r0, [sp, #0x18]
- add r1, r7, #0x0
- bl FUN_02057260
- mov r0, #0x2
- bic r6, r0
- beq _0204E068
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- ldr r0, _0204E070 ; =0x00000142
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E050
- ldr r0, [sp, #0x14]
- bl FUN_0204D870
- ldr r1, _0204E06C ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r2, r1, r4
- ldr r1, _0204E070 ; =0x00000142
- strb r0, [r2, r1]
-_0204E050:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E070 ; =0x00000142
- add r1, r1, r0
- ldrb r0, [r1, r4]
- cmp r0, #0x0
- beq _0204E062
- sub r0, r0, #0x1
- strb r0, [r1, r4]
-_0204E062:
- add r0, r4, #0x0
- bl FUN_0204DCB4
-_0204E068:
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_0204E06C: .word 0x021C5A68
-_0204E070: .word 0x00000142
-_0204E074: .word 0x0000FFFF
-_0204E078: .word 0x000002BD
-_0204E07C: .word 0x000002C1
-_0204E080: .word 0x000002BE
-
- thumb_func_start FUN_0204E084
-FUN_0204E084: ; 0x0204E084
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- ldr r1, _0204E16C ; =0x021C5A68
- add r5, r0, #0x0
- ldr r2, [r1, #0x0]
- ldr r1, _0204E170 ; =0x0000010A
- add r2, r2, r1
- ldrb r1, [r2, r5]
- cmp r1, #0x0
- bne _0204E0A0
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204E0A0:
- cmp r1, #0xff
- bne _0204E0AA
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E0AA:
- sub r1, r1, #0x1
- strb r1, [r2, r5]
- cmp r4, #0x1
- bne _0204E0B8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E0B8:
- bl FUN_0204E544
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E598
- str r0, [sp, #0x0]
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E174 ; =0x00000112
- ldrb r0, [r1, r0]
- bl FUN_02059BF4
- add r7, r6, r0
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E174 ; =0x00000112
- ldrb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, [sp, #0x0]
- add r6, r1, r0
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E170 ; =0x0000010A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204E110
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0204D7B0
- cmp r0, #0x0
- beq _0204E110
- ldr r1, _0204E16C ; =0x021C5A68
- mov r0, #0x1
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204E170 ; =0x0000010A
- strb r0, [r2, r1]
-_0204E110:
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E170 ; =0x0000010A
- add r2, r1, r5
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- bne _0204E124
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E124:
- cmp r0, #0x0
- bne _0204E13E
- mov r1, #0x1
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r2, sp, #0x4
- mov r3, #0x0
- bl MOD18_0224089C
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E13E:
- add r1, #0x62
- lsl r2, r5, #0x3
- add r0, r1, r2
- strh r7, [r1, r2]
- strh r6, [r0, #0x2]
- cmp r4, #0x2
- beq _0204E156
- cmp r4, #0x4
- beq _0204E15C
- cmp r4, #0x8
- beq _0204E162
- b _0204E166
-_0204E156:
- mov r1, #0x0
- strb r1, [r0, #0x5]
- b _0204E166
-_0204E15C:
- mov r1, #0x1
- strb r1, [r0, #0x5]
- b _0204E166
-_0204E162:
- mov r1, #0x2
- strb r1, [r0, #0x5]
-_0204E166:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204E16C: .word 0x021C5A68
-_0204E170: .word 0x0000010A
-_0204E174: .word 0x00000112
-
- thumb_func_start FUN_0204E178
-FUN_0204E178: ; 0x0204E178
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204E1DC ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x3
- add r1, #0x62
- add r6, r1, r0
- add r0, r4, #0x0
- add r7, r2, #0x0
- bl FUN_0204F610
- ldr r1, _0204E1DC ; =0x021C5A68
- strb r0, [r6, #0x4]
- ldr r0, [r1, #0x0]
- add r2, r0, r5
- ldr r0, _0204E1E0 ; =0x00000112
- cmp r7, #0x0
- strb r4, [r2, r0]
- beq _0204E1B6
- ldr r2, [r1, #0x0]
- mov r3, #0x1
- add r2, r2, r5
- add r0, #0x18
- strb r3, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x2d
- add r1, r0, r5
- add r0, r2, #0x0
- add r0, #0xdd
- b _0204E1CA
-_0204E1B6:
- ldr r2, [r1, #0x0]
- mov r3, #0x0
- add r2, r2, r5
- add r0, #0x18
- strb r3, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x1b
- add r1, r0, r5
- add r0, r2, #0x0
- add r0, #0xef
-_0204E1CA:
- strb r2, [r1, r0]
- ldr r0, _0204E1DC ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E1E4 ; =0x00000132
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- nop
-_0204E1DC: .word 0x021C5A68
-_0204E1E0: .word 0x00000112
-_0204E1E4: .word 0x00000132
-
- thumb_func_start FUN_0204E1E8
-FUN_0204E1E8: ; 0x0204E1E8
- ldr r1, _0204E1F8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204E1FC ; =0x0000010A
- strb r2, [r1, r0]
- bx lr
- nop
-_0204E1F8: .word 0x021C5A68
-_0204E1FC: .word 0x0000010A
-
- thumb_func_start FUN_0204E200
-FUN_0204E200: ; 0x0204E200
- ldr r1, _0204E210 ; =0x021C5A68
- mov r2, #0xff
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- add r0, r2, #0x0
- add r0, #0xb
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0204E210: .word 0x021C5A68
-
- thumb_func_start FUN_0204E214
-FUN_0204E214: ; 0x0204E214
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204E24C ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E248
- bl FUN_020553A0
- mov r1, #0x80
- add r6, r0, #0x0
- bl FUN_02058410
- mov r1, #0x1
- add r0, r6, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058410
- ldr r0, _0204E24C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E250 ; =0x00000102
- strb r4, [r1, r0]
-_0204E248:
- pop {r4-r6, pc}
- nop
-_0204E24C: .word 0x021C5A68
-_0204E250: .word 0x00000102
-
- thumb_func_start FUN_0204E254
-FUN_0204E254: ; 0x0204E254
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _0204E2A0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E29E
- add r2, r1, r4
- ldr r1, _0204E2A4 ; =0x00000102
- ldrsb r2, [r2, r1]
- mov r1, #0x0
- mvn r1, r1
- cmp r2, r1
- beq _0204E29E
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE50
- add r0, r5, #0x0
- mov r1, #0x80
- bl FUN_02058418
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058418
- ldr r0, _0204E2A0 ; =0x021C5A68
- mov r2, #0x0
- ldr r0, [r0, #0x0]
- mvn r2, r2
- add r1, r0, r4
- ldr r0, _0204E2A4 ; =0x00000102
- strb r2, [r1, r0]
-_0204E29E:
- pop {r3-r5, pc}
- .balign 4
-_0204E2A0: .word 0x021C5A68
-_0204E2A4: .word 0x00000102
-
- thumb_func_start FUN_0204E2A8
-FUN_0204E2A8: ; 0x0204E2A8
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_0204E2AC
-FUN_0204E2AC: ; 0x0204E2AC
- ldr r3, _0204E2B0 ; =FUN_0204F7FC
- bx r3
- .balign 4
-_0204E2B0: .word FUN_0204F7FC
-
- thumb_func_start FUN_0204E2B4
-FUN_0204E2B4: ; 0x0204E2B4
- ldr r3, _0204E2B8 ; =FUN_0204F7FC
- bx r3
- .balign 4
-_0204E2B8: .word FUN_0204F7FC
-
- thumb_func_start FUN_0204E2BC
-FUN_0204E2BC: ; 0x0204E2BC
- ldr r3, _0204E2C4 ; =FUN_0204F774
- mov r0, #0x2
- bx r3
- nop
-_0204E2C4: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2C8
-FUN_0204E2C8: ; 0x0204E2C8
- ldr r3, _0204E2D0 ; =FUN_0204F774
- mov r0, #0x20
- bx r3
- nop
-_0204E2D0: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2D4
-FUN_0204E2D4: ; 0x0204E2D4
- ldr r3, _0204E2DC ; =FUN_0204F774
- mov r0, #0x1
- bx r3
- nop
-_0204E2DC: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2E0
-FUN_0204E2E0: ; 0x0204E2E0
- push {r3, lr}
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- mov r0, #0x1a
- add r1, sp, #0x0
- bl FUN_02030C4C
- pop {r3, pc}
-
- thumb_func_start FUN_0204E2F0
-FUN_0204E2F0: ; 0x0204E2F0
- ldr r3, _0204E2F8 ; =MOD18_0223E4BC
- ldrb r0, [r2, #0x0]
- bx r3
- nop
-_0204E2F8: .word MOD18_0223E4BC
-
- thumb_func_start FUN_0204E2FC
-FUN_0204E2FC: ; 0x0204E2FC
- push {r3, lr}
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204E30A
- mov r0, #0x1
- pop {r3, pc}
-_0204E30A:
- ldr r0, _0204E344 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E316
- mov r0, #0x0
- pop {r3, pc}
-_0204E316:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204E326
- mov r0, #0x0
- pop {r3, pc}
-_0204E326:
- ldr r0, _0204E344 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E348 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204E33E
- bl FUN_0204FE5C
- cmp r0, #0x0
- bne _0204E33E
- mov r0, #0x0
- pop {r3, pc}
-_0204E33E:
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0204E344: .word 0x021C5A68
-_0204E348: .word 0x000002BE
-
- thumb_func_start FUN_0204E34C
-FUN_0204E34C: ; 0x0204E34C
- ldr r1, _0204E358 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-_0204E358: .word 0x021C5A68
-
- thumb_func_start FUN_0204E35C
-FUN_0204E35C: ; 0x0204E35C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E36C
- ldr r0, _0204E3A0 ; =0x0000FFFF
- pop {r4, pc}
-_0204E36C:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E382
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E382:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E398
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E398:
- ldr r0, _0204E3A0 ; =0x0000FFFF
- pop {r4, pc}
- .balign 4
-_0204E39C: .word 0x021C5A68
-_0204E3A0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E3A4
-FUN_0204E3A4: ; 0x0204E3A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E3B4
- ldr r0, _0204E3E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E3B4:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E3CA
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E3CA:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E3E0
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E3E0:
- ldr r0, _0204E3E8 ; =0x0000FFFF
- pop {r4, pc}
- .balign 4
-_0204E3E4: .word 0x021C5A68
-_0204E3E8: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E3EC
-FUN_0204E3EC: ; 0x0204E3EC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E3FC
- ldr r0, _0204E43C ; =0x0000FFFF
- pop {r4, pc}
-_0204E3FC:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E412
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E412:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E428
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E42C
-_0204E428:
- ldr r0, _0204E43C ; =0x0000FFFF
- pop {r4, pc}
-_0204E42C:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E438: .word 0x021C5A68
-_0204E43C: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E440
-FUN_0204E440: ; 0x0204E440
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E450
- ldr r0, _0204E490 ; =0x0000FFFF
- pop {r4, pc}
-_0204E450:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E466
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E466:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E47C
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E480
-_0204E47C:
- ldr r0, _0204E490 ; =0x0000FFFF
- pop {r4, pc}
-_0204E480:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E48C: .word 0x021C5A68
-_0204E490: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E494
-FUN_0204E494: ; 0x0204E494
- ldr r1, _0204E4AC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E4A6
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E4A6:
- ldr r0, _0204E4B0 ; =0x0000FFFF
- bx lr
- nop
-_0204E4AC: .word 0x021C5A68
-_0204E4B0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E4B4
-FUN_0204E4B4: ; 0x0204E4B4
- ldr r1, _0204E4CC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E4C6
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E4C6:
- ldr r0, _0204E4D0 ; =0x0000FFFF
- bx lr
- nop
-_0204E4CC: .word 0x021C5A68
-_0204E4D0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E4D4
-FUN_0204E4D4: ; 0x0204E4D4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E3EC
- ldr r1, _0204E504 ; =0x0000FFFF
- cmp r0, r1
- bne _0204E4E6
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E4E6:
- ldr r0, _0204E508 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_02059BF4
- ldr r1, _0204E508 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xa2
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E504: .word 0x0000FFFF
-_0204E508: .word 0x021C5A68
-
- thumb_func_start FUN_0204E50C
-FUN_0204E50C: ; 0x0204E50C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E440
- ldr r1, _0204E53C ; =0x0000FFFF
- cmp r0, r1
- bne _0204E51E
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E51E:
- ldr r0, _0204E540 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, _0204E540 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xa4
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E53C: .word 0x0000FFFF
-_0204E540: .word 0x021C5A68
-
- thumb_func_start FUN_0204E544
-FUN_0204E544: ; 0x0204E544
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E554
- ldr r0, _0204E594 ; =0x0000FFFF
- pop {r4, pc}
-_0204E554:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E56A
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E56A:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E580
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E584
-_0204E580:
- ldr r0, _0204E594 ; =0x0000FFFF
- pop {r4, pc}
-_0204E584:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E590: .word 0x021C5A68
-_0204E594: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E598
-FUN_0204E598: ; 0x0204E598
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E5A8
- ldr r0, _0204E5E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E5A8:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E5BE
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E5BE:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E5D4
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E5D8
-_0204E5D4:
- ldr r0, _0204E5E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E5D8:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E5E4: .word 0x021C5A68
-_0204E5E8: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E5EC
-FUN_0204E5EC: ; 0x0204E5EC
- ldr r1, _0204E604 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E5FE
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E5FE:
- ldr r0, _0204E608 ; =0x0000FFFF
- bx lr
- nop
-_0204E604: .word 0x021C5A68
-_0204E608: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E60C
-FUN_0204E60C: ; 0x0204E60C
- ldr r1, _0204E624 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E61E
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E61E:
- ldr r0, _0204E628 ; =0x0000FFFF
- bx lr
- nop
-_0204E624: .word 0x021C5A68
-_0204E628: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E62C
-FUN_0204E62C: ; 0x0204E62C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E544
- ldr r1, _0204E65C ; =0x0000FFFF
- cmp r0, r1
- bne _0204E63E
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E63E:
- ldr r0, _0204E660 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_02059BF4
- ldr r1, _0204E660 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0x62
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E65C: .word 0x0000FFFF
-_0204E660: .word 0x021C5A68
-
- thumb_func_start FUN_0204E664
-FUN_0204E664: ; 0x0204E664
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E598
- ldr r1, _0204E694 ; =0x0000FFFF
- cmp r0, r1
- bne _0204E676
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E676:
- ldr r0, _0204E698 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, _0204E698 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0x64
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E694: .word 0x0000FFFF
-_0204E698: .word 0x021C5A68
-
- thumb_func_start FUN_0204E69C
-FUN_0204E69C: ; 0x0204E69C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E6B6
- ldr r0, _0204E6C8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E6BC
-_0204E6B6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0204E6BC:
- lsl r0, r4, #0x3
- add r1, r1, r0
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- pop {r4, pc}
- nop
-_0204E6C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E6CC
-FUN_0204E6CC: ; 0x0204E6CC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E6E6
- ldr r0, _0204E6F8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E6EC
-_0204E6E6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0204E6EC:
- lsl r0, r4, #0x3
- add r1, r1, r0
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- pop {r4, pc}
- nop
-_0204E6F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E6FC
-FUN_0204E6FC: ; 0x0204E6FC
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _0204E728 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r2, _0204E728 ; =0x021C5A68
- lsl r1, r4, #0x3
- ldr r3, [r2, #0x0]
- add r1, r3, r1
- add r1, #0x66
- strb r0, [r1, #0x0]
- ldr r0, [r2, #0x0]
- mov r3, #0x1
- add r1, r0, r4
- ldr r0, _0204E72C ; =0x00000132
- strb r3, [r1, r0]
- pop {r4, pc}
- .balign 4
-_0204E728: .word 0x021C5A68
-_0204E72C: .word 0x00000132
-
- thumb_func_start FUN_0204E730
-FUN_0204E730: ; 0x0204E730
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _0204E754 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r1, _0204E754 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa6
- strb r0, [r1, #0x0]
- pop {r4, pc}
- nop
-_0204E754: .word 0x021C5A68
-
- thumb_func_start FUN_0204E758
-FUN_0204E758: ; 0x0204E758
- push {r4, lr}
- add r2, r0, #0x0
- ldr r0, _0204E774 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r2, #0x0
- ldr r0, [r0, #0x4]
- bl MOD18_02244D40
- add r1, r4, #0x0
- bl MOD18_02244D98
- pop {r4, pc}
- nop
-_0204E774: .word 0x021C5A68
-
- thumb_func_start FUN_0204E778
-FUN_0204E778: ; 0x0204E778
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _0204E790 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl MOD18_02244D40
- mov r1, #0x0
- bl MOD18_02244D98
- pop {r3, pc}
- nop
-_0204E790: .word 0x021C5A68
-
- thumb_func_start FUN_0204E794
-FUN_0204E794: ; 0x0204E794
- push {r3-r7, lr}
- sub sp, #0x8
- str r1, [sp, #0x0]
- ldr r1, _0204E7C8 ; =0x021C5A68
- add r6, r3, #0x0
- ldr r4, [r1, #0x0]
- lsl r7, r0, #0x3
- add r4, #0x62
- add r0, r6, #0x0
- str r2, [sp, #0x4]
- add r5, r4, r7
- bl FUN_02059BF4
- ldr r1, [sp, #0x0]
- add r0, r1, r0
- strh r0, [r4, r7]
- add r0, r6, #0x0
- bl FUN_02059C00
- ldr r1, [sp, #0x4]
- add r0, r1, r0
- strh r0, [r5, #0x2]
- strb r6, [r5, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0204E7C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E7CC
-FUN_0204E7CC: ; 0x0204E7CC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204E848 ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- cmp r0, #0x0
- beq _0204E844
- add r2, r0, #0x0
- add r2, #0xa2
- lsl r1, r5, #0x3
- add r4, r2, r1
- ldr r1, _0204E84C ; =0x000002BD
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- bne _0204E7FA
- ldrh r1, [r4, #0x0]
- ldrh r3, [r4, #0x2]
- ldr r0, [r0, #0x54]
- mov r2, #0x0
- bl MOD05_021E5B30
-_0204E7FA:
- strh r6, [r4, #0x0]
- ldr r0, [sp, #0x0]
- strh r7, [r4, #0x2]
- strb r0, [r4, #0x4]
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E81A
- ldr r3, [sp, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02055514
-_0204E81A:
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E84C ; =0x000002BD
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E832
- ldr r0, [r1, #0x54]
- ldrh r1, [r4, #0x0]
- ldrh r3, [r4, #0x2]
- mov r2, #0x0
- bl MOD05_021E5B30
-_0204E832:
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E84C ; =0x000002BD
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E844
- add r0, r5, #0x0
- bl FUN_0204F0A8
-_0204E844:
- pop {r3-r7, pc}
- nop
-_0204E848: .word 0x021C5A68
-_0204E84C: .word 0x000002BD
-
- thumb_func_start FUN_0204E850
-FUN_0204E850: ; 0x0204E850
- push {r3-r4, lr}
- sub sp, #0x4
- mov r2, #0x2
- add r1, sp, #0x0
- add r4, r0, #0x0
- strb r2, [r1, #0x0]
- strb r4, [r1, #0x1]
- ldr r1, _0204E8AC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xe2
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E88A
- bl FUN_0204D830
- cmp r0, #0x0
- bne _0204E88A
- add r0, r4, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- add r0, sp, #0x0
- beq _0204E886
- mov r1, #0x3
- strb r1, [r0, #0x0]
- b _0204E88A
-_0204E886:
- mov r1, #0x1
- strb r1, [r0, #0x0]
-_0204E88A:
- mov r0, #0x1d
- add r1, sp, #0x0
- mov r2, #0x2
- bl FUN_02030BC4
- cmp r0, #0x0
- beq _0204E8A8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _0204E8A8
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
-_0204E8A8:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0204E8AC: .word 0x021C5A68
-
- thumb_func_start FUN_0204E8B0
-FUN_0204E8B0: ; 0x0204E8B0
- push {r3-r6}
- ldr r2, _0204E8F8 ; =0x021C5A68
- ldr r3, [r2, #0x0]
- cmp r3, #0x0
- bne _0204E8C0
- mov r0, #0xff
- pop {r3-r6}
- bx lr
-_0204E8C0:
- mov r2, #0x0
- add r4, r3, #0x0
-_0204E8C4:
- add r5, r3, #0x0
- add r5, #0x48
- ldrb r5, [r5, #0x0]
- cmp r5, #0x0
- beq _0204E8E8
- add r5, r4, #0x0
- add r5, #0x64
- ldrh r6, [r5, #0x0]
- add r5, r4, #0x0
- add r5, #0x62
- ldrh r5, [r5, #0x0]
- cmp r0, r5
- bne _0204E8E8
- cmp r1, r6
- bne _0204E8E8
- add r0, r2, #0x0
- pop {r3-r6}
- bx lr
-_0204E8E8:
- add r2, r2, #0x1
- add r3, r3, #0x1
- add r4, #0x8
- cmp r2, #0x8
- blt _0204E8C4
- mov r0, #0xff
- pop {r3-r6}
- bx lr
- .balign 4
-_0204E8F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E8FC
-FUN_0204E8FC: ; 0x0204E8FC
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02030FE0
- cmp r0, #0x0
- beq _0204E962
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _0204E936
- bl FUN_02031190
- ldrb r1, [r4, #0x1]
- cmp r1, r0
- bne _0204E936
- ldr r1, _0204E964 ; =0x021C5A68
- mov r0, #0xae
- ldr r3, [r1, #0x0]
- lsl r0, r0, #0x2
- ldrb r2, [r3, r0]
- cmp r2, #0x0
- bne _0204E962
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- ldr r0, _0204E968 ; =FUN_0204D308
- ldr r1, [r1, #0x54]
- bl MOD18_022494C8
- pop {r4, pc}
-_0204E936:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x3
- bne _0204E962
- bl FUN_02031190
- ldrb r1, [r4, #0x1]
- cmp r1, r0
- bne _0204E962
- ldr r1, _0204E964 ; =0x021C5A68
- mov r0, #0xae
- ldr r3, [r1, #0x0]
- lsl r0, r0, #0x2
- ldrb r2, [r3, r0]
- cmp r2, #0x0
- bne _0204E962
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- ldr r0, _0204E968 ; =FUN_0204D308
- ldr r1, [r1, #0x54]
- bl MOD06_0224A7C8
-_0204E962:
- pop {r4, pc}
- .balign 4
-_0204E964: .word 0x021C5A68
-_0204E968: .word FUN_0204D308
-
- thumb_func_start FUN_0204E96C
-FUN_0204E96C: ; 0x0204E96C
- push {r4-r6, lr}
- ldr r0, _0204EACC ; =0x021C5A68
- add r5, r2, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- ldrb r0, [r5, #0x1]
- cmp r0, #0x8
- blo _0204E988
- bl ErrorHandling
-_0204E988:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x4
- bne _0204E9AA
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204E9AA
- bl FUN_0204F7E4
- bl MOD18_0223D638
- ldr r3, _0204EAD0 ; =FUN_0204E2AC
- mov r1, #0x48
- mov r2, #0x1
- bl MOD18_0224DCB8
-_0204E9AA:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204E9B8
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_0204E730
-_0204E9B8:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EA7C
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204EA7C
- ldr r2, _0204EACC ; =0x021C5A68
- ldrb r0, [r5, #0x2]
- ldr r2, [r2, #0x0]
- ldr r1, _0204EAD4 ; =FUN_0204D308
- ldr r2, [r2, #0x54]
- bl MOD18_02247A34
- ldr r0, _0204EACC ; =0x021C5A68
- ldrb r4, [r5, #0x1]
- ldr r2, [r0, #0x0]
- mov r3, #0xf
- add r1, r2, #0x0
- add r1, #0x58
- ldrb r1, [r1, #0x0]
- add r2, #0x58
- bic r1, r3
- mov r3, #0xf
- and r3, r4
- orr r1, r3
- strb r1, [r2, #0x0]
- ldr r2, [r0, #0x0]
- mov r3, #0xf0
- add r1, r2, #0x0
- add r1, #0x58
- ldrb r1, [r1, #0x0]
- add r2, #0x58
- bic r1, r3
- ldrb r3, [r5, #0x2]
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x18
- orr r1, r3
- strb r1, [r2, #0x0]
- ldr r3, [r0, #0x0]
- add r1, r3, #0x0
- add r1, #0x59
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r3, #0x59
- bic r2, r1
- strb r2, [r3, #0x0]
- ldr r3, [r0, #0x0]
- add r1, r3, #0x0
- add r1, #0x59
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r3, #0x59
- bic r2, r1
- strb r2, [r3, #0x0]
- ldrb r4, [r5, #0x2]
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x5a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204EA7C
- ldr r0, [r1, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r1, r4, #0x0
- bl FUN_02026908
- add r0, r6, #0x0
- bl FUN_0205F688
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F698
- add r0, r6, #0x0
- bl FUN_0205F6A8
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F6B8
- ldr r0, _0204EACC ; =0x021C5A68
- ldrb r1, [r5, #0x2]
- ldr r2, [r0, #0x0]
- add r2, #0x5a
- ldrb r0, [r2, r1]
- add r0, r0, #0x1
- strb r0, [r2, r1]
-_0204EA7C:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EA9A
- ldrb r4, [r5, #0x2]
- bl FUN_02031190
- cmp r4, r0
- bne _0204EA9A
- ldr r2, _0204EACC ; =0x021C5A68
- ldrb r1, [r5, #0x1]
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0x54]
- bl MOD18_02248DF8
-_0204EA9A:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x2
- bne _0204EABC
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204EABC
- bl FUN_0204F7E4
- bl MOD18_0223D638
- ldr r3, _0204EAD0 ; =FUN_0204E2AC
- mov r1, #0x2
- mov r2, #0x1
- bl MOD18_0224DCB8
-_0204EABC:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EACA
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl MOD18_0223E4A8
-_0204EACA:
- pop {r4-r6, pc}
- .balign 4
-_0204EACC: .word 0x021C5A68
-_0204EAD0: .word FUN_0204E2AC
-_0204EAD4: .word FUN_0204D308
-
- thumb_func_start FUN_0204EAD8
-FUN_0204EAD8: ; 0x0204EAD8
- push {r3-r4}
- ldr r3, _0204EB0C ; =0x021C5A68
- ldr r4, [r3, #0x0]
- add r4, #0xe2
- ldrb r2, [r4, r0]
- cmp r1, r2
- beq _0204EB08
- strb r1, [r4, r0]
- ldr r2, [r3, #0x0]
- lsl r1, r0, #0x3
- add r2, r2, r1
- mov r4, #0x0
- add r2, #0x69
- strb r4, [r2, #0x0]
- ldr r2, [r3, #0x0]
- mov r4, #0x1
- add r2, r2, r0
- ldr r0, _0204EB10 ; =0x00000132
- strb r4, [r2, r0]
- ldr r0, [r3, #0x0]
- mov r2, #0x2
- add r0, r0, r1
- add r0, #0x67
- strb r2, [r0, #0x0]
-_0204EB08:
- pop {r3-r4}
- bx lr
- .balign 4
-_0204EB0C: .word 0x021C5A68
-_0204EB10: .word 0x00000132
-
- thumb_func_start FUN_0204EB14
-FUN_0204EB14: ; 0x0204EB14
- ldr r1, _0204EB3C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- ldr r1, _0204EB40 ; =0x000002C2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0204EB24
- mov r0, #0x0
- bx lr
-_0204EB24:
- add r1, r2, r0
- add r1, #0xea
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204EB36
- add r0, r2, r0
- add r0, #0xe2
- ldrb r0, [r0, #0x0]
- bx lr
-_0204EB36:
- mov r0, #0x0
- bx lr
- nop
-_0204EB3C: .word 0x021C5A68
-_0204EB40: .word 0x000002C2
-
- thumb_func_start FUN_0204EB44
-FUN_0204EB44: ; 0x0204EB44
- push {r3-r7, lr}
- sub sp, #0x30
- ldr r1, _0204EBF8 ; =0x020F5800
- add r0, sp, #0x8
- ldrh r2, [r1, #0x0]
- ldr r3, _0204EBFC ; =0x020F5814
- strh r2, [r0, #0x0]
- ldrh r2, [r1, #0x2]
- strh r2, [r0, #0x2]
- ldrh r2, [r1, #0x4]
- ldrh r1, [r1, #0x6]
- strh r2, [r0, #0x4]
- strh r1, [r0, #0x6]
- add r2, sp, #0x20
- mov r1, #0x8
-_0204EB62:
- ldrh r0, [r3, #0x0]
- add r3, r3, #0x2
- strh r0, [r2, #0x0]
- add r2, r2, #0x2
- sub r1, r1, #0x1
- bne _0204EB62
- bl FUN_02033534
- bl FUN_02031248
- add r6, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x0]
- cmp r6, #0x2
- bne _0204EB86
- add r5, sp, #0x8
- b _0204EB88
-_0204EB86:
- add r5, sp, #0x20
-_0204EB88:
- mov r7, #0x0
- cmp r6, #0x0
- ble _0204EBD4
-_0204EB8E:
- mov r4, #0x0
- cmp r6, #0x0
- ble _0204EBCC
-_0204EB94:
- add r0, r4, #0x0
- bl FUN_0204E3EC
- ldrh r1, [r5, #0x0]
- cmp r1, r0
- bne _0204EBC6
- add r0, r4, #0x0
- bl FUN_0204E440
- ldrh r1, [r5, #0x2]
- cmp r1, r0
- bne _0204EBC6
- ldr r0, [sp, #0x4]
- lsl r1, r4, #0x2
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- add r0, sp, #0x10
- str r7, [r0, r1]
- bl FUN_02031190
- cmp r4, r0
- bne _0204EBCC
- mov r0, #0x1
- str r0, [sp, #0x0]
- b _0204EBCC
-_0204EBC6:
- add r4, r4, #0x1
- cmp r4, r6
- blt _0204EB94
-_0204EBCC:
- add r7, r7, #0x1
- add r5, r5, #0x4
- cmp r7, r6
- blt _0204EB8E
-_0204EBD4:
- ldr r0, [sp, #0x4]
- cmp r0, r6
- bne _0204EBF2
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204EBF2
- add r4, sp, #0x10
-_0204EBE2:
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_020313B4
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, r6
- blt _0204EBE2
-_0204EBF2:
- ldr r0, [sp, #0x0]
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_0204EBF8: .word 0x020F5800
-_0204EBFC: .word 0x020F5814
-
- thumb_func_start FUN_0204EC00
-FUN_0204EC00: ; 0x0204EC00
- ldrb r2, [r2, #0x0]
- cmp r2, #0x3
- bne _0204EC14
- ldr r1, _0204EC24 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xf2
- strb r2, [r0, #0x0]
- bx lr
-_0204EC14:
- ldr r1, _0204EC24 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xad
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- bx lr
- nop
-_0204EC24: .word 0x021C5A68
-
- thumb_func_start FUN_0204EC28
-FUN_0204EC28: ; 0x0204EC28
- push {r3-r7, lr}
- sub sp, #0x8
- bl FUN_02033534
- bl FUN_02031248
- add r7, r0, #0x0
- cmp r7, #0x2
- bne _0204EC40
- ldr r0, _0204ECB4 ; =0x02105E5C
- str r0, [sp, #0x0]
- b _0204EC44
-_0204EC40:
- ldr r0, _0204ECB8 ; =0x02105E64
- str r0, [sp, #0x0]
-_0204EC44:
- mov r1, #0x0
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- cmp r7, #0x0
- ble _0204ECAE
-_0204EC4E:
- ldr r0, _0204ECBC ; =0x021C5A68
- add r6, sp, #0x4
- ldr r1, [r0, #0x0]
- ldrb r0, [r6, #0x0]
- add r1, r1, r0
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204ECA0
- mov r4, #0x0
- cmp r7, #0x0
- ble _0204ECA0
- ldr r5, [sp, #0x0]
-_0204EC6A:
- ldrb r0, [r6, #0x0]
- bl FUN_0204E544
- ldrh r1, [r5, #0x0]
- cmp r1, r0
- bne _0204EC98
- ldrb r0, [r6, #0x0]
- bl FUN_0204E598
- ldrh r1, [r5, #0x2]
- cmp r1, r0
- bne _0204EC98
- ldr r0, _0204ECBC ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r6, #0x0]
- add r1, r1, r0
- add r1, #0xf2
- mov r0, #0x1
- strb r0, [r1, #0x0]
- mov r0, #0x5f
- add r1, sp, #0x4
- bl FUN_02030C4C
-_0204EC98:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r7
- blt _0204EC6A
-_0204ECA0:
- add r0, sp, #0x4
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- ldrb r0, [r0, #0x0]
- cmp r0, r7
- blt _0204EC4E
-_0204ECAE:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0204ECB4: .word 0x02105E5C
-_0204ECB8: .word 0x02105E64
-_0204ECBC: .word 0x021C5A68
-
- thumb_func_start FUN_0204ECC0
-FUN_0204ECC0: ; 0x0204ECC0
- push {r4, lr}
- bl FUN_02031190
- add r4, r0, #0x0
- bl FUN_0204E3EC
- cmp r0, #0x8
- ble _0204ECE0
- mov r0, #0x2
- bl FUN_0204F6DC
- mov r0, #0x2
- mov r1, #0x24
- bl FUN_0205AFDC
- b _0204ECEE
-_0204ECE0:
- mov r0, #0x3
- bl FUN_0204F6DC
- mov r0, #0x3
- mov r1, #0x24
- bl FUN_0205AFDC
-_0204ECEE:
- add r1, r0, #0x0
- ldr r0, _0204ED04 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r2, r0
- ldr r0, [r0, #0x8]
- bl FUN_02057260
- bl FUN_0204FB14
- pop {r4, pc}
- .balign 4
-_0204ED04: .word 0x021C5A68
-
- thumb_func_start FUN_0204ED08
-FUN_0204ED08: ; 0x0204ED08
- push {r3-r7, lr}
- sub sp, #0x8
- bl FUN_02033534
- bl FUN_02031248
- mov r3, #0x0
- str r0, [sp, #0x0]
- cmp r0, #0x0
- ble _0204ED3C
- ldr r0, _0204ED94 ; =0x021C5A68
- mov r1, #0x66
- add r2, r1, #0x0
- ldr r4, [r0, #0x0]
- sub r2, #0x67
-_0204ED26:
- ldrsb r0, [r4, r1]
- cmp r0, r2
- bne _0204ED32
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204ED32:
- ldr r0, [sp, #0x0]
- add r3, r3, #0x1
- add r4, #0x8
- cmp r3, r0
- blt _0204ED26
-_0204ED3C:
- ldr r0, [sp, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- ble _0204ED8E
- add r4, r5, #0x0
-_0204ED46:
- ldr r0, _0204ED94 ; =0x021C5A68
- ldr r7, [r0, #0x0]
- mov r0, #0x4
- add r7, #0x62
- add r6, r7, r4
- ldrsb r0, [r6, r0]
- bl FUN_0204F610
- str r0, [sp, #0x4]
- bl FUN_02059BF4
- ldrh r1, [r7, r4]
- add r0, r1, r0
- strh r0, [r7, r4]
- ldr r0, [sp, #0x4]
- bl FUN_02059C00
- ldrh r1, [r6, #0x2]
- add r0, r1, r0
- strh r0, [r6, #0x2]
- mov r0, #0x2
- strb r0, [r6, #0x5]
- ldr r0, _0204ED94 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r2, r0, r5
- ldr r0, _0204ED98 ; =0x00000132
- strb r1, [r2, r0]
- add r0, r5, #0x0
- bl FUN_0204EAD8
- ldr r0, [sp, #0x0]
- add r5, r5, #0x1
- add r4, #0x8
- cmp r5, r0
- blt _0204ED46
-_0204ED8E:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204ED94: .word 0x021C5A68
-_0204ED98: .word 0x00000132
-
- thumb_func_start FUN_0204ED9C
-FUN_0204ED9C: ; 0x0204ED9C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204EDE8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EDE2
- bl FUN_02016A18
- ldr r2, _0204EDE8 ; =0x021C5A68
- lsl r1, r4, #0x2
- ldr r3, [r2, #0x0]
- mov r0, #0x0
- add r3, r3, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- str r0, [r3, r1]
- ldr r1, [r2, #0x0]
- mov r3, #0xff
- add r1, r1, r4
- add r1, #0xfa
- strb r0, [r1, #0x0]
- mov r0, #0x22
- ldr r1, [r2, #0x0]
- mul r0, r4
- add r1, r1, r0
- add r0, r3, #0x0
- add r0, #0x6b
- strh r3, [r1, r0]
- mov r0, #0x1
- pop {r4, pc}
-_0204EDE2:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0204EDE8: .word 0x021C5A68
-
- thumb_func_start FUN_0204EDEC
-FUN_0204EDEC: ; 0x0204EDEC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02031190
- cmp r7, r0
- bne _0204EE90
- ldr r0, _0204EE98 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- lsl r0, r7, #0x2
- add r1, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EE96
- ldr r0, [r2, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x1c
- bl FUN_0202A170
- ldr r0, _0204EE98 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- mov r0, #0xa3
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EE2A
- bl FUN_02016A18
-_0204EE2A:
- mov r0, #0x9e
- lsl r0, r0, #0x2
- ldr r2, _0204EE98 ; =0x021C5A68
- mov r5, #0x4
- mov r6, #0x10
- add r1, r0, #0x4
-_0204EE36:
- ldr r3, [r2, #0x0]
- sub r5, r5, #0x1
- add r4, r3, r6
- ldr r3, [r4, r0]
- sub r6, r6, #0x4
- str r3, [r4, r1]
- cmp r5, #0x1
- bge _0204EE36
- ldr r1, _0204EE98 ; =0x021C5A68
- mov r0, #0x29
- ldr r3, [r1, #0x0]
- lsl r4, r7, #0x2
- add r2, r3, r4
- lsl r0, r0, #0x4
- ldr r2, [r2, r0]
- sub r0, #0x14
- str r2, [r3, r0]
- ldr r5, [r1, #0x0]
- ldr r0, [r5, #0x54]
- bl FUN_020377AC
- bl FUN_02026CC4
- mov r1, #0x29
- add r2, r5, r4
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- bl FUN_02025C40
- ldr r1, _0204EE98 ; =0x021C5A68
- mov r3, #0x0
- ldr r0, [r1, #0x0]
- add r2, r0, r4
- mov r0, #0x29
- lsl r0, r0, #0x4
- str r3, [r2, r0]
- mov r0, #0x22
- ldr r1, [r1, #0x0]
- mul r0, r7
- mov r2, #0xff
- add r1, r1, r0
- add r0, r2, #0x0
- add r0, #0x6b
- strh r2, [r1, r0]
- pop {r3-r7, pc}
-_0204EE90:
- add r0, r7, #0x0
- bl FUN_0204ED9C
-_0204EE96:
- pop {r3-r7, pc}
- .balign 4
-_0204EE98: .word 0x021C5A68
-
- thumb_func_start FUN_0204EE9C
-FUN_0204EE9C: ; 0x0204EE9C
- ldr r1, _0204EEB8 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EEB2
- mov r0, #0x1
- bx lr
-_0204EEB2:
- mov r0, #0x0
- bx lr
- nop
-_0204EEB8: .word 0x021C5A68
-
- thumb_func_start FUN_0204EEBC
-FUN_0204EEBC: ; 0x0204EEBC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204EF48 ; =0x021C5A68
- add r6, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0204EF44
- add r0, r6, #0x0
- bl FUN_0202DFA4
- add r7, r0, #0x0
- beq _0204EF44
- mov r0, #0xf
- lsl r4, r5, #0x2
- bl FUN_02023928
- mov r3, #0x29
- ldr r1, _0204EF48 ; =0x021C5A68
- add r2, r0, #0x0
- ldr r0, [r1, #0x0]
- lsl r3, r3, #0x4
- add r0, r0, r4
- str r2, [r0, r3]
- ldr r1, [r1, #0x0]
- add r0, r7, #0x0
- add r1, r1, r4
- ldr r1, [r1, r3]
- bl FUN_0202393C
- ldr r1, _0204EF48 ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r1, #0x0]
- ldr r3, _0204EF4C ; =0x0000016A
- add r0, r0, r5
- add r0, #0xfa
- strb r2, [r0, #0x0]
- mov r0, #0x22
- add r2, r5, #0x0
- mul r2, r0
- ldr r0, [r1, #0x0]
- add r0, r0, r2
- strh r5, [r0, r3]
- ldr r1, [r1, #0x0]
- sub r3, #0x20
- add r1, r1, r3
- add r0, r7, #0x0
- add r1, r1, r2
- bl FUN_0202393C
- bl FUN_02031190
- cmp r6, r0
- bne _0204EF40
- ldr r0, _0204EF48 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02026CB4
- bl FUN_02026BC8
-_0204EF40:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204EF44:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204EF48: .word 0x021C5A68
-_0204EF4C: .word 0x0000016A
-
- thumb_func_start FUN_0204EF50
-FUN_0204EF50: ; 0x0204EF50
- push {r3-r7, lr}
- ldr r4, _0204EFC4 ; =0x021C5A68
- mov r7, #0x29
- ldr r6, [r4, #0x0]
- add r3, r0, #0x0
- lsl r7, r7, #0x4
- add r5, r6, r7
- lsl r0, r3, #0x2
- add r2, r1, #0x0
- ldr r1, [r5, r0]
- cmp r1, #0x0
- bne _0204EFBE
- lsl r1, r2, #0x2
- add r6, r6, r1
- ldr r6, [r6, r7]
- cmp r6, #0x0
- beq _0204EFBE
- str r6, [r5, r0]
- ldr r5, [r4, #0x0]
- mov r6, #0x0
- add r1, r5, r1
- str r6, [r1, r7]
- ldr r1, [r4, #0x0]
- mov r5, #0x1
- add r1, r1, r3
- add r1, #0xfa
- strb r5, [r1, #0x0]
- ldr r1, [r4, #0x0]
- add r1, r1, r2
- add r1, #0xfa
- strb r6, [r1, #0x0]
- mov r1, #0x22
- ldr r5, [r4, #0x0]
- mul r1, r3
- add r6, r5, r1
- ldr r5, _0204EFC8 ; =0x0000016A
- strh r3, [r6, r5]
- mov r6, #0x22
- mov r5, #0xff
- mul r6, r2
- ldr r3, [r4, #0x0]
- add r2, r5, #0x0
- add r3, r3, r6
- add r2, #0x6b
- strh r5, [r3, r2]
- ldr r2, [r4, #0x0]
- add r5, #0x4b
- add r0, r2, r0
- add r2, r2, r5
- ldr r0, [r0, r7]
- add r1, r2, r1
- bl FUN_0202393C
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204EFBE:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0204EFC4: .word 0x021C5A68
-_0204EFC8: .word 0x0000016A
-
- thumb_func_start FUN_0204EFCC
-FUN_0204EFCC: ; 0x0204EFCC
- push {r4, lr}
- ldr r1, _0204F06C ; =0x021C5A68
- add r4, r0, #0x0
- ldr r3, [r1, #0x0]
- ldr r1, _0204F070 ; =0x000002BD
- ldrb r1, [r3, r1]
- cmp r1, #0x0
- bne _0204F068
- lsl r1, r4, #0x2
- add r2, r3, r1
- ldr r1, [r2, #0x8]
- cmp r1, #0x0
- beq _0204F068
- add r3, r3, r4
- add r3, #0xfa
- ldrb r3, [r3, #0x0]
- cmp r3, #0x3
- bhi _0204F068
- add r3, r3, r3
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0204EFFC: ; jump table (using 16-bit offset)
- .short _0204F064 - _0204EFFC - 2; case 0
- .short _0204F048 - _0204EFFC - 2; case 1
- .short _0204F02C - _0204EFFC - 2; case 2
- .short _0204F004 - _0204EFFC - 2; case 3
-_0204F004:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F01E
- add r0, r1, #0x0
- bl FUN_020553A0
- bl MOD05_021E5970
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
-_0204F01E:
- ldr r0, _0204F06C ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0xfa
- strb r1, [r0, #0x0]
- pop {r4, pc}
-_0204F02C:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F068
- add r0, r1, #0x0
- bl FUN_020553A0
- bl MOD05_021E57D4
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
- pop {r4, pc}
-_0204F048:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F068
- add r0, r1, #0x0
- bl FUN_020553A0
- bl MOD05_021E5614
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
- pop {r4, pc}
-_0204F064:
- bl FUN_0204CD78
-_0204F068:
- pop {r4, pc}
- nop
-_0204F06C: .word 0x021C5A68
-_0204F070: .word 0x000002BD
-
- thumb_func_start FUN_0204F074
-FUN_0204F074: ; 0x0204F074
- ldr r1, _0204F088 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F084
- mov r1, #0x2
- strb r1, [r2, r0]
-_0204F084:
- bx lr
- nop
-_0204F088: .word 0x021C5A68
-
- thumb_func_start FUN_0204F08C
-FUN_0204F08C: ; 0x0204F08C
- ldr r1, _0204F0A0 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F09C
- mov r1, #0x3
- strb r1, [r2, r0]
-_0204F09C:
- ldr r3, _0204F0A4 ; =FUN_0204CD78
- bx r3
- .balign 4
-_0204F0A0: .word 0x021C5A68
-_0204F0A4: .word FUN_0204CD78
-
- thumb_func_start FUN_0204F0A8
-FUN_0204F0A8: ; 0x0204F0A8
- ldr r1, _0204F0BC ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F0B8
- mov r1, #0x0
- strb r1, [r2, r0]
-_0204F0B8:
- ldr r3, _0204F0C0 ; =FUN_0204CD78
- bx r3
- .balign 4
-_0204F0BC: .word 0x021C5A68
-_0204F0C0: .word FUN_0204CD78
-
- thumb_func_start FUN_0204F0C4
-FUN_0204F0C4: ; 0x0204F0C4
- mov r0, #0x3
- bx lr
-
- thumb_func_start FUN_0204F0C8
-FUN_0204F0C8: ; 0x0204F0C8
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, sp, #0x0
- strb r4, [r0, #0x1]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _0204F0E0
- cmp r1, #0x3
- beq _0204F0F0
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F0E0:
- mov r1, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F0F0:
- mov r1, #0x3
- strb r1, [r0, #0x0]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204F108
-FUN_0204F108: ; 0x0204F108
- push {r3, lr}
- bl FUN_02031190
- bl FUN_0204F0A8
- bl MOD18_0223D648
- bl MOD18_0224DD94
- mov r0, #0x4
- bl FUN_0204F774
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F124
-FUN_0204F124: ; 0x0204F124
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r4, #0x0
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- add r0, r7, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204F14A
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_0200CAB4
- pop {r3-r7, pc}
-_0204F14A:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- cmp r0, #0x3c
- ble _0204F156
- mov r4, #0x1
-_0204F156:
- cmp r4, #0x0
- beq _0204F172
- ldr r0, _0204F174 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, r0, r7
- add r0, #0xea
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_0200CAB4
-_0204F172:
- pop {r3-r7, pc}
- .balign 4
-_0204F174: .word 0x021C5A68
-
- thumb_func_start FUN_0204F178
-FUN_0204F178: ; 0x0204F178
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_02016998
- add r1, r0, #0x0
- mov r2, #0x0
- str r2, [r1, #0x0]
- ldr r0, _0204F1A8 ; =0x021C5A68
- str r4, [r1, #0x4]
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0xea
- strb r2, [r0, #0x0]
- ldr r0, _0204F1AC ; =FUN_0204F124
- mov r2, #0x64
- bl FUN_0200CA44
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- pop {r4, pc}
- .balign 4
-_0204F1A8: .word 0x021C5A68
-_0204F1AC: .word FUN_0204F124
-
- thumb_func_start FUN_0204F1B0
-FUN_0204F1B0: ; 0x0204F1B0
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- tst r1, r2
- beq _0204F1C4
- mov r1, #0xb
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F1F6
-_0204F1C4:
- bl FUN_0204EE9C
- cmp r0, #0x0
- beq _0204F1D4
- mov r1, #0xb
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F1F6
-_0204F1D4:
- cmp r4, #0xff
- bne _0204F1DC
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204F1DC:
- add r0, r4, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- bne _0204F1EA
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204F1EA:
- mov r1, #0x5
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0204F178
-_0204F1F6:
- add r0, sp, #0x0
- strb r5, [r0, #0x1]
- strb r4, [r0, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204F210
-FUN_0204F210: ; 0x0204F210
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- beq _0204F226
- mov r1, #0xc
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F22C
-_0204F226:
- add sp, #0x4
- mov r0, #0x0
- pop {r3-r4, pc}
-_0204F22C:
- strb r4, [r0, #0x1]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204F23C
-FUN_0204F23C: ; 0x0204F23C
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl MOD18_0223E6B8
- mov r0, #0x0
- bl FUN_0204D628
- mov r0, #0x4
- bl FUN_0204F74C
- bl MOD18_0223D648
- add r6, r0, #0x0
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl MOD18_0224DDB8
- cmp r4, #0x0
- beq _0204F29C
- bl FUN_02031190
- ldr r1, _0204F2C8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xfa
- strb r2, [r0, #0x0]
- bl FUN_02031190
- bl FUN_0204F0A8
- bl FUN_02031190
- bl FUN_0204F074
- bl MOD18_0223D648
- ldr r3, _0204F2CC ; =FUN_0204F108
- mov r1, #0xa
- mov r2, #0x1
- bl MOD18_0224DCB8
- b _0204F2AA
-_0204F29C:
- bl MOD18_0223D648
- ldr r3, _0204F2CC ; =FUN_0204F108
- mov r1, #0xb
- mov r2, #0x1
- bl MOD18_0224DCB8
-_0204F2AA:
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F2D0 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
- ldr r0, _0204F2D4 ; =0x000005F6
- bl FUN_020054C8
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_0204F2C8: .word 0x021C5A68
-_0204F2CC: .word FUN_0204F108
-_0204F2D0: .word 0x00000424
-_0204F2D4: .word 0x000005F6
-
- thumb_func_start FUN_0204F2D8
-FUN_0204F2D8: ; 0x0204F2D8
- push {r4-r5, lr}
- sub sp, #0xc
- ldr r0, _0204F5E0 ; =0x021C5A68
- add r5, r2, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r4, r0, #0x0
- ldrb r0, [r5, #0x0]
- cmp r0, #0x5
- bgt _0204F308
- cmp r0, #0x0
- blt _0204F346
- beq _0204F31E
- cmp r0, #0x3
- bne _0204F300
- b _0204F4D2
-_0204F300:
- cmp r0, #0x5
- beq _0204F370
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F308:
- cmp r0, #0xc
- bgt _0204F346
- cmp r0, #0xb
- blt _0204F346
- bne _0204F314
- b _0204F48C
-_0204F314:
- cmp r0, #0xc
- bne _0204F31A
- b _0204F4AE
-_0204F31A:
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F31E:
- ldr r1, _0204F5E0 ; =0x021C5A68
- ldrb r0, [r5, #0x1]
- ldr r2, [r1, #0x0]
- lsl r1, r0, #0x2
- add r2, r2, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- cmp r1, #0x0
- beq _0204F346
- bl FUN_0204ED9C
- ldrb r0, [r5, #0x1]
- bl FUN_0204F0A8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F348
-_0204F346:
- b _0204F5DA
-_0204F348:
- bl FUN_0204F7E4
- bl MOD18_0223D648
- ldr r3, _0204F5E4 ; =FUN_0204E2B4
- mov r1, #0x2
- mov r2, #0x1
- bl MOD18_0224DCB8
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F5E8 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F370:
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- cmp r0, #0x0
- bne _0204F384
- ldrb r0, [r5, #0x2]
- bl FUN_0204ED9C
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F384:
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x2]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0204F3AC
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F3A4
- b _0204F5DA
-_0204F3A4:
- bl FUN_0204F7FC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F3AC:
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldrb r0, [r5, #0x2]
- lsl r0, r0, #0x2
- add r2, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- bl FUN_02023AA4
- cmp r0, #0x1
- bne _0204F41A
- ldrb r0, [r5, #0x2]
- bl FUN_0204ED9C
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F3FC
- add r0, r4, #0x0
- bl FUN_02026C00
- bl FUN_0204F7E4
- bl MOD18_0223D648
- ldr r3, _0204F5EC ; =FUN_0204E2AC
- mov r1, #0xd
- mov r2, #0x1
- bl MOD18_0224DCB8
- ldr r0, _0204F5F0 ; =0x00000625
- bl FUN_020054C8
- b _0204F410
-_0204F3FC:
- bl FUN_02031190
- ldrb r1, [r5, #0x2]
- cmp r1, r0
- bne _0204F410
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0204F23C
-_0204F410:
- ldrb r0, [r5, #0x1]
- bl MOD18_022472AC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F41A:
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_0204EF50
- cmp r0, #0x0
- beq _0204F4B8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F46C
- add r0, r4, #0x0
- bl FUN_02026970
- mov r0, #0x1
- bl FUN_0204F74C
- bl MOD18_0223D648
- add r4, r0, #0x0
- ldrb r0, [r5, #0x2]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl MOD18_0224DDB8
- bl MOD18_0223D648
- ldr r3, _0204F5F4 ; =FUN_0204E2D4
- mov r1, #0xc
- mov r2, #0x1
- bl MOD18_0224DCB8
- ldr r0, _0204F5F8 ; =0x00000425
- bl FUN_0200521C
- ldr r0, _0204F5F0 ; =0x00000625
- bl FUN_020054C8
- b _0204F480
-_0204F46C:
- bl FUN_02031190
- ldrb r1, [r5, #0x2]
- cmp r1, r0
- bne _0204F480
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0204F23C
-_0204F480:
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl MOD18_02247294
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F48C:
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F4B8
- mov r0, #0x2
- bl FUN_0204F74C
- bl MOD18_0223D648
- ldr r3, _0204F5FC ; =FUN_0204E2BC
- mov r1, #0x6
- mov r2, #0x1
- bl MOD18_0224DCB8
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F4AE:
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F4BA
-_0204F4B8:
- b _0204F5DA
-_0204F4BA:
- mov r0, #0x20
- bl FUN_0204F74C
- bl MOD18_0223D648
- ldr r3, _0204F600 ; =FUN_0204E2C8
- mov r1, #0x5
- mov r2, #0x1
- bl MOD18_0224DCB8
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F4D2:
- ldr r0, _0204F5E0 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- add r0, r1, r0
- add r0, #0xfa
- strb r2, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- bl FUN_0204F0A8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F58C
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r4, r0, #0x0
- bl FUN_020269A0
- add r1, sp, #0x8
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020269D4
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205EDF8
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldrb r1, [r5, #0x1]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x2
- add r2, r0, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- cmp r1, #0x0
- beq _0204F54A
- ldr r0, [r0, #0x54]
- bl FUN_0206189C
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, _0204F604 ; =0x0000FFFF
- ldr r3, [r0, #0x0]
- ldr r0, _0204F608 ; =0x000002B2
- ldrh r2, [r3, r0]
- cmp r2, r1
- beq _0204F54A
- add r1, r2, #0x1
- strh r1, [r3, r0]
-_0204F54A:
- bl FUN_0204F7E4
- ldr r0, _0204F60C ; =0x0000062B
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020269A0
- add r1, sp, #0x8
- ldrb r1, [r1, #0x0]
- cmp r1, r0
- bne _0204F572
- bl MOD18_0223D648
- ldr r3, _0204F5EC ; =FUN_0204E2AC
- mov r1, #0x7
- mov r2, #0x1
- bl MOD18_0224DCB8
- b _0204F57A
-_0204F572:
- mov r0, #0x60
- add r1, sp, #0x8
- bl FUN_020311D0
-_0204F57A:
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F5E8 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
-_0204F58C:
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204F5D4
- bl FUN_02031190
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- lsl r0, r0, #0x2
- add r2, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- bl FUN_02023AA4
- cmp r0, #0x1
- bne _0204F5D4
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020618B8
-_0204F5D4:
- ldrb r0, [r5, #0x1]
- bl FUN_0204EDEC
-_0204F5DA:
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0204F5E0: .word 0x021C5A68
-_0204F5E4: .word FUN_0204E2B4
-_0204F5E8: .word 0x00000424
-_0204F5EC: .word FUN_0204E2AC
-_0204F5F0: .word 0x00000625
-_0204F5F4: .word FUN_0204E2D4
-_0204F5F8: .word 0x00000425
-_0204F5FC: .word FUN_0204E2BC
-_0204F600: .word FUN_0204E2C8
-_0204F604: .word 0x0000FFFF
-_0204F608: .word 0x000002B2
-_0204F60C: .word 0x0000062B
-
- thumb_func_start FUN_0204F610
-FUN_0204F610: ; 0x0204F610
- push {r3, lr}
- cmp r0, #0x0
- bne _0204F61A
- mov r0, #0x1
- pop {r3, pc}
-_0204F61A:
- cmp r0, #0x1
- bne _0204F622
- mov r0, #0x0
- pop {r3, pc}
-_0204F622:
- cmp r0, #0x2
- bne _0204F62A
- mov r0, #0x3
- pop {r3, pc}
-_0204F62A:
- cmp r0, #0x3
- bne _0204F632
- mov r0, #0x2
- pop {r3, pc}
-_0204F632:
- bl ErrorHandling
- mov r0, #0x2
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F63C
-FUN_0204F63C: ; 0x0204F63C
- push {r3-r4}
- ldr r3, _0204F658 ; =0x021C5A68
- ldr r2, [r3, #0x0]
- add r4, r2, r0
- ldr r2, _0204F65C ; =0x0000011A
- strb r1, [r4, r2]
- ldr r1, [r3, #0x0]
- mov r4, #0xf
- add r0, r1, r0
- add r2, #0x20
- strb r4, [r0, r2]
- pop {r3-r4}
- bx lr
- nop
-_0204F658: .word 0x021C5A68
-_0204F65C: .word 0x0000011A
-
- thumb_func_start FUN_0204F660
-FUN_0204F660: ; 0x0204F660
- ldr r1, _0204F670 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F674 ; =0x0000011A
- strb r2, [r1, r0]
- bx lr
- nop
-_0204F670: .word 0x021C5A68
-_0204F674: .word 0x0000011A
-
- thumb_func_start FUN_0204F678
-FUN_0204F678: ; 0x0204F678
- push {r3-r4}
- ldr r3, _0204F694 ; =0x021C5A68
- ldr r2, [r3, #0x0]
- add r4, r2, r0
- ldr r2, _0204F698 ; =0x00000122
- strb r1, [r4, r2]
- ldr r1, [r3, #0x0]
- mov r4, #0xf
- add r0, r1, r0
- add r2, #0x18
- strb r4, [r0, r2]
- pop {r3-r4}
- bx lr
- nop
-_0204F694: .word 0x021C5A68
-_0204F698: .word 0x00000122
-
- thumb_func_start FUN_0204F69C
-FUN_0204F69C: ; 0x0204F69C
- ldr r1, _0204F6AC ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6B0 ; =0x00000122
- strb r2, [r1, r0]
- bx lr
- nop
-_0204F6AC: .word 0x021C5A68
-_0204F6B0: .word 0x00000122
-
- thumb_func_start FUN_0204F6B4
-FUN_0204F6B4: ; 0x0204F6B4
- ldr r1, _0204F6C0 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6C4 ; =0x00000142
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0204F6C0: .word 0x021C5A68
-_0204F6C4: .word 0x00000142
-
- thumb_func_start FUN_0204F6C8
-FUN_0204F6C8: ; 0x0204F6C8
- ldr r1, _0204F6D4 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6D8 ; =0x0000013A
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0204F6D4: .word 0x021C5A68
-_0204F6D8: .word 0x0000013A
-
- thumb_func_start FUN_0204F6DC
-FUN_0204F6DC: ; 0x0204F6DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204F708 ; =0x021C5A68
- add r1, r4, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- bl FUN_02031190
- ldr r1, _0204F708 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xa6
- strb r4, [r0, #0x0]
- mov r0, #0x0
- bl FUN_0204D168
- pop {r4, pc}
- nop
-_0204F708: .word 0x021C5A68
-
- thumb_func_start FUN_0204F70C
-FUN_0204F70C: ; 0x0204F70C
- push {r4, lr}
- ldr r3, _0204F728 ; =0x021C5A68
- lsl r2, r0, #0x3
- ldr r4, [r3, #0x0]
- lsl r0, r0, #0x2
- add r2, r4, r2
- add r2, #0xa6
- strb r1, [r2, #0x0]
- ldr r2, [r3, #0x0]
- add r0, r2, r0
- ldr r0, [r0, #0x8]
- bl FUN_02055304
- pop {r4, pc}
- .balign 4
-_0204F728: .word 0x021C5A68
-
- thumb_func_start FUN_0204F72C
-FUN_0204F72C: ; 0x0204F72C
- push {r3, lr}
- ldr r1, _0204F748 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204F742
- bl FUN_020552F8
- pop {r3, pc}
-_0204F742:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
- .balign 4
-_0204F748: .word 0x021C5A68
-
- thumb_func_start FUN_0204F74C
-FUN_0204F74C: ; 0x0204F74C
- push {r3, lr}
- cmp r0, #0x0
- beq _0204F75C
- ldr r1, _0204F770 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x0]
- orr r0, r1
- str r0, [r2, #0x0]
-_0204F75C:
- bl FUN_02037760
- ldr r0, _0204F770 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r3, pc}
- nop
-_0204F770: .word 0x021C5A68
-
- thumb_func_start FUN_0204F774
-FUN_0204F774: ; 0x0204F774
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- beq _0204F788
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- mvn r0, r4
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
-_0204F788:
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x10
- bne _0204F7A0
- mov r1, #0x1
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x3e
- add r1, sp, #0x0
- bl FUN_020311D0
-_0204F7A0:
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204F7CC
- cmp r4, #0x10
- beq _0204F7BC
- bl FUN_02037778
- mov r0, #0x1
- bl FUN_0204D628
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F7BC:
- bl FUN_02037778
- ldr r0, _0204F7D0 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
-_0204F7CC:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0204F7D0: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7D4
-FUN_0204F7D4: ; 0x0204F7D4
- ldr r0, _0204F7E0 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x0]
- bx lr
- nop
-_0204F7E0: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7E4
-FUN_0204F7E4: ; 0x0204F7E4
- push {r3, lr}
- bl FUN_02037760
- ldr r0, _0204F7F8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r3, pc}
- .balign 4
-_0204F7F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7FC
-FUN_0204F7FC: ; 0x0204F7FC
- push {r3, lr}
- bl FUN_02037778
- mov r0, #0x1
- bl FUN_0204D628
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F80C
-FUN_0204F80C: ; 0x0204F80C
- push {r3, lr}
- ldr r0, _0204F850 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- bne _0204F84C
- sub r0, r0, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _0204F832
- bl FUN_0204F7FC
- ldr r0, _0204F850 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- strb r2, [r1, r0]
- pop {r3, pc}
-_0204F832:
- bl FUN_02031190
- bl MOD12_0223E734
- cmp r0, #0x0
- beq _0204F84C
- bl FUN_0204F7FC
- ldr r0, _0204F850 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- strb r2, [r1, r0]
-_0204F84C:
- pop {r3, pc}
- nop
-_0204F850: .word 0x021C5A68
-_0204F854: .word 0x000002BF
-
- thumb_func_start FUN_0204F858
-FUN_0204F858: ; 0x0204F858
- push {r3, lr}
- ldr r0, _0204F884 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204F888 ; =0x000002BF
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- bne _0204F880
- sub r0, r0, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- beq _0204F880
- bl FUN_02031190
- bl MOD12_0223E734
- cmp r0, #0x0
- bne _0204F880
- mov r0, #0x0
- bl FUN_0204D628
-_0204F880:
- pop {r3, pc}
- nop
-_0204F884: .word 0x021C5A68
-_0204F888: .word 0x000002BF
-
- thumb_func_start FUN_0204F88C
-FUN_0204F88C: ; 0x0204F88C
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204F902
- mov r6, #0x0
- add r4, r6, #0x0
- add r5, r6, #0x0
-_0204F89E:
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204F8F8
- bl FUN_02031190
- cmp r6, r0
- beq _0204F8F8
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- bl FUN_020553A0
- ldr r1, _0204F908 ; =0x021C5A68
- str r0, [sp, #0xc]
- ldr r1, [r1, #0x0]
- add r1, r1, r5
- add r2, r1, #0x0
- add r2, #0xa2
- ldrh r2, [r2, #0x0]
- str r2, [sp, #0x8]
- add r2, r1, #0x0
- add r2, #0xa4
- ldrh r7, [r2, #0x0]
- mov r2, #0xa6
- ldrsb r1, [r1, r2]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x8]
- bl FUN_02058B30
- ldr r0, [sp, #0xc]
- add r1, r7, #0x0
- bl FUN_02058B50
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r2, #0x0
- add r3, r7, #0x0
- bl FUN_02058E28
-_0204F8F8:
- add r6, r6, #0x1
- add r4, r4, #0x4
- add r5, #0x8
- cmp r6, #0x8
- blt _0204F89E
-_0204F902:
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204F908: .word 0x021C5A68
-
- thumb_func_start FUN_0204F90C
-FUN_0204F90C: ; 0x0204F90C
- push {r4-r5}
- mov r3, #0xff
- mov r4, #0x0
- add r0, r3, #0x0
- ldr r1, _0204F92C ; =0x021C5A68
- add r5, r4, #0x0
- add r0, #0x6b
-_0204F91A:
- ldr r2, [r1, #0x0]
- add r4, r4, #0x1
- add r2, r2, r5
- add r5, #0x22
- strh r3, [r2, r0]
- cmp r4, #0x8
- blt _0204F91A
- pop {r4-r5}
- bx lr
- .balign 4
-_0204F92C: .word 0x021C5A68
-
- thumb_func_start FUN_0204F930
-FUN_0204F930: ; 0x0204F930
- push {r3-r5, lr}
- ldr r0, _0204F9B0 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204F9B4 ; =0x000002B9
- strb r2, [r1, r0]
- bl FUN_02031190
- ldr r1, _0204F9B0 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204F96E
- bl FUN_02031190
- ldr r1, _0204F9B0 ; =0x021C5A68
- add r3, r0, #0x0
- ldr r2, [r1, #0x0]
- lsl r1, r3, #0x2
- add r2, r2, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- mov r0, #0x5b
- bl FUN_020311D0
- pop {r3-r5, pc}
-_0204F96E:
- mov r0, #0xf
- bl FUN_02023928
- add r4, r0, #0x0
- mov r0, #0x14
- mov r1, #0xf
- bl FUN_020219F4
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0204F988
- bl ErrorHandling
-_0204F988:
- cmp r5, #0x0
- bne _0204F990
- bl ErrorHandling
-_0204F990:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0202397C
- mov r0, #0x5b
- add r1, r4, #0x0
- bl FUN_020311D0
- add r0, r5, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
- nop
-_0204F9B0: .word 0x021C5A68
-_0204F9B4: .word 0x000002B9
-
- thumb_func_start FUN_0204F9B8
-FUN_0204F9B8: ; 0x0204F9B8
- mov r0, #0x20
- bx lr
-
- thumb_func_start FUN_0204F9BC
-FUN_0204F9BC: ; 0x0204F9BC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, sp, #0x4
- strb r5, [r0, #0x0]
- ldr r0, _0204FA54 ; =0x021C5A68
- add r6, r2, #0x0
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0204FA4C
- ldr r1, _0204FA58 ; =0x0000014A
- mov r0, #0x22
- add r4, r5, #0x0
- mul r4, r0
- add r1, r2, r1
- add r0, r6, #0x0
- add r1, r1, r4
- bl FUN_0202393C
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_020239A0
- str r0, [sp, #0x0]
- bl FUN_02021D3C
- cmp r0, #0x0
- beq _0204F9FE
- ldr r0, _0204FA54 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- ldr r0, _0204FA5C ; =0x0000016A
- strh r5, [r1, r0]
-_0204F9FE:
- mov r4, #0x0
- ldr r6, _0204FA54 ; =0x021C5A68
- ldr r7, _0204FA5C ; =0x0000016A
- add r5, r4, #0x0
-_0204FA06:
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldrh r0, [r1, r7]
- cmp r0, #0xff
- beq _0204FA26
- ldr r0, _0204FA5C ; =0x0000016A
- strh r4, [r1, r0]
- mov r0, #0x5c
- add r1, r0, #0x0
- ldr r2, [r6, #0x0]
- add r1, #0xee
- add r1, r2, r1
- add r1, r1, r5
- mov r2, #0x22
- bl FUN_02030B3C
-_0204FA26:
- add r4, r4, #0x1
- add r5, #0x22
- cmp r4, #0x8
- blt _0204FA06
- mov r0, #0x5d
- add r1, sp, #0x4
- mov r2, #0x1
- bl FUN_02030BC4
- ldr r0, [sp, #0x0]
- bl FUN_02021A20
- ldr r0, _0204FA54 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204FA60 ; =0x000002C2
- add sp, #0x8
- strb r2, [r1, r0]
- pop {r3-r7, pc}
-_0204FA4C:
- bl ErrorHandling
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204FA54: .word 0x021C5A68
-_0204FA58: .word 0x0000014A
-_0204FA5C: .word 0x0000016A
-_0204FA60: .word 0x000002C2
-
- thumb_func_start FUN_0204FA64
-FUN_0204FA64: ; 0x0204FA64
- ldr r0, _0204FA70 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204FA74 ; =0x0000025A
- add r0, r1, r0
- bx lr
- nop
-_0204FA70: .word 0x021C5A68
-_0204FA74: .word 0x0000025A
-
- thumb_func_start FUN_0204FA78
-FUN_0204FA78: ; 0x0204FA78
- push {r4-r6, lr}
- ldr r0, _0204FAC8 ; =0x021C5A68
- add r6, r2, #0x0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204FAC4
- ldrh r5, [r6, #0x20]
- lsl r0, r5, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204FA98
- bl FUN_02016A18
-_0204FA98:
- mov r0, #0xf
- lsl r4, r5, #0x2
- bl FUN_02023928
- ldr r2, _0204FAC8 ; =0x021C5A68
- ldr r1, [r2, #0x0]
- add r3, r1, r4
- mov r1, #0x29
- lsl r1, r1, #0x4
- str r0, [r3, r1]
- ldr r2, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r2, r4
- ldr r1, [r2, r1]
- bl FUN_0202393C
- ldr r0, _0204FAC8 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0xfa
- strb r1, [r0, #0x0]
-_0204FAC4:
- pop {r4-r6, pc}
- nop
-_0204FAC8: .word 0x021C5A68
-
- thumb_func_start FUN_0204FACC
-FUN_0204FACC: ; 0x0204FACC
- mov r0, #0x22
- bx lr
-
- thumb_func_start FUN_0204FAD0
-FUN_0204FAD0: ; 0x0204FAD0
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- ldrb r1, [r4, #0x0]
- cmp r1, r0
- bne _0204FAE8
- ldr r0, _0204FAF4 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204FAF8 ; =0x000002B9
- strb r2, [r1, r0]
-_0204FAE8:
- ldr r0, _0204FAF4 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204FAFC ; =0x000002C2
- strb r2, [r1, r0]
- pop {r4, pc}
- .balign 4
-_0204FAF4: .word 0x021C5A68
-_0204FAF8: .word 0x000002B9
-_0204FAFC: .word 0x000002C2
-
- thumb_func_start FUN_0204FB00
-FUN_0204FB00: ; 0x0204FB00
- ldr r0, _0204FB0C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204FB10 ; =0x000002B9
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0204FB0C: .word 0x021C5A68
-_0204FB10: .word 0x000002B9
-
- thumb_func_start FUN_0204FB14
-FUN_0204FB14: ; 0x0204FB14
- ldr r0, _0204FB24 ; =0x021C5A68
- mov r2, #0x8
- ldr r1, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- strb r2, [r1, r0]
- bx lr
- nop
-_0204FB24: .word 0x021C5A68
-
- thumb_func_start FUN_0204FB28
-FUN_0204FB28: ; 0x0204FB28
- push {r3-r5, lr}
- mov r4, #0x0
- bl FUN_02031190
- ldr r2, _0204FB9C ; =0x021C5A68
- lsl r1, r0, #0x2
- ldr r3, [r2, #0x0]
- add r5, r3, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r3, [r5, r1]
- cmp r3, #0x0
- beq _0204FB60
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [r5, r1]
- ldr r1, [r2, #0x0]
- add r1, r1, r0
- add r1, #0xfa
- strb r3, [r1, #0x0]
- ldr r3, [r2, #0x0]
- mov r2, #0x22
- mul r2, r0
- mov r1, #0xff
- add r0, r1, #0x0
- add r2, r3, r2
- add r0, #0x6b
- strh r1, [r2, r0]
-_0204FB60:
- mov r5, #0x0
-_0204FB62:
- add r0, r5, #0x0
- bl FUN_0204ED9C
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204FB62
- cmp r4, #0x0
- beq _0204FB9A
- ldr r1, _0204FB9C ; =0x021C5A68
- mov r0, #0x29
- ldr r2, [r1, #0x0]
- lsl r0, r0, #0x4
- str r4, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x1
- add r0, #0xfa
- strb r2, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldr r1, _0204FBA0 ; =0x0000014A
- add r0, r4, #0x0
- add r1, r2, r1
- bl FUN_0202393C
- ldr r0, _0204FB9C ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204FBA4 ; =0x0000016A
- strh r2, [r1, r0]
-_0204FB9A:
- pop {r3-r5, pc}
- .balign 4
-_0204FB9C: .word 0x021C5A68
-_0204FBA0: .word 0x0000014A
-_0204FBA4: .word 0x0000016A
-
- thumb_func_start FUN_0204FBA8
-FUN_0204FBA8: ; 0x0204FBA8
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204FBAC
-FUN_0204FBAC: ; 0x0204FBAC
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204FBB0
-FUN_0204FBB0: ; 0x0204FBB0
- push {r4, lr}
- ldr r1, _0204FC08 ; =0x021C5A6C
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204FC04
- bl FUN_0208881C
- mov r0, #0xf
- mov r1, #0x48
- bl FUN_02016998
- ldr r1, _0204FC08 ; =0x021C5A6C
- mov r2, #0x48
- str r0, [r1, #0x0]
- mov r1, #0x0
- bl MI_CpuFill8
- ldr r0, _0204FC08 ; =0x021C5A6C
- mov r1, #0x32
- ldr r0, [r0, #0x0]
- mov r2, #0xa
- strh r1, [r0, #0x3c]
- ldr r0, _0204FC0C ; =FUN_0205006C
- mov r1, #0x0
- bl FUN_0200CA44
- ldr r1, _0204FC08 ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x38]
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- str r4, [r0, #0x18]
- ldr r0, [r1, #0x0]
- str r2, [r0, #0x44]
- bl FUN_0204FBA8
- ldr r0, _0204FC08 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- bl FUN_020312BC
-_0204FC04:
- pop {r4, pc}
- nop
-_0204FC08: .word 0x021C5A6C
-_0204FC0C: .word FUN_0205006C
-
- thumb_func_start FUN_0204FC10
-FUN_0204FC10: ; 0x0204FC10
- push {r4-r6, lr}
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204FC56
- ldr r0, [r0, #0x38]
- bl FUN_0200CAB4
- mov r4, #0x0
- ldr r6, _0204FC58 ; =0x021C5A6C
- add r5, r4, #0x0
-_0204FC26:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- beq _0204FC32
- bl FUN_02016A18
-_0204FC32:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _0204FC26
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x44]
- cmp r0, #0x0
- beq _0204FC48
- bl FUN_02016A18
-_0204FC48:
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0204FC58 ; =0x021C5A6C
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0204FC56:
- pop {r4-r6, pc}
- .balign 4
-_0204FC58: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FC5C
-FUN_0204FC5C: ; 0x0204FC5C
- push {r4, lr}
- ldr r1, _0204FC9C ; =0x021C5A6C
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204FC9A
- bl FUN_020377AC
- bl FUN_02031824
- add r0, r4, #0x0
- bl FUN_0204FBB0
- mov r2, #0x3a
- mov r0, #0x3
- mov r1, #0x21
- lsl r2, r2, #0xa
- bl FUN_0201681C
- ldr r0, _0204FC9C ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- bne _0204FC9A
- bl FUN_02031924
-_0204FC9A:
- pop {r4, pc}
- .balign 4
-_0204FC9C: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FCA0
-FUN_0204FCA0: ; 0x0204FCA0
- push {r3, lr}
- ldr r0, _0204FCD0 ; =0x021C5A6C
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- add r1, #0x41
- strb r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x24
- bl FUN_0202A170
- ldr r0, _0204FCD0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl MOD18_0223E060
- ldr r0, _0204FCD4 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FCD0: .word 0x021C5A6C
-_0204FCD4: .word FUN_020500A4
-
- thumb_func_start FUN_0204FCD8
-FUN_0204FCD8: ; 0x0204FCD8
- push {r3, lr}
- ldr r0, _0204FCEC ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204FCEA
- ldr r0, _0204FCF0 ; =FUN_02050D54
- mov r1, #0x3
- bl FUN_02050094
-_0204FCEA:
- pop {r3, pc}
- .balign 4
-_0204FCEC: .word 0x021C5A6C
-_0204FCF0: .word FUN_02050D54
-
- thumb_func_start FUN_0204FCF4
-FUN_0204FCF4: ; 0x0204FCF4
- push {r3, lr}
- bl FUN_02031914
- ldr r0, _0204FD04 ; =FUN_020504D8
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FD04: .word FUN_020504D8
-
- thumb_func_start FUN_0204FD08
-FUN_0204FD08: ; 0x0204FD08
- push {r3, lr}
- bl FUN_0202EDD8
- cmp r0, #0x0
- bne _0204FD1E
- bl MOD18_02245F1C
- ldr r0, _0204FD20 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_0204FD1E:
- pop {r3, pc}
- .balign 4
-_0204FD20: .word FUN_020500A4
-
- thumb_func_start FUN_0204FD24
-FUN_0204FD24: ; 0x0204FD24
- push {r3, lr}
- bl FUN_02031934
- ldr r0, _0204FD34 ; =FUN_0204FD08
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FD34: .word FUN_0204FD08
-
- thumb_func_start FUN_0204FD38
-FUN_0204FD38: ; 0x0204FD38
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, _0204FDBC ; =0x021C5A6C
- add r2, sp, #0x0
- ldr r0, [r0, #0x0]
- ldr r3, _0204FDC0 ; =0x020F5838
- ldr r5, [r0, #0x34]
- add r6, r2, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, _0204FDC4 ; =FUN_020502AC
- ldr r4, _0204FDC8 ; =FUN_02050548
- ldr r7, _0204FDCC ; =FUN_02050168
- cmp r5, r0
- bne _0204FD68
- ldr r0, _0204FDD0 ; =FUN_0205031C
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD68:
- cmp r4, r5
- bne _0204FD7A
- ldr r0, _0204FDD4 ; =FUN_02050578
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD7A:
- cmp r7, r5
- bne _0204FD8C
- ldr r0, _0204FDD8 ; =FUN_020505E0
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD8C:
- ldr r0, _0204FDDC ; =FUN_020504D0
- cmp r0, r5
- bne _0204FDA0
- ldr r0, _0204FDE0 ; =FUN_02050610
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FDA0:
- mov r1, #0x0
-_0204FDA2:
- ldr r0, [r6, #0x0]
- cmp r5, r0
- bne _0204FDAE
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FDAE:
- add r1, r1, #0x1
- add r6, r6, #0x4
- cmp r1, #0x4
- blo _0204FDA2
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0204FDBC: .word 0x021C5A6C
-_0204FDC0: .word 0x020F5838
-_0204FDC4: .word FUN_020502AC
-_0204FDC8: .word FUN_02050548
-_0204FDCC: .word FUN_02050168
-_0204FDD0: .word FUN_0205031C
-_0204FDD4: .word FUN_02050578
-_0204FDD8: .word FUN_020505E0
-_0204FDDC: .word FUN_020504D0
-_0204FDE0: .word FUN_02050610
-
- thumb_func_start FUN_0204FDE4
-FUN_0204FDE4: ; 0x0204FDE4
- push {r4, lr}
- ldr r0, _0204FE38 ; =0x021C5A6C
- ldr r3, _0204FE3C ; =FUN_0205058C
- ldr r0, [r0, #0x0]
- ldr r2, _0204FE40 ; =FUN_020505F4
- ldr r4, [r0, #0x34]
- ldr r0, _0204FE44 ; =FUN_02050330
- ldr r1, _0204FE48 ; =FUN_02050624
- cmp r4, r0
- bne _0204FE04
- ldr r0, _0204FE4C ; =FUN_02050338
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE04:
- cmp r3, r4
- bne _0204FE14
- ldr r0, _0204FE50 ; =FUN_02050594
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE14:
- cmp r2, r4
- bne _0204FE24
- ldr r0, _0204FE54 ; =FUN_020505F8
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE24:
- cmp r1, r4
- bne _0204FE34
- ldr r0, _0204FE58 ; =FUN_02050628
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE34:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0204FE38: .word 0x021C5A6C
-_0204FE3C: .word FUN_0205058C
-_0204FE40: .word FUN_020505F4
-_0204FE44: .word FUN_02050330
-_0204FE48: .word FUN_02050624
-_0204FE4C: .word FUN_02050338
-_0204FE50: .word FUN_02050594
-_0204FE54: .word FUN_020505F8
-_0204FE58: .word FUN_02050628
-
- thumb_func_start FUN_0204FE5C
-FUN_0204FE5C: ; 0x0204FE5C
- push {r3-r4}
- sub sp, #0x38
- ldr r4, _0204FEA8 ; =0x020F5848
- add r3, sp, #0x0
- mov r2, #0x7
-_0204FE66:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0204FE66
- ldr r0, _0204FEAC ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x34]
- cmp r0, #0x0
- bne _0204FE80
- add sp, #0x38
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_0204FE80:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0204FE9E
- add r2, sp, #0x0
-_0204FE88:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _0204FE96
- add sp, #0x38
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0204FE96:
- add r2, r2, #0x4
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0204FE88
-_0204FE9E:
- mov r0, #0x0
- add sp, #0x38
- pop {r3-r4}
- bx lr
- nop
-_0204FEA8: .word 0x020F5848
-_0204FEAC: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FEB0
-FUN_0204FEB0: ; 0x0204FEB0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0204FEE8
- add r0, r5, #0x0
- bl FUN_020377AC
- mov r1, #0x0
- add r3, r5, #0x0
- str r1, [sp, #0x0]
- add r3, #0xac
- ldr r3, [r3, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02031948
- add r0, r5, #0x0
- bl FUN_0204FBB0
- ldr r0, _0204FEEC ; =FUN_02050640
- mov r1, #0x0
- bl FUN_02050094
-_0204FEE8:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0204FEEC: .word FUN_02050640
-
- thumb_func_start FUN_0204FEF0
-FUN_0204FEF0: ; 0x0204FEF0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0204FF28
- add r0, r5, #0x0
- bl FUN_020377AC
- mov r1, #0x0
- add r3, r5, #0x0
- str r1, [sp, #0x0]
- add r3, #0xac
- ldr r3, [r3, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02031990
- add r0, r5, #0x0
- bl FUN_0204FBB0
- ldr r0, _0204FF2C ; =FUN_02050668
- mov r1, #0x0
- bl FUN_02050094
-_0204FF28:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0204FF2C: .word FUN_02050668
-
- thumb_func_start FUN_0204FF30
-FUN_0204FF30: ; 0x0204FF30
- ldr r1, _0204FF40 ; =0x021C5A6C
- ldr r3, _0204FF44 ; =FUN_02050094
- ldr r1, [r1, #0x0]
- add r1, #0x3e
- strb r0, [r1, #0x0]
- ldr r0, _0204FF48 ; =FUN_02050688
- mov r1, #0x0
- bx r3
- .balign 4
-_0204FF40: .word 0x021C5A6C
-_0204FF44: .word FUN_02050094
-_0204FF48: .word FUN_02050688
-
- thumb_func_start FUN_0204FF4C
-FUN_0204FF4C: ; 0x0204FF4C
- ldr r3, _0204FF54 ; =FUN_02050094
- ldr r0, _0204FF58 ; =FUN_02050BBC
- mov r1, #0x0
- bx r3
- .balign 4
-_0204FF54: .word FUN_02050094
-_0204FF58: .word FUN_02050BBC
-
- thumb_func_start FUN_0204FF5C
-FUN_0204FF5C: ; 0x0204FF5C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3BC
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3BC
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- bl FUN_02031810
- cmp r0, #0x0
- beq _02050014
- ldr r0, _02050018 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _0204FF9C
- add r0, r4, #0x0
- bl FUN_0204FBB0
- ldr r0, _02050018 ; =0x021C5A6C
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x42
- strb r1, [r0, #0x0]
- b _0204FFA2
-_0204FF9C:
- mov r0, #0x0
- add r1, #0x42
- strb r0, [r1, #0x0]
-_0204FFA2:
- ldr r0, _02050018 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- bl FUN_02031190
- str r0, [sp, #0x8]
- bl FUN_02031190
- bl FUN_0202DFA4
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _0204FFEA
- ldr r6, _02050018 ; =0x021C5A6C
- add r5, r4, #0x0
- add r7, r4, #0x0
-_0204FFCA:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- bne _0204FFDE
- ldr r1, _0205001C ; =0x0000066C
- add r0, r7, #0x0
- bl FUN_02016998
- ldr r1, [r6, #0x0]
- str r0, [r1, r5]
-_0204FFDE:
- add r5, r5, #0x4
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _0204FFCA
-_0204FFEA:
- ldr r0, _02050018 ; =0x021C5A6C
- mov r3, #0xff
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x18]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_02064E90
- mov r0, #0x5f
- bl FUN_02031588
- ldr r0, _02050020 ; =FUN_02050C14
- mov r1, #0x0
- bl FUN_02050094
-_02050014:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02050018: .word 0x021C5A6C
-_0205001C: .word 0x0000066C
-_02050020: .word FUN_02050C14
-
- thumb_func_start FUN_02050024
-FUN_02050024: ; 0x02050024
- push {r3, lr}
- ldr r0, _02050040 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0205003E
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r0, _02050044 ; =FUN_02050DB0
- mov r1, #0x5
- bl FUN_02050094
-_0205003E:
- pop {r3, pc}
- .balign 4
-_02050040: .word 0x021C5A6C
-_02050044: .word FUN_02050DB0
-
- thumb_func_start FUN_02050048
-FUN_02050048: ; 0x02050048
- push {r3, lr}
- ldr r0, _02050064 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050060
- mov r0, #0x5b
- bl FUN_02031588
- ldr r0, _02050068 ; =FUN_02050D88
- mov r1, #0x5
- bl FUN_02050094
-_02050060:
- pop {r3, pc}
- nop
-_02050064: .word 0x021C5A6C
-_02050068: .word FUN_02050D88
-
- thumb_func_start FUN_0205006C
-FUN_0205006C: ; 0x0205006C
- push {r3, lr}
- ldr r1, _02050090 ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- bne _0205007C
- bl FUN_0200CAB4
- pop {r3, pc}
-_0205007C:
- ldr r1, [r2, #0x34]
- cmp r1, #0x0
- beq _0205008C
- add r2, #0x40
- ldrb r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0205008C
- blx r1
-_0205008C:
- pop {r3, pc}
- nop
-_02050090: .word 0x021C5A6C
-
- thumb_func_start FUN_02050094
-FUN_02050094: ; 0x02050094
- ldr r2, _020500A0 ; =0x021C5A6C
- ldr r3, [r2, #0x0]
- str r0, [r3, #0x34]
- ldr r0, [r2, #0x0]
- strh r1, [r0, #0x3c]
- bx lr
- .balign 4
-_020500A0: .word 0x021C5A6C
-
- thumb_func_start FUN_020500A4
-FUN_020500A4: ; 0x020500A4
- push {r3, lr}
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020500B6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020500B6:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _02050104
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl MOD18_0223E1E0
- bl FUN_0202DBE0
- mov r0, #0x0
- bl FUN_0204D168
- bl MOD18_0223EF7C
- bl MOD06_02245FA0
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- bne _020500F8
- ldr r0, _0205010C ; =FUN_02050114
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020500F8:
- bl FUN_0204F80C
- ldr r0, _02050110 ; =FUN_02050144
- mov r1, #0x18
- bl FUN_02050094
-_02050104:
- pop {r3, pc}
- nop
-_02050108: .word 0x021C5A6C
-_0205010C: .word FUN_02050114
-_02050110: .word FUN_02050144
-
- thumb_func_start FUN_02050114
-FUN_02050114: ; 0x02050114
- push {r3, lr}
- ldr r0, _0205013C ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- beq _0205013A
- bl FUN_02031880
- bl FUN_0204F80C
- ldr r0, _02050140 ; =FUN_02050168
- mov r1, #0x18
- bl FUN_02050094
-_0205013A:
- pop {r3, pc}
- .balign 4
-_0205013C: .word 0x021C5A6C
-_02050140: .word FUN_02050168
-
- thumb_func_start FUN_02050144
-FUN_02050144: ; 0x02050144
- push {r3, lr}
- ldr r0, _02050160 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050156
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050156:
- ldr r0, _02050164 ; =FUN_02050168
- mov r1, #0x18
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050160: .word 0x021C5A6C
-_02050164: .word FUN_02050168
-
- thumb_func_start FUN_02050168
-FUN_02050168: ; 0x02050168
- push {r3, lr}
- bl MOD06_0223DFB4
- bl FUN_0204F80C
- bl FUN_020318C4
- cmp r0, #0x0
- beq _02050198
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050190
- bl MOD18_02245324
- ldr r0, _0205019C ; =FUN_0205024C
- mov r1, #0x3c
- bl FUN_02050094
- pop {r3, pc}
-_02050190:
- ldr r0, _020501A0 ; =FUN_020501A4
- mov r1, #0x78
- bl FUN_02050094
-_02050198:
- pop {r3, pc}
- nop
-_0205019C: .word FUN_0205024C
-_020501A0: .word FUN_020501A4
-
- thumb_func_start FUN_020501A4
-FUN_020501A4: ; 0x020501A4
- push {r3, lr}
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020501B4
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_020501B4:
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _020501CE
- bl FUN_020311F0
- cmp r0, #0x0
- bne _020501CE
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _020501DC
-_020501CE:
- bl FUN_02031880
- ldr r0, _02050244 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020501DC:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0205023C
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050202
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- bne _0205023C
-_02050202:
- bl MOD18_0223E6B8
- mov r0, #0x0
- bl FUN_0204D040
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl MOD18_022408FC
- mov r0, #0x0
- mov r1, #0x1
- bl MOD18_0223FCE8
- mov r0, #0x0
- bl FUN_0202DE78
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0204D43C
- bl FUN_0204F858
- ldr r0, _02050248 ; =FUN_02050350
- mov r1, #0xa
- bl FUN_02050094
-_0205023C:
- pop {r3, pc}
- nop
-_02050240: .word 0x021C5A6C
-_02050244: .word FUN_020504A4
-_02050248: .word FUN_02050350
-
- thumb_func_start FUN_0205024C
-FUN_0205024C: ; 0x0205024C
- push {r3, lr}
- bl MOD06_0223DFB4
- ldr r0, _020502A0 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050260
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050260:
- bl FUN_020311E8
- cmp r0, #0x0
- bne _02050272
- ldr r0, _020502A0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _0205029E
-_02050272:
- bl MOD18_0223E6B8
- cmp r0, #0x0
- beq _0205027E
- bl FUN_0204F7FC
-_0205027E:
- ldr r0, _020502A4 ; =0x02105E74
- bl FUN_0204FBAC
- mov r0, #0x0
- bl FUN_0204D168
- bl FUN_0204F930
- bl MOD06_02245FA0
- bl MOD18_0223E7FC
- ldr r0, _020502A8 ; =FUN_020502AC
- mov r1, #0x0
- bl FUN_02050094
-_0205029E:
- pop {r3, pc}
- .balign 4
-_020502A0: .word 0x021C5A6C
-_020502A4: .word 0x02105E74
-_020502A8: .word FUN_020502AC
-
- thumb_func_start FUN_020502AC
-FUN_020502AC: ; 0x020502AC
- push {r3, lr}
- bl MOD06_0223DFB4
- ldr r0, _02050314 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _02050310
- bl FUN_020311F0
- cmp r0, #0x0
- bne _020502E2
- bl FUN_0202EE24
- cmp r0, #0x0
- beq _020502E2
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02050310
- bl FUN_02031280
- cmp r0, #0x0
- bne _02050310
-_020502E2:
- mov r0, #0x0
- bl MOD18_02245358
- bl FUN_0204F90C
- bl MOD06_02247808
- mov r0, #0x2b
- bl FUN_020311DC
- bl FUN_02031190
- mov r1, #0x1
- bl MOD18_0223FCE8
- bl MOD18_0223E6B8
- bl FUN_020318B4
- ldr r0, _02050318 ; =FUN_02050458
- mov r1, #0x0
- bl FUN_02050094
-_02050310:
- pop {r3, pc}
- nop
-_02050314: .word 0x021C5A6C
-_02050318: .word FUN_02050458
-
- thumb_func_start FUN_0205031C
-FUN_0205031C: ; 0x0205031C
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _0205032C ; =FUN_02050330
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205032C: .word FUN_02050330
-
- thumb_func_start FUN_02050330
-FUN_02050330: ; 0x02050330
- ldr r3, _02050334 ; =MOD06_0223DFB4
- bx r3
- .balign 4
-_02050334: .word MOD06_0223DFB4
-
- thumb_func_start FUN_02050338
-FUN_02050338: ; 0x02050338
- push {r3, lr}
- bl MOD18_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205034C ; =FUN_020502AC
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205034C: .word FUN_020502AC
-
- thumb_func_start FUN_02050350
-FUN_02050350: ; 0x02050350
- push {r3, lr}
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x9
- bne _02050364
- bl FUN_0202DBE0
- bl MOD18_0223E7FC
-_02050364:
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x1
- bne _02050374
- mov r0, #0x0
- bl FUN_0204D198
-_02050374:
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050384
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050384:
- bl FUN_0202DCF8
- cmp r0, #0x0
- beq _020503A0
- ldr r0, _020503AC ; =0x02105E80
- bl FUN_0204FBAC
- bl FUN_0204F930
- ldr r0, _020503B0 ; =FUN_020503B4
- mov r1, #0xc8
- bl FUN_02050094
- pop {r3, pc}
-_020503A0:
- bl FUN_02050548
- pop {r3, pc}
- nop
-_020503A8: .word 0x021C5A6C
-_020503AC: .word 0x02105E80
-_020503B0: .word FUN_020503B4
-
- thumb_func_start FUN_020503B4
-FUN_020503B4: ; 0x020503B4
- push {r3, lr}
- bl FUN_0204FB00
- cmp r0, #0x0
- beq _020503CC
- bl MOD18_0223EF7C
- ldr r0, _020503E8 ; =FUN_020503F0
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020503CC:
- bl FUN_02050548
- ldr r0, _020503EC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020503E0
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020503E0:
- bl FUN_02050510
- pop {r3, pc}
- nop
-_020503E8: .word FUN_020503F0
-_020503EC: .word 0x021C5A6C
-
- thumb_func_start FUN_020503F0
-FUN_020503F0: ; 0x020503F0
- push {r3, lr}
- bl MOD18_0223F4D8
- cmp r0, #0x0
- beq _02050412
- ldr r0, _02050418 ; =0x02105E94
- bl FUN_0204FBAC
- bl MOD18_0223F4F4
- bl MOD06_02245FA0
- ldr r0, _0205041C ; =FUN_02050420
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050412:
- bl FUN_02050548
- pop {r3, pc}
- .balign 4
-_02050418: .word 0x02105E94
-_0205041C: .word FUN_02050420
-
- thumb_func_start FUN_02050420
-FUN_02050420: ; 0x02050420
- push {r3, lr}
- bl MOD18_022461A4
- cmp r0, #0x0
- beq _0205044A
- ldr r0, _02050450 ; =0x02105EB0
- bl FUN_0204FBAC
- bl MOD18_022461B8
- mov r0, #0x1
- bl FUN_0204D168
- mov r0, #0x1f
- bl FUN_020311DC
- ldr r0, _02050454 ; =FUN_02050548
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_0205044A:
- bl FUN_02050548
- pop {r3, pc}
- .balign 4
-_02050450: .word 0x02105EB0
-_02050454: .word FUN_02050548
-
- thumb_func_start FUN_02050458
-FUN_02050458: ; 0x02050458
- push {r3, lr}
- bl FUN_02031280
- cmp r0, #0x0
- beq _02050472
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0204EAD8
- ldr r0, _02050474 ; =FUN_02050478
- mov r1, #0x1e
- bl FUN_02050094
-_02050472:
- pop {r3, pc}
- .balign 4
-_02050474: .word FUN_02050478
-
- thumb_func_start FUN_02050478
-FUN_02050478: ; 0x02050478
- push {r3, lr}
- ldr r0, _0205049C ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _0205048A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_0205048A:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0205049A
- ldr r0, _020504A0 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_0205049A:
- pop {r3, pc}
- .balign 4
-_0205049C: .word 0x021C5A6C
-_020504A0: .word FUN_020500A4
-
- thumb_func_start FUN_020504A4
-FUN_020504A4: ; 0x020504A4
- push {r3, lr}
- ldr r0, _020504C8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020504B6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020504B6:
- bl FUN_02031190
- cmp r0, #0x0
- bne _020504C6
- ldr r0, _020504CC ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_020504C6:
- pop {r3, pc}
- .balign 4
-_020504C8: .word 0x021C5A6C
-_020504CC: .word FUN_020500A4
-
- thumb_func_start FUN_020504D0
-FUN_020504D0: ; 0x020504D0
- ldr r3, _020504D4 ; =MOD06_0223DFB4
- bx r3
- .balign 4
-_020504D4: .word MOD06_0223DFB4
-
- thumb_func_start FUN_020504D8
-FUN_020504D8: ; 0x020504D8
- push {r3, lr}
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050506
- ldr r0, _02050508 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl MOD18_0223E1E0
- bl FUN_0202DBE0
- mov r0, #0x0
- bl FUN_0204D168
- bl MOD18_0223EF7C
- bl MOD06_02245FA0
- ldr r0, _0205050C ; =FUN_020504D0
- mov r1, #0x0
- bl FUN_02050094
-_02050506:
- pop {r3, pc}
- .balign 4
-_02050508: .word 0x021C5A6C
-_0205050C: .word FUN_020504D0
-
- thumb_func_start FUN_02050510
-FUN_02050510: ; 0x02050510
- push {r3, lr}
- bl FUN_02031190
- mov r1, #0x1
- bl MOD18_0223FCE8
- bl FUN_02031190
- mov r1, #0x1
- bl MOD18_02247728
- bl MOD18_0223CACC
- bl FUN_0204CEF8
- bl MOD18_0223E6B8
- bl FUN_02031880
- bl FUN_0204FB28
- ldr r0, _02050544 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050544: .word FUN_020504A4
-
- thumb_func_start FUN_02050548
-FUN_02050548: ; 0x02050548
- push {r3, lr}
- bl MOD06_0223DFB4
- bl FUN_0204F80C
- ldr r0, _02050574 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _02050572
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _0205056E
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02050572
-_0205056E:
- bl FUN_02050510
-_02050572:
- pop {r3, pc}
- .balign 4
-_02050574: .word 0x021C5A6C
-
- thumb_func_start FUN_02050578
-FUN_02050578: ; 0x02050578
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _02050588 ; =FUN_0205058C
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050588: .word FUN_0205058C
-
- thumb_func_start FUN_0205058C
-FUN_0205058C: ; 0x0205058C
- ldr r3, _02050590 ; =MOD18_02247830
- bx r3
- .balign 4
-_02050590: .word MOD18_02247830
-
- thumb_func_start FUN_02050594
-FUN_02050594: ; 0x02050594
- push {r3, lr}
- bl MOD18_02245F1C
- bl FUN_0204CC9C
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _020505AE
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020505CC
-_020505AE:
- bl MOD18_022452A4
- bl FUN_0204CEF8
- bl MOD18_0223E6B8
- bl FUN_02031880
- bl FUN_0204FB28
- ldr r0, _020505D8 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020505CC:
- ldr r0, _020505DC ; =FUN_02050548
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- nop
-_020505D8: .word FUN_020504A4
-_020505DC: .word FUN_02050548
-
- thumb_func_start FUN_020505E0
-FUN_020505E0: ; 0x020505E0
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _020505F0 ; =FUN_020505F4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_020505F0: .word FUN_020505F4
-
- thumb_func_start FUN_020505F4
-FUN_020505F4: ; 0x020505F4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020505F8
-FUN_020505F8: ; 0x020505F8
- push {r3, lr}
- bl MOD18_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205060C ; =FUN_02050168
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205060C: .word FUN_02050168
-
- thumb_func_start FUN_02050610
-FUN_02050610: ; 0x02050610
- push {r3, lr}
- bl FUN_0204CF24
- ldr r0, _02050620 ; =FUN_02050624
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050620: .word FUN_02050624
-
- thumb_func_start FUN_02050624
-FUN_02050624: ; 0x02050624
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050628
-FUN_02050628: ; 0x02050628
- push {r3, lr}
- bl MOD18_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205063C ; =FUN_020504D0
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205063C: .word FUN_020504D0
-
- thumb_func_start FUN_02050640
-FUN_02050640: ; 0x02050640
- push {r3, lr}
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0205065E
- bl MOD06_02240834
- bl FUN_0202DBE0
- ldr r0, _02050660 ; =FUN_02050664
- mov r1, #0x0
- bl FUN_02050094
-_0205065E:
- pop {r3, pc}
- .balign 4
-_02050660: .word FUN_02050664
-
- thumb_func_start FUN_02050664
-FUN_02050664: ; 0x02050664
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050668
-FUN_02050668: ; 0x02050668
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _0205067E
- bl MOD06_022407CC
- ldr r0, _02050680 ; =FUN_02050684
- mov r1, #0x0
- bl FUN_02050094
-_0205067E:
- pop {r3, pc}
- .balign 4
-_02050680: .word FUN_02050684
-
- thumb_func_start FUN_02050684
-FUN_02050684: ; 0x02050684
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050688
-FUN_02050688: ; 0x02050688
- push {r3, lr}
- ldr r0, _020506A0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_020319D8
- ldr r0, _020506A4 ; =FUN_020506A8
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_020506A0: .word 0x021C5A6C
-_020506A4: .word FUN_020506A8
-
- thumb_func_start FUN_020506A8
-FUN_020506A8: ; 0x020506A8
- push {r3, lr}
- bl FUN_02031A2C
- cmp r0, #0x0
- beq _020506BE
- bl FUN_0202DBE0
- ldr r0, _020506C0 ; =FUN_020506C4
- mov r1, #0x0
- bl FUN_02050094
-_020506BE:
- pop {r3, pc}
- .balign 4
-_020506C0: .word FUN_020506C4
-
- thumb_func_start FUN_020506C4
-FUN_020506C4: ; 0x020506C4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020506C8
-FUN_020506C8: ; 0x020506C8
- push {r3, lr}
- mov r0, #0x62
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050704
- bl FUN_0204D320
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _02050720 ; =0x021C5A6C
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- bl FUN_0204CB20
- bl FUN_0204F80C
- bl FUN_02030FC8
- mov r0, #0x5c
- bl FUN_02031588
- ldr r0, _02050724 ; =FUN_02050728
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050704:
- ldr r0, _02050720 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050714
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050714:
- mov r0, #0x1e
- strh r0, [r1, #0x3c]
- mov r0, #0x62
- bl FUN_02031588
- pop {r3, pc}
- .balign 4
-_02050720: .word 0x021C5A6C
-_02050724: .word FUN_02050728
-
- thumb_func_start FUN_02050728
-FUN_02050728: ; 0x02050728
- push {lr}
- sub sp, #0xc
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050738
- bl FUN_0202DDE8
-_02050738:
- mov r0, #0x5c
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050776
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- bl FUN_0200E388
- mov r0, #0x1
- bl FUN_0200E388
- bl FUN_0204CC9C
- mov r0, #0x0
- bl FUN_0204D168
- ldr r0, _0205077C ; =FUN_020507B4
- mov r1, #0x1
- bl FUN_02050094
-_02050776:
- add sp, #0xc
- pop {pc}
- nop
-_0205077C: .word FUN_020507B4
-
- thumb_func_start FUN_02050780
-FUN_02050780: ; 0x02050780
- push {r3, lr}
- ldr r0, _020507AC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050792
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050792:
- mov r0, #0x1e
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020507A8
- bl FUN_02030FA8
- ldr r0, _020507B0 ; =FUN_02050930
- mov r1, #0x0
- bl FUN_02050094
-_020507A8:
- pop {r3, pc}
- nop
-_020507AC: .word 0x021C5A6C
-_020507B0: .word FUN_02050930
-
- thumb_func_start FUN_020507B4
-FUN_020507B4: ; 0x020507B4
- push {r3, lr}
- ldr r0, _020507F0 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020507C6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020507C6:
- bl FUN_02031190
- cmp r0, #0x0
- bne _020507DE
- bl FUN_0204ED08
- cmp r0, #0x0
- beq _020507EC
- mov r0, #0x1e
- bl FUN_02031588
- b _020507E4
-_020507DE:
- mov r0, #0x1e
- bl FUN_02031588
-_020507E4:
- ldr r0, _020507F4 ; =FUN_02050780
- mov r1, #0x14
- bl FUN_02050094
-_020507EC:
- pop {r3, pc}
- nop
-_020507F0: .word 0x021C5A6C
-_020507F4: .word FUN_02050780
-
- thumb_func_start FUN_020507F8
-FUN_020507F8: ; 0x020507F8
- push {r3, lr}
- mov r0, #0x62
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050830
- bl FUN_0204D320
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0205084C ; =0x021C5A6C
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- bl FUN_0204CB20
- bl FUN_0204F80C
- mov r0, #0x5c
- bl FUN_02031588
- ldr r0, _02050850 ; =FUN_02050854
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050830:
- ldr r0, _0205084C ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050840
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050840:
- mov r0, #0x1e
- strh r0, [r1, #0x3c]
- mov r0, #0x62
- bl FUN_02031588
- pop {r3, pc}
- .balign 4
-_0205084C: .word 0x021C5A6C
-_02050850: .word FUN_02050854
-
- thumb_func_start FUN_02050854
-FUN_02050854: ; 0x02050854
- push {r3, lr}
- sub sp, #0x10
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050864
- bl FUN_0202DDE8
-_02050864:
- mov r0, #0x5c
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020508B0
- bl FUN_0204CC9C
- mov r0, #0x0
- bl FUN_0204D168
- mov r1, #0x1
- add r0, sp, #0xc
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0xc
- bl FUN_020311D0
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- bl FUN_0200E388
- mov r0, #0x1
- bl FUN_0200E388
- ldr r0, _020508B4 ; =FUN_02050A14
- mov r1, #0x0
- bl FUN_02050094
-_020508B0:
- add sp, #0x10
- pop {r3, pc}
- .balign 4
-_020508B4: .word FUN_02050A14
-
- thumb_func_start FUN_020508B8
-FUN_020508B8: ; 0x020508B8
- push {r3-r7, lr}
- mov r7, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _02050916
- ldr r6, _02050928 ; =0x021C5A6C
-_020508C6:
- bl FUN_02031190
- cmp r7, r0
- beq _0205090C
- add r0, r7, #0x0
- bl FUN_020315FC
- cmp r0, #0x5e
- bne _0205090C
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _0205090C
- mov r4, #0x0
- add r5, r4, #0x0
-_020508E6:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- beq _020508F8
- bl FUN_02016A18
- ldr r1, [r6, #0x0]
- mov r0, #0x0
- str r0, [r1, r5]
-_020508F8:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _020508E6
- ldr r0, [r6, #0x0]
- ldr r1, _0205092C ; =0x0000238E
- ldr r0, [r0, #0x18]
- mov r2, #0x0
- bl FUN_02038C78
-_0205090C:
- add r7, r7, #0x1
- bl FUN_02030F20
- cmp r7, r0
- blt _020508C6
-_02050916:
- ldr r1, _02050928 ; =0x021C5A6C
- mov r0, #0x4
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- ldr r1, [r1, #0x8]
- bl FUN_020335F0
- pop {r3-r7, pc}
- nop
-_02050928: .word 0x021C5A6C
-_0205092C: .word 0x0000238E
-
- thumb_func_start FUN_02050930
-FUN_02050930: ; 0x02050930
- push {r3, lr}
- bl FUN_0204EB44
- cmp r0, #0x0
- bne _0205095A
- ldr r0, _02050960 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r1, #0x1
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _02050964 ; =FUN_02050A14
- mov r1, #0x0
- bl FUN_02050094
-_0205095A:
- bl FUN_020508B8
- pop {r3, pc}
- .balign 4
-_02050960: .word 0x021C5A6C
-_02050964: .word FUN_02050A14
-
- thumb_func_start FUN_02050968
-FUN_02050968: ; 0x02050968
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- beq _02050986
- mov r0, #0xb
- bl FUN_0206B8AC
- ldr r1, _020509AC ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x44]
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x44]
- bl FUN_0206BAD0
-_02050986:
- cmp r5, #0x0
- beq _02050994
- ldr r0, _020509B0 ; =FUN_02050B8C
- mov r1, #0x3
- bl FUN_02050094
- pop {r3-r5, pc}
-_02050994:
- mov r1, #0x3
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _020509B4 ; =FUN_02050930
- mov r1, #0x0
- bl FUN_02050094
- pop {r3-r5, pc}
- .balign 4
-_020509AC: .word 0x021C5A6C
-_020509B0: .word FUN_02050B8C
-_020509B4: .word FUN_02050930
-
- thumb_func_start FUN_020509B8
-FUN_020509B8: ; 0x020509B8
- ldr r3, _020509C0 ; =FUN_02050094
- ldr r0, _020509C4 ; =FUN_02050930
- mov r1, #0x0
- bx r3
- .balign 4
-_020509C0: .word FUN_02050094
-_020509C4: .word FUN_02050930
-
- thumb_func_start FUN_020509C8
-FUN_020509C8: ; 0x020509C8
- push {r3, lr}
- bl FUN_02031438
- cmp r0, #0x0
- bne _02050A06
- bl FUN_02031190
- bl FUN_0204F6B4
- cmp r0, #0x0
- bne _02050A06
- ldr r0, _02050A08 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020509EE
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020509EE:
- bl FUN_0204F7E4
- ldr r0, _02050A08 ; =0x021C5A6C
- ldr r1, _02050A0C ; =FUN_02050968
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl FUN_02051880
- ldr r0, _02050A10 ; =FUN_020509B8
- mov r1, #0x0
- bl FUN_02050094
-_02050A06:
- pop {r3, pc}
- .balign 4
-_02050A08: .word 0x021C5A6C
-_02050A0C: .word FUN_02050968
-_02050A10: .word FUN_020509B8
-
- thumb_func_start FUN_02050A14
-FUN_02050A14: ; 0x02050A14
- push {r3, lr}
- ldr r0, _02050A40 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050A38
- ldr r0, _02050A44 ; =FUN_020509C8
- mov r1, #0x5
- bl FUN_02050094
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
-_02050A38:
- bl FUN_020508B8
- pop {r3, pc}
- nop
-_02050A40: .word 0x021C5A6C
-_02050A44: .word FUN_020509C8
-
- thumb_func_start FUN_02050A48
-FUN_02050A48: ; 0x02050A48
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- ldrb r1, [r4, #0x0]
- cmp r1, r0
- bne _02050A60
- ldr r0, _02050A64 ; =0x021C5A6C
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
-_02050A60:
- pop {r4, pc}
- nop
-_02050A64: .word 0x021C5A6C
-
- thumb_func_start FUN_02050A68
-FUN_02050A68: ; 0x02050A68
- ldr r0, _02050A88 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050A82
- ldr r1, [r0, #0x34]
- ldr r0, _02050A8C ; =FUN_02050A14
- cmp r1, r0
- beq _02050A7E
- ldr r0, _02050A90 ; =FUN_02050930
- cmp r1, r0
- bne _02050A82
-_02050A7E:
- mov r0, #0x1
- bx lr
-_02050A82:
- mov r0, #0x0
- bx lr
- nop
-_02050A88: .word 0x021C5A6C
-_02050A8C: .word FUN_02050A14
-_02050A90: .word FUN_02050930
-
- thumb_func_start FUN_02050A94
-FUN_02050A94: ; 0x02050A94
- push {r4, lr}
- sub sp, #0x8
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050AAA
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- add sp, #0x8
- pop {r4, pc}
-_02050AAA:
- mov r4, #0x5
- bl FUN_02033534
- cmp r0, #0x2
- beq _02050AC0
- cmp r0, #0x4
- beq _02050ABC
- cmp r0, #0x5
- bne _02050AC2
-_02050ABC:
- mov r4, #0xf
- b _02050AC2
-_02050AC0:
- mov r4, #0x7
-_02050AC2:
- add r0, sp, #0x0
- bl FUN_02033578
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x44]
- ldr r0, [r0, #0x18]
- cmp r1, #0x0
- bne _02050ADE
- add r1, sp, #0x0
- add r2, r4, #0x0
- bl FUN_0204726C
- b _02050AF6
-_02050ADE:
- add r2, r4, #0x0
- bl FUN_020472B0
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x44]
- bl FUN_02016A18
- ldr r0, _02050B00 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x44]
-_02050AF6:
- bl FUN_0204FC10
- add sp, #0x8
- pop {r4, pc}
- nop
-_02050B00: .word 0x021C5A6C
-
- thumb_func_start FUN_02050B04
-FUN_02050B04: ; 0x02050B04
- push {r3, lr}
- bl FUN_0202FA48
- cmp r0, #0x0
- beq _02050B3E
- ldr r0, _02050B40 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B1C
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050B1C:
- ldr r0, _02050B40 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x5a
- bne _02050B2C
- mov r0, #0x4
- bl FUN_02031588
-_02050B2C:
- mov r0, #0x4
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050B3E
- ldr r0, _02050B44 ; =FUN_02050A94
- mov r1, #0x0
- bl FUN_02050094
-_02050B3E:
- pop {r3, pc}
- .balign 4
-_02050B40: .word 0x021C5A6C
-_02050B44: .word FUN_02050A94
-
- thumb_func_start FUN_02050B48
-FUN_02050B48: ; 0x02050B48
- push {r3, lr}
- ldr r0, _02050B68 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B5A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050B5A:
- bl FUN_0202FA10
- ldr r0, _02050B6C ; =FUN_02050B04
- mov r1, #0x78
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050B68: .word 0x021C5A6C
-_02050B6C: .word FUN_02050B04
-
- thumb_func_start FUN_02050B70
-FUN_02050B70: ; 0x02050B70
- push {r3, lr}
- mov r0, #0x3
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050B84
- ldr r0, _02050B88 ; =FUN_02050B48
- mov r1, #0x2
- bl FUN_02050094
-_02050B84:
- pop {r3, pc}
- nop
-_02050B88: .word FUN_02050B48
-
- thumb_func_start FUN_02050B8C
-FUN_02050B8C: ; 0x02050B8C
- push {r3, lr}
- ldr r0, _02050BB4 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B9E
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050B9E:
- mov r0, #0x0
- bl FUN_0204CCE0
- mov r0, #0x3
- bl FUN_02031588
- ldr r0, _02050BB8 ; =FUN_02050B70
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050BB4: .word 0x021C5A6C
-_02050BB8: .word FUN_02050B70
-
- thumb_func_start FUN_02050BBC
-FUN_02050BBC: ; 0x02050BBC
- push {r3, lr}
- bl FUN_020319F4
- ldr r0, _02050BCC ; =FUN_02050BD0
- mov r1, #0x2
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050BCC: .word FUN_02050BD0
-
- thumb_func_start FUN_02050BD0
-FUN_02050BD0: ; 0x02050BD0
- push {r3, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02050BE2
- ldr r0, _02050BE4 ; =FUN_020506A8
- mov r1, #0xa
- bl FUN_02050094
-_02050BE2:
- pop {r3, pc}
- .balign 4
-_02050BE4: .word FUN_020506A8
-
- thumb_func_start FUN_02050BE8
-FUN_02050BE8: ; 0x02050BE8
- ldr r1, _02050BF4 ; =0x021C5A6C
- mov r2, #0x1
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- strb r2, [r0, #0x10]
- bx lr
- .balign 4
-_02050BF4: .word 0x021C5A6C
-
- thumb_func_start FUN_02050BF8
-FUN_02050BF8: ; 0x02050BF8
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x4
- blt _02050C04
- bl ErrorHandling
-_02050C04:
- ldr r0, _02050C10 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- ldr r0, [r1, r0]
- pop {r4, pc}
- nop
-_02050C10: .word 0x021C5A6C
-
- thumb_func_start FUN_02050C14
-FUN_02050C14: ; 0x02050C14
- push {r4, lr}
- bl FUN_02031190
- add r4, r0, #0x0
- mov r0, #0x5f
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050C3E
- ldr r1, _02050C40 ; =0x021C5A6C
- mov r0, #0x58
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- ldr r1, [r2, r1]
- ldr r2, _02050C44 ; =0x0000066C
- bl FUN_02030A78
- ldr r0, _02050C48 ; =FUN_02050C4C
- mov r1, #0x0
- bl FUN_02050094
-_02050C3E:
- pop {r4, pc}
- .balign 4
-_02050C40: .word 0x021C5A6C
-_02050C44: .word 0x0000066C
-_02050C48: .word FUN_02050C4C
-
- thumb_func_start FUN_02050C4C
-FUN_02050C4C: ; 0x02050C4C
- push {r3-r5, lr}
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _02050C6E
- ldr r5, _02050C80 ; =0x021C5A6C
-_02050C5A:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldrb r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02050C7C
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _02050C5A
-_02050C6E:
- mov r0, #0x61
- bl FUN_02031588
- ldr r0, _02050C84 ; =FUN_02050CF4
- mov r1, #0x0
- bl FUN_02050094
-_02050C7C:
- pop {r3-r5, pc}
- nop
-_02050C80: .word 0x021C5A6C
-_02050C84: .word FUN_02050CF4
-
- thumb_func_start FUN_02050C88
-FUN_02050C88: ; 0x02050C88
- push {r3, lr}
- bl FUN_0202FA48
- cmp r0, #0x0
- bne _02050CC2
- ldr r0, _02050CC4 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050CA0
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050CA0:
- ldr r0, _02050CC4 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x5a
- bne _02050CB0
- mov r0, #0x5
- bl FUN_02031588
-_02050CB0:
- mov r0, #0x5
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050CC2
- ldr r0, _02050CC8 ; =FUN_02050D10
- mov r1, #0x0
- bl FUN_02050094
-_02050CC2:
- pop {r3, pc}
- .balign 4
-_02050CC4: .word 0x021C5A6C
-_02050CC8: .word FUN_02050D10
-
- thumb_func_start FUN_02050CCC
-FUN_02050CCC: ; 0x02050CCC
- push {r3, lr}
- ldr r0, _02050CEC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050CDE
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050CDE:
- bl FUN_0202FA1C
- ldr r0, _02050CF0 ; =FUN_02050C88
- mov r1, #0x78
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050CEC: .word 0x021C5A6C
-_02050CF0: .word FUN_02050C88
-
- thumb_func_start FUN_02050CF4
-FUN_02050CF4: ; 0x02050CF4
- push {r3, lr}
- mov r0, #0x61
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050D08
- ldr r0, _02050D0C ; =FUN_02050CCC
- mov r1, #0x2
- bl FUN_02050094
-_02050D08:
- pop {r3, pc}
- nop
-_02050D0C: .word FUN_02050CCC
-
- thumb_func_start FUN_02050D10
-FUN_02050D10: ; 0x02050D10
- push {r3, lr}
- ldr r0, _02050D48 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050D22
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050D22:
- mov r0, #0x62
- bl FUN_02031588
- ldr r0, _02050D48 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x42
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050D3E
- ldr r0, _02050D4C ; =FUN_020506C8
- mov r1, #0x1e
- bl FUN_02050094
- pop {r3, pc}
-_02050D3E:
- ldr r0, _02050D50 ; =FUN_020507F8
- mov r1, #0x1e
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050D48: .word 0x021C5A6C
-_02050D4C: .word FUN_020506C8
-_02050D50: .word FUN_020507F8
-
- thumb_func_start FUN_02050D54
-FUN_02050D54: ; 0x02050D54
- push {r3, lr}
- ldr r0, _02050D84 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050D66
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050D66:
- bl MOD18_0223E1A4
- bl FUN_02031860
- mov r0, #0x21
- bl FUN_020168D0
- ldr r0, _02050D84 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x41
- strb r1, [r0, #0x0]
- bl FUN_0204FC10
- pop {r3, pc}
- .balign 4
-_02050D84: .word 0x021C5A6C
-
- thumb_func_start FUN_02050D88
-FUN_02050D88: ; 0x02050D88
- push {r3, lr}
- mov r0, #0x5b
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050DAA
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- mov r0, #0x1
- bl FUN_0204CCE0
- ldr r0, _02050DAC ; =FUN_02050DC8
- mov r1, #0x5
- bl FUN_02050094
-_02050DAA:
- pop {r3, pc}
- .balign 4
-_02050DAC: .word FUN_02050DC8
-
- thumb_func_start FUN_02050DB0
-FUN_02050DB0: ; 0x02050DB0
- push {r3, lr}
- mov r0, #0x1
- bl FUN_0204CCE0
- ldr r0, _02050DC4 ; =FUN_02050DC8
- mov r1, #0x5
- bl FUN_02050094
- pop {r3, pc}
- nop
-_02050DC4: .word FUN_02050DC8
-
- thumb_func_start FUN_02050DC8
-FUN_02050DC8: ; 0x02050DC8
- push {r3, lr}
- ldr r0, _02050DE8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050DDA
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050DDA:
- bl FUN_02031A08
- ldr r0, _02050DEC ; =FUN_0204FC10
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050DE8: .word 0x021C5A6C
-_02050DEC: .word FUN_0204FC10
-
- thumb_func_start FUN_02050DF0
-FUN_02050DF0: ; 0x02050DF0
- push {r3, lr}
- ldr r1, _02050E0C ; =0x021C5A6C
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02050E02
- add r1, #0x41
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02050E06
-_02050E02:
- mov r0, #0x0
- pop {r3, pc}
-_02050E06:
- bl MOD18_0223E2AC
- pop {r3, pc}
- .balign 4
-_02050E0C: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E10
-FUN_02050E10: ; 0x02050E10
- push {r3, lr}
- ldr r0, _02050E28 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E26
- add r0, #0x41
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E26
- bl MOD18_0223E118
-_02050E26:
- pop {r3, pc}
- .balign 4
-_02050E28: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E2C
-FUN_02050E2C: ; 0x02050E2C
- push {r3, lr}
- ldr r0, _02050E44 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E42
- add r0, #0x41
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E42
- bl MOD18_0223E154
-_02050E42:
- pop {r3, pc}
- .balign 4
-_02050E44: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E48
-FUN_02050E48: ; 0x02050E48
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0x24]
- mov r1, #0x30
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- ldr r6, [r5, #0xc]
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0207C2A4
- add r0, r6, #0x0
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- ldr r0, [sp, #0x4]
- strb r0, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r0, #0x0
- strh r0, [r4, #0x18]
- ldr r0, [sp, #0x20]
- strb r0, [r4, #0x12]
- add r0, r6, #0x0
- bl FUN_0202A918
- str r0, [r4, #0x20]
- ldr r1, _02050ECC ; =0x020F5880
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r1, _02050ED0 ; =0x020FA6E8
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- str r4, [r7, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02050ECC: .word 0x020F5880
-_02050ED0: .word 0x020FA6E8
-
- thumb_func_start FUN_02050ED4
-FUN_02050ED4: ; 0x02050ED4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x14]
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050F64
- mov r1, #0x1
- bl FUN_02023B0C
- add r1, r4, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- mov r2, #0xf
- lsl r0, r0, #0x18
- bic r1, r2
- lsr r2, r0, #0x18
- mov r0, #0xf
- and r0, r2
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- mov r1, #0xf0
- bic r0, r1
- add r1, r4, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x18
- b _02050F84
-_02050F64:
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x3
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf0
- bic r1, r0
- mov r0, #0x30
-_02050F84:
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x64
- add r0, #0x33
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x3c
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x22
- strb r1, [r0, #0x0]
- mov r2, #0x0
-_02050FA2:
- add r0, r5, r2
- add r0, #0x3d
- ldrb r1, [r0, #0x0]
- add r0, r4, r2
- add r0, #0x2c
- add r2, r2, #0x1
- strb r1, [r0, #0x0]
- cmp r2, #0x6
- blt _02050FA2
- ldr r0, [r5, #0x24]
- ldr r1, _02050FC4 ; =0x020F96DC
- add r2, r4, #0x0
- bl FUN_020373D4
- str r4, [r5, #0x4]
- pop {r3-r5, pc}
- nop
-_02050FC4: .word 0x020F96DC
-
- thumb_func_start FUN_02050FC8
-FUN_02050FC8: ; 0x02050FC8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02050FDA
- mov r0, #0x0
- pop {r4, pc}
-_02050FDA:
- ldr r0, [r4, #0x4]
- add r1, r4, #0x0
- add r0, #0x2c
- add r1, #0x3d
- mov r2, #0x6
- bl MI_CpuCopy8
- ldr r0, [r4, #0x4]
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- cmp r0, #0x6
- beq _02050FFC
- cmp r0, #0x7
- bne _02051002
- mov r0, #0x0
- str r0, [r4, #0x38]
- b _02051006
-_02050FFC:
- mov r0, #0x1
- str r0, [r4, #0x38]
- b _02051006
-_02051002:
- mov r0, #0x2
- str r0, [r4, #0x38]
-_02051006:
- ldr r0, [r4, #0x4]
- add r0, #0x22
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_02051020
-FUN_02051020: ; 0x02051020
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02051032
- mov r0, #0x0
- pop {r4, pc}
-_02051032:
- ldr r0, [r4, #0x0]
- ldrb r1, [r0, #0x14]
- add r0, r4, #0x0
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205104C
-FUN_0205104C: ; 0x0205104C
- push {r3, lr}
- ldr r0, [r0, #0x24]
- bl FUN_020464A4
- cmp r0, #0x0
- beq _02051066
- mov r0, #0x1
- bl MOD05_021D7CA4
- bl FUN_0204CC9C
- mov r0, #0x1
- pop {r3, pc}
-_02051066:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205106C
-FUN_0205106C: ; 0x0205106C
- push {r3-r5, lr}
- bl FUN_02030F20
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x0
- ble _0205108E
-_0205107A:
- add r0, r4, #0x0
- bl FUN_020315FC
- cmp r0, #0x5e
- bne _02051088
- mov r0, #0x1
- pop {r3-r5, pc}
-_02051088:
- add r4, r4, #0x1
- cmp r4, r5
- blt _0205107A
-_0205108E:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051094
-FUN_02051094: ; 0x02051094
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x34]
- cmp r1, #0x2c
- bls _020510AE
- b _020517B8
-_020510AE:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020510BA: ; jump table (using 16-bit offset)
- .short _02051114 - _020510BA - 2; case 0
- .short _02051136 - _020510BA - 2; case 1
- .short _02051150 - _020510BA - 2; case 2
- .short _0205116A - _020510BA - 2; case 3
- .short _020511A6 - _020510BA - 2; case 4
- .short _020511F6 - _020510BA - 2; case 5
- .short _020517B8 - _020510BA - 2; case 6
- .short _020511E4 - _020510BA - 2; case 7
- .short _0205120C - _020510BA - 2; case 8
- .short _02051232 - _020510BA - 2; case 9
- .short _0205123E - _020510BA - 2; case 10
- .short _0205126A - _020510BA - 2; case 11
- .short _02051288 - _020510BA - 2; case 12
- .short _0205129C - _020510BA - 2; case 13
- .short _020512A8 - _020510BA - 2; case 14
- .short _020512CA - _020510BA - 2; case 15
- .short _020512E0 - _020510BA - 2; case 16
- .short _0205130E - _020510BA - 2; case 17
- .short _02051334 - _020510BA - 2; case 18
- .short _02051346 - _020510BA - 2; case 19
- .short _0205138A - _020510BA - 2; case 20
- .short _0205136A - _020510BA - 2; case 21
- .short _020513A6 - _020510BA - 2; case 22
- .short _020513B6 - _020510BA - 2; case 23
- .short _020513D4 - _020510BA - 2; case 24
- .short _020513F2 - _020510BA - 2; case 25
- .short _02051406 - _020510BA - 2; case 26
- .short _02051472 - _020510BA - 2; case 27
- .short _020514A8 - _020510BA - 2; case 28
- .short _020514BE - _020510BA - 2; case 29
- .short _02051508 - _020510BA - 2; case 30
- .short _02051540 - _020510BA - 2; case 31
- .short _02051566 - _020510BA - 2; case 32
- .short _02051686 - _020510BA - 2; case 33
- .short _020516B6 - _020510BA - 2; case 34
- .short _020516CE - _020510BA - 2; case 35
- .short _020515BA - _020510BA - 2; case 36
- .short _020515F8 - _020510BA - 2; case 37
- .short _02051614 - _020510BA - 2; case 38
- .short _020516DE - _020510BA - 2; case 39
- .short _020517B8 - _020510BA - 2; case 40
- .short _02051702 - _020510BA - 2; case 41
- .short _02051744 - _020510BA - 2; case 42
- .short _02051766 - _020510BA - 2; case 43
- .short _02051798 - _020510BA - 2; case 44
-_02051114:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020511DC
- mov r0, #0x1
- str r0, [r4, #0x34]
- bl FUN_0204ECC0
- b _020517B8
-_02051136:
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- str r0, [r4, #0x34]
- b _020517B8
-_02051150:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020511DC
- mov r0, #0x5d
- bl FUN_02031588
- mov r0, #0x3
- str r0, [r4, #0x34]
- b _020517B8
-_0205116A:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _0205118A
- mov r0, #0x7
- str r0, [r4, #0x34]
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0x34]
- bl FUN_02058768
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
- b _020517B8
-_0205118A:
- ldr r0, _020514A4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _020511DC
- mov r0, #0x4
- str r0, [r4, #0x34]
- mov r0, #0x5c
- bl FUN_02031588
- mov r0, #0x5
- add r4, #0x43
- strb r0, [r4, #0x0]
- b _020517B8
-_020511A6:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020511C4
- mov r0, #0x7
- str r0, [r4, #0x34]
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0x34]
- bl FUN_02058768
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
-_020511C4:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020511DE
-_020511DC:
- b _020517B8
-_020511DE:
- mov r0, #0x8
- str r0, [r4, #0x34]
- b _020517B8
-_020511E4:
- add r0, r4, #0x0
- bl FUN_02051998
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r5, pc}
-_020511F6:
- add r0, r4, #0x0
- bl FUN_02051998
- add r0, r4, #0x0
- bl FUN_02016A18
- bl FUN_0204F7FC
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205120C:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051224
- mov r0, #0x5
- str r0, [r4, #0x34]
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
- b _020517B8
-_02051224:
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x0
- blx r2
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_02051232:
- mov r0, #0xa
- str r0, [r4, #0x34]
- mov r0, #0x5
- add r4, #0x44
- strb r0, [r4, #0x0]
- b _020517B8
-_0205123E:
- add r1, r4, #0x0
- add r1, #0x44
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02051256
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- add r4, #0x44
- sub r0, r0, #0x1
- strb r0, [r4, #0x0]
- b _020517B8
-_02051256:
- ldr r0, [r0, #0x38]
- bl FUN_020553A0
- bl FUN_0205AE28
- cmp r0, #0x0
- beq _020512FA
- mov r0, #0xb
- str r0, [r4, #0x34]
- b _020517B8
-_0205126A:
- bl FUN_0204ECC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xd
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0xc
- str r0, [r4, #0x34]
- b _020517B8
-_02051288:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020512FA
- mov r0, #0xd
- str r0, [r4, #0x34]
- b _020517B8
-_0205129C:
- mov r0, #0x0
- bl MOD05_021D7CA4
- mov r0, #0xe
- str r0, [r4, #0x34]
- b _020517B8
-_020512A8:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020512FA
- bl FUN_0204ECC0
- mov r0, #0xf
- str r0, [r4, #0x34]
- b _020517B8
-_020512CA:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051810
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02050ED4
- mov r0, #0x10
- str r0, [r4, #0x34]
- b _020517B8
-_020512E0:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02050FC8
- cmp r0, #0x0
- beq _020512FA
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _020512FC
- cmp r0, #0x1
- beq _02051302
- cmp r0, #0x2
- beq _02051308
-_020512FA:
- b _020517B8
-_020512FC:
- mov r0, #0x14
- str r0, [r4, #0x34]
- b _020517B8
-_02051302:
- mov r0, #0x13
- str r0, [r4, #0x34]
- b _020517B8
-_02051308:
- mov r0, #0x11
- str r0, [r4, #0x34]
- b _020517B8
-_0205130E:
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xb
- str r0, [sp, #0x4]
- add r3, r4, #0x0
- add r3, #0x3c
- ldrb r3, [r3, #0x0]
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02050E48
- mov r0, #0x12
- str r0, [r4, #0x34]
- b _020517B8
-_02051334:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02051020
- cmp r0, #0x0
- beq _02051410
- mov r0, #0xf
- str r0, [r4, #0x34]
- b _020517B8
-_02051346:
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _02051364
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x15
- str r0, [r4, #0x34]
- b _020517B8
-_02051364:
- mov r0, #0x1a
- str r0, [r4, #0x34]
- b _020517B8
-_0205136A:
- add r0, r4, #0x0
- add r0, #0x3d
- bl FUN_02033564
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _02051410
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x34]
- b _020517B8
-_0205138A:
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _020513A0
- mov r0, #0x16
- str r0, [r4, #0x34]
- b _020517B8
-_020513A0:
- mov r0, #0x1a
- str r0, [r4, #0x34]
- b _020517B8
-_020513A6:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _02051410
- mov r0, #0x8
- str r0, [r4, #0x34]
- b _020517B8
-_020513B6:
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x44
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051410
- mov r0, #0x18
- str r0, [r4, #0x34]
- b _020517B8
-_020513D4:
- bl FUN_0204ECC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x13
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x19
- str r0, [r4, #0x34]
- b _020517B8
-_020513F2:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051410
- mov r0, #0xd
- str r0, [r4, #0x34]
- b _020517B8
-_02051406:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- bne _02051412
-_02051410:
- b _020517B8
-_02051412:
- bl FUN_0205106C
- cmp r0, #0x0
- beq _02051420
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_02051420:
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _0205142A
- mov r1, #0x1
- b _0205142C
-_0205142A:
- mov r1, #0x0
-_0205142C:
- add r0, r4, #0x0
- add r0, #0x82
- strb r1, [r0, #0x0]
- add r1, r4, #0x0
- add r1, #0x82
- ldrb r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020519F0
- mov r0, #0x0
- bl FUN_02031588
- ldr r0, [r4, #0x28]
- ldr r2, [r4, #0x74]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xe
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1b
- str r0, [r4, #0x34]
- b _020517B8
-_02051472:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- bl FUN_0205106C
- cmp r0, #0x0
- beq _0205148E
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_0205148E:
- mov r0, #0x0
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051A38
- mov r0, #0x1c
- str r0, [r4, #0x34]
- b _020517B8
- .balign 4
-_020514A4: .word 0x021C48B8
-_020514A8:
- add r0, r4, #0x0
- bl FUN_02051A80
- cmp r0, #0x0
- beq _02051574
- mov r0, #0x1
- bl FUN_02031588
- mov r0, #0x1d
- str r0, [r4, #0x34]
- b _020517B8
-_020514BE:
- mov r0, #0x1
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051A90
- add r1, r4, #0x0
- add r1, #0x83
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x82
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051502
- add r0, r4, #0x0
- add r0, #0x83
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051502
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x14
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1e
- str r0, [r4, #0x34]
- b _020517B8
-_02051502:
- mov r0, #0x2a
- str r0, [r4, #0x34]
- b _020517B8
-_02051508:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x89
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x11
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x84
- strb r1, [r0, #0x0]
- mov r0, #0x1f
- str r0, [r4, #0x34]
- b _020517B8
-_02051540:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051AF0
- add r1, r4, #0x0
- add r1, #0x84
- ldrb r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_02051B68
- mov r0, #0x20
- str r0, [r4, #0x34]
- b _020517B8
-_02051566:
- add r0, r4, #0x0
- bl FUN_02051D54
- cmp r0, #0x1
- beq _02051576
- cmp r0, #0x2
- beq _0205158C
-_02051574:
- b _020517B8
-_02051576:
- add r0, r4, #0x0
- bl FUN_02051E24
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r0, r4, #0x0
- add r0, #0x84
- strb r1, [r0, #0x0]
- mov r0, #0x24
- str r0, [r4, #0x34]
- b _020517B8
-_0205158C:
- add r0, r4, #0x0
- bl FUN_02051E24
- add r0, r4, #0x0
- mov r1, #0xff
- add r0, #0x84
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xf
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- bl FUN_02031588
- mov r0, #0x27
- str r0, [r4, #0x34]
- b _020517B8
-_020515BA:
- add r1, r4, #0x0
- add r1, #0x84
- ldrb r1, [r1, #0x0]
- ldr r0, [r4, #0x50]
- bl FUN_0206B9B0
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0x28]
- mov r1, #0x1
- bl FUN_0200AC60
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x12
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x25
- str r0, [r4, #0x34]
- b _020517B8
-_020515F8:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _0205168E
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051C88
- mov r0, #0x26
- str r0, [r4, #0x34]
- b _020517B8
-_02051614:
- add r0, r4, #0x0
- bl FUN_02051D54
- cmp r0, #0x1
- beq _02051642
- cmp r0, #0x2
- bne _0205168E
- add r0, r4, #0x0
- bl FUN_02051E24
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x11
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1f
- str r0, [r4, #0x34]
- b _020517B8
-_02051642:
- mov r0, #0x81
- ldrsb r0, [r4, r0]
- cmp r0, #0x1
- bne _0205167A
- add r0, r4, #0x0
- bl FUN_02051E24
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xe
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- bl FUN_02031588
- mov r0, #0x27
- str r0, [r4, #0x34]
- b _020517B8
-_0205167A:
- mov r0, #0x0
- bl MOD05_021D7CA4
- mov r0, #0x21
- str r0, [r4, #0x34]
- b _020517B8
-_02051686:
- bl FUN_0200E308
- cmp r0, #0x0
- bne _02051690
-_0205168E:
- b _020517B8
-_02051690:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051810
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0xb
- str r0, [sp, #0x4]
- add r3, r4, #0x0
- add r3, #0x84
- ldrb r3, [r3, #0x0]
- ldr r1, [r4, #0x24]
- ldr r2, [r4, #0x50]
- add r0, r4, #0x0
- bl FUN_02050E48
- mov r0, #0x22
- str r0, [r4, #0x34]
- b _020517B8
-_020516B6:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02051020
- cmp r0, #0x0
- beq _020517B8
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- mov r0, #0x23
- str r0, [r4, #0x34]
- b _020517B8
-_020516CE:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _020517B8
- mov r0, #0x24
- str r0, [r4, #0x34]
- b _020517B8
-_020516DE:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020517B8
- mov r0, #0x2
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- bl FUN_02051AA4
- mov r0, #0x29
- str r0, [r4, #0x34]
- b _020517B8
-_02051702:
- add r0, r4, #0x0
- bl FUN_02051AE0
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x84
- ldrb r0, [r0, #0x0]
- cmp r0, #0xff
- bne _02051722
- mov r0, #0x4
- bl FUN_02031588
- mov r0, #0x2c
- str r0, [r4, #0x34]
- b _020517B8
-_02051722:
- add r0, r4, #0x0
- add r0, #0x85
- ldrb r0, [r0, #0x0]
- cmp r0, #0xff
- bne _02051732
- mov r0, #0x2a
- str r0, [r4, #0x34]
- b _020517B8
-_02051732:
- add r0, r4, #0x0
- bl FUN_02051B1C
- mov r0, #0x5d
- bl FUN_02031588
- mov r0, #0x2
- str r0, [r4, #0x34]
- b _020517B8
-_02051744:
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xf
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x2b
- str r0, [r4, #0x34]
- b _020517B8
-_02051766:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3c
- bls _020517B8
- mov r0, #0x4
- bl FUN_02031588
- mov r0, #0x2c
- str r0, [r4, #0x34]
- b _020517B8
-_02051798:
- mov r0, #0x4
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x14
- mov r1, #0x0
- bl FUN_0200D0E0
- mov r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r0, #0x0
- blx r2
- mov r0, #0x5
- str r0, [r4, #0x34]
-_020517B8:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020517C0
-FUN_020517C0: ; 0x020517C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r5, #0x0
- add r4, #0x14
- add r0, r4, #0x0
- add r6, r1, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- bne _020517F2
- ldr r0, [r5, #0x24]
- add r1, r4, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054608
- b _020517F8
-_020517F2:
- add r0, r4, #0x0
- bl FUN_0205464C
-_020517F8:
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x1
- bl FUN_02054658
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02051810
-FUN_02051810: ; 0x02051810
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x14
- add r4, r1, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- beq _02051846
- cmp r4, #0x0
- beq _02051836
- add r0, r5, #0x0
- add r0, #0x14
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_02019570
-_02051836:
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_02019178
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_0201901C
-_02051846:
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_02019048
- cmp r0, #0x0
- beq _02051862
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_02019178
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_0201901C
-_02051862:
- add r0, r5, #0x0
- add r0, #0x64
- bl FUN_02019048
- cmp r0, #0x0
- beq _0205187E
- add r0, r5, #0x0
- add r0, #0x64
- bl FUN_02019178
- add r5, #0x64
- add r0, r5, #0x0
- bl FUN_0201901C
-_0205187E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02051880
-FUN_02051880: ; 0x02051880
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r6, r1, #0x0
- cmp r0, #0x0
- beq _0205188E
- b _02051992
-_0205188E:
- mov r0, #0xb
- mov r1, #0x8c
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x8c
- bl MI_CpuFill8
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- str r5, [r4, #0x24]
- str r6, [r4, #0x8]
- mov r0, #0xb
- bl FUN_0200AA80
- str r0, [r4, #0x28]
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x9
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r4, #0x2c]
- mov r0, #0xc8
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0xc]
- mov r0, #0xc8
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x10]
- add r0, r4, #0x0
- add r0, #0x14
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x54
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201901C
- mov r0, #0xb
- bl FUN_02013690
- str r0, [r4, #0x78]
- bl FUN_02033534
- add r1, r4, #0x0
- add r1, #0x88
- strb r0, [r1, #0x0]
- mov r1, #0x0
- str r1, [r4, #0x4c]
- str r1, [r4, #0x48]
- add r0, r4, #0x0
- str r1, [r4, #0x50]
- add r0, #0x89
- strb r1, [r0, #0x0]
- bl FUN_02031190
- add r1, r4, #0x0
- add r1, #0x86
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x86
- ldrh r1, [r0, #0x0]
- mov r0, #0x1
- eor r0, r1
- bl FUN_0202DFA4
- str r0, [r4, #0x74]
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _02051938
- cmp r0, #0x4
- beq _0205196E
- b _02051974
-_02051938:
- bl FUN_02051E54
- add r6, r0, #0x0
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_020169D8
- str r0, [r4, #0x4c]
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_020169D8
- str r0, [r4, #0x48]
- mov r0, #0xb
- bl FUN_0206B8AC
- mov r1, #0x3
- str r0, [r4, #0x50]
- bl FUN_0206B8CC
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x44
- strb r1, [r0, #0x0]
- mov r0, #0x17
- str r0, [r4, #0x34]
- b _02051988
-_0205196E:
- mov r0, #0x9
- str r0, [r4, #0x34]
- b _02051988
-_02051974:
- ldr r0, [r4, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051984
- mov r0, #0x9
- str r0, [r4, #0x34]
- b _02051988
-_02051984:
- mov r0, #0x0
- str r0, [r4, #0x34]
-_02051988:
- ldr r1, _02051994 ; =FUN_02051094
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
-_02051992:
- pop {r4-r6, pc}
- .balign 4
-_02051994: .word FUN_02051094
-
- thumb_func_start FUN_02051998
-FUN_02051998: ; 0x02051998
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x50]
- cmp r0, #0x0
- beq _020519A6
- bl FUN_02016A18
-_020519A6:
- ldr r0, [r4, #0x4c]
- cmp r0, #0x0
- beq _020519B0
- bl FUN_02016A18
-_020519B0:
- ldr r0, [r4, #0x48]
- cmp r0, #0x0
- beq _020519BA
- bl FUN_02016A18
-_020519BA:
- ldr r0, [r4, #0x2c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x28]
- bl FUN_0200AB18
- ldr r0, [r4, #0xc]
- bl FUN_02021A20
- ldr r0, [r4, #0x10]
- bl FUN_02021A20
- ldr r0, [r4, #0x78]
- bl FUN_020136C0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02051810
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020519E4
-FUN_020519E4: ; 0x020519E4
- ldr r3, _020519EC ; =FUN_0204652C
- ldr r0, [r0, #0x10]
- bx r3
- nop
-_020519EC: .word FUN_0204652C
-
- thumb_func_start FUN_020519F0
-FUN_020519F0: ; 0x020519F0
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [r7, #0x24]
- add r5, r1, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x0]
- ldr r4, [r7, #0x4c]
- bl FUN_020690C4
- add r6, r0, #0x0
- lsl r0, r6, #0x1
- add r0, r6, r0
- str r5, [r4, r0]
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02051A34
- mov r5, #0x0
-_02051A16:
- add r1, r7, r5
- add r1, #0x3d
- ldrb r1, [r1, #0x0]
- ldr r0, [sp, #0x0]
- sub r1, r1, #0x1
- bl FUN_0206B9B0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MI_CpuCopy8
- add r5, r5, #0x1
- add r4, r4, r6
- cmp r5, #0x3
- blt _02051A16
-_02051A34:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02051A38
-FUN_02051A38: ; 0x02051A38
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x89
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- tst r1, r0
- bne _02051A7C
- ldr r4, [r5, #0x4c]
- bl FUN_02051E54
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x86
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051A62
- mov r0, #0x6a
- add r1, r4, #0x0
- bl FUN_02030B3C
- b _02051A6A
-_02051A62:
- mov r0, #0x6a
- add r1, r4, #0x0
- bl FUN_02030A78
-_02051A6A:
- cmp r0, #0x0
- beq _02051A7C
- add r1, r5, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r5, #0x89
- orr r1, r2
- strb r1, [r5, #0x0]
-_02051A7C:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051A80
-FUN_02051A80: ; 0x02051A80
- add r0, #0x89
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _02051A8C
- mov r0, #0x1
- bx lr
-_02051A8C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02051A90
-FUN_02051A90: ; 0x02051A90
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020690C4
- lsl r1, r0, #0x1
- ldr r2, [r4, #0x48]
- add r0, r0, r1
- ldr r0, [r2, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02051AA4
-FUN_02051AA4: ; 0x02051AA4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x86
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051ABE
- add r1, r4, #0x0
- mov r0, #0x6b
- add r1, #0x84
- mov r2, #0x1
- bl FUN_02030BC4
- b _02051ACA
-_02051ABE:
- add r1, r4, #0x0
- mov r0, #0x6b
- add r1, #0x84
- mov r2, #0x1
- bl FUN_02030ADC
-_02051ACA:
- cmp r0, #0x0
- beq _02051ADC
- add r1, r4, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r4, #0x89
- orr r1, r2
- strb r1, [r4, #0x0]
-_02051ADC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02051AE0
-FUN_02051AE0: ; 0x02051AE0
- add r0, #0x89
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _02051AEC
- mov r0, #0x1
- bx lr
-_02051AEC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02051AF0
-FUN_02051AF0: ; 0x02051AF0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020690C4
- add r6, r0, #0x0
- ldr r0, [r5, #0x50]
- mov r1, #0x3
- bl FUN_0206B8CC
- mov r4, #0x0
-_02051B04:
- add r1, r4, #0x0
- ldr r2, [r5, #0x48]
- mul r1, r6
- ldr r0, [r5, #0x50]
- add r1, r2, r1
- bl FUN_0206B900
- add r4, r4, #0x1
- cmp r4, #0x3
- blt _02051B04
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02051B1C
-FUN_02051B1C: ; 0x02051B1C
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_020690C4
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x84
- ldrb r0, [r0, #0x0]
- ldr r2, [r6, #0x48]
- ldr r3, [r6, #0x4c]
- add r1, r0, #0x0
- mul r1, r4
- add r0, r2, r1
- add r1, r6, #0x0
- add r1, #0x85
- ldrb r1, [r1, #0x0]
- add r2, r1, #0x0
- mul r2, r4
- add r1, r3, r2
- add r2, r4, #0x0
- bl MI_CpuCopy8
- ldr r0, [r6, #0x50]
- mov r1, #0x3
- bl FUN_0206B8CC
- mov r5, #0x0
-_02051B52:
- add r1, r5, #0x0
- ldr r2, [r6, #0x4c]
- mul r1, r4
- ldr r0, [r6, #0x50]
- add r1, r2, r1
- bl FUN_0206B900
- add r5, r5, #0x1
- cmp r5, #0x3
- blt _02051B52
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02051B68
-FUN_02051B68: ; 0x02051B68
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- str r0, [sp, #0x20]
- add r0, #0x54
- str r1, [sp, #0x14]
- str r0, [sp, #0x20]
- bl FUN_02019048
- cmp r0, #0x0
- bne _02051C34
- ldr r2, _02051C84 ; =0x0000016A
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x4
- bl FUN_0200A86C
- str r0, [sp, #0x18]
- bl FUN_020690C4
- str r0, [sp, #0x1c]
- mov r0, #0x9
- str r0, [sp, #0x0]
- mov r1, #0xa
- str r1, [sp, #0x4]
- mov r0, #0x8
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- ldr r0, [r5, #0x24]
- ldr r1, [sp, #0x20]
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x15
- bl FUN_02019064
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x24]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CB00
- ldr r0, [sp, #0x20]
- mov r1, #0xf
- bl FUN_02019620
- mov r7, #0x0
- add r6, r7, #0x0
- add r4, r7, #0x0
-_02051BD6:
- ldr r0, [r5, #0x48]
- mov r1, #0x5
- add r0, r0, r6
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- ldr r0, [sp, #0x18]
- ldr r2, [r5, #0xc]
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x20]
- ldr r2, [r5, #0xc]
- mov r1, #0x0
- mov r3, #0x10
- bl FUN_0201BD84
- ldr r0, [sp, #0x1c]
- add r7, r7, #0x1
- add r6, r6, r0
- add r4, #0x10
- cmp r7, #0x3
- blt _02051BD6
- ldr r0, [r5, #0x2c]
- ldr r2, [r5, #0xc]
- mov r1, #0x15
- bl FUN_0200A8E0
- lsl r0, r7, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x20]
- ldr r2, [r5, #0xc]
- mov r3, #0x10
- bl FUN_0201BD84
- ldr r0, [sp, #0x18]
- bl FUN_0200A8B8
-_02051C34:
- mov r0, #0x10
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- mov r2, #0x0
- ldrb r0, [r0, #0x8]
- mov r1, #0xf
- add r3, r2, #0x0
- lsl r0, r0, #0x13
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x20]
- bl FUN_020196F4
- ldr r3, [sp, #0x14]
- add r1, r5, #0x0
- ldr r0, [r5, #0x78]
- add r1, #0x54
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- add r0, r5, #0x0
- add r0, #0x54
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add r1, r5, #0x0
- ldr r0, [sp, #0x14]
- add r1, #0x81
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- mov r1, #0x4
- add r0, #0x80
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x7c]
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02051C84: .word 0x0000016A
-
- thumb_func_start FUN_02051C88
-FUN_02051C88: ; 0x02051C88
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r7, r5, #0x0
- add r7, #0x64
- add r0, r7, #0x0
- str r1, [sp, #0x14]
- bl FUN_02019048
- cmp r0, #0x0
- bne _02051D0A
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- mov r0, #0x5a
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x24]
- add r1, r7, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x14
- bl FUN_02019064
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x24]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CB00
- add r0, r7, #0x0
- mov r1, #0xf
- bl FUN_02019620
- mov r6, #0x0
- add r4, r6, #0x0
-_02051CE0:
- add r1, r6, #0x0
- ldr r0, [r5, #0x2c]
- ldr r2, [r5, #0xc]
- add r1, #0x16
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, [r5, #0xc]
- add r0, r7, #0x0
- mov r1, #0x0
- mov r3, #0x10
- bl FUN_0201BD84
- add r6, r6, #0x1
- add r4, #0x10
- cmp r6, #0x3
- blt _02051CE0
-_02051D0A:
- add r0, r5, #0x0
- mov r1, #0x3
- add r0, #0x80
- strb r1, [r0, #0x0]
- add r1, r5, #0x0
- ldr r0, [sp, #0x14]
- str r7, [r5, #0x7c]
- add r1, #0x81
- strb r0, [r1, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x0]
- ldrb r0, [r7, #0x8]
- mov r2, #0x0
- mov r1, #0xf
- lsl r0, r0, #0x13
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r3, [sp, #0x14]
- ldr r0, [r5, #0x78]
- ldr r1, [r5, #0x7c]
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- ldr r0, [r5, #0x7c]
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02051D54
-FUN_02051D54: ; 0x02051D54
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _02051E1C ; =0x021C48B8
- mov r1, #0x40
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _02051D7E
- mov r0, #0x81
- ldrsb r0, [r4, r0]
- cmp r0, #0x0
- bne _02051D74
- add r0, r4, #0x0
- add r0, #0x80
- ldrb r0, [r0, #0x0]
- b _02051D74
-_02051D74:
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x81
- strb r1, [r0, #0x0]
- b _02051DE0
-_02051D7E:
- mov r1, #0x80
- tst r1, r0
- beq _02051DA2
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r0, r4, #0x0
- add r0, #0x80
- ldrb r0, [r0, #0x0]
- sub r0, r0, #0x1
- cmp r1, r0
- bne _02051D98
- mov r1, #0x0
- b _02051D9A
-_02051D98:
- add r1, r1, #0x1
-_02051D9A:
- add r0, r4, #0x0
- add r0, #0x81
- strb r1, [r0, #0x0]
- b _02051DE0
-_02051DA2:
- mov r1, #0x1
- tst r1, r0
- beq _02051DC8
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r4, #0x80
- ldrb r0, [r4, #0x0]
- sub r0, r0, #0x1
- cmp r1, r0
- bge _02051DC2
- add sp, #0x8
- mov r0, #0x1
- pop {r4, pc}
-_02051DC2:
- add sp, #0x8
- mov r0, #0x2
- pop {r4, pc}
-_02051DC8:
- mov r1, #0x2
- tst r0, r1
- beq _02051DDA
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x2
- pop {r4, pc}
-_02051DDA:
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_02051DE0:
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, [r4, #0x7c]
- mov r1, #0x10
- str r1, [sp, #0x0]
- ldrb r1, [r0, #0x8]
- mov r2, #0x0
- add r3, r2, #0x0
- lsl r1, r1, #0x13
- lsr r1, r1, #0x10
- str r1, [sp, #0x4]
- mov r1, #0xf
- bl FUN_020196F4
- mov r3, #0x81
- ldrsb r3, [r4, r3]
- ldr r0, [r4, #0x78]
- ldr r1, [r4, #0x7c]
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- ldr r0, [r4, #0x7c]
- bl FUN_02019548
- mov r0, #0x0
- add sp, #0x8
- pop {r4, pc}
- nop
-_02051E1C: .word 0x021C48B8
-_02051E20: .word 0x000005DC
-
- thumb_func_start FUN_02051E24
-FUN_02051E24: ; 0x02051E24
- ldr r3, _02051E2C ; =FUN_0200CCF8
- ldr r0, [r0, #0x7c]
- mov r1, #0x1
- bx r3
- .balign 4
-_02051E2C: .word FUN_0200CCF8
-
- thumb_func_start FUN_02051E30
-FUN_02051E30: ; 0x02051E30
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r3, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r4
- beq _02051E52
- add r1, r0, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r0, #0x89
- orr r1, r2
- strb r1, [r0, #0x0]
-_02051E52:
- pop {r4, pc}
-
- thumb_func_start FUN_02051E54
-FUN_02051E54: ; 0x02051E54
- push {r3, lr}
- bl FUN_020690C4
- lsl r1, r0, #0x1
- add r0, r0, r1
- add r0, r0, #0x4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02051E64
-FUN_02051E64: ; 0x02051E64
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r4
- beq _02051E7C
- ldr r0, [r0, #0x48]
- pop {r4, pc}
-_02051E7C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02051E80
-FUN_02051E80: ; 0x02051E80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r3, #0x0
- add r4, r2, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r5
- beq _02051EAC
- ldrb r2, [r4, #0x0]
- add r1, r0, #0x0
- add r1, #0x85
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r0, #0x89
- orr r1, r2
- strb r1, [r0, #0x0]
-_02051EAC:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051EB0
-FUN_02051EB0: ; 0x02051EB0
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r0, [r4, #0x24]
- add r2, r1, #0x0
- bl FUN_02050BF8
- add r6, r0, #0x0
- ldr r0, [r4, #0x28]
- cmp r0, #0x7
- bls _02051ED6
- b _02052036
-_02051ED6:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02051EE2: ; jump table (using 16-bit offset)
- .short _02051EF2 - _02051EE2 - 2; case 0
- .short _02051F7C - _02051EE2 - 2; case 1
- .short _02051FCC - _02051EE2 - 2; case 2
- .short _02051FDC - _02051EE2 - 2; case 3
- .short _02051FEC - _02051EE2 - 2; case 4
- .short _02051FFE - _02051EE2 - 2; case 5
- .short _0205200C - _02051EE2 - 2; case 6
- .short _02052028 - _02051EE2 - 2; case 7
-_02051EF2:
- mov r0, #0x4
- bl FUN_0200AA80
- str r0, [r4, #0x18]
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x9
- mov r3, #0x4
- bl FUN_0200A86C
- str r0, [r4, #0x1c]
- mov r0, #0xc8
- mov r1, #0x4
- bl FUN_020219F4
- str r0, [r4, #0x0]
- mov r0, #0xc8
- mov r1, #0x4
- bl FUN_020219F4
- str r0, [r4, #0x4]
- ldrb r1, [r6, #0x3]
- ldr r0, [r4, #0x1c]
- ldr r2, [r4, #0x0]
- add r1, r1, #0x2
- bl FUN_0200A8E0
- ldr r0, [r4, #0x24]
- bl FUN_0202DFA4
- add r2, r0, #0x0
- ldr r0, [r4, #0x18]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r4, #0x18]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x0]
- bl FUN_0200B7B8
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x8
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x8
- bl FUN_02054608
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x4]
- add r0, #0x8
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x20]
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051F7C:
- ldr r0, [r4, #0x20]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _0205203A
- ldr r0, _02052040 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _0205203A
- ldr r0, [r4, #0x1c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x18]
- bl FUN_0200AB18
- ldr r0, [r4, #0x0]
- bl FUN_02021A20
- ldr r0, [r4, #0x4]
- bl FUN_02021A20
- add r0, r4, #0x0
- add r0, #0x8
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x8
- bl FUN_02019178
- mov r0, #0x0
- bl MOD05_021D7CA4
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FCC:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0205203A
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FDC:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02038680
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FEC:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _0205203A
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FFE:
- add r0, r5, #0x0
- bl FUN_0204649C
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_0205200C:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- bne _0205203A
- mov r0, #0x1
- bl MOD05_021D7CA4
- bl FUN_0204CC9C
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02052028:
- bl FUN_0204F7FC
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02052036:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205203A:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02052040: .word 0x021C48B8
-
- thumb_func_start FUN_02052044
-FUN_02052044: ; 0x02052044
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02031190
- add r5, r0, #0x0
- bl FUN_0204E4D4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E50C
- add r6, r0, #0x0
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _020520A6
-_02052066:
- cmp r4, r5
- beq _0205209C
- add r0, r4, #0x0
- bl FUN_0204E3EC
- cmp r7, r0
- bne _0205209C
- add r0, r4, #0x0
- bl FUN_0204E440
- cmp r6, r0
- bne _0205209C
- mov r0, #0xb
- mov r1, #0x2c
- bl FUN_020169D8
- add r2, r0, #0x0
- str r4, [r2, #0x24]
- mov r0, #0x0
- str r0, [r2, #0x28]
- ldr r0, [sp, #0x0]
- ldr r1, _020520A8 ; =FUN_02051EB0
- bl FUN_020463CC
- bl FUN_02037760
- pop {r3-r7, pc}
-_0205209C:
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _02052066
-_020520A6:
- pop {r3-r7, pc}
- .balign 4
-_020520A8: .word FUN_02051EB0
-
- thumb_func_start FUN_020520AC
-FUN_020520AC: ; 0x020520AC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _020520B6
- bl ErrorHandling
-_020520B6:
- ldr r0, [r4, #0x78]
- cmp r0, #0x0
- beq _020520C0
- mov r0, #0x0
- pop {r3-r5, pc}
-_020520C0:
- mov r2, #0x2a
- mov r0, #0x3
- mov r1, #0x1f
- lsl r2, r2, #0x6
- bl FUN_02016828
- add r0, r4, #0x0
- bl FUN_02052110
- add r5, r0, #0x0
- bne _020520D8
- ldr r5, [r4, #0x78]
-_020520D8:
- add r0, r4, #0x0
- bl FUN_0208881C
- mov r0, #0x2
- bl FUN_02032B6C
- ldr r1, _020520F4 ; =FUN_02052178
- add r0, r5, #0x0
- mov r2, #0x28
- bl FUN_02052300
- add r0, r5, #0x0
- pop {r3-r5, pc}
- nop
-_020520F4: .word FUN_02052178
-
- thumb_func_start FUN_020520F8
-FUN_020520F8: ; 0x020520F8
- push {r3, lr}
- ldr r0, [r0, #0x78]
- cmp r0, #0x0
- beq _02052108
- ldr r1, _0205210C ; =FUN_02052348
- mov r2, #0x5
- bl FUN_02052300
-_02052108:
- pop {r3, pc}
- nop
-_0205210C: .word FUN_02052348
-
- thumb_func_start FUN_02052110
-FUN_02052110: ; 0x02052110
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x78]
- cmp r1, #0x0
- beq _0205211E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205211E:
- bl FUN_020377AC
- add r6, r0, #0x0
- bl FUN_02031A7C
- mov r1, #0x19
- mov r0, #0x1f
- lsl r1, r1, #0x4
- bl FUN_02016998
- mov r2, #0x19
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x0
- str r0, [r4, #0x10]
- mov r0, #0x28
- str r0, [r4, #0x14]
- ldr r0, _02052174 ; =FUN_02052308
- add r1, r4, #0x0
- mov r2, #0xa
- bl FUN_0200CA44
- str r0, [r4, #0xc]
- str r5, [r4, #0x0]
- str r6, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_020238F4
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x15
- lsl r0, r0, #0x4
- add r0, r4, r0
- bl FUN_020312BC
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_02052174: .word FUN_02052308
-
- thumb_func_start FUN_02052178
-FUN_02052178: ; 0x02052178
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_0202EDF8
- cmp r0, #0x0
- beq _020521A4
- add r0, sp, #0x0
- bl FUN_02013754
- add r0, sp, #0x0
- bl FUN_02052DE8
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02052CD8
- ldr r1, _020521A8 ; =FUN_020521AC
- add r0, r4, #0x0
- mov r2, #0x28
- bl FUN_02052300
-_020521A4:
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_020521A8: .word FUN_020521AC
-
- thumb_func_start FUN_020521AC
-FUN_020521AC: ; 0x020521AC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031B2C
- cmp r0, #0x0
- beq _020521C8
- ldr r0, _02052208 ; =0x021C5A70
- mov r2, #0x0
- str r2, [r0, #0x0]
- ldr r1, _0205220C ; =FUN_0205225C
- add r0, r4, #0x0
- bl FUN_02052300
- pop {r4, pc}
-_020521C8:
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _02052206
- mov r0, #0x2
- str r0, [r4, #0x28]
- ldr r0, [r4, #0x20]
- cmp r0, #0x1
- bne _020521EC
- ldr r0, [r4, #0x30]
- cmp r0, #0x5
- ldr r0, [r4, #0x18]
- bne _020521E6
- bl FUN_020328F4
- b _020521FC
-_020521E6:
- bl FUN_02031AC8
- b _020521FC
-_020521EC:
- cmp r0, #0x2
- bne _020521FC
- mov r0, #0x0
- bl FUN_02083D48
- ldr r0, [r4, #0x18]
- bl FUN_020328C0
-_020521FC:
- ldr r1, _02052210 ; =FUN_02052380
- add r0, r4, #0x0
- mov r2, #0xc
- bl FUN_02052300
-_02052206:
- pop {r4, pc}
- .balign 4
-_02052208: .word 0x021C5A70
-_0205220C: .word FUN_0205225C
-_02052210: .word FUN_02052380
-
- thumb_func_start FUN_02052214
-FUN_02052214: ; 0x02052214
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031BD0
- cmp r0, #0x1
- bne _02052230
- ldr r0, [r4, #0x0]
- bl FUN_0208881C
- ldr r1, _02052234 ; =FUN_020521AC
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052230:
- pop {r4, pc}
- nop
-_02052234: .word FUN_020521AC
-
- thumb_func_start FUN_02052238
-FUN_02052238: ; 0x02052238
- push {r3-r5, lr}
- mov r5, #0x0
- mov r4, #0x1
-_0205223E:
- add r0, r4, #0x0
- bl FUN_0202DFA4
- cmp r0, #0x0
- beq _0205224A
- add r5, r5, #0x1
-_0205224A:
- add r4, r4, #0x1
- cmp r4, #0x5
- blt _0205223E
- cmp r5, #0x1
- blt _02052258
- mov r0, #0x1
- pop {r3-r5, pc}
-_02052258:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205225C
-FUN_0205225C: ; 0x0205225C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- ble _0205226C
- sub r0, r0, #0x1
- str r0, [r4, #0x14]
- pop {r4, pc}
-_0205226C:
- ldr r0, _020522C4 ; =0x021C5A70
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020522A0
- bl FUN_02052238
- cmp r0, #0x1
- bne _020522A0
- bl FUN_0202DBE0
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- mov r0, #0xb
- bl FUN_02052B74
- ldr r1, _020522C8 ; =FUN_020522D0
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02052300
-_020522A0:
- bl FUN_02031B2C
- cmp r0, #0x0
- bne _020522C2
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _020522CC ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_020522C2:
- pop {r4, pc}
- .balign 4
-_020522C4: .word 0x021C5A70
-_020522C8: .word FUN_020522D0
-_020522CC: .word FUN_02052214
-
- thumb_func_start FUN_020522D0
-FUN_020522D0: ; 0x020522D0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020311E8
- bl FUN_020311E8
- cmp r0, #0x0
- bne _020522FA
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _020522FC ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_020522FA:
- pop {r4, pc}
- .balign 4
-_020522FC: .word FUN_02052214
-
- thumb_func_start FUN_02052300
-FUN_02052300: ; 0x02052300
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052308
-FUN_02052308: ; 0x02052308
- push {r3-r7, lr}
- str r1, [sp, #0x0]
- cmp r1, #0x0
- bne _02052316
- bl FUN_0200CAB4
- pop {r3-r7, pc}
-_02052316:
- mov r7, #0x11
- ldr r5, _02052344 ; =0x021C5A7C
- mov r6, #0x0
- add r4, r1, #0x0
- lsl r7, r7, #0x4
-_02052320:
- add r0, r6, #0x0
- bl FUN_0202EF18
- mov r1, #0x11
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- ldr r0, [r4, r7]
- add r6, r6, #0x1
- add r4, r4, #0x4
- stmia r5!, {r0}
- cmp r6, #0x10
- blt _02052320
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- beq _02052342
- blx r1
-_02052342:
- pop {r3-r7, pc}
- .balign 4
-_02052344: .word 0x021C5A7C
-
- thumb_func_start FUN_02052348
-FUN_02052348: ; 0x02052348
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- beq _02052358
- sub r0, r0, #0x1
- str r0, [r4, #0x14]
- pop {r4, pc}
-_02052358:
- bl FUN_02031BF4
- ldr r1, _02052368 ; =FUN_0205236C
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02052300
- pop {r4, pc}
- .balign 4
-_02052368: .word FUN_0205236C
-
- thumb_func_start FUN_0205236C
-FUN_0205236C: ; 0x0205236C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0205237E
- add r0, r4, #0x0
- bl FUN_020524A0
-_0205237E:
- pop {r4, pc}
-
- thumb_func_start FUN_02052380
-FUN_02052380: ; 0x02052380
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _0205239C
- bl FUN_0202DBE0
- ldr r1, _020523D4 ; =FUN_02052410
- add r0, r4, #0x0
- mov r2, #0x3
- bl FUN_02052300
- pop {r4, pc}
-_0205239C:
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020523B4
- mov r2, #0x0
- str r2, [r4, #0x20]
- mov r0, #0x3
- str r0, [r4, #0x1c]
- ldr r1, _020523D8 ; =FUN_0205225C
- add r0, r4, #0x0
- bl FUN_02052300
-_020523B4:
- bl FUN_02031AF4
- cmp r0, #0x0
- beq _020523D2
- ldr r1, _020523DC ; =FUN_020523E0
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
- mov r1, #0x0
- str r1, [r4, #0x24]
- mov r0, #0x2
- str r0, [r4, #0x1c]
- str r1, [r4, #0x20]
- str r1, [r4, #0x44]
-_020523D2:
- pop {r4, pc}
- .balign 4
-_020523D4: .word FUN_02052410
-_020523D8: .word FUN_0205225C
-_020523DC: .word FUN_020523E0
-
- thumb_func_start FUN_020523E0
-FUN_020523E0: ; 0x020523E0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204646C
- cmp r0, #0x0
- bne _02052408
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _0205240C ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052408:
- pop {r4, pc}
- nop
-_0205240C: .word FUN_02052214
-
- thumb_func_start FUN_02052410
-FUN_02052410: ; 0x02052410
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _02052444
- bl FUN_02031190
- bl FUN_0202DFA4
- cmp r0, #0x0
- beq _0205246C
- mov r1, #0x0
- str r1, [r4, #0x20]
- mov r0, #0x1
- str r0, [r4, #0x1c]
- str r1, [r4, #0x44]
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r1, _02052470 ; =FUN_02052478
- add r0, r4, #0x0
- mov r2, #0x3
- bl FUN_02052300
- pop {r4, pc}
-_02052444:
- bl FUN_02031AF4
- cmp r0, #0x0
- bne _0205246C
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- ldr r1, _02052474 ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
- mov r1, #0x0
- str r1, [r4, #0x24]
- mov r0, #0x2
- str r0, [r4, #0x1c]
- str r1, [r4, #0x20]
- str r1, [r4, #0x44]
-_0205246C:
- pop {r4, pc}
- nop
-_02052470: .word FUN_02052478
-_02052474: .word FUN_02052214
-
- thumb_func_start FUN_02052478
-FUN_02052478: ; 0x02052478
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x0
- bne _02052498
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- ldr r1, _0205249C ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052498:
- pop {r4, pc}
- nop
-_0205249C: .word FUN_02052214
-
- thumb_func_start FUN_020524A0
-FUN_020524A0: ; 0x020524A0
- push {r4, lr}
- add r4, r0, #0x0
- beq _020524B8
- ldr r0, [r4, #0xc]
- bl FUN_0200CAB4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1f
- bl FUN_020168D0
-_020524B8:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020524BC
-FUN_020524BC: ; 0x020524BC
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020524C0
-FUN_020524C0: ; 0x020524C0
- lsl r1, r1, #0x2
- add r1, r0, r1
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- bx lr
-
- thumb_func_start FUN_020524CC
-FUN_020524CC: ; 0x020524CC
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- sub r0, r5, #0x1
- bl FUN_0202EF84
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02052E10
- cmp r6, #0x0
- bne _020524E8
- mov r0, #0x5
- pop {r4-r6, pc}
-_020524E8:
- sub r0, r5, #0x1
- lsl r0, r0, #0x2
- add r1, r4, r0
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r1, [r1, r0]
- ldr r0, _02052540 ; =0x021C5A70
- add r1, #0x50
- add r1, #0x30
- str r1, [r0, #0x4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0xb
- bhi _0205253A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205250E: ; jump table (using 16-bit offset)
- .short _02052526 - _0205250E - 2; case 0
- .short _0205252A - _0205250E - 2; case 1
- .short _0205252E - _0205250E - 2; case 2
- .short _02052532 - _0205250E - 2; case 3
- .short _02052536 - _0205250E - 2; case 4
- .short _02052536 - _0205250E - 2; case 5
- .short _02052536 - _0205250E - 2; case 6
- .short _02052536 - _0205250E - 2; case 7
- .short _02052536 - _0205250E - 2; case 8
- .short _0205253A - _0205250E - 2; case 9
- .short _0205253A - _0205250E - 2; case 10
- .short _02052536 - _0205250E - 2; case 11
-_02052526:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205252A:
- mov r0, #0x2
- pop {r4-r6, pc}
-_0205252E:
- mov r0, #0x3
- pop {r4-r6, pc}
-_02052532:
- mov r0, #0x4
- pop {r4-r6, pc}
-_02052536:
- mov r0, #0x5
- pop {r4-r6, pc}
-_0205253A:
- mov r0, #0x5
- pop {r4-r6, pc}
- nop
-_02052540: .word 0x021C5A70
-
- thumb_func_start FUN_02052544
-FUN_02052544: ; 0x02052544
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r4, r0, #0x0
- sub r0, r6, #0x1
- add r5, r2, #0x0
- bl FUN_0202EF84
- sub r0, r6, #0x1
- lsl r1, r0, #0x2
- add r2, r4, r1
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r2, [r2, r1]
- ldr r1, _02052600 ; =0x021C5A70
- add r2, #0x50
- add r2, #0x30
- str r2, [r1, #0x4]
- ldrb r1, [r2, #0x1c]
- cmp r1, #0xb
- bhi _020525F8
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02052578: ; jump table (using 16-bit offset)
- .short _020525C6 - _02052578 - 2; case 0
- .short _020525DC - _02052578 - 2; case 1
- .short _020525AC - _02052578 - 2; case 2
- .short _02052590 - _02052578 - 2; case 3
- .short _020525F4 - _02052578 - 2; case 4
- .short _020525F4 - _02052578 - 2; case 5
- .short _020525F4 - _02052578 - 2; case 6
- .short _020525F4 - _02052578 - 2; case 7
- .short _020525F4 - _02052578 - 2; case 8
- .short _020525F8 - _02052578 - 2; case 9
- .short _020525F8 - _02052578 - 2; case 10
- .short _020525F4 - _02052578 - 2; case 11
-_02052590:
- cmp r5, #0x4
- beq _02052598
- mov r0, #0x5
- pop {r4-r6, pc}
-_02052598:
- mov r1, #0x6
- str r1, [r4, #0x30]
- str r0, [r4, #0x18]
- mov r0, #0x2
- str r0, [r4, #0x20]
- mov r0, #0x0
- str r0, [r4, #0x24]
- str r0, [r4, #0x1c]
- mov r0, #0x1
- pop {r4-r6, pc}
-_020525AC:
- cmp r5, #0x3
- beq _020525B4
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525B4:
- mov r1, #0x5
- str r1, [r4, #0x30]
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x20]
- mov r1, #0x0
- str r1, [r4, #0x24]
- str r1, [r4, #0x1c]
- pop {r4-r6, pc}
-_020525C6:
- cmp r5, #0x1
- beq _020525CE
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525CE:
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x20]
- mov r1, #0x0
- str r1, [r4, #0x24]
- str r1, [r4, #0x1c]
- pop {r4-r6, pc}
-_020525DC:
- cmp r5, #0x2
- beq _020525E4
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525E4:
- str r0, [r4, #0x18]
- mov r0, #0x2
- str r0, [r4, #0x20]
- mov r0, #0x0
- str r0, [r4, #0x24]
- str r0, [r4, #0x1c]
- mov r0, #0x1
- pop {r4-r6, pc}
-_020525F4:
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525F8:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02052600: .word 0x021C5A70
-
- thumb_func_start FUN_02052604
-FUN_02052604: ; 0x02052604
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02052608
-FUN_02052608: ; 0x02052608
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- beq _02052616
- mov r0, #0x7
- pop {r4, pc}
-_02052616:
- bl FUN_02030F20
- cmp r0, #0x2
- bge _02052622
- mov r0, #0x7
- pop {r4, pc}
-_02052622:
- bl FUN_02031190
- cmp r0, #0x0
- bne _02052636
- bl FUN_02031B2C
- cmp r0, #0x1
- bne _02052642
- ldr r0, [r4, #0x40]
- pop {r4, pc}
-_02052636:
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _02052642
- ldr r0, [r4, #0x40]
- pop {r4, pc}
-_02052642:
- mov r0, #0x7
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02052648
-FUN_02052648: ; 0x02052648
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031B2C
- cmp r0, #0x1
- bne _02052658
- ldr r0, [r4, #0x30]
- pop {r4, pc}
-_02052658:
- mov r0, #0x7
- pop {r4, pc}
-
- thumb_func_start FUN_0205265C
-FUN_0205265C: ; 0x0205265C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x0
- strb r4, [r0, #0x2]
- cmp r1, #0x0
- beq _02052670
- cmp r1, #0x1
- beq _02052688
- pop {r3-r5, pc}
-_02052670:
- ldr r1, [r5, #0x44]
- cmp r1, #0x0
- bne _020526B0
- ldrb r0, [r0, #0x2]
- add r1, sp, #0x0
- add r1, #0x2
- str r0, [r5, #0x34]
- mov r0, #0x63
- mov r2, #0x1
- bl FUN_02030ADC
- pop {r3-r5, pc}
-_02052688:
- cmp r4, #0x0
- bne _020526A0
- ldr r1, [r5, #0x30]
- mov r2, #0x1
- strb r1, [r0, #0x1]
- add r1, sp, #0x0
- mov r0, #0x67
- add r1, #0x1
- bl FUN_02030BC4
- str r4, [r5, #0x3c]
- pop {r3-r5, pc}
-_020526A0:
- mov r1, #0x7
- strb r1, [r0, #0x0]
- mov r0, #0x67
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030BC4
- str r4, [r5, #0x3c]
-_020526B0:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020526B4
-FUN_020526B4: ; 0x020526B4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020526B8
-FUN_020526B8: ; 0x020526B8
- bx lr
- .balign 4
-
- thumb_func_start FUN_020526BC
-FUN_020526BC: ; 0x020526BC
- push {r4, lr}
- add r4, r3, #0x0
- ldr r0, [r4, #0x78]
- ldr r1, _020526D4 ; =FUN_020521AC
- mov r2, #0x2
- bl FUN_02052300
- ldr r0, [r4, #0x78]
- bl FUN_02052E1C
- pop {r4, pc}
- nop
-_020526D4: .word FUN_020521AC
-
- thumb_func_start FUN_020526D8
-FUN_020526D8: ; 0x020526D8
- ldr r1, [r3, #0x78]
- ldr r0, [r1, #0x44]
- cmp r0, #0x0
- bne _020526EA
- ldrb r0, [r2, #0x0]
- str r0, [r1, #0x30]
- ldrb r1, [r2, #0x0]
- ldr r0, _020526EC ; =0x021C5A70
- str r1, [r0, #0x8]
-_020526EA:
- bx lr
- .balign 4
-_020526EC: .word 0x021C5A70
-
- thumb_func_start FUN_020526F0
-FUN_020526F0: ; 0x020526F0
- push {r3, lr}
- ldr r0, [r3, #0x78]
- mov r1, #0x1
- str r1, [r0, #0x2c]
- ldrb r1, [r2, #0x0]
- ldr r0, [r3, #0x78]
- str r1, [r0, #0x40]
- ldrb r0, [r2, #0x0]
- cmp r0, #0x4
- bne _02052708
- bl FUN_02032888
-_02052708:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205270C
-FUN_0205270C: ; 0x0205270C
- ldr r0, [r3, #0x78]
- mov r1, #0x1
- str r1, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_02052714
-FUN_02052714: ; 0x02052714
- ldr r0, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_02052718
-FUN_02052718: ; 0x02052718
- push {r4, lr}
- ldr r0, [r0, #0x30]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _02052730
- mov r1, #0x0
- mov r0, #0x68
- add r2, r1, #0x0
- bl FUN_02030ADC
- add r0, r4, #0x0
- pop {r4, pc}
-_02052730:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02052734
-FUN_02052734: ; 0x02052734
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202DFA4
- add r7, r0, #0x0
- ldr r0, _02052784 ; =0x0000066A
- mov r1, #0x1
- strh r1, [r6, r0]
- bl FUN_02031190
- cmp r5, r0
- beq _02052780
- add r0, r7, #0x0
- bl FUN_0202398C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020239CC
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- mov r2, #0x1f
- bl FUN_0202942C
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x4
- bl FUN_02028AD4
-_02052780:
- pop {r3-r7, pc}
- nop
-_02052784: .word 0x0000066A
-
- thumb_func_start FUN_02052788
-FUN_02052788: ; 0x02052788
- ldr r1, [r1, #0x78]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052798
-FUN_02052798: ; 0x02052798
- ldr r1, [r3, #0x78]
- ldrb r2, [r2, #0x0]
- add r1, r1, r0
- ldr r0, _020527A4 ; =0x00000176
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_020527A4: .word 0x00000176
-
- thumb_func_start FUN_020527A8
-FUN_020527A8: ; 0x020527A8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031190
- ldr r2, _020527D4 ; =0x00000176
- add r1, r4, r0
- ldrb r1, [r1, r2]
- cmp r1, #0x2
- bne _020527BE
- mov r0, #0x1
- pop {r4, pc}
-_020527BE:
- mov r1, #0x1
- eor r0, r1
- add r0, r4, r0
- ldrb r0, [r0, r2]
- cmp r0, #0x2
- bne _020527CE
- mov r0, #0x2
- pop {r4, pc}
-_020527CE:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_020527D4: .word 0x00000176
-
- thumb_func_start FUN_020527D8
-FUN_020527D8: ; 0x020527D8
- push {r3, lr}
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- mov r0, #0x65
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030ADC
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020527EC
-FUN_020527EC: ; 0x020527EC
- ldr r3, _02052810 ; =0x020F58D4
- mov r2, #0x0
-_020527F0:
- ldrh r1, [r3, #0x0]
- cmp r1, r0
- bgt _02052800
- add r1, r1, #0x4
- cmp r1, r0
- ble _02052800
- add r0, r2, #0x0
- bx lr
-_02052800:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0xa
- blt _020527F0
- mov r0, #0x0
- mvn r0, r0
- bx lr
- nop
-_02052810: .word 0x020F58D4
-
- thumb_func_start FUN_02052814
-FUN_02052814: ; 0x02052814
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r6, r0, #0x0
- cmp r4, #0x9
- ble _02052834
- add r0, r4, #0x0
- bl FUN_020527EC
- add r5, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _02052836
- bl ErrorHandling
- b _02052836
-_02052834:
- add r5, r4, #0x0
-_02052836:
- add r0, r5, #0x0
- bl FUN_0202EF84
- lsl r1, r5, #0x2
- add r2, r6, r1
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r5, [r2, r1]
- add r5, #0x50
- add r5, #0x30
- cmp r0, #0x0
- bne _02052852
- mov r0, #0x28
- pop {r4-r6, pc}
-_02052852:
- cmp r4, #0x9
- ble _0205286C
- sub r4, #0xa
- lsr r2, r4, #0x1f
- lsl r1, r4, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- add r0, r5, r0
- ldrb r0, [r0, #0x18]
- asr r4, r0, #0x7
- b _02052872
-_0205286C:
- bl FUN_020239CC
- add r4, r0, #0x0
-_02052872:
- ldrb r0, [r5, #0x1c]
- cmp r0, #0xb
- bhi _0205294C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052884: ; jump table (using 16-bit offset)
- .short _0205294C - _02052884 - 2; case 0
- .short _020528F8 - _02052884 - 2; case 1
- .short _02052914 - _02052884 - 2; case 2
- .short _02052930 - _02052884 - 2; case 3
- .short _0205289C - _02052884 - 2; case 4
- .short _020528A4 - _02052884 - 2; case 5
- .short _020528C0 - _02052884 - 2; case 6
- .short _020528DC - _02052884 - 2; case 7
- .short _020528F8 - _02052884 - 2; case 8
- .short _02052914 - _02052884 - 2; case 9
- .short _02052930 - _02052884 - 2; case 10
- .short _0205289C - _02052884 - 2; case 11
-_0205289C:
- ldr r0, _02052950 ; =0x020F5894
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_020528A4:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052954 ; =0x020F58C4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528C0:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052958 ; =0x020F5984
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528DC:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _0205295C ; =0x020F58B4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528F8:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052960 ; =0x020F5964
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052914:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052964 ; =0x020F59A4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052930:
- bl rand_LC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052968 ; =0x020F59C4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_0205294C:
- mov r0, #0x28
- pop {r4-r6, pc}
- .balign 4
-_02052950: .word 0x020F5894
-_02052954: .word 0x020F58C4
-_02052958: .word 0x020F5984
-_0205295C: .word 0x020F58B4
-_02052960: .word 0x020F5964
-_02052964: .word 0x020F59A4
-_02052968: .word 0x020F59C4
-
- thumb_func_start FUN_0205296C
-FUN_0205296C: ; 0x0205296C
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02031190
- bl FUN_0202E020
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202E020
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- bl FUN_02031190
- bl FUN_0202E044
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202E044
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r4, #0x0
- bne _020529B0
- mov r0, #0xf
- pop {r3-r7, pc}
-_020529B0:
- beq _020529CC
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- add r2, r4, #0x0
- bl FUN_0200B4A0
- cmp r5, #0x0
- beq _020529CC
- ldr r0, [sp, #0x0]
- mov r1, #0x4
- add r2, r4, #0x0
- add r3, r5, #0x0
- bl FUN_0200B4D8
-_020529CC:
- cmp r7, r4
- beq _020529E4
- cmp r5, #0x0
- bne _020529D8
- mov r0, #0xd
- pop {r3-r7, pc}
-_020529D8:
- cmp r6, r5
- bne _020529E0
- mov r0, #0xd
- pop {r3-r7, pc}
-_020529E0:
- mov r0, #0xc
- pop {r3-r7, pc}
-_020529E4:
- cmp r6, r5
- beq _020529EC
- mov r0, #0xe
- pop {r3-r7, pc}
-_020529EC:
- mov r0, #0xf
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020529F0
-FUN_020529F0: ; 0x020529F0
- push {r3, lr}
- cmp r0, #0x0
- beq _02052A02
- lsl r2, r0, #0x3
- ldr r0, _02052A0C ; =0x020F5A14
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r3, pc}
-_02052A02:
- add r0, r2, #0x0
- bl FUN_0205296C
- pop {r3, pc}
- nop
-_02052A0C: .word 0x020F5A14
-
- thumb_func_start FUN_02052A10
-FUN_02052A10: ; 0x02052A10
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r3, #0x0
- cmp r4, #0x0
- bne _02052A24
- sub r1, r1, #0x1
- bl FUN_02052814
- pop {r4-r6, pc}
-_02052A24:
- sub r0, r1, #0x1
- bl FUN_0202EF84
- bl FUN_020239CC
- add r1, r0, #0x0
- cmp r4, #0x18
- bhi _02052AFA
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052A40: ; jump table (using 16-bit offset)
- .short _02052AFA - _02052A40 - 2; case 0
- .short _02052A72 - _02052A40 - 2; case 1
- .short _02052A7E - _02052A40 - 2; case 2
- .short _02052AAA - _02052A40 - 2; case 3
- .short _02052AAA - _02052A40 - 2; case 4
- .short _02052AAA - _02052A40 - 2; case 5
- .short _02052AAA - _02052A40 - 2; case 6
- .short _02052AAA - _02052A40 - 2; case 7
- .short _02052AAA - _02052A40 - 2; case 8
- .short _02052A86 - _02052A40 - 2; case 9
- .short _02052AB8 - _02052A40 - 2; case 10
- .short _02052AB8 - _02052A40 - 2; case 11
- .short _02052AB8 - _02052A40 - 2; case 12
- .short _02052AC6 - _02052A40 - 2; case 13
- .short _02052AC6 - _02052A40 - 2; case 14
- .short _02052AC6 - _02052A40 - 2; case 15
- .short _02052AD4 - _02052A40 - 2; case 16
- .short _02052AD4 - _02052A40 - 2; case 17
- .short _02052AD4 - _02052A40 - 2; case 18
- .short _02052A9C - _02052A40 - 2; case 19
- .short _02052A9C - _02052A40 - 2; case 20
- .short _02052A9C - _02052A40 - 2; case 21
- .short _02052AE2 - _02052A40 - 2; case 22
- .short _02052AEA - _02052A40 - 2; case 23
- .short _02052AF2 - _02052A40 - 2; case 24
-_02052A72:
- ldr r0, [r5, #0x34]
- add r2, r6, #0x0
- sub r0, r0, #0x1
- bl FUN_020529F0
- pop {r4-r6, pc}
-_02052A7E:
- ldr r0, _02052B04 ; =0x020F58AC
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052A86:
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- bne _02052A90
- mov r0, #0x0
- pop {r4-r6, pc}
-_02052A90:
- lsl r2, r0, #0x3
- ldr r0, _02052B08 ; =0x020F59DC
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052A9C:
- sub r4, #0x13
- ldr r0, _02052B0C ; =0x020F58E8
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AAA:
- sub r0, r4, #0x3
- lsl r2, r0, #0x3
- ldr r0, _02052B10 ; =0x020F5A44
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AB8:
- sub r4, #0xa
- ldr r0, _02052B14 ; =0x020F5900
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AC6:
- sub r4, #0xd
- ldr r0, _02052B18 ; =0x020F5918
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AD4:
- sub r4, #0x10
- ldr r0, _02052B1C ; =0x020F5930
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AE2:
- ldr r0, _02052B20 ; =0x020F588C
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AEA:
- ldr r0, _02052B24 ; =0x020F58A4
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AF2:
- ldr r0, _02052B28 ; =0x020F589C
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AFA:
- bl ErrorHandling
- mov r0, #0x28
- pop {r4-r6, pc}
- nop
-_02052B04: .word 0x020F58AC
-_02052B08: .word 0x020F59DC
-_02052B0C: .word 0x020F58E8
-_02052B10: .word 0x020F5A44
-_02052B14: .word 0x020F5900
-_02052B18: .word 0x020F5918
-_02052B1C: .word 0x020F5930
-_02052B20: .word 0x020F588C
-_02052B24: .word 0x020F58A4
-_02052B28: .word 0x020F589C
-
- thumb_func_start FUN_02052B2C
-FUN_02052B2C: ; 0x02052B2C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r6, #0x1
-_02052B32:
- add r0, r6, #0x0
- sub r4, r6, #0x1
- bl FUN_0202DFA4
- add r7, r0, #0x0
- beq _02052B60
- bl FUN_020239BC
- lsl r1, r4, #0x2
- str r0, [r5, r1]
- add r0, r7, #0x0
- bl FUN_02023A28
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_020239CC
- lsl r1, r0, #0x7
- ldr r0, [sp, #0x0]
- orr r1, r0
- add r0, r5, r4
- strb r1, [r0, #0x18]
- b _02052B6A
-_02052B60:
- lsl r1, r4, #0x2
- mov r0, #0x0
- str r0, [r5, r1]
- add r1, r5, r4
- strb r0, [r1, #0x18]
-_02052B6A:
- add r6, r6, #0x1
- cmp r6, #0x5
- blt _02052B32
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02052B74
-FUN_02052B74: ; 0x02052B74
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- cmp r4, #0xb
- bhi _02052BFA
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052B94: ; jump table (using 16-bit offset)
- .short _02052BFA - _02052B94 - 2; case 0
- .short _02052BCA - _02052B94 - 2; case 1
- .short _02052BDE - _02052B94 - 2; case 2
- .short _02052BF2 - _02052B94 - 2; case 3
- .short _02052BFA - _02052B94 - 2; case 4
- .short _02052BB6 - _02052B94 - 2; case 5
- .short _02052BB6 - _02052B94 - 2; case 6
- .short _02052BB6 - _02052B94 - 2; case 7
- .short _02052BC0 - _02052B94 - 2; case 8
- .short _02052BD4 - _02052B94 - 2; case 9
- .short _02052BE8 - _02052B94 - 2; case 10
- .short _02052BAC - _02052B94 - 2; case 11
-_02052BAC:
- add r0, sp, #0x0
- mov r1, #0x2
- bl FUN_02052B2C
- b _02052BFA
-_02052BB6:
- add r0, sp, #0x0
- mov r1, #0x2
- bl FUN_02052B2C
- b _02052BFA
-_02052BC0:
- add r0, sp, #0x0
- mov r1, #0x5
- bl FUN_02052B2C
- b _02052BFA
-_02052BCA:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BD4:
- add r0, sp, #0x0
- mov r1, #0x5
- bl FUN_02052B2C
- b _02052BFA
-_02052BDE:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BE8:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BF2:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
-_02052BFA:
- add r0, sp, #0x0
- strb r4, [r0, #0x1c]
- add r0, sp, #0x0
- bl FUN_0202F094
- bl FUN_0202F0B8
- add sp, #0x20
- pop {r4, pc}
-
- thumb_func_start FUN_02052C0C
-FUN_02052C0C: ; 0x02052C0C
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r3, #0x0
- mov r0, #0x11
- add r6, r1, #0x0
- add r2, r3, #0x0
- add r4, r5, #0x0
- lsl r0, r0, #0x4
-_02052C1C:
- ldr r1, [r4, r0]
- cmp r1, #0x0
- beq _02052C24
- add r3, r3, #0x1
-_02052C24:
- add r2, r2, #0x1
- add r4, r4, #0x4
- cmp r2, #0xa
- blt _02052C1C
- cmp r3, #0x0
- beq _02052C34
- mov r0, #0xa4
- pop {r4-r6, pc}
-_02052C34:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_0201385C
- cmp r0, #0x0
- bne _02052C46
- mov r0, #0xa5
- pop {r4-r6, pc}
-_02052C46:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02013920
- cmp r0, #0x4
- beq _02052C78
- ldr r0, [r5, #0x8]
- bl FUN_02023A28
- add r4, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_020239CC
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_020536D0
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200B064
- mov r0, #0xa6
- pop {r4-r6, pc}
-_02052C78:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02013924
- add r4, r0, #0x0
- cmp r4, #0x14
- blt _02052C8A
- mov r4, #0x0
-_02052C8A:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02013918
- add r2, r0, #0x0
- ldr r0, _02052CB0 ; =0x0000FFFF
- cmp r2, r0
- beq _02052CA6
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200B518
-_02052CA6:
- ldr r0, _02052CB4 ; =0x020F5A74
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
- nop
-_02052CB0: .word 0x0000FFFF
-_02052CB4: .word 0x020F5A74
-
- thumb_func_start FUN_02052CB8
-FUN_02052CB8: ; 0x02052CB8
- push {r3-r4}
- mov r3, #0x0
- strb r3, [r0, #0x1c]
- add r4, r0, #0x0
- add r2, r3, #0x0
-_02052CC2:
- stmia r4!, {r2}
- add r1, r0, r3
- strb r2, [r1, #0x18]
- strb r2, [r1, #0x10]
- add r3, r3, #0x1
- strb r2, [r1, #0x14]
- cmp r3, #0x4
- blt _02052CC2
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052CD8
-FUN_02052CD8: ; 0x02052CD8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02013960
- mov r0, #0x6
- mov r1, #0x1
- lsl r0, r0, #0x6
- str r1, [r4, r0]
- pop {r4, pc}
-
- thumb_func_start FUN_02052CF0
-FUN_02052CF0: ; 0x02052CF0
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r2, [r0, r1]
- cmp r2, #0x0
- bne _02052CFE
- mov r0, #0x0
- bx lr
-_02052CFE:
- mov r2, #0x0
- str r2, [r0, r1]
- sub r1, #0x8
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_02052D08
-FUN_02052D08: ; 0x02052D08
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r2, #0x0
- mov r2, #0x9
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r3, [sp, #0x8]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x6
- mov r3, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- cmp r4, #0x0
- bne _02052D30
- sub r0, r6, #0x1
- bl FUN_0202EF84
- b _02052D3C
-_02052D30:
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202DFA4
-_02052D3C:
- add r4, r0, #0x0
- cmp r4, #0x0
- beq _02052DE0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0200ABC0
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200ABC0
- add r0, r4, #0x0
- bl FUN_02023A70
- add r4, r0, #0x0
- cmp r4, #0x1
- blt _02052D80
- cmp r4, #0x7
- bgt _02052D80
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x7
- bhs _02052D80
- lsl r1, r0, #0x2
- ldr r0, _02052DE4 ; =0x020F5948
- ldr r1, [r0, r1]
- cmp r1, #0x0
- blt _02052D80
- ldr r0, [sp, #0x20]
- bl FUN_02013C18
-_02052D80:
- cmp r4, #0x7
- bhi _02052DB8
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052D90: ; jump table (using 16-bit offset)
- .short _02052DB8 - _02052D90 - 2; case 0
- .short _02052DA0 - _02052D90 - 2; case 1
- .short _02052DA4 - _02052D90 - 2; case 2
- .short _02052DA8 - _02052D90 - 2; case 3
- .short _02052DAC - _02052D90 - 2; case 4
- .short _02052DB0 - _02052D90 - 2; case 5
- .short _02052DB8 - _02052D90 - 2; case 6
- .short _02052DB4 - _02052D90 - 2; case 7
-_02052DA0:
- mov r1, #0xd1
- b _02052DBA
-_02052DA4:
- mov r1, #0xd2
- b _02052DBA
-_02052DA8:
- mov r1, #0xd3
- b _02052DBA
-_02052DAC:
- mov r1, #0xd4
- b _02052DBA
-_02052DB0:
- mov r1, #0xd5
- b _02052DBA
-_02052DB4:
- mov r1, #0xd6
- b _02052DBA
-_02052DB8:
- mov r1, #0xd7
-_02052DBA:
- add r0, r7, #0x0
- bl FUN_0200A914
- add r6, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- add r2, r6, #0x0
- mov r3, #0x0
- str r4, [sp, #0x4]
- bl FUN_0200ABB4
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_02052DE0:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02052DE4: .word 0x020F5948
-
- thumb_func_start FUN_02052DE8
-FUN_02052DE8: ; 0x02052DE8
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_02052CB8
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x1c]
- add r0, r4, #0x0
- bl FUN_0202F078
- add r0, sp, #0x0
- bl FUN_0202F094
- bl FUN_0202F0B8
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02052E10
-FUN_02052E10: ; 0x02052E10
- mov r1, #0x0
- str r1, [r0, #0x30]
- str r1, [r0, #0x40]
- str r1, [r0, #0x44]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052E1C
-FUN_02052E1C: ; 0x02052E1C
- mov r2, #0x0
- str r2, [r0, #0x20]
- str r2, [r0, #0x24]
- str r2, [r0, #0x2c]
- str r2, [r0, #0x30]
- mov r1, #0x5d
- str r2, [r0, #0x40]
- lsl r1, r1, #0x2
- strh r2, [r0, r1]
- add r1, #0xc
- str r2, [r0, r1]
- str r2, [r0, #0x44]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052E38
-FUN_02052E38: ; 0x02052E38
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x61
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x62
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x63
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x8]
- bl FUN_020239CC
- add r5, r0, #0x0
- ldr r0, [r4, #0x8]
- bl FUN_02023A28
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020536D0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- lsl r3, r3, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- lsr r3, r3, #0x18
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_02064E90
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- lsl r0, r0, #0x2
- add r1, r4, r0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02052EAC
-FUN_02052EAC: ; 0x02052EAC
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x63
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02052ED0
-FUN_02052ED0: ; 0x02052ED0
- mov r1, #0x61
- add r2, r0, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r3, _02052EE0 ; =FUN_02030A78
- mov r0, #0x69
- ldr r2, _02052EE4 ; =0x0000066C
- bx r3
- .balign 4
-_02052EE0: .word FUN_02030A78
-_02052EE4: .word 0x0000066C
-
- thumb_func_start FUN_02052EE8
-FUN_02052EE8: ; 0x02052EE8
- push {r3-r5, lr}
- ldr r1, _02052F58 ; =0x000004E8
- add r5, r0, #0x0
- mov r0, #0x1f
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r2, _02052F58 ; =0x000004E8
- mov r0, #0x0
- add r1, r4, #0x0
- bl MIi_CpuClearFast
- mov r0, #0x4e
- str r5, [r4, #0x0]
- mov r1, #0x1
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- ldr r0, _02052F5C ; =FUN_02052FC8
- add r1, r4, #0x0
- mov r2, #0xb
- bl FUN_0200CA44
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_020524BC
- ldr r1, _02052F60 ; =0x000004D4
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- mov r1, #0x9
- ldr r0, [r0, #0xc]
- bl FUN_02022610
- ldr r1, _02052F64 ; =0x000004D8
- ldr r2, _02052F68 ; =0x00002710
- str r0, [r4, r1]
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x59
- ldr r0, [r0, #0x38]
- str r0, [r4, #0x8]
- mov r0, #0xb
- bl FUN_02016828
- mov r0, #0x59
- bl FUN_02053618
- ldr r1, _02052F6C ; =0x000004DC
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_02052F8C
- ldr r0, _02052F70 ; =0x021C5ABC
- str r4, [r0, #0x0]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02052F58: .word 0x000004E8
-_02052F5C: .word FUN_02052FC8
-_02052F60: .word 0x000004D4
-_02052F64: .word 0x000004D8
-_02052F68: .word 0x00002710
-_02052F6C: .word 0x000004DC
-_02052F70: .word 0x021C5ABC
-
- thumb_func_start FUN_02052F74
-FUN_02052F74: ; 0x02052F74
- mov r3, #0x0
- mov r1, #0x3
-_02052F78:
- ldrb r2, [r0, #0xd]
- cmp r2, #0x0
- beq _02052F80
- strb r1, [r0, #0xc]
-_02052F80:
- add r3, r3, #0x1
- add r0, #0x18
- cmp r3, #0x33
- blt _02052F78
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052F8C
-FUN_02052F8C: ; 0x02052F8C
- mov r2, #0x0
- add r1, r2, #0x0
-_02052F90:
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xd]
- strb r1, [r0, #0xe]
- strb r1, [r0, #0xf]
- add r2, r2, #0x1
- add r0, #0x18
- cmp r2, #0x33
- blt _02052F90
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052FA4
-FUN_02052FA4: ; 0x02052FA4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_0200CAB4
- ldr r0, _02052FC4 ; =0x000004DC
- ldr r0, [r4, r0]
- bl FUN_0205362C
- mov r0, #0x59
- bl FUN_020168D0
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-_02052FC4: .word 0x000004DC
-
- thumb_func_start FUN_02052FC8
-FUN_02052FC8: ; 0x02052FC8
- push {r3-r5, lr}
- ldr r0, _02052FFC ; =0x000004D4
- add r5, r1, #0x0
- ldr r0, [r5, r0]
- ldr r4, [r5, #0x0]
- bl FUN_0204646C
- cmp r0, #0x0
- bne _02052FF8
- ldr r3, _02052FFC ; =0x000004D4
- add r0, r5, #0x0
- ldr r2, [r5, r3]
- add r3, r3, #0x4
- ldr r2, [r2, #0x34]
- ldr r3, [r5, r3]
- add r1, r4, #0x0
- bl FUN_0205312C
- ldr r1, _02052FFC ; =0x000004D4
- add r0, r5, #0x0
- ldr r1, [r5, r1]
- ldr r1, [r1, #0x34]
- bl FUN_020531E4
-_02052FF8:
- pop {r3-r5, pc}
- nop
-_02052FFC: .word 0x000004D4
-
- thumb_func_start FUN_02053000
-FUN_02053000: ; 0x02053000
- push {r4-r7, lr}
- sub sp, #0x14
- mov r5, #0x0
- str r0, [sp, #0x0]
- str r3, [sp, #0x4]
- cmp r2, #0x0
- bne _02053034
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r4, [r0, r1]
- ldr r0, [sp, #0x0]
- mov r6, #0x3
- add r0, #0xc
- str r0, [sp, #0x0]
-_0205301C:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053104
- add r5, r5, #0x1
- add r4, r4, #0x1
- cmp r5, #0x4
- blt _0205301C
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_02053034:
- add r0, r2, #0x0
- str r0, [sp, #0xc]
- add r0, #0x50
- str r0, [sp, #0xc]
- add r0, #0x30
- str r0, [sp, #0xc]
- ldr r0, [r2, #0x50]
- mov r2, #0x18
- add r3, r1, #0x0
- mul r3, r2
- ldr r2, [sp, #0x0]
- add r2, r2, r3
- ldr r2, [r2, #0x18]
- cmp r0, r2
- beq _02053078
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r4, [r0, r1]
- ldr r0, [sp, #0x0]
- mov r6, #0x3
- add r0, #0xc
- str r0, [sp, #0x0]
-_02053060:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053104
- add r5, r5, #0x1
- add r4, r4, #0x1
- cmp r5, #0x4
- blt _02053060
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_02053078:
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r7, [r0, r1]
- ldr r0, [sp, #0xc]
- add r6, r5, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- str r0, [sp, #0x10]
- add r0, #0xc
- str r0, [sp, #0x10]
-_0205308C:
- mov r0, #0x18
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- add r4, r0, r1
- ldrb r0, [r4, #0xd]
- cmp r0, #0x0
- beq _020530A6
- cmp r0, #0x2
- beq _020530CC
- cmp r0, #0x4
- beq _020530E6
- b _020530EA
-_020530A6:
- ldr r0, [sp, #0xc]
- add r1, r0, r6
- ldrb r0, [r1, #0x18]
- cmp r0, #0x0
- beq _020530EA
- mov r0, #0x2
- strb r0, [r4, #0xc]
- ldrb r1, [r1, #0x18]
- mov r0, #0x7f
- and r0, r1
- strb r0, [r4, #0x14]
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- ldr r1, [r1, #0x0]
- bl FUN_02025614
- strb r0, [r4, #0xe]
- mov r5, #0x1
- b _020530EA
-_020530CC:
- ldr r0, [sp, #0xc]
- add r0, r0, r6
- ldrb r0, [r0, #0x18]
- cmp r0, #0x0
- bne _020530E2
- ldr r0, [sp, #0x10]
- add r1, r7, #0x0
- mov r2, #0x3
- bl FUN_02053104
- b _020530EA
-_020530E2:
- mov r5, #0x1
- b _020530EA
-_020530E6:
- mov r0, #0x0
- strb r0, [r4, #0xc]
-_020530EA:
- ldr r0, [sp, #0x8]
- add r6, r6, #0x1
- add r0, r0, #0x4
- add r7, r7, #0x1
- str r0, [sp, #0x8]
- cmp r6, #0x4
- blt _0205308C
- add r0, r5, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02053100: .word 0x020F58D4
-
- thumb_func_start FUN_02053104
-FUN_02053104: ; 0x02053104
- push {r4-r6, lr}
- ldr r6, _02053124 ; =0x021C5ABC
- mov r4, #0x18
- ldr r3, [r6, #0x0]
- ldr r5, _02053128 ; =0x000004D4
- mul r4, r1
- ldr r3, [r3, r5]
- strb r2, [r0, r4]
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r3, r0
- beq _02053120
- bl ErrorHandling
-_02053120:
- pop {r4-r6, pc}
- nop
-_02053124: .word 0x021C5ABC
-_02053128: .word 0x000004D4
-
- thumb_func_start FUN_0205312C
-FUN_0205312C: ; 0x0205312C
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x0]
- add r5, r0, #0x0
- str r0, [sp, #0x10]
- add r0, #0xc
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r4, #0x0
- str r0, [sp, #0x10]
-_02053140:
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- bl FUN_020524C0
- add r6, r0, #0x0
- add r7, r6, #0x0
- add r7, #0x50
- add r0, r7, #0x0
- str r0, [sp, #0xc]
- add r0, #0x10
- str r0, [sp, #0xc]
- ldrb r0, [r5, #0xd]
- cmp r0, #0x0
- beq _02053166
- cmp r0, #0x2
- beq _020531A2
- cmp r0, #0x4
- beq _020531D4
- b _020531D8
-_02053166:
- cmp r6, #0x0
- beq _020531D8
- ldr r0, [sp, #0xc]
- bl FUN_02023A28
- strb r0, [r5, #0x14]
- ldr r0, [sp, #0xc]
- bl FUN_020239BC
- add r1, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_02025614
- strb r0, [r5, #0xe]
- ldr r0, [r7, #0x0]
- ldr r3, [sp, #0x8]
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053000
- cmp r0, #0x0
- beq _0205319C
- mov r0, #0x2
- strb r0, [r5, #0xc]
- b _020531D8
-_0205319C:
- mov r0, #0x1
- strb r0, [r5, #0xc]
- b _020531D8
-_020531A2:
- cmp r6, #0x0
- beq _020531AE
- ldr r1, [r7, #0x0]
- ldr r0, [r5, #0x18]
- cmp r1, r0
- beq _020531B8
-_020531AE:
- ldr r0, [sp, #0x10]
- add r1, r4, #0x0
- mov r2, #0x3
- bl FUN_02053104
-_020531B8:
- ldr r0, [sp, #0x0]
- ldr r3, [sp, #0x8]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053000
- cmp r0, #0x0
- beq _020531D8
- ldrb r0, [r5, #0x15]
- cmp r0, #0x1
- bne _020531D8
- mov r0, #0x3
- strb r0, [r5, #0xc]
- b _020531D8
-_020531D4:
- mov r0, #0x0
- strb r0, [r5, #0xc]
-_020531D8:
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, #0xa
- blt _02053140
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020531E4
-FUN_020531E4: ; 0x020531E4
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- str r1, [sp, #0x4]
- bl FUN_02055320
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- bl FUN_0205532C
- ldr r4, [sp, #0x0]
- str r0, [sp, #0x8]
- add r6, r4, #0x0
- mov r7, #0x0
- add r6, #0xc
-_02053206:
- ldr r0, [sp, #0x4]
- add r1, r7, #0x1
- bl FUN_02058060
- add r5, r0, #0x0
- bne _02053216
- bl ErrorHandling
-_02053216:
- ldrb r0, [r4, #0xd]
- cmp r0, #0x4
- bhi _0205330A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053228: ; jump table (using 16-bit offset)
- .short _02053232 - _02053228 - 2; case 0
- .short _02053252 - _02053228 - 2; case 1
- .short _020532B2 - _02053228 - 2; case 2
- .short _020532DA - _02053228 - 2; case 3
- .short _02053306 - _02053228 - 2; case 4
-_02053232:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- ldrb r0, [r4, #0xc]
- sub r0, r0, #0x1
- cmp r0, #0x1
- bhi _0205330A
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0205339C
- b _0205330A
-_02053252:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- ldrb r0, [r4, #0xc]
- cmp r0, #0x3
- bne _02053272
- mov r0, #0x0
- strb r0, [r4, #0xd]
- strb r0, [r4, #0xc]
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_0205333C
- b _0205330A
-_02053272:
- add r0, r5, #0x0
- bl FUN_0205AE50
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020588EC
- ldrb r0, [r4, #0xc]
- cmp r0, #0x1
- bne _020532A8
- ldrb r0, [r4, #0x15]
- cmp r0, #0x0
- bne _020532A8
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_02058E90
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058534
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205853C
- mov r0, #0x1
- strb r0, [r4, #0x15]
-_020532A8:
- mov r0, #0x2
- strb r0, [r4, #0xd]
- mov r0, #0x0
- strb r0, [r4, #0xc]
- b _0205330A
-_020532B2:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02053478
- ldrb r0, [r4, #0xc]
- cmp r0, #0x3
- bne _020532D2
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02053444
-_020532D2:
- add r0, r6, #0x0
- bl FUN_02053378
- b _0205330A
-_020532DA:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- add r0, r5, #0x0
- bl FUN_0205AE50
- mov r0, #0x4
- strb r0, [r4, #0xd]
- mov r0, #0x0
- strb r0, [r4, #0xc]
- strb r0, [r4, #0x15]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- b _0205330A
-_02053306:
- mov r0, #0x0
- strb r0, [r4, #0xd]
-_0205330A:
- add r7, r7, #0x1
- add r4, #0x18
- add r6, #0x18
- cmp r7, #0x32
- bge _02053316
- b _02053206
-_02053316:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- bl FUN_020553A0
- add r1, r0, #0x0
- ldr r2, _02053338 ; =0x000004BC
- ldr r0, [sp, #0x0]
- add r0, r0, r2
- bl FUN_02053478
- ldr r1, _02053338 ; =0x000004BC
- ldr r0, [sp, #0x0]
- add r0, r0, r1
- bl FUN_02053378
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02053338: .word 0x000004BC
-
- thumb_func_start FUN_0205333C
-FUN_0205333C: ; 0x0205333C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r4, r1, #0x0
- cmp r0, #0x0
- beq _0205335A
- bl FUN_020646A0
- cmp r0, #0x0
- beq _02053356
- ldr r0, [r5, #0x10]
- bl FUN_02064520
-_02053356:
- mov r0, #0x0
- str r0, [r5, #0x10]
-_0205335A:
- cmp r4, #0x0
- beq _02053376
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- beq _02053376
- bl FUN_020646A0
- cmp r0, #0x0
- beq _02053372
- ldr r0, [r5, #0x14]
- bl FUN_02064520
-_02053372:
- mov r0, #0x0
- str r0, [r5, #0x14]
-_02053376:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02053378
-FUN_02053378: ; 0x02053378
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r1, [r4, #0x4]
- cmp r1, #0x0
- beq _02053398
- ldrh r1, [r4, #0x6]
- sub r1, r1, #0x1
- strh r1, [r4, #0x6]
- ldrh r1, [r4, #0x6]
- cmp r1, #0x0
- bne _02053398
- mov r1, #0x0
- bl FUN_0205333C
- mov r0, #0x0
- strb r0, [r4, #0x4]
-_02053398:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205339C
-FUN_0205339C: ; 0x0205339C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_02058AFC
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B04
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02058B0C
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r7, r0
- bne _020533CC
- ldr r0, [sp, #0x8]
- cmp r6, r0
- beq _0205343C
-_020533CC:
- ldr r0, _02053440 ; =0x0000064F
- bl FUN_020054C8
- ldrb r1, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_02057634
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205333C
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r2, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r3, r6, #0x0
- bl FUN_02058E28
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020584A4
- add r0, r4, #0x0
- mov r1, #0x44
- bl FUN_0205ADDC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588B8
- mov r1, #0x1
- strb r1, [r5, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0205343C
- cmp r0, #0x1
- bne _0205342A
- add r0, r4, #0x0
- bl MOD06_02249668
- str r0, [r5, #0x14]
- b _02053438
-_0205342A:
- cmp r0, #0x2
- blo _02053438
- add r0, r4, #0x0
- mov r1, #0x2
- bl MOD06_02249668
- str r0, [r5, #0x14]
-_02053438:
- mov r0, #0x0
- strb r0, [r5, #0x2]
-_0205343C:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02053440: .word 0x0000064F
-
- thumb_func_start FUN_02053444
-FUN_02053444: ; 0x02053444
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x43
- bl FUN_0205ADDC
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020588EC
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058E90
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205333C
- mov r0, #0x0
- strb r0, [r4, #0x4]
- strh r0, [r4, #0x6]
- mov r0, #0x3
- strb r0, [r4, #0x1]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02053478
-FUN_02053478: ; 0x02053478
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r0, [r4, #0x3]
- cmp r0, #0x1
- bne _0205349C
- ldrb r0, [r4, #0x4]
- cmp r0, #0x0
- bne _0205349C
- add r0, r1, #0x0
- bl MOD05_021EDA48
- str r0, [r4, #0x10]
- mov r0, #0x1e
- strh r0, [r4, #0x6]
- mov r0, #0x0
- strb r0, [r4, #0x3]
- mov r0, #0x1
- strb r0, [r4, #0x4]
-_0205349C:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020534A0
-FUN_020534A0: ; 0x020534A0
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r0, #0x0
- cmp r5, r6
- bge _020534DA
-_020534AC:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02058060
- add r4, r0, #0x0
- bne _020534BC
- bl ErrorHandling
-_020534BC:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588EC
- add r5, r5, #0x1
- cmp r5, r6
- blt _020534AC
-_020534DA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020534DC
-FUN_020534DC: ; 0x020534DC
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x0
- add r7, r0, #0x0
- bl FUN_02058060
- add r4, r0, #0x0
- bne _020534F0
- bl ErrorHandling
-_020534F0:
- add r0, r4, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _02053596
- bl FUN_02031B2C
- cmp r0, #0x0
- bne _0205350A
- bl FUN_02031AF4
- cmp r0, #0x0
- beq _0205358C
-_0205350A:
- mov r6, #0x0
- add r5, #0xc
-_0205350E:
- ldrb r0, [r5, #0x1]
- cmp r0, #0x1
- bne _02053578
- add r0, r7, #0x0
- add r1, r6, #0x1
- bl FUN_02058060
- add r4, r0, #0x0
- bne _02053524
- bl ErrorHandling
-_02053524:
- ldrb r1, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_02057634
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020584A4
- add r0, r4, #0x0
- mov r1, #0x44
- bl FUN_0205ADDC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588B8
- mov r0, #0x1
- strb r0, [r5, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _02053578
- cmp r0, #0x1
- bne _02053566
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD06_02249668
- str r0, [r5, #0x14]
- b _02053574
-_02053566:
- cmp r0, #0x2
- blo _02053574
- add r0, r4, #0x0
- mov r1, #0x2
- bl MOD06_02249668
- str r0, [r5, #0x14]
-_02053574:
- mov r0, #0x0
- strb r0, [r5, #0x2]
-_02053578:
- add r6, r6, #0x1
- add r5, #0x18
- cmp r6, #0xa
- blt _0205350E
- add r0, r7, #0x0
- mov r1, #0xb
- mov r2, #0x33
- bl FUN_020534A0
- pop {r3-r7, pc}
-_0205358C:
- add r0, r7, #0x0
- mov r1, #0x1
- mov r2, #0x33
- bl FUN_020534A0
-_02053596:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02053598
-FUN_02053598: ; 0x02053598
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x8
- mov r1, #0x59
- bl FUN_020219F4
- str r0, [r4, #0x0]
- mov r1, #0x0
- add r0, r4, #0x0
- str r1, [r4, #0x4]
- add r0, #0x14
- str r1, [r4, #0x8]
- bl FUN_0201373C
- mov r0, #0x0
- str r0, [r4, #0x10]
- str r0, [r4, #0xc]
- pop {r4, pc}
-
- thumb_func_start FUN_020535BC
-FUN_020535BC: ; 0x020535BC
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
-_020535C4:
- add r0, r5, #0x0
- bl FUN_02053598
- add r4, r4, #0x1
- add r5, #0x1c
- cmp r4, #0x1e
- blt _020535C4
- mov r0, #0xd2
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r6, r0]
- add r0, r0, #0x4
- str r1, [r6, r0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020535E0
-FUN_020535E0: ; 0x020535E0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020535F4
- bl FUN_02021A20
-_020535F4:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _020535FE
- bl FUN_02021A20
-_020535FE:
- pop {r4, pc}
-
- thumb_func_start FUN_02053600
-FUN_02053600: ; 0x02053600
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_02053606:
- add r0, r5, #0x0
- bl FUN_020535E0
- add r4, r4, #0x1
- add r5, #0x1c
- cmp r4, #0x1e
- blt _02053606
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02053618
-FUN_02053618: ; 0x02053618
- push {r4, lr}
- mov r1, #0x35
- lsl r1, r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_020535BC
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205362C
-FUN_0205362C: ; 0x0205362C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02053600
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_0205363C
-FUN_0205363C: ; 0x0205363C
- push {r3-r7, lr}
- add r7, r2, #0x0
- lsl r0, r0, #0x1d
- ldr r2, _02053670 ; =0x020F5AC4
- lsr r0, r0, #0x19
- add r5, r2, r0
- lsl r2, r1, #0x3
- mov r1, #0xc
- ldr r0, _02053674 ; =0x020F5B44
- mul r1, r2
- mov r4, #0x0
- add r6, r0, r1
-_02053654:
- ldr r3, [r5, #0x0]
- mov r2, #0xc
- mul r2, r3
- add r2, r6, r2
- ldr r2, [r2, #0x4]
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0200B064
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _02053654
- pop {r3-r7, pc}
- .balign 4
-_02053670: .word 0x020F5AC4
-_02053674: .word 0x020F5B44
-
- thumb_func_start FUN_02053678
-FUN_02053678: ; 0x02053678
- lsl r0, r0, #0x1d
- lsr r3, r0, #0x19
- ldr r0, _02053694 ; =0x020F5AC4
- lsl r2, r2, #0x2
- add r0, r0, r3
- ldr r0, [r2, r0]
- lsl r1, r1, #0x3
- add r1, r1, r0
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _02053698 ; =0x020F5B44
- ldr r0, [r0, r2]
- bx lr
- .balign 4
-_02053694: .word 0x020F5AC4
-_02053698: .word 0x020F5B44
-
- thumb_func_start FUN_0205369C
-FUN_0205369C: ; 0x0205369C
- push {r3-r4}
- lsl r4, r0, #0x3
- mov r0, #0xc
- ldr r2, _020536C4 ; =0x020F5B44
- mul r0, r4
- mov r3, #0x0
- add r2, r2, r0
-_020536AA:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _020536B6
- add r0, r3, r4
- pop {r3-r4}
- bx lr
-_020536B6:
- add r3, r3, #0x1
- add r2, #0xc
- cmp r3, #0x8
- blt _020536AA
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-_020536C4: .word 0x020F5B44
-
- thumb_func_start FUN_020536C8
-FUN_020536C8: ; 0x020536C8
- ldr r3, _020536CC ; =FUN_0205369C
- bx r3
- .balign 4
-_020536CC: .word FUN_0205369C
-
- thumb_func_start FUN_020536D0
-FUN_020536D0: ; 0x020536D0
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_0205369C
- cmp r4, #0x0
- beq _020536FE
- cmp r4, #0x1
- beq _020536EE
- cmp r4, #0x2
- bne _020536F8
- mov r1, #0xc
- mul r1, r0
- ldr r0, _02053700 ; =0x020F5B48
- ldr r0, [r0, r1]
- pop {r4, pc}
-_020536EE:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _02053704 ; =0x020F5B4C
- ldr r0, [r0, r1]
- pop {r4, pc}
-_020536F8:
- bl ErrorHandling
- mov r0, #0x0
-_020536FE:
- pop {r4, pc}
- .balign 4
-_02053700: .word 0x020F5B48
-_02053704: .word 0x020F5B4C
-
- thumb_func_start FUN_02053708
-FUN_02053708: ; 0x02053708
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x56
- mov r1, #0x7
- add r2, sp, #0x0
- add r3, r5, #0x0
- bl FUN_02006C08
- mov r1, #0x9
- add r4, r0, #0x0
- add r0, r5, #0x0
- lsl r1, r1, #0x6
- bl FUN_02016998
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- ldr r3, [r0, #0xc]
- mov r0, #0x1
- add r6, r5, #0x0
- lsl r0, r0, #0x8
-_02053734:
- ldrh r1, [r3, #0x0]
- add r2, r2, #0x1
- add r3, r3, #0x2
- strh r1, [r6, #0x0]
- add r6, r6, #0x2
- cmp r2, r0
- blt _02053734
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02053750
-FUN_02053750: ; 0x02053750
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02053762
- bl FUN_0201FDEC
-_02053762:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x5
- bls _0205376E
- b _020538B2
-_0205376E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205377A: ; jump table (using 16-bit offset)
- .short _02053786 - _0205377A - 2; case 0
- .short _020537AA - _0205377A - 2; case 1
- .short _020537DA - _0205377A - 2; case 2
- .short _0205385C - _0205377A - 2; case 3
- .short _02053872 - _0205377A - 2; case 4
- .short _020538A2 - _0205377A - 2; case 5
-_02053786:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020537AA:
- sub r1, #0x24
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x0
- bl FUN_02053F38
- mov r1, #0x5b
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x1
- bl FUN_02053F38
- mov r0, #0x5f
- mov r1, #0x2
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0x18
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020537DA:
- mov r0, #0x0
- str r0, [sp, #0xc]
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- cmp r0, #0x0
- ble _02053810
- sub r1, #0x24
- add r7, r4, r1
- add r6, r4, #0x0
- add r5, sp, #0x10
-_020537EE:
- mov r1, #0x5a
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r0, r7, #0x0
- blx r1
- stmia r5!, {r0}
- ldr r0, [sp, #0xc]
- add r7, #0x10
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- mov r0, #0x5f
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, [sp, #0xc]
- add r6, #0x10
- cmp r0, r1
- blt _020537EE
-_02053810:
- ldr r0, [sp, #0x10]
- cmp r0, #0x2
- bne _0205382E
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
-_0205382E:
- mov r0, #0x5f
- lsl r0, r0, #0x2
- ldr r2, [r4, r0]
- mov r3, #0x0
- cmp r2, #0x0
- ble _0205384A
- add r1, sp, #0x10
-_0205383C:
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _0205384A
- add r3, r3, #0x1
- add r1, r1, #0x4
- cmp r3, r2
- blt _0205383C
-_0205384A:
- cmp r3, r2
- bne _020538B2
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_0205385C:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020538B2
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_02053872:
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02053894
- sub r1, #0x24
- mov r7, #0x5f
- add r5, r4, r1
- lsl r7, r7, #0x2
-_02053884:
- add r0, r5, #0x0
- bl FUN_02054070
- ldr r0, [r4, r7]
- add r6, r6, #0x1
- add r5, #0x10
- cmp r6, r0
- blt _02053884
-_02053894:
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020538A2:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_020538B2:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020538B8
-FUN_020538B8: ; 0x020538B8
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0x0
- add r0, sp, #0xc
- strh r1, [r0, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x5
- beq _020538D6
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_020538D6:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x5
- bls _020538E2
- b _020539EA
-_020538E2:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020538EE: ; jump table (using 16-bit offset)
- .short _020538FA - _020538EE - 2; case 0
- .short _02053912 - _020538EE - 2; case 1
- .short _0205396E - _020538EE - 2; case 2
- .short _020539A2 - _020538EE - 2; case 3
- .short _020539C4 - _020538EE - 2; case 4
- .short _020539DA - _020538EE - 2; case 5
-_020538FA:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_02053912:
- mov r0, #0x4
- add r1, sp, #0xc
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_02017FB4
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r1, #0x57
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x2
- bl FUN_02053F38
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r0, _020539F0 ; =0x0000062F
- bl FUN_020054C8
- mov r0, #0x5f
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0x10
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_0205396E:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- cmp r0, #0x0
- bne _020539EA
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020539EA
- ldr r0, _020539F4 ; =0x00000631
- bl FUN_020054C8
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- mov r1, #0xfe
- mvn r1, r1
- add r0, r0, #0x4
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_020539A2:
- add r0, r1, #0x4
- ldr r2, [r4, r0]
- add r2, #0x10
- str r2, [r4, r0]
- ldr r0, [r4, r0]
- cmp r0, #0x0
- ble _020539EA
- ldr r0, [r4, r1]
- add r0, r0, #0x1
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- add sp, #0x10
- pop {r3-r5, pc}
-_020539C4:
- sub r1, #0x24
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_020539DA:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_020539EA:
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_020539F0: .word 0x0000062F
-_020539F4: .word 0x00000631
-
- thumb_func_start FUN_020539F8
-FUN_020539F8: ; 0x020539F8
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x6
- add r4, r1, #0x0
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x6
- beq _02053A10
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_02053A10:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x6
- bls _02053A1C
- b _02053B30
-_02053A1C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053A28: ; jump table (using 16-bit offset)
- .short _02053A36 - _02053A28 - 2; case 0
- .short _02053A4E - _02053A28 - 2; case 1
- .short _02053A78 - _02053A28 - 2; case 2
- .short _02053AA0 - _02053A28 - 2; case 3
- .short _02053AE2 - _02053A28 - 2; case 4
- .short _02053B00 - _02053A28 - 2; case 5
- .short _02053B16 - _02053A28 - 2; case 6
-_02053A36:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053A4E:
- sub r1, #0x24
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x3
- bl FUN_02053F38
- mov r0, #0x63
- lsl r0, r0, #0x4
- bl FUN_020054C8
- mov r0, #0x5f
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053A78:
- add r0, r1, #0x4
- ldr r2, [r4, r0]
- sub r2, #0x20
- str r2, [r4, r0]
- ldr r1, [r4, r0]
- mov r0, #0xfe
- mvn r0, r0
- cmp r1, r0
- bge _02053B30
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053AA0:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- add r5, r0, #0x0
- cmp r5, #0x2
- bne _02053AD0
- mov r1, #0x61
- mov r0, #0x0
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r1, #0x6
- str r1, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r1, #0x4
- str r1, [sp, #0x8]
- ldr r3, _02053B34 ; =0x00007FFF
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0200E1D0
-_02053AD0:
- cmp r5, #0x0
- bne _02053B30
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053AE2:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02053B30
- mov r0, #0x61
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- sub r1, r0, #0x4
- ldr r1, [r4, r1]
- sub r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053B00:
- sub r1, #0x24
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053B16:
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_02053B30:
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02053B34: .word 0x00007FFF
-
- thumb_func_start FUN_02053B38
-FUN_02053B38: ; 0x02053B38
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x6
- add r4, r1, #0x0
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x6
- beq _02053B50
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_02053B50:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x6
- bls _02053B5C
- b _02053C8C
-_02053B5C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053B68: ; jump table (using 16-bit offset)
- .short _02053B76 - _02053B68 - 2; case 0
- .short _02053BB2 - _02053B68 - 2; case 1
- .short _02053BD6 - _02053B68 - 2; case 2
- .short _02053BF2 - _02053B68 - 2; case 3
- .short _02053C22 - _02053B68 - 2; case 4
- .short _02053C66 - _02053B68 - 2; case 5
- .short _02053C7C - _02053B68 - 2; case 6
-_02053B76:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r1, #0x57
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x4
- bl FUN_02053F38
- mov r1, #0x5b
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x5
- bl FUN_02053F38
- mov r0, #0x5f
- mov r1, #0x2
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BB2:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r3, _02053C90 ; =0x00007FFF
- mov r0, #0x0
- add r2, r1, #0x0
- bl FUN_0200E1D0
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BD6:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02053C8C
- ldr r0, _02053C94 ; =0x00000632
- bl FUN_020054C8
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BF2:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- cmp r0, #0x0
- bne _02053C8C
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x61
- mov r1, #0x6
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- sub r1, r0, #0x4
- ldr r1, [r4, r1]
- sub r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C22:
- add r0, r1, #0x0
- sub r1, #0x8
- sub r0, #0x14
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- add r5, r0, #0x0
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- cmp r1, #0x0
- bgt _02053C50
- bne _02053C54
- sub r0, #0x28
- add r0, r4, r0
- bl FUN_02054070
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- sub r1, r1, #0x1
- str r1, [r4, r0]
- b _02053C54
-_02053C50:
- sub r1, r1, #0x1
- str r1, [r4, r0]
-_02053C54:
- cmp r5, #0x0
- bne _02053C8C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C66:
- sub r1, #0x14
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C7C:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_02053C8C:
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02053C90: .word 0x00007FFF
-_02053C94: .word 0x00000632
-
- thumb_func_start FUN_02053C98
-FUN_02053C98: ; 0x02053C98
- push {r3-r5, lr}
- add r3, r1, #0x0
- add r4, r0, #0x0
- add r5, r2, #0x0
- cmp r3, #0x3
- bhi _02053CEE
- add r1, r3, r3
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02053CB0: ; jump table (using 16-bit offset)
- .short _02053CB8 - _02053CB0 - 2; case 0
- .short _02053CC6 - _02053CB0 - 2; case 1
- .short _02053CD4 - _02053CB0 - 2; case 2
- .short _02053CE2 - _02053CB0 - 2; case 3
-_02053CB8:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053CFC ; =FUN_02053750
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CC6:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D00 ; =FUN_020538B8
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CD4:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D04 ; =FUN_020539F8
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CE2:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D08 ; =FUN_02053B38
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
-_02053CEE:
- mov r1, #0x62
- lsl r1, r1, #0x2
- str r5, [r0, r1]
- str r4, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02053CF8: .word 0x020F5C04
-_02053CFC: .word FUN_02053750
-_02053D00: .word FUN_020538B8
-_02053D04: .word FUN_020539F8
-_02053D08: .word FUN_02053B38
-
- thumb_func_start FUN_02053D0C
-FUN_02053D0C: ; 0x02053D0C
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r1, #0x63
- add r6, r2, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x5
- mov r3, #0x4
- bl FUN_020061E8
- bl FUN_0201B6C8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r1, r0, #0x0
- add r0, r4, #0x4
- add r2, r6, #0x0
- bl FUN_02053D50
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053D3C
-FUN_02053D3C: ; 0x02053D3C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x4
- bl FUN_02053D68
- add r0, r4, #0x0
- bl FUN_0200621C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02053D50
-FUN_02053D50: ; 0x02053D50
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02053D70
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053D94
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053D68
-FUN_02053D68: ; 0x02053D68
- ldr r3, _02053D6C ; =FUN_02053EF0
- bx r3
- .balign 4
-_02053D6C: .word FUN_02053EF0
-
- thumb_func_start FUN_02053D70
-FUN_02053D70: ; 0x02053D70
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- mov r0, #0x2
- add r1, #0x30
- mov r2, #0x4
- bl FUN_02008C9C
- str r0, [r4, #0x0]
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- pop {r4, pc}
-
- thumb_func_start FUN_02053D94
-FUN_02053D94: ; 0x02053D94
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- str r1, [sp, #0x10]
- add r7, r2, #0x0
- mov r6, #0x0
- add r4, r5, #0x0
-_02053DA2:
- mov r0, #0x2
- add r1, r6, #0x0
- mov r2, #0x4
- bl FUN_02008DEC
- str r0, [r4, #0x8]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02053DA2
- ldr r0, [sp, #0x10]
- add r1, r5, #0x0
- lsl r0, r0, #0x2
- str r0, [sp, #0x14]
- ldr r3, _02053E78 ; =0x02105EC8
- ldr r2, [sp, #0x14]
- ldr r0, [r5, #0x8]
- ldr r2, [r3, r2]
- add r1, #0x18
- bl FUN_02053E8C
- str r0, [r5, #0x20]
- ldr r1, [r5, #0x18]
- mov r6, #0x0
- ldr r0, [r1, #0x8]
- cmp r0, #0x0
- ble _02053DF0
- add r4, r6, #0x0
-_02053DDA:
- ldr r0, [r1, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02009630
- ldr r1, [r5, #0x18]
- add r6, r6, #0x1
- ldr r0, [r1, #0x8]
- add r4, r4, #0x4
- cmp r6, r0
- blt _02053DDA
-_02053DF0:
- ldr r3, _02053E7C ; =0x02105ED0
- ldr r2, [sp, #0x14]
- add r1, r5, #0x0
- ldr r0, [r5, #0xc]
- ldr r2, [r3, r2]
- add r1, #0x1c
- bl FUN_02053E8C
- str r0, [r5, #0x24]
- ldr r1, [r5, #0x1c]
- mov r6, #0x0
- ldr r0, [r1, #0x8]
- cmp r0, #0x0
- ble _02053E24
- add r4, r6, #0x0
-_02053E0E:
- ldr r0, [r1, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02009630
- ldr r1, [r5, #0x1c]
- add r6, r6, #0x1
- ldr r0, [r1, #0x8]
- add r4, r4, #0x4
- cmp r6, r0
- blt _02053E0E
-_02053E24:
- ldr r0, [r5, #0x10]
- ldr r2, _02053E80 ; =0x02105F48
- mov r1, #0x0
- bl FUN_02053E8C
- str r0, [r5, #0x28]
- ldr r0, [r5, #0x14]
- ldr r2, _02053E84 ; =0x02105F64
- mov r1, #0x0
- bl FUN_02053E8C
- str r0, [r5, #0x2c]
- ldr r0, [r5, #0x18]
- bl FUN_02009B44
- ldr r0, [r5, #0x1c]
- bl FUN_02009DAC
- ldr r1, _02053E88 ; =0x02105F80
- mov r0, #0x4
- bl FUN_020161A4
- ldr r1, [r5, #0x10]
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x14]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r5, #0x8]
- ldr r3, [r5, #0xc]
- mov r1, #0x4
- bl FUN_02008BE0
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02053E78: .word 0x02105EC8
-_02053E7C: .word 0x02105ED0
-_02053E80: .word 0x02105F48
-_02053E84: .word 0x02105F64
-_02053E88: .word 0x02105F80
-
- thumb_func_start FUN_02053E8C
-FUN_02053E8C: ; 0x02053E8C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0200965C
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x4
- add r1, r6, #0x0
- bl FUN_020161A4
- add r6, r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x4
- bl FUN_02009668
- add r0, r6, #0x0
- bl FUN_02016A18
- cmp r5, #0x0
- beq _02053ED0
- add r0, r4, #0x0
- bl FUN_020096CC
- mov r1, #0x4
- bl FUN_02009424
- str r0, [r5, #0x0]
- add r2, r0, #0x0
- b _02053ED2
-_02053ED0:
- mov r2, #0x0
-_02053ED2:
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r3, #0x4
- bl FUN_020093A8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020096B4
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02053EF0
-FUN_02053EF0: ; 0x02053EF0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0201FD58
- mov r0, #0x0
- str r0, [r5, #0x0]
- ldr r0, [r5, #0x4]
- bl FUN_02008C80
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x18]
- bl FUN_02009C30
- ldr r0, [r5, #0x1c]
- bl FUN_02009E28
- mov r6, #0x0
- add r4, r5, #0x0
-_02053F18:
- ldr r0, [r4, #0x18]
- bl FUN_02009448
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x2
- blt _02053F18
- mov r4, #0x0
-_02053F28:
- ldr r0, [r5, #0x8]
- bl FUN_02008E2C
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _02053F28
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053F38
-FUN_02053F38: ; 0x02053F38
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r4, #0x10
- mov r3, #0x0
-_02053F40:
- strb r3, [r5, #0x0]
- add r5, r5, #0x1
- sub r4, r4, #0x1
- bne _02053F40
- cmp r2, #0x5
- bhi _02053FB6
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02053F58: ; jump table (using 16-bit offset)
- .short _02053F64 - _02053F58 - 2; case 0
- .short _02053F72 - _02053F58 - 2; case 1
- .short _02053F80 - _02053F58 - 2; case 2
- .short _02053F8E - _02053F58 - 2; case 3
- .short _02053F9C - _02053F58 - 2; case 4
- .short _02053FAA - _02053F58 - 2; case 5
-_02053F64:
- ldr r2, _02053FC0 ; =FUN_02054088
- str r2, [r1, #0x4]
- ldr r2, _02053FC4 ; =FUN_020540C8
- str r2, [r1, #0x8]
- ldr r2, _02053FC8 ; =FUN_020540E8
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F72:
- ldr r2, _02053FCC ; =FUN_02054168
- str r2, [r1, #0x4]
- ldr r2, _02053FD0 ; =FUN_020541A4
- str r2, [r1, #0x8]
- ldr r2, _02053FD4 ; =FUN_020541C4
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F80:
- ldr r2, _02053FD8 ; =FUN_020541E8
- str r2, [r1, #0x4]
- ldr r2, _02053FDC ; =FUN_02054228
- str r2, [r1, #0x8]
- ldr r2, _02053FE0 ; =FUN_02054248
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F8E:
- ldr r2, _02053FE4 ; =FUN_020542A4
- str r2, [r1, #0x4]
- ldr r2, _02053FE8 ; =FUN_020542E8
- str r2, [r1, #0x8]
- ldr r2, _02053FEC ; =FUN_02054308
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F9C:
- ldr r2, _02053FF0 ; =FUN_020543D8
- str r2, [r1, #0x4]
- ldr r2, _02053FF4 ; =FUN_0205442C
- str r2, [r1, #0x8]
- ldr r2, _02053FF8 ; =FUN_0205444C
- str r2, [r1, #0xc]
- b _02053FB6
-_02053FAA:
- ldr r2, _02053FFC ; =FUN_02054508
- str r2, [r1, #0x4]
- ldr r2, _02054000 ; =FUN_0205454C
- str r2, [r1, #0x8]
- ldr r2, _02054004 ; =FUN_0205456C
- str r2, [r1, #0xc]
-_02053FB6:
- ldr r2, [r1, #0x4]
- add r0, r0, #0x4
- blx r2
- pop {r3-r5, pc}
- nop
-_02053FC0: .word FUN_02054088
-_02053FC4: .word FUN_020540C8
-_02053FC8: .word FUN_020540E8
-_02053FCC: .word FUN_02054168
-_02053FD0: .word FUN_020541A4
-_02053FD4: .word FUN_020541C4
-_02053FD8: .word FUN_020541E8
-_02053FDC: .word FUN_02054228
-_02053FE0: .word FUN_02054248
-_02053FE4: .word FUN_020542A4
-_02053FE8: .word FUN_020542E8
-_02053FEC: .word FUN_02054308
-_02053FF0: .word FUN_020543D8
-_02053FF4: .word FUN_0205442C
-_02053FF8: .word FUN_0205444C
-_02053FFC: .word FUN_02054508
-_02054000: .word FUN_0205454C
-_02054004: .word FUN_0205456C
-
- thumb_func_start FUN_02054008
-FUN_02054008: ; 0x02054008
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- add r7, sp, #0x0
- add r6, r3, #0x0
- mov r0, #0x0
- add r4, r1, #0x0
- add r3, r7, #0x0
- add r1, r0, #0x0
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r3, sp, #0x8
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, [r0, #0x0]
- mov r0, #0x24
- mul r0, r4
- add r0, r1, r0
- str r0, [sp, #0x4]
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- add r2, sp, #0x14
- str r0, [r3, #0x0]
- ldr r3, _0205406C ; =0x020F5C08
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x48]
- str r6, [sp, #0x24]
- str r0, [sp, #0x28]
- mov r0, #0x4
- str r0, [sp, #0x2c]
- add r0, r7, #0x0
- bl FUN_0201FE94
- add r4, r0, #0x0
- bne _02054064
- bl ErrorHandling
-_02054064:
- add r0, r4, #0x0
- add sp, #0x30
- pop {r3-r7, pc}
- nop
-_0205406C: .word 0x020F5C08
-
- thumb_func_start FUN_02054070
-FUN_02054070: ; 0x02054070
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x8]
- blx r1
- mov r1, #0x10
- mov r0, #0x0
-_0205407C:
- strb r0, [r4, #0x0]
- add r4, r4, #0x1
- sub r1, r1, #0x1
- bne _0205407C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054088
-FUN_02054088: ; 0x02054088
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205409C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205409C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020540C8
-FUN_020540C8: ; 0x020540C8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020540E4
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_020540E4:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020540E8
-FUN_020540E8: ; 0x020540E8
- push {r3-r6, lr}
- sub sp, #0xc
- ldr r4, [r0, #0x0]
- mov r2, #0x2
- ldr r0, [r4, #0x10]
- lsl r2, r2, #0xe
- cmp r0, r2
- bgt _0205415E
- add r6, r4, #0x0
- ldmia r6!, {r0-r1}
- add r5, sp, #0x0
- add r3, r5, #0x0
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- lsr r2, r2, #0x4
- str r0, [r5, #0x0]
- ldr r0, [r4, #0x10]
- ldr r1, [sp, #0x4]
- asr r0, r0, #0x4
- lsl r5, r0, #0x2
- ldr r0, _02054164 ; =0x020FFA38
- ldrsh r5, [r0, r5]
- asr r0, r5, #0x1f
- lsr r6, r5, #0x10
- lsl r0, r0, #0x10
- orr r0, r6
- lsl r6, r5, #0x10
- mov r5, #0x0
- add r2, r6, r2
- adc r0, r5
- lsl r0, r0, #0x14
- lsr r2, r2, #0xc
- orr r2, r0
- sub r0, r1, r2
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r3, #0x0
- bl FUN_02020044
- mov r1, #0x2
- ldr r0, [r4, #0x10]
- lsl r1, r1, #0xa
- add r0, r0, r1
- str r0, [r4, #0x10]
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0x1
- bl FUN_020201E4
- mov r0, #0x2
- ldr r1, [r4, #0x10]
- lsl r0, r0, #0xe
- cmp r1, r0
- bne _02054158
- add sp, #0xc
- mov r0, #0x2
- pop {r3-r6, pc}
-_02054158:
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r6, pc}
-_0205415E:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02054164: .word 0x020FFA38
-
- thumb_func_start FUN_02054168
-FUN_02054168: ; 0x02054168
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205417C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205417C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x10
- mov r1, #0x1
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x0]
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020541A4
-FUN_020541A4: ; 0x020541A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020541C0
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_020541C0:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020541C4
-FUN_020541C4: ; 0x020541C4
- push {r4, lr}
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0x10]
- cmp r0, #0x7
- bge _020541E2
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- mov r0, #0x1
- pop {r4, pc}
-_020541E2:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020541E8
-FUN_020541E8: ; 0x020541E8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_020541FC:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020541FC
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x3
- lsl r0, r0, #0x12
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02054228
-FUN_02054228: ; 0x02054228
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054244
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054244:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054248
-FUN_02054248: ; 0x02054248
- push {r4, lr}
- ldr r4, [r0, #0x0]
- mov r0, #0x2
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- ldr r1, [r4, #0x4]
- cmp r0, #0x0
- bne _02054284
- mov r0, #0x6
- lsl r0, r0, #0x12
- cmp r1, r0
- blt _0205429A
- ldr r0, _020542A0 ; =0xFFFE0000
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _0205429A
-_02054284:
- mov r0, #0x45
- lsl r0, r0, #0xc
- cmp r1, r0
- blt _0205429A
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- mov r0, #0x0
- pop {r4, pc}
-_0205429A:
- mov r0, #0x1
- pop {r4, pc}
- nop
-_020542A0: .word 0xFFFE0000
-
- thumb_func_start FUN_020542A4
-FUN_020542A4: ; 0x020542A4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x18
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x18
- mov r1, #0x0
-_020542B8:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020542B8
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020542E8
-FUN_020542E8: ; 0x020542E8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054304
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054304:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054308
-FUN_02054308: ; 0x02054308
- push {r3-r5, lr}
- ldr r4, [r0, #0x0]
- mov r5, #0x1
- ldr r0, [r4, #0x10]
- cmp r0, #0x4
- bhi _020543CC
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02054320: ; jump table (using 16-bit offset)
- .short _0205432A - _02054320 - 2; case 0
- .short _02054348 - _02054320 - 2; case 1
- .short _02054376 - _02054320 - 2; case 2
- .short _020543A2 - _02054320 - 2; case 3
- .short _020543CA - _02054320 - 2; case 4
-_0205432A:
- ldr r1, [r4, #0x14]
- ldr r0, _020543D0 ; =0x00000333
- add r1, r1, r0
- str r1, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- ldr r1, [r4, #0x14]
- lsl r0, r5, #0xd
- cmp r1, r0
- blt _020543CC
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_02054348:
- ldr r1, [r4, #0x4]
- ldr r0, _020543D4 ; =0xFFFE0000
- cmp r1, r0
- ble _02054368
- lsl r0, r5, #0xf
- sub r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- b _020543CC
-_02054368:
- mov r0, #0x6
- lsl r0, r0, #0x12
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_02054376:
- ldr r1, [r4, #0x4]
- lsl r0, r5, #0xf
- sub r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- mov r0, #0x4b
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0xe
- cmp r1, r0
- bge _020543CC
- ldr r0, [r4, #0x10]
- mov r5, #0x2
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_020543A2:
- mov r1, #0x3
- ldr r2, [r4, #0x4]
- lsl r1, r1, #0x12
- cmp r2, r1
- ble _020543C4
- lsl r0, r5, #0xf
- sub r0, r2, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- b _020543CC
-_020543C4:
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_020543CA:
- mov r5, #0x0
-_020543CC:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020543D0: .word 0x00000333
-_020543D4: .word 0xFFFE0000
-
- thumb_func_start FUN_020543D8
-FUN_020543D8: ; 0x020543D8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x18
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x18
- mov r1, #0x0
-_020543EC:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020543EC
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- mov r0, #0x2
- lsl r0, r0, #0xc
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r1, #0x0
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205442C
-FUN_0205442C: ; 0x0205442C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054448
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054448:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205444C
-FUN_0205444C: ; 0x0205444C
- push {r4-r7, lr}
- sub sp, #0xc
- ldr r4, [r0, #0x0]
- mov r5, #0x1
- ldr r0, [r4, #0x10]
- cmp r0, #0x3
- bhi _020544F8
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02054466: ; jump table (using 16-bit offset)
- .short _0205446E - _02054466 - 2; case 0
- .short _0205447E - _02054466 - 2; case 1
- .short _020544DA - _02054466 - 2; case 2
- .short _020544F6 - _02054466 - 2; case 3
-_0205446E:
- ldr r0, [r4, #0xc]
- add r1, r5, #0x0
- bl FUN_020200A0
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_0205447E:
- ldr r2, [r4, #0x14]
- lsl r1, r5, #0xf
- cmp r2, r1
- bgt _020544D4
- add r6, r4, #0x0
- ldmia r6!, {r0-r1}
- add r3, sp, #0x0
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- mov r7, #0x0
- str r0, [r3, #0x0]
- ldr r0, [r4, #0x14]
- ldr r6, [sp, #0x4]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02054500 ; =0x020FFA38
- ldrsh r0, [r0, r1]
- asr r3, r0, #0x1f
- lsr r1, r0, #0xf
- lsl r3, r3, #0x11
- orr r3, r1
- lsl r1, r0, #0x11
- lsl r0, r5, #0xb
- add r0, r1, r0
- adc r3, r7
- lsl r1, r3, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- sub r0, r6, r0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r2, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0x14]
- lsl r1, r5, #0xc
- add r0, r0, r1
- str r0, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- b _020544F8
-_020544D4:
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_020544DA:
- ldr r1, [r4, #0x14]
- ldr r0, _02054504 ; =0x00000666
- sub r1, r1, r0
- str r1, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bgt _020544F8
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_020544F6:
- mov r5, #0x0
-_020544F8:
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02054500: .word 0x020FFA38
-_02054504: .word 0x00000666
-
- thumb_func_start FUN_02054508
-FUN_02054508: ; 0x02054508
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205451C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205451C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x10
- mov r1, #0x1
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x0]
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205454C
-FUN_0205454C: ; 0x0205454C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054568
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054568:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205456C
-FUN_0205456C: ; 0x0205456C
- push {r4, lr}
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0x10]
- cmp r0, #0x8
- bge _0205458A
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- mov r0, #0x1
- pop {r4, pc}
-_0205458A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054590
-FUN_02054590: ; 0x02054590
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x1
- bne _0205459C
- bl FUN_0201BD5C
-_0205459C:
- mov r1, #0x1a
- add r0, r4, #0x0
- lsl r1, r1, #0x4
- mov r2, #0x4
- bl FUN_02002ED0
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- mov r2, #0x4
- bl FUN_02002EEC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020545B8
-FUN_020545B8: ; 0x020545B8
- push {lr}
- sub sp, #0x14
- cmp r2, #0x3
- bne _020545E0
- mov r2, #0x13
- str r2, [sp, #0x0]
- mov r2, #0x1b
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0xc
- str r2, [sp, #0xc]
- ldr r2, _02054604 ; =0x0000032D
- mov r3, #0x2
- str r2, [sp, #0x10]
- mov r2, #0x3
- bl FUN_02019064
- add sp, #0x14
- pop {pc}
-_020545E0:
- mov r2, #0x13
- str r2, [sp, #0x0]
- mov r2, #0x1b
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0xc
- str r2, [sp, #0xc]
- mov r2, #0x65
- lsl r2, r2, #0x2
- str r2, [sp, #0x10]
- mov r2, #0x7
- mov r3, #0x2
- bl FUN_02019064
- add sp, #0x14
- pop {pc}
- nop
-_02054604: .word 0x0000032D
-
- thumb_func_start FUN_02054608
-FUN_02054608: ; 0x02054608
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_0201AB08
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- ldr r2, _02054648 ; =0x000003E2
- add r1, r6, #0x0
- mov r3, #0xa
- bl FUN_0200CD68
- add r0, r5, #0x0
- bl FUN_0205464C
- ldr r2, _02054648 ; =0x000003E2
- add r0, r5, #0x0
- mov r1, #0x0
- mov r3, #0xa
- bl FUN_0200D0BC
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02054648: .word 0x000003E2
-
- thumb_func_start FUN_0205464C
-FUN_0205464C: ; 0x0205464C
- ldr r3, _02054654 ; =FUN_02019620
- mov r1, #0xf
- bx r3
- nop
-_02054654: .word FUN_02019620
-
- thumb_func_start FUN_02054658
-FUN_02054658: ; 0x02054658
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, r3, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002BB8
- add r0, r6, #0x0
- bl FUN_02024FF4
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02054690
-FUN_02054690: ; 0x02054690
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02002B60
- ldr r0, [sp, #0x24]
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002BB8
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r4, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020546C8
-FUN_020546C8: ; 0x020546C8
- push {r3, lr}
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _020546D6
- mov r0, #0x1
- b _020546D8
-_020546D6:
- mov r0, #0x0
-_020546D8:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020546E0
-FUN_020546E0: ; 0x020546E0
- push {r4-r5, lr}
- sub sp, #0x14
- cmp r2, #0x1
- bhi _020546EE
- mov r4, #0x9
- mov r5, #0x14
- b _020546F2
-_020546EE:
- mov r4, #0x2
- mov r5, #0x1b
-_020546F2:
- cmp r3, #0x3
- bne _0205471A
- mov r2, #0x13
- str r2, [sp, #0x0]
- lsl r2, r5, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0x9
- str r2, [sp, #0xc]
- ldr r2, _02054740 ; =0x0000032D
- lsl r3, r4, #0x18
- str r2, [sp, #0x10]
- mov r2, #0x3
- lsr r3, r3, #0x18
- bl FUN_02019064
- add sp, #0x14
- pop {r4-r5, pc}
-_0205471A:
- mov r2, #0x13
- str r2, [sp, #0x0]
- lsl r2, r5, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0x9
- str r2, [sp, #0xc]
- mov r2, #0x65
- lsl r2, r2, #0x2
- lsl r3, r4, #0x18
- str r2, [sp, #0x10]
- mov r2, #0x7
- lsr r3, r3, #0x18
- bl FUN_02019064
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-_02054740: .word 0x0000032D
-
- thumb_func_start FUN_02054744
-FUN_02054744: ; 0x02054744
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0201AB08
- add r1, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- ldr r2, _02054788 ; =0x00000399
- mov r3, #0x9
- bl FUN_0200D300
- add r0, r5, #0x0
- mov r1, #0xf
- bl FUN_02019620
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r2, _02054788 ; =0x00000399
- add r0, r5, #0x0
- mov r1, #0x0
- mov r3, #0x9
- bl FUN_0200D6F8
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02054788: .word 0x00000399
-
- thumb_func_start FUN_0205478C
-FUN_0205478C: ; 0x0205478C
- cmp r0, #0x2
- bne _02054794
- mov r0, #0x1
- bx lr
-_02054794:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054798
-FUN_02054798: ; 0x02054798
- cmp r0, #0x3
- bne _020547A0
- mov r0, #0x1
- bx lr
-_020547A0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547A4
-FUN_020547A4: ; 0x020547A4
- cmp r0, #0x80
- bne _020547AC
- mov r0, #0x1
- bx lr
-_020547AC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547B0
-FUN_020547B0: ; 0x020547B0
- cmp r0, #0x69
- bne _020547B8
- mov r0, #0x1
- bx lr
-_020547B8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547BC
-FUN_020547BC: ; 0x020547BC
- cmp r0, #0x62
- bne _020547C4
- mov r0, #0x1
- bx lr
-_020547C4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547C8
-FUN_020547C8: ; 0x020547C8
- cmp r0, #0x63
- bne _020547D0
- mov r0, #0x1
- bx lr
-_020547D0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547D4
-FUN_020547D4: ; 0x020547D4
- cmp r0, #0x64
- bne _020547DC
- mov r0, #0x1
- bx lr
-_020547DC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547E0
-FUN_020547E0: ; 0x020547E0
- cmp r0, #0x65
- bne _020547E8
- mov r0, #0x1
- bx lr
-_020547E8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547EC
-FUN_020547EC: ; 0x020547EC
- cmp r0, #0x6c
- bne _020547F4
- mov r0, #0x1
- bx lr
-_020547F4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547F8
-FUN_020547F8: ; 0x020547F8
- cmp r0, #0x6d
- bne _02054800
- mov r0, #0x1
- bx lr
-_02054800:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054804
-FUN_02054804: ; 0x02054804
- cmp r0, #0x6e
- bne _0205480C
- mov r0, #0x1
- bx lr
-_0205480C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054810
-FUN_02054810: ; 0x02054810
- cmp r0, #0x6f
- bne _02054818
- mov r0, #0x1
- bx lr
-_02054818:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205481C
-FUN_0205481C: ; 0x0205481C
- ldr r1, _0205482C ; =0x020F5C14
- ldrb r1, [r1, r0]
- mov r0, #0x1
- tst r1, r0
- bne _02054828
- mov r0, #0x0
-_02054828:
- bx lr
- nop
-_0205482C: .word 0x020F5C14
-
- thumb_func_start FUN_02054830
-FUN_02054830: ; 0x02054830
- cmp r0, #0x21
- bne _02054838
- mov r0, #0x1
- bx lr
-_02054838:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205483C
-FUN_0205483C: ; 0x0205483C
- cmp r0, #0x17
- bne _02054844
- mov r0, #0x1
- bx lr
-_02054844:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054848
-FUN_02054848: ; 0x02054848
- cmp r0, #0x3a
- bne _02054850
- mov r0, #0x1
- bx lr
-_02054850:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054854
-FUN_02054854: ; 0x02054854
- cmp r0, #0x3b
- bne _0205485C
- mov r0, #0x1
- bx lr
-_0205485C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054860
-FUN_02054860: ; 0x02054860
- cmp r0, #0x39
- bne _02054868
- mov r0, #0x1
- bx lr
-_02054868:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205486C
-FUN_0205486C: ; 0x0205486C
- cmp r0, #0x38
- bne _02054874
- mov r0, #0x1
- bx lr
-_02054874:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054878
-FUN_02054878: ; 0x02054878
- cmp r0, #0x83
- bne _02054880
- mov r0, #0x1
- bx lr
-_02054880:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054884
-FUN_02054884: ; 0x02054884
- cmp r0, #0x85
- bne _0205488C
- mov r0, #0x1
- bx lr
-_0205488C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054890
-FUN_02054890: ; 0x02054890
- cmp r0, #0x56
- bne _02054898
- mov r0, #0x1
- bx lr
-_02054898:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205489C
-FUN_0205489C: ; 0x0205489C
- cmp r0, #0x57
- bne _020548A4
- mov r0, #0x1
- bx lr
-_020548A4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548A8
-FUN_020548A8: ; 0x020548A8
- cmp r0, #0x58
- bne _020548B0
- mov r0, #0x1
- bx lr
-_020548B0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548B4
-FUN_020548B4: ; 0x020548B4
- cmp r0, #0x59
- bne _020548BC
- mov r0, #0x1
- bx lr
-_020548BC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548C0
-FUN_020548C0: ; 0x020548C0
- cmp r0, #0x6a
- bne _020548C8
- mov r0, #0x1
- bx lr
-_020548C8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548CC
-FUN_020548CC: ; 0x020548CC
- cmp r0, #0x6b
- bne _020548D4
- mov r0, #0x1
- bx lr
-_020548D4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548D8
-FUN_020548D8: ; 0x020548D8
- cmp r0, #0x5e
- bne _020548E0
- mov r0, #0x1
- bx lr
-_020548E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548E4
-FUN_020548E4: ; 0x020548E4
- cmp r0, #0x5f
- bne _020548EC
- mov r0, #0x1
- bx lr
-_020548EC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548F0
-FUN_020548F0: ; 0x020548F0
- cmp r0, #0x20
- bne _020548F8
- mov r0, #0x1
- bx lr
-_020548F8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548FC
-FUN_020548FC: ; 0x020548FC
- cmp r0, #0x4b
- bne _02054904
- mov r0, #0x1
- bx lr
-_02054904:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054908
-FUN_02054908: ; 0x02054908
- cmp r0, #0x4c
- bne _02054910
- mov r0, #0x1
- bx lr
-_02054910:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054914
-FUN_02054914: ; 0x02054914
- cmp r0, #0xe0
- bne _0205491C
- mov r0, #0x1
- bx lr
-_0205491C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054920
-FUN_02054920: ; 0x02054920
- cmp r0, #0xea
- bne _02054928
- mov r0, #0x1
- bx lr
-_02054928:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205492C
-FUN_0205492C: ; 0x0205492C
- cmp r0, #0xe1
- bne _02054934
- mov r0, #0x1
- bx lr
-_02054934:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054938
-FUN_02054938: ; 0x02054938
- cmp r0, #0xe2
- bne _02054940
- mov r0, #0x1
- bx lr
-_02054940:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054944
-FUN_02054944: ; 0x02054944
- cmp r0, #0xe4
- bne _0205494C
- mov r0, #0x1
- bx lr
-_0205494C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054950
-FUN_02054950: ; 0x02054950
- cmp r0, #0xe5
- bne _02054958
- mov r0, #0x1
- bx lr
-_02054958:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205495C
-FUN_0205495C: ; 0x0205495C
- cmp r0, #0xeb
- bne _02054964
- mov r0, #0x1
- bx lr
-_02054964:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054968
-FUN_02054968: ; 0x02054968
- cmp r0, #0xec
- bne _02054970
- mov r0, #0x1
- bx lr
-_02054970:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054974
-FUN_02054974: ; 0x02054974
- cmp r0, #0xa4
- beq _0205497C
- cmp r0, #0xa5
- bne _02054980
-_0205497C:
- mov r0, #0x1
- bx lr
-_02054980:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054984
-FUN_02054984: ; 0x02054984
- cmp r0, #0xa5
- bne _0205498C
- mov r0, #0x1
- bx lr
-_0205498C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054990
-FUN_02054990: ; 0x02054990
- cmp r0, #0xa6
- beq _02054998
- cmp r0, #0xa7
- bne _0205499C
-_02054998:
- mov r0, #0x1
- bx lr
-_0205499C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549A0
-FUN_020549A0: ; 0x020549A0
- cmp r0, #0xa7
- bne _020549A8
- mov r0, #0x1
- bx lr
-_020549A8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549AC
-FUN_020549AC: ; 0x020549AC
- add r0, #0x5f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x7
- bhi _020549C6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- mov r0, #0x87
- tst r0, r2
- beq _020549C6
- add r3, r1, #0x0
-_020549C6:
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020549CC
-FUN_020549CC: ; 0x020549CC
- cmp r0, #0xa8
- bne _020549D4
- mov r0, #0x1
- bx lr
-_020549D4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549D8
-FUN_020549D8: ; 0x020549D8
- cmp r0, #0xa1
- bne _020549E0
- mov r0, #0x1
- bx lr
-_020549E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549E4
-FUN_020549E4: ; 0x020549E4
- cmp r0, #0xa2
- bne _020549EC
- mov r0, #0x1
- bx lr
-_020549EC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549F0
-FUN_020549F0: ; 0x020549F0
- cmp r0, #0xa3
- bne _020549F8
- mov r0, #0x1
- bx lr
-_020549F8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549FC
-FUN_020549FC: ; 0x020549FC
- cmp r0, #0xd9
- beq _02054A04
- cmp r0, #0xda
- bne _02054A08
-_02054A04:
- mov r0, #0x1
- bx lr
-_02054A08:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A0C
-FUN_02054A0C: ; 0x02054A0C
- cmp r0, #0xd9
- bne _02054A14
- mov r0, #0x1
- bx lr
-_02054A14:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A18
-FUN_02054A18: ; 0x02054A18
- cmp r0, #0xda
- bne _02054A20
- mov r0, #0x1
- bx lr
-_02054A20:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A24
-FUN_02054A24: ; 0x02054A24
- cmp r0, #0xd7
- bne _02054A2C
- mov r0, #0x1
- bx lr
-_02054A2C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A30
-FUN_02054A30: ; 0x02054A30
- cmp r0, #0xd8
- bne _02054A38
- mov r0, #0x1
- bx lr
-_02054A38:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A3C
-FUN_02054A3C: ; 0x02054A3C
- cmp r0, #0x8
- bne _02054A44
- mov r0, #0x1
- bx lr
-_02054A44:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A48
-FUN_02054A48: ; 0x02054A48
- cmp r0, #0x13
- bne _02054A50
- mov r0, #0x1
- bx lr
-_02054A50:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A54
-FUN_02054A54: ; 0x02054A54
- cmp r0, #0xdb
- bne _02054A5C
- mov r0, #0x1
- bx lr
-_02054A5C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A60
-FUN_02054A60: ; 0x02054A60
- add r0, #0xce
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x17
- bhi _02054A7A
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054A80 ; =0x0080000D
- tst r0, r2
- beq _02054A7A
- add r3, r1, #0x0
-_02054A7A:
- add r0, r3, #0x0
- bx lr
- nop
-_02054A80: .word 0x0080000D
-
- thumb_func_start FUN_02054A84
-FUN_02054A84: ; 0x02054A84
- add r0, #0xcd
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x16
- bhi _02054A9E
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AA4 ; =0x00400019
- tst r0, r2
- beq _02054A9E
- add r3, r1, #0x0
-_02054A9E:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AA4: .word 0x00400019
-
- thumb_func_start FUN_02054AA8
-FUN_02054AA8: ; 0x02054AA8
- add r0, #0xcf
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x19
- bhi _02054AC2
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AC8 ; =0x02000051
- tst r0, r2
- beq _02054AC2
- add r3, r1, #0x0
-_02054AC2:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AC8: .word 0x02000051
-
- thumb_func_start FUN_02054ACC
-FUN_02054ACC: ; 0x02054ACC
- add r0, #0xd0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x1a
- bhi _02054AE6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AEC ; =0x04000051
- tst r0, r2
- beq _02054AE6
- add r3, r1, #0x0
-_02054AE6:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AEC: .word 0x04000051
-
- thumb_func_start FUN_02054AF0
-FUN_02054AF0: ; 0x02054AF0
- cmp r0, #0x16
- bne _02054AF8
- mov r0, #0x1
- bx lr
-_02054AF8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054AFC
-FUN_02054AFC: ; 0x02054AFC
- ldr r1, _02054B10 ; =0x020F5C14
- ldrb r1, [r1, r0]
- mov r0, #0x2
- tst r0, r1
- beq _02054B0A
- mov r0, #0x1
- bx lr
-_02054B0A:
- mov r0, #0x0
- bx lr
- nop
-_02054B10: .word 0x020F5C14
-
- thumb_func_start FUN_02054B14
-FUN_02054B14: ; 0x02054B14
- cmp r0, #0x86
- bne _02054B1C
- mov r0, #0x1
- bx lr
-_02054B1C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B20
-FUN_02054B20: ; 0x02054B20
- cmp r0, #0x16
- beq _02054B28
- cmp r0, #0x10
- bne _02054B2C
-_02054B28:
- mov r0, #0x1
- bx lr
-_02054B2C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B30
-FUN_02054B30: ; 0x02054B30
- cmp r0, #0x40
- bne _02054B38
- mov r0, #0x1
- bx lr
-_02054B38:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B3C
-FUN_02054B3C: ; 0x02054B3C
- cmp r0, #0x41
- bne _02054B44
- mov r0, #0x1
- bx lr
-_02054B44:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B48
-FUN_02054B48: ; 0x02054B48
- cmp r0, #0x42
- bne _02054B50
- mov r0, #0x1
- bx lr
-_02054B50:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B54
-FUN_02054B54: ; 0x02054B54
- cmp r0, #0x43
- bne _02054B5C
- mov r0, #0x1
- bx lr
-_02054B5C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B60
-FUN_02054B60: ; 0x02054B60
- cmp r0, #0x67
- bne _02054B68
- mov r0, #0x1
- bx lr
-_02054B68:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B6C
-FUN_02054B6C: ; 0x02054B6C
- cmp r0, #0x70
- bne _02054B74
- mov r0, #0x1
- bx lr
-_02054B74:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B78
-FUN_02054B78: ; 0x02054B78
- add r0, #0x8f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0xc
- bhi _02054B86
- mov r0, #0x1
- bx lr
-_02054B86:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054B8C
-FUN_02054B8C: ; 0x02054B8C
- add r0, #0x8d
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x9
- bhi _02054BA6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054BAC ; =0x00000221
- tst r0, r2
- beq _02054BA6
- add r3, r1, #0x0
-_02054BA6:
- add r0, r3, #0x0
- bx lr
- nop
-_02054BAC: .word 0x00000221
-
- thumb_func_start FUN_02054BB0
-FUN_02054BB0: ; 0x02054BB0
- add r0, #0x8c
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x9
- bhi _02054BCA
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054BD0 ; =0x00000221
- tst r0, r2
- beq _02054BCA
- add r3, r1, #0x0
-_02054BCA:
- add r0, r3, #0x0
- bx lr
- nop
-_02054BD0: .word 0x00000221
-
- thumb_func_start FUN_02054BD4
-FUN_02054BD4: ; 0x02054BD4
- cmp r0, #0x75
- bne _02054BDC
- mov r0, #0x1
- bx lr
-_02054BDC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054BE0
-FUN_02054BE0: ; 0x02054BE0
- add r0, #0x8a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bhi _02054BEE
- mov r0, #0x1
- bx lr
-_02054BEE:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054BF4
-FUN_02054BF4: ; 0x02054BF4
- add r0, #0x86
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bhi _02054C02
- mov r0, #0x1
- bx lr
-_02054C02:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054C08
-FUN_02054C08: ; 0x02054C08
- cmp r0, #0xff
- bne _02054C10
- mov r0, #0x1
- bx lr
-_02054C10:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054C14
-FUN_02054C14: ; 0x02054C14
- push {r4, lr}
- mov r1, #0xa
- add r4, r0, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C26
- mov r0, #0x1
- pop {r4, pc}
-_02054C26:
- add r0, r4, #0x0
- mov r1, #0x64
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C36
- mov r0, #0x2
- pop {r4, pc}
-_02054C36:
- mov r1, #0xfa
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C48
- mov r0, #0x3
- pop {r4, pc}
-_02054C48:
- ldr r1, _02054C9C ; =0x00002710
- add r0, r4, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C58
- mov r0, #0x4
- pop {r4, pc}
-_02054C58:
- ldr r1, _02054CA0 ; =0x000186A0
- add r0, r4, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C68
- mov r0, #0x5
- pop {r4, pc}
-_02054C68:
- ldr r1, _02054CA4 ; =0x000F4240
- add r0, r4, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C78
- mov r0, #0x6
- pop {r4, pc}
-_02054C78:
- ldr r1, _02054CA8 ; =0x00989680
- add r0, r4, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C88
- mov r0, #0x7
- pop {r4, pc}
-_02054C88:
- ldr r1, _02054CAC ; =0x05F5E100
- add r0, r4, #0x0
- bl _u32_div_f
- cmp r0, #0x0
- bne _02054C98
- mov r0, #0x8
- pop {r4, pc}
-_02054C98:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_02054C9C: .word 0x00002710
-_02054CA0: .word 0x000186A0
-_02054CA4: .word 0x000F4240
-_02054CA8: .word 0x00989680
-_02054CAC: .word 0x05F5E100
-
- thumb_func_start FUN_02054CB0
-FUN_02054CB0: ; 0x02054CB0
- mov r1, #0x52
- lsl r1, r1, #0x2
- cmp r0, r1
- blo _02054CC2
- add r1, #0x63
- cmp r0, r1
- bhi _02054CC2
- mov r0, #0x1
- bx lr
-_02054CC2:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054CC8
-FUN_02054CC8: ; 0x02054CC8
- cmp r0, #0xe
- bhi _02054CD0
- mov r0, #0x6
- bx lr
-_02054CD0:
- cmp r0, #0x18
- bhi _02054CD8
- mov r0, #0x7
- bx lr
-_02054CD8:
- cmp r0, #0x27
- bhi _02054CE0
- mov r0, #0x8
- bx lr
-_02054CE0:
- cmp r0, #0x3b
- bhi _02054CE8
- mov r0, #0x9
- bx lr
-_02054CE8:
- cmp r0, #0x59
- bhi _02054CF0
- mov r0, #0xa
- bx lr
-_02054CF0:
- cmp r0, #0x72
- bhi _02054CF8
- mov r0, #0xb
- bx lr
-_02054CF8:
- cmp r0, #0x86
- bhi _02054D00
- mov r0, #0xc
- bx lr
-_02054D00:
- cmp r0, #0x90
- bhi _02054D08
- mov r0, #0xd
- bx lr
-_02054D08:
- cmp r0, #0x95
- bhi _02054D10
- mov r0, #0xe
- bx lr
-_02054D10:
- cmp r1, #0x0
- beq _02054D18
- mov r0, #0x4
- bx lr
-_02054D18:
- mov r0, #0x5
- bx lr
-
- thumb_func_start FUN_02054D1C
-FUN_02054D1C: ; 0x02054D1C
- cmp r0, #0x27
- bhi _02054D24
- mov r0, #0x13
- bx lr
-_02054D24:
- cmp r0, #0x3b
- bhi _02054D2C
- mov r0, #0x14
- bx lr
-_02054D2C:
- cmp r0, #0x59
- bhi _02054D34
- mov r0, #0x15
- bx lr
-_02054D34:
- cmp r0, #0x77
- bhi _02054D3C
- mov r0, #0x16
- bx lr
-_02054D3C:
- cmp r0, #0x95
- bhi _02054D44
- mov r0, #0x17
- bx lr
-_02054D44:
- cmp r0, #0xbd
- bhi _02054D4C
- mov r0, #0x18
- bx lr
-_02054D4C:
- cmp r0, #0xe5
- bhi _02054D54
- mov r0, #0x19
- bx lr
-_02054D54:
- ldr r2, _02054DE8 ; =0x0000010D
- cmp r0, r2
- bhi _02054D5E
- mov r0, #0x1a
- bx lr
-_02054D5E:
- add r3, r2, #0x0
- add r3, #0x28
- cmp r0, r3
- bhi _02054D6A
- mov r0, #0x1b
- bx lr
-_02054D6A:
- add r3, r2, #0x0
- add r3, #0x50
- cmp r0, r3
- bhi _02054D76
- mov r0, #0x1c
- bx lr
-_02054D76:
- add r3, r2, #0x0
- add r3, #0x6e
- cmp r0, r3
- bhi _02054D82
- mov r0, #0x1d
- bx lr
-_02054D82:
- add r3, r2, #0x0
- add r3, #0x8c
- cmp r0, r3
- bhi _02054D8E
- mov r0, #0x1e
- bx lr
-_02054D8E:
- add r3, r2, #0x0
- add r3, #0xa0
- cmp r0, r3
- bhi _02054DA2
- cmp r1, #0x0
- beq _02054D9E
- mov r0, #0x20
- bx lr
-_02054D9E:
- mov r0, #0x1f
- bx lr
-_02054DA2:
- add r3, r2, #0x0
- add r3, #0xb4
- cmp r0, r3
- bhi _02054DAE
- mov r0, #0x21
- bx lr
-_02054DAE:
- add r3, r2, #0x0
- add r3, #0xbe
- cmp r0, r3
- bhi _02054DBA
- mov r0, #0x22
- bx lr
-_02054DBA:
- add r3, r2, #0x0
- add r3, #0xc8
- cmp r0, r3
- bhi _02054DC6
- mov r0, #0x23
- bx lr
-_02054DC6:
- add r3, r2, #0x0
- add r3, #0xce
- cmp r0, r3
- bhi _02054DD2
- mov r0, #0x24
- bx lr
-_02054DD2:
- add r2, #0xd4
- cmp r0, r2
- bhi _02054DDC
- mov r0, #0x25
- bx lr
-_02054DDC:
- cmp r1, #0x0
- beq _02054DE4
- mov r0, #0x27
- bx lr
-_02054DE4:
- mov r0, #0x26
- bx lr
- .balign 4
-_02054DE8: .word 0x0000010D
-
- thumb_func_start FUN_02054DEC
-FUN_02054DEC: ; 0x02054DEC
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r4, _02054E2C ; =0x00000000
- beq _02054E28
- mov r7, #0x4c
-_02054E02:
- add r0, r6, #0x0
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02054E1E
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_02054E1E:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r5
- blo _02054E02
-_02054E28:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02054E2C: .word 0x00000000
-
- thumb_func_start FUN_02054E30
-FUN_02054E30: ; 0x02054E30
- push {r3-r7, lr}
- sub sp, #0x10
- mov r7, #0x0
- bl FUN_0206BB1C
- str r0, [sp, #0x0]
- bl FUN_0206B9AC
- add r4, r0, #0x0
- add r6, r7, #0x0
- cmp r4, #0x0
- ble _02054E64
- add r5, sp, #0x4
-_02054E4A:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x0]
- add r6, r6, #0x1
- add r5, r5, #0x2
- cmp r6, r4
- blt _02054E4A
-_02054E64:
- ldr r2, _02054E9C ; =0x020F5D14
- mov r6, #0x0
-_02054E68:
- mov r1, #0x0
- cmp r4, #0x0
- ble _02054E84
- ldrh r5, [r2, #0x0]
- add r3, sp, #0x4
-_02054E72:
- ldrh r0, [r3, #0x0]
- cmp r0, r5
- bne _02054E7C
- add r7, r7, #0x1
- b _02054E84
-_02054E7C:
- add r1, r1, #0x1
- add r3, r3, #0x2
- cmp r1, r4
- blt _02054E72
-_02054E84:
- add r6, r6, #0x1
- add r2, r2, #0x2
- cmp r6, #0x3
- blt _02054E68
- cmp r7, #0x3
- bne _02054E96
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_02054E96:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02054E9C: .word 0x020F5D14
-
- thumb_func_start FUN_02054EA0
-FUN_02054EA0: ; 0x02054EA0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x2
- lsl r0, r0, #0xe
- str r0, [sp, #0x0]
- str r0, [sp, #0x8]
- ldrh r0, [r4, #0xe]
- ldr r5, [r4, #0x4]
- bl FUN_0201B93C
- asr r1, r0, #0x1f
- asr r3, r5, #0x1f
- add r2, r5, #0x0
- bl _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r2, r0, r2
- adc r1, r3
- lsl r0, r1, #0x14
- lsr r1, r2, #0xc
- orr r1, r0
- str r1, [sp, #0x0]
- ldrh r0, [r4, #0xe]
- ldr r5, [r4, #0x8]
- bl FUN_0201B93C
- asr r1, r0, #0x1f
- asr r3, r5, #0x1f
- add r2, r5, #0x0
- bl _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r2, r0, r2
- adc r1, r3
- lsl r0, r1, #0x14
- lsr r1, r2, #0xc
- orr r1, r0
- str r1, [sp, #0x8]
- str r3, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x0
- bl FUN_02058BB4
- ldrh r1, [r4, #0xe]
- ldrh r0, [r4, #0x10]
- add r0, r1, r0
- strh r0, [r4, #0xe]
- mov r0, #0x5a
- ldrh r1, [r4, #0xe]
- lsl r0, r0, #0x2
- cmp r1, r0
- blo _02054F28
- mov r0, #0x0
- strh r0, [r4, #0xe]
- ldrh r0, [r4, #0xc]
- sub r0, r0, #0x1
- strh r0, [r4, #0xc]
-_02054F28:
- ldrh r0, [r4, #0xc]
- cmp r0, #0x0
- bne _02054F4A
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0x4]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x0
- bl FUN_02058BB4
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r5, pc}
-_02054F4A:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02054F50
-FUN_02054F50: ; 0x02054F50
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r1, #0x14
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x14
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, sp, #0x8
- ldrh r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02054F8A
- lsl r0, r0, #0xc
- bl _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- b _02054F98
-_02054F8A:
- lsl r0, r0, #0xc
- bl _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
-_02054F98:
- bl _ffix
- str r0, [r4, #0x4]
- add r0, sp, #0x8
- ldrh r0, [r0, #0x14]
- cmp r0, #0x0
- beq _02054FB8
- lsl r0, r0, #0xc
- bl _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- b _02054FC6
-_02054FB8:
- lsl r0, r0, #0xc
- bl _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
-_02054FC6:
- bl _ffix
- str r0, [r4, #0x8]
- strh r6, [r4, #0xc]
- strh r7, [r4, #0x10]
- ldr r0, [sp, #0x0]
- str r5, [r4, #0x0]
- ldr r0, [r0, #0x10]
- ldr r1, _02054FE0 ; =FUN_02054EA0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02054FE0: .word FUN_02054EA0
-
- thumb_func_start FUN_02054FE4
-FUN_02054FE4: ; 0x02054FE4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldrb r1, [r4, #0x9]
- ldr r0, [r4, #0x0]
- bl FUN_0205889C
- ldrb r1, [r4, #0x8]
- add r0, r1, #0x1
- strb r0, [r4, #0x8]
- ldrh r0, [r4, #0x6]
- cmp r1, r0
- blt _02055028
- ldrb r1, [r4, #0x9]
- mov r0, #0x1
- eor r0, r1
- strb r0, [r4, #0x9]
- mov r0, #0x0
- strb r0, [r4, #0x8]
- ldrh r1, [r4, #0x4]
- sub r0, r1, #0x1
- strh r0, [r4, #0x4]
- cmp r1, #0x0
- bne _02055028
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4, pc}
-_02055028:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205502C
-FUN_0205502C: ; 0x0205502C
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- strh r6, [r4, #0x4]
- strh r7, [r4, #0x6]
- str r5, [r4, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x9]
- ldr r0, [sp, #0x0]
- ldr r1, _02055064 ; =FUN_02054FE4
- ldr r0, [r0, #0x10]
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02055064: .word FUN_02054FE4
-
- thumb_func_start FUN_02055068
-FUN_02055068: ; 0x02055068
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_0205517C
- ldr r1, [sp, #0x20]
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x28]
- add r6, r0, #0x0
- bl FUN_0205519C
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x24]
- bl FUN_020555A0
- add r2, r0, #0x0
- str r5, [sp, #0x0]
- ldr r3, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x4]
- bl FUN_02055208
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020550A4
-FUN_020550A4: ; 0x020550A4
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r7, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0205517C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020554C8
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_0205519C
- add r0, r7, #0x0
- bl FUN_020552E4
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_020555A0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058454
- mov r1, #0x9
- add r0, r4, #0x0
- lsl r1, r1, #0xa
- bl FUN_02058410
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058418
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02058AC8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205539C
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02055108
-FUN_02055108: ; 0x02055108
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bne _02055118
- bl ErrorHandling
-_02055118:
- add r0, r4, #0x0
- bl FUN_02058578
- add r0, r5, #0x0
- bl MOD05_021EDBC8
- add r0, r5, #0x0
- bl FUN_020553C4
- cmp r0, #0x2
- bne _0205515C
- add r0, r5, #0x0
- bl FUN_02055320
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205532C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020552F8
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl MOD06_0224ABAC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02055450
-_0205515C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02055160
-FUN_02055160: ; 0x02055160
- ldr r3, _02055164 ; =FUN_02016A18
- bx r3
- .balign 4
-_02055164: .word FUN_02016A18
-
- thumb_func_start FUN_02055168
-FUN_02055168: ; 0x02055168
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020553A0
- bl FUN_02057654
- add r0, r4, #0x0
- bl FUN_02055160
- pop {r4, pc}
-
- thumb_func_start FUN_0205517C
-FUN_0205517C: ; 0x0205517C
- push {r4, lr}
- mov r0, #0xb
- mov r1, #0x3c
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0205518E
- bl ErrorHandling
-_0205518E:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x3c
- bl memset
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205519C
-FUN_0205519C: ; 0x0205519C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r1, r3, #0x0
- add r6, r2, #0x0
- bl FUN_02055458
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020553A8
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020553E4
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020553DC
- add r0, r5, #0x0
- bl FUN_02055410
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- bl FUN_0205542C
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- bl FUN_02055434
- add r0, r5, #0x0
- mov r1, #0xff
- bl FUN_02055460
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020556C8
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205574C
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02055208
-FUN_02055208: ; 0x02055208
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r1, #0x0
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x1c]
- bl FUN_0205753C
- add r5, r0, #0x0
- bne _02055228
- bl ErrorHandling
-_02055228:
- add r0, r5, #0x0
- mov r1, #0xff
- bl FUN_02058444
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058484
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205848C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058494
- mov r1, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020584EC
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_020584EC
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl FUN_020584EC
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- bl FUN_02058534
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- bl FUN_0205853C
- mov r1, #0x9
- add r0, r5, #0x0
- lsl r1, r1, #0xa
- bl FUN_02058410
- mov r1, #0x6
- add r0, r5, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058418
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058AC8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0205539C
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020552A4
-FUN_020552A4: ; 0x020552A4
- push {r3-r7, lr}
- sub sp, #0x8
- mov r1, #0x0
- str r1, [sp, #0x4]
- str r1, [sp, #0x0]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- add r5, r0, #0x0
- bl FUN_020580F4
- cmp r0, #0x0
- beq _020552DE
- add r4, sp, #0x0
- add r6, sp, #0x4
- mov r7, #0x1
-_020552C4:
- ldr r0, [sp, #0x0]
- bl FUN_02058480
- cmp r0, #0x1
- beq _020552DE
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_020580F4
- cmp r0, #0x0
- bne _020552C4
-_020552DE:
- ldr r0, [sp, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020552E4
-FUN_020552E4: ; 0x020552E4
- push {r4, lr}
- bl FUN_020552A4
- add r4, r0, #0x0
- bne _020552F2
- bl ErrorHandling
-_020552F2:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020552F8
-FUN_020552F8: ; 0x020552F8
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_020584C4
- pop {r3, pc}
-
- thumb_func_start FUN_02055304
-FUN_02055304: ; 0x02055304
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_020584AC
- pop {r4, pc}
-
- thumb_func_start FUN_02055314
-FUN_02055314: ; 0x02055314
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_020584D4
- pop {r3, pc}
-
- thumb_func_start FUN_02055320
-FUN_02055320: ; 0x02055320
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_02058B2C
- pop {r3, pc}
-
- thumb_func_start FUN_0205532C
-FUN_0205532C: ; 0x0205532C
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_02058B4C
- pop {r3, pc}
-
- thumb_func_start FUN_02055338
-FUN_02055338: ; 0x02055338
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_02058B14
- pop {r3, pc}
-
- thumb_func_start FUN_02055344
-FUN_02055344: ; 0x02055344
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_02058B24
- pop {r3, pc}
-
- thumb_func_start FUN_02055350
-FUN_02055350: ; 0x02055350
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_02058B5C
- pop {r4, pc}
-
- thumb_func_start FUN_02055360
-FUN_02055360: ; 0x02055360
- push {r3, lr}
- bl FUN_020553A4
- bl FUN_02058B7C
- pop {r3, pc}
-
- thumb_func_start FUN_0205536C
-FUN_0205536C: ; 0x0205536C
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02055370
-FUN_02055370: ; 0x02055370
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02055374
-FUN_02055374: ; 0x02055374
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02055378
-FUN_02055378: ; 0x02055378
- ldr r0, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_0205537C
-FUN_0205537C: ; 0x0205537C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- cmp r4, #0x1
- bne _02055392
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_02058418
- pop {r4, pc}
-_02055392:
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_02058410
- pop {r4, pc}
-
- thumb_func_start FUN_0205539C
-FUN_0205539C: ; 0x0205539C
- str r1, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_020553A0
-FUN_020553A0: ; 0x020553A0
- ldr r0, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_020553A4
-FUN_020553A4: ; 0x020553A4
- ldr r0, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_020553A8
-FUN_020553A8: ; 0x020553A8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blt _020553B6
- bl ErrorHandling
-_020553B6:
- add r0, r5, #0x0
- add r1, r4, #0x0
- str r4, [r5, #0x18]
- bl FUN_020554DC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020553C4
-FUN_020553C4: ; 0x020553C4
- push {r4, lr}
- add r4, r0, #0x0
- bne _020553CE
- bl ErrorHandling
-_020553CE:
- ldr r0, [r4, #0x18]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020553D4
-FUN_020553D4: ; 0x020553D4
- ldr r2, [r0, #0x4]
- orr r1, r2
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_020553DC
-FUN_020553DC: ; 0x020553DC
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_020553E0
-FUN_020553E0: ; 0x020553E0
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_020553E4
-FUN_020553E4: ; 0x020553E4
- str r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_020553E8
-FUN_020553E8: ; 0x020553E8
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_020553EC
-FUN_020553EC: ; 0x020553EC
- ldr r2, [r0, #0x0]
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020553F4
-FUN_020553F4: ; 0x020553F4
- ldr r2, [r0, #0x0]
- mvn r1, r1
- and r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02055400
-FUN_02055400: ; 0x02055400
- ldr r0, [r0, #0x0]
- and r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02055408
-FUN_02055408: ; 0x02055408
- ldr r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_0205540C
-FUN_0205540C: ; 0x0205540C
- str r1, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_02055410
-FUN_02055410: ; 0x02055410
- ldr r3, _02055418 ; =FUN_020556F4
- mov r1, #0x0
- str r1, [r0, #0x20]
- bx r3
- .balign 4
-_02055418: .word FUN_020556F4
-
- thumb_func_start FUN_0205541C
-FUN_0205541C: ; 0x0205541C
- ldr r3, [r0, #0x20]
- add r1, r3, r1
- str r1, [r0, #0x20]
- cmp r1, r2
- ble _02055428
- str r2, [r0, #0x20]
-_02055428:
- ldr r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_0205542C
-FUN_0205542C: ; 0x0205542C
- str r1, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_02055430
-FUN_02055430: ; 0x02055430
- ldr r0, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_02055434
-FUN_02055434: ; 0x02055434
- str r1, [r0, #0x28]
- bx lr
-
- thumb_func_start FUN_02055438
-FUN_02055438: ; 0x02055438
- ldr r0, [r0, #0x28]
- bx lr
-
- thumb_func_start FUN_0205543C
-FUN_0205543C: ; 0x0205543C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_0205542C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02055434
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02055450
-FUN_02055450: ; 0x02055450
- str r1, [r0, #0x30]
- bx lr
-
- thumb_func_start FUN_02055454
-FUN_02055454: ; 0x02055454
- ldr r0, [r0, #0x30]
- bx lr
-
- thumb_func_start FUN_02055458
-FUN_02055458: ; 0x02055458
- str r1, [r0, #0x34]
- bx lr
-
- thumb_func_start FUN_0205545C
-FUN_0205545C: ; 0x0205545C
- ldr r0, [r0, #0x34]
- bx lr
-
- thumb_func_start FUN_02055460
-FUN_02055460: ; 0x02055460
- str r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02055464
-FUN_02055464: ; 0x02055464
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02055468
-FUN_02055468: ; 0x02055468
- mov r1, #0x0
- strh r1, [r0, #0x0]
- strh r1, [r0, #0x2]
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02055474
-FUN_02055474: ; 0x02055474
- cmp r0, #0x0
- beq _02055482
- ldrh r0, [r0, #0x2]
- cmp r0, #0x1
- bne _02055482
- mov r0, #0x1
- bx lr
-_02055482:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02055488
-FUN_02055488: ; 0x02055488
- cmp r1, #0x1
- bne _02055492
- mov r1, #0x1
- strh r1, [r0, #0x2]
- bx lr
-_02055492:
- mov r1, #0x0
- strh r1, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02055498
-FUN_02055498: ; 0x02055498
- cmp r0, #0x0
- bne _020554A0
- mov r0, #0x0
- bx lr
-_020554A0:
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020554A4
-FUN_020554A4: ; 0x020554A4
- cmp r0, #0x0
- beq _020554AA
- strh r1, [r0, #0x0]
-_020554AA:
- bx lr
-
- thumb_func_start FUN_020554AC
-FUN_020554AC: ; 0x020554AC
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0205545C
- add r1, r4, #0x0
- bl FUN_020554A4
- pop {r4, pc}
-
- thumb_func_start FUN_020554BC
-FUN_020554BC: ; 0x020554BC
- push {r3, lr}
- bl FUN_0205545C
- bl FUN_02055498
- pop {r3, pc}
-
- thumb_func_start FUN_020554C8
-FUN_020554C8: ; 0x020554C8
- cmp r0, #0x0
- beq _020554D0
- ldr r0, [r0, #0x4]
- bx lr
-_020554D0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020554D4
-FUN_020554D4: ; 0x020554D4
- cmp r0, #0x0
- beq _020554DA
- str r1, [r0, #0x4]
-_020554DA:
- bx lr
-
- thumb_func_start FUN_020554DC
-FUN_020554DC: ; 0x020554DC
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0205545C
- add r1, r4, #0x0
- bl FUN_020554D4
- pop {r4, pc}
-
- thumb_func_start FUN_020554EC
-FUN_020554EC: ; 0x020554EC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r5, r0, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02058DBC
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02055514
-FUN_02055514: ; 0x02055514
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r4, r3, #0x0
- bl FUN_020553A0
- add r1, r6, #0x0
- mov r2, #0x0
- add r3, r7, #0x0
- str r4, [sp, #0x0]
- bl FUN_02058E28
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02055540
-FUN_02055540: ; 0x02055540
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- add r1, sp, #0x0
- bl FUN_02058B5C
- add r0, r4, #0x0
- add r1, sp, #0x0
- str r5, [sp, #0x4]
- bl FUN_02058B6C
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02055560
-FUN_02055560: ; 0x02055560
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- cmp r4, #0x1
- bne _02055574
- mov r1, #0x0
- bl FUN_02058960
- pop {r4, pc}
-_02055574:
- mov r1, #0x1
- bl FUN_02058960
- pop {r4, pc}
-
- thumb_func_start FUN_0205557C
-FUN_0205557C: ; 0x0205557C
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- cmp r5, #0x1
- bne _02055598
- mov r1, #0x0
- bl FUN_02058960
- add r0, r4, #0x0
- bl FUN_02059D1C
- pop {r3-r5, pc}
-_02055598:
- mov r1, #0x1
- bl FUN_02058960
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020555A0
-FUN_020555A0: ; 0x020555A0
- push {r3, lr}
- cmp r1, #0x0
- bne _020555F2
- cmp r0, #0x9
- bhi _0205563E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020555B6: ; jump table (using 16-bit offset)
- .short _020555CA - _020555B6 - 2; case 0
- .short _020555CE - _020555B6 - 2; case 1
- .short _020555D2 - _020555B6 - 2; case 2
- .short _020555D6 - _020555B6 - 2; case 3
- .short _020555DA - _020555B6 - 2; case 4
- .short _020555DE - _020555B6 - 2; case 5
- .short _020555E2 - _020555B6 - 2; case 6
- .short _020555E6 - _020555B6 - 2; case 7
- .short _020555EA - _020555B6 - 2; case 8
- .short _020555EE - _020555B6 - 2; case 9
-_020555CA:
- mov r0, #0x0
- pop {r3, pc}
-_020555CE:
- mov r0, #0x15
- pop {r3, pc}
-_020555D2:
- mov r0, #0xb2
- pop {r3, pc}
-_020555D6:
- mov r0, #0xb0
- pop {r3, pc}
-_020555DA:
- mov r0, #0xb4
- pop {r3, pc}
-_020555DE:
- mov r0, #0xba
- pop {r3, pc}
-_020555E2:
- mov r0, #0xbc
- pop {r3, pc}
-_020555E6:
- mov r0, #0xc4
- pop {r3, pc}
-_020555EA:
- mov r0, #0xc6
- pop {r3, pc}
-_020555EE:
- mov r0, #0xc8
- pop {r3, pc}
-_020555F2:
- cmp r0, #0x9
- bhi _0205563E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02055602: ; jump table (using 16-bit offset)
- .short _02055616 - _02055602 - 2; case 0
- .short _0205561A - _02055602 - 2; case 1
- .short _0205561E - _02055602 - 2; case 2
- .short _02055622 - _02055602 - 2; case 3
- .short _02055626 - _02055602 - 2; case 4
- .short _0205562A - _02055602 - 2; case 5
- .short _0205562E - _02055602 - 2; case 6
- .short _02055632 - _02055602 - 2; case 7
- .short _02055636 - _02055602 - 2; case 8
- .short _0205563A - _02055602 - 2; case 9
-_02055616:
- mov r0, #0x61
- pop {r3, pc}
-_0205561A:
- mov r0, #0x62
- pop {r3, pc}
-_0205561E:
- mov r0, #0xb3
- pop {r3, pc}
-_02055622:
- mov r0, #0xb1
- pop {r3, pc}
-_02055626:
- mov r0, #0xb5
- pop {r3, pc}
-_0205562A:
- mov r0, #0xbb
- pop {r3, pc}
-_0205562E:
- mov r0, #0xbd
- pop {r3, pc}
-_02055632:
- mov r0, #0xc5
- pop {r3, pc}
-_02055636:
- mov r0, #0xc7
- pop {r3, pc}
-_0205563A:
- mov r0, #0xc9
- pop {r3, pc}
-_0205563E:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02055648
-FUN_02055648: ; 0x02055648
- push {r3, lr}
- cmp r0, #0x9
- bhi _02055690
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205565A: ; jump table (using 16-bit offset)
- .short _0205566E - _0205565A - 2; case 0
- .short _02055672 - _0205565A - 2; case 1
- .short _02055676 - _0205565A - 2; case 2
- .short _02055690 - _0205565A - 2; case 3
- .short _0205567A - _0205565A - 2; case 4
- .short _02055690 - _0205565A - 2; case 5
- .short _0205567E - _0205565A - 2; case 6
- .short _02055682 - _0205565A - 2; case 7
- .short _02055686 - _0205565A - 2; case 8
- .short _0205568A - _0205565A - 2; case 9
-_0205566E:
- mov r0, #0x1
- pop {r3, pc}
-_02055672:
- mov r0, #0x2
- pop {r3, pc}
-_02055676:
- mov r0, #0x4
- pop {r3, pc}
-_0205567A:
- mov r0, #0x10
- pop {r3, pc}
-_0205567E:
- mov r0, #0x20
- pop {r3, pc}
-_02055682:
- mov r0, #0x40
- pop {r3, pc}
-_02055686:
- mov r0, #0x80
- pop {r3, pc}
-_0205568A:
- mov r0, #0x1
- lsl r0, r0, #0x8
- pop {r3, pc}
-_02055690:
- bl ErrorHandling
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02055698
-FUN_02055698: ; 0x02055698
- ldr r0, [r0, #0x38]
- bx lr
-
- thumb_func_start FUN_0205569C
-FUN_0205569C: ; 0x0205569C
- push {r3, lr}
- cmp r1, #0x1
- bne _020556AA
- mov r1, #0x1
- bl FUN_020553EC
- pop {r3, pc}
-_020556AA:
- mov r1, #0x1
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020556B4
-FUN_020556B4: ; 0x020556B4
- push {r3, lr}
- mov r1, #0x1
- bl FUN_02055400
- cmp r0, #0x0
- beq _020556C4
- mov r0, #0x1
- pop {r3, pc}
-_020556C4:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020556C8
-FUN_020556C8: ; 0x020556C8
- push {r3, lr}
- cmp r1, #0x1
- bne _020556D6
- mov r1, #0x2
- bl FUN_020553EC
- pop {r3, pc}
-_020556D6:
- mov r1, #0x2
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020556E0
-FUN_020556E0: ; 0x020556E0
- push {r3, lr}
- mov r1, #0x2
- bl FUN_02055400
- cmp r0, #0x0
- beq _020556F0
- mov r0, #0x1
- pop {r3, pc}
-_020556F0:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020556F4
-FUN_020556F4: ; 0x020556F4
- push {r3, lr}
- cmp r1, #0x1
- bne _02055702
- mov r1, #0x4
- bl FUN_020553EC
- pop {r3, pc}
-_02055702:
- mov r1, #0x4
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205570C
-FUN_0205570C: ; 0x0205570C
- push {r3, lr}
- mov r1, #0x4
- bl FUN_02055400
- cmp r0, #0x0
- beq _0205571C
- mov r0, #0x1
- pop {r3, pc}
-_0205571C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02055720
-FUN_02055720: ; 0x02055720
- push {r3, lr}
- cmp r1, #0x1
- bne _0205572E
- mov r1, #0x8
- bl FUN_020553EC
- pop {r3, pc}
-_0205572E:
- mov r1, #0x8
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02055738
-FUN_02055738: ; 0x02055738
- push {r3, lr}
- mov r1, #0x8
- bl FUN_02055400
- cmp r0, #0x0
- beq _02055748
- mov r0, #0x1
- pop {r3, pc}
-_02055748:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205574C
-FUN_0205574C: ; 0x0205574C
- push {r3, lr}
- cmp r1, #0x1
- bne _0205575A
- mov r1, #0x10
- bl FUN_020553EC
- pop {r3, pc}
-_0205575A:
- mov r1, #0x10
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02055764
-FUN_02055764: ; 0x02055764
- push {r3, lr}
- mov r1, #0x10
- bl FUN_02055400
- cmp r0, #0x0
- beq _02055774
- mov r0, #0x1
- pop {r3, pc}
-_02055774:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02055778
-FUN_02055778: ; 0x02055778
- push {r3, lr}
- cmp r1, #0x1
- bne _02055786
- mov r1, #0x20
- bl FUN_020553EC
- pop {r3, pc}
-_02055786:
- mov r1, #0x20
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02055790
-FUN_02055790: ; 0x02055790
- push {r3, lr}
- mov r1, #0x20
- bl FUN_02055400
- cmp r0, #0x0
- beq _020557A0
- mov r0, #0x1
- pop {r3, pc}
-_020557A0:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020557A4
-FUN_020557A4: ; 0x020557A4
- ldr r3, _020557AC ; =FUN_020553EC
- mov r1, #0x40
- bx r3
- nop
-_020557AC: .word FUN_020553EC
-
- thumb_func_start FUN_020557B0
-FUN_020557B0: ; 0x020557B0
- ldr r3, _020557B8 ; =FUN_020553F4
- mov r1, #0x40
- bx r3
- nop
-_020557B8: .word FUN_020553F4
-
- thumb_func_start FUN_020557BC
-FUN_020557BC: ; 0x020557BC
- push {r3, lr}
- mov r1, #0x40
- bl FUN_02055400
- cmp r0, #0x0
- beq _020557CC
- mov r0, #0x1
- pop {r3, pc}
-_020557CC:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020557D0
-FUN_020557D0: ; 0x020557D0
- push {r3, lr}
- cmp r1, #0x1
- bne _020557DE
- mov r1, #0x80
- bl FUN_020553EC
- pop {r3, pc}
-_020557DE:
- mov r1, #0x80
- bl FUN_020553F4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020557E8
-FUN_020557E8: ; 0x020557E8
- ldr r3, _020557F0 ; =FUN_02055400
- mov r1, #0x80
- bx r3
- nop
-_020557F0: .word FUN_02055400
-
- thumb_func_start FUN_020557F4
-FUN_020557F4: ; 0x020557F4
- push {r3-r7, lr}
- add r7, r1, #0x0
- mov r1, #0x0
- add r4, r2, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- add r6, r3, #0x0
- cmp r4, r1
- bne _02055812
- add r2, sp, #0x8
- ldrh r2, [r2, #0x10]
- add r1, r6, #0x0
- bl FUN_02057060
- add r4, r0, #0x0
-_02055812:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020563F0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020558A0
- cmp r0, #0x0
- beq _02055896
- add r3, sp, #0x8
- ldrh r3, [r3, #0x10]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02055900
- add r0, r5, #0x0
- bl MOD05_021E5FE0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02055BD4
- cmp r0, #0x1
- bne _0205584E
- add r0, r5, #0x0
- bl MOD05_021E7138
- pop {r3-r7, pc}
-_0205584E:
- add r0, r5, #0x0
- bl FUN_020553C4
- cmp r0, #0x0
- bne _02055878
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020561D0
- cmp r0, #0x0
- beq _0205586C
- add r0, r5, #0x0
- bl MOD05_021E7138
- b _02055878
-_0205586C:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x1
- bne _02055878
- add r0, r5, #0x0
- bl MOD05_021E70F0
-_02055878:
- add r0, sp, #0x8
- ldrh r0, [r0, #0x10]
- add r1, r7, #0x0
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r3, r6, #0x0
- bl FUN_02056110
- add r0, r5, #0x0
- bl FUN_02055928
- add r0, r5, #0x0
- bl FUN_02055968
-_02055896:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02055898
-FUN_02055898: ; 0x02055898
- ldr r3, _0205589C ; =FUN_020558A0
- bx r3
- .balign 4
-_0205589C: .word FUN_020558A0
-
- thumb_func_start FUN_020558A0
-FUN_020558A0: ; 0x020558A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020553A0
- add r6, r0, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _020558B8
- mov r0, #0x1
- pop {r4-r6, pc}
-_020558B8:
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _020558C4
- mov r0, #0x0
- pop {r4-r6, pc}
-_020558C4:
- add r0, r6, #0x0
- bl FUN_020586F0
- bl FUN_020570F0
- cmp r0, #0x1
- bne _020558FA
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02056B74
- cmp r0, #0x0
- bne _020558E4
- mov r0, #0x1
- pop {r4-r6, pc}
-_020558E4:
- cmp r0, #0x20
- bne _020558F6
- add r0, r5, #0x0
- bl FUN_020553C4
- cmp r0, #0x2
- bne _020558F6
- mov r0, #0x1
- pop {r4-r6, pc}
-_020558F6:
- mov r0, #0x0
- pop {r4-r6, pc}
-_020558FA:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02055900
-FUN_02055900: ; 0x02055900
- push {r4-r6, lr}
- add r6, r3, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02057028
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02057044
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205543C
- add r0, r5, #0x0
- bl FUN_020557B0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02055928
-FUN_02055928: ; 0x02055928
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020557BC
- cmp r0, #0x1
- bne _02055964
- add r0, r4, #0x0
- bl FUN_02055370
- cmp r0, #0x1
- bne _02055964
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020556C8
- add r0, r4, #0x0
- bl FUN_02055764
- cmp r0, #0x1
- bne _02055964
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205574C
- add r0, r4, #0x0
- bl FUN_020553A0
- mov r1, #0x0
- bl FUN_02058A18
-_02055964:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02055968
-FUN_02055968: ; 0x02055968
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02055370
- cmp r0, #0x1
- bne _02055A20
- add r0, r4, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0x0
- bl FUN_020586F0
- bl FUN_0205B020
- add r1, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0205599C
- add r6, r5, #0x0
- b _020559A6
-_0205599C:
- add r0, r4, #0x0
- bl FUN_02059C90
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_020559A6:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02059B2C
- cmp r0, #0x1
- bne _020559B8
- ldr r0, _02055A24 ; =0x0000061F
- bl FUN_020054C8
-_020559B8:
- add r0, r5, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- bne _020559C8
- ldr r0, _02055A28 ; =0x00000641
- bl FUN_020054C8
-_020559C8:
- add r0, r5, #0x0
- bl FUN_0205483C
- cmp r0, #0x1
- bne _020559D8
- ldr r0, _02055A2C ; =0x00000642
- bl FUN_020054C8
-_020559D8:
- add r0, r5, #0x0
- bl FUN_02054830
- add r0, r5, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- bne _020559F8
- add r0, r5, #0x0
- bl FUN_02054984
- cmp r0, #0x1
- beq _020559F8
- ldr r0, _02055A30 ; =0x00000655
- bl FUN_020054C8
-_020559F8:
- add r0, r4, #0x0
- bl FUN_020586F0
- bl FUN_020570F0
- cmp r0, #0x0
- bne _02055A20
- add r0, r5, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- beq _02055A1A
- add r0, r6, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- bne _02055A20
-_02055A1A:
- ldr r0, _02055A34 ; =0x00000653
- bl FUN_020054C8
-_02055A20:
- pop {r4-r6, pc}
- nop
-_02055A24: .word 0x0000061F
-_02055A28: .word 0x00000641
-_02055A2C: .word 0x00000642
-_02055A30: .word 0x00000655
-_02055A34: .word 0x00000653
-
- thumb_func_start FUN_02055A38
-FUN_02055A38: ; 0x02055A38
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02055370
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02055378
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020553A0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- bl FUN_02055BEC
- cmp r0, #0x0
- beq _02055A76
- cmp r0, #0x5
- beq _02055A76
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055A76:
- add r0, r7, #0x0
- bl FUN_0205AD98
- cmp r0, #0x0
- bne _02055AC2
- cmp r6, #0x0
- beq _02055B10
- cmp r6, #0x1
- beq _02055A8E
- cmp r6, #0x2
- beq _02055AB8
- pop {r3-r7, pc}
-_02055A8E:
- add r0, r7, #0x0
- bl FUN_020586F0
- bl FUN_020570F0
- cmp r0, #0x1
- beq _02055B10
- cmp r4, #0x0
- beq _02055AA4
- cmp r4, #0x3
- bne _02055AAE
-_02055AA4:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055AAE:
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055AB8:
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055AC2:
- add r0, r7, #0x0
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _02055B10
- cmp r6, #0x0
- beq _02055B10
- cmp r6, #0x1
- beq _02055ADA
- cmp r6, #0x2
- beq _02055AF6
- pop {r3-r7, pc}
-_02055ADA:
- cmp r4, #0x0
- beq _02055B10
- cmp r4, #0x3
- bne _02055AEC
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055AEC:
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055AF6:
- cmp r4, #0x0
- beq _02055B10
- cmp r4, #0x3
- bne _02055B08
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02055374
- pop {r3-r7, pc}
-_02055B08:
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_02055374
-_02055B10:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02055B14
-FUN_02055B14: ; 0x02055B14
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02055374
- add r0, r4, #0x0
- bl FUN_02055410
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02055B30
-FUN_02055B30: ; 0x02055B30
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02055370
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02055378
- cmp r4, #0x0
- bne _02055B48
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055B48:
- cmp r4, #0x2
- bne _02055B50
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055B50:
- cmp r4, #0x1
- bne _02055B86
- cmp r0, #0x0
- beq _02055B5C
- cmp r0, #0x3
- bne _02055B60
-_02055B5C:
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055B60:
- add r0, r5, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _02055B74
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055B74:
- add r0, r4, #0x0
- bl FUN_020586F0
- bl FUN_020570F0
- cmp r0, #0x1
- bne _02055B86
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055B86:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02055B8C
-FUN_02055B8C: ; 0x02055B8C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02055374
- add r0, r4, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- add r1, r5, #0x0
- bl FUN_020584AC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02059C60
- add r0, r4, #0x0
- bl FUN_0205AE80
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205ADDC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02055BD4
-FUN_02055BD4: ; 0x02055BD4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02055BEC
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02055C4C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02055BEC
-FUN_02055BEC: ; 0x02055BEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r4, #0x0
- bl FUN_020553A0
- bl FUN_02058720
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0205733C
- cmp r0, #0x1
- bne _02055C10
- mov r0, #0x5
- pop {r3-r7, pc}
-_02055C10:
- add r0, r5, #0x0
- bl FUN_020556E0
- cmp r0, #0x1
- bne _02055C1E
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_02055C1E:
- lsl r0, r7, #0x18
- ldr r5, _02055C44 ; =0x020F5D34
- lsr r6, r0, #0x18
-_02055C24:
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- blx r1
- cmp r0, #0x1
- bne _02055C36
- ldr r0, _02055C48 ; =0x020F5D38
- lsl r1, r4, #0x3
- ldr r0, [r0, r1]
- pop {r3-r7, pc}
-_02055C36:
- add r5, #0x8
- ldr r0, [r5, #0x0]
- add r4, r4, #0x1
- cmp r0, #0x0
- bne _02055C24
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02055C44: .word 0x020F5D34
-_02055C48: .word 0x020F5D38
-
- thumb_func_start FUN_02055C4C
-FUN_02055C4C: ; 0x02055C4C
- push {r3, lr}
- add r3, r1, #0x0
- add r1, r2, #0x0
- ldr r2, _02055C68 ; =0x020F5D1C
- lsl r3, r3, #0x2
- ldr r2, [r2, r3]
- blx r2
- cmp r0, #0x1
- bne _02055C62
- mov r0, #0x1
- pop {r3, pc}
-_02055C62:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02055C68: .word 0x020F5D1C
-
- thumb_func_start FUN_02055C6C
-FUN_02055C6C: ; 0x02055C6C
- push {r3, lr}
- bl FUN_02055FFC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02055C78
-FUN_02055C78: ; 0x02055C78
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_020584D4
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056040
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02056B74
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02055D28
- add r0, r5, #0x0
- bl FUN_02055FFC
- cmp r7, #0x1
- beq _02055CCA
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020556C8
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- mov r0, #0x0
- pop {r3-r7, pc}
-_02055CCA:
- add r0, r6, #0x0
- bl FUN_02059E74
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02056B74
- cmp r0, #0x0
- beq _02055CE4
- mov r0, #0x0
- pop {r3-r7, pc}
-_02055CE4:
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058410
- add r0, r6, #0x0
- mov r1, #0x8
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020556C8
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02055D28:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_020560A0
- cmp r0, #0x0
- bne _02055D8E
- add r0, r5, #0x0
- bl FUN_02055FFC
- add r0, r6, #0x0
- bl FUN_02059E74
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02056B74
- cmp r0, #0x0
- beq _02055D54
- mov r0, #0x0
- pop {r3-r7, pc}
-_02055D54:
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058410
- add r0, r6, #0x0
- mov r1, #0x8
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020556C8
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- b _02055DA0
-_02055D8E:
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058410
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020560D0
-_02055DA0:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02055DAC
-FUN_02055DAC: ; 0x02055DAC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- bl FUN_020553A0
- add r6, r0, #0x0
- bl FUN_020584D4
- add r4, r0, #0x0
- ldr r0, _02055EF4 ; =0x00000654
- bl FUN_020054C8
- cmp r4, #0x0
- bne _02055E62
- add r0, r5, #0x0
- bl FUN_020553C4
- cmp r0, #0x1
- bne _02055DFE
- add r0, r5, #0x0
- bl FUN_02055408
- cmp r0, #0x3
- blt _02055DFE
- cmp r7, #0x0
- bne _02055DFE
- add r0, r4, #0x0
- mov r1, #0x15
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02055DFE:
- add r0, r4, #0x0
- bl FUN_02059E74
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02056B74
- cmp r0, #0x0
- beq _02055E18
- mov r0, #0x0
- pop {r3-r7, pc}
-_02055E18:
- mov r1, #0x6
- add r0, r6, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058410
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- bl FUN_02055410
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02055778
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02055E62:
- cmp r4, #0x1
- bne _02055EF0
- add r0, r5, #0x0
- bl FUN_02055790
- cmp r0, #0x0
- bne _02055EAC
- add r0, r4, #0x0
- mov r1, #0x15
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- add r0, r5, #0x0
- bl FUN_020554BC
- cmp r0, #0x1
- bne _02055E9C
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0205540C
-_02055E9C:
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02055EAC:
- mov r1, #0x6
- add r0, r6, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058410
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02055778
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02055EF0:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02055EF4: .word 0x00000654
-
- thumb_func_start FUN_02055EF8
-FUN_02055EF8: ; 0x02055EF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_020584D4
- add r0, r5, #0x0
- bl FUN_020554BC
- cmp r0, #0x1
- bne _02055F22
- ldr r0, _02055F40 ; =0x00000656
- bl FUN_020054C8
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x5f
- bl FUN_02056B5C
- b _02055F2C
-_02055F22:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x5d
- bl FUN_02056B5C
-_02055F2C:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020557D0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02055F40: .word 0x00000656
-
- thumb_func_start FUN_02055F44
-FUN_02055F44: ; 0x02055F44
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_020584D4
- add r0, r5, #0x0
- bl FUN_020554BC
- cmp r0, #0x1
- bne _02055F6E
- ldr r0, _02055F8C ; =0x00000656
- bl FUN_020054C8
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x5e
- bl FUN_02056B5C
- b _02055F78
-_02055F6E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x5c
- bl FUN_02056B5C
-_02055F78:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020557D0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02055F8C: .word 0x00000656
-
- thumb_func_start FUN_02055F90
-FUN_02055F90: ; 0x02055F90
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02056B74
- cmp r0, #0x0
- bne _02055FCE
- mov r0, #0x1
- mov r1, #0x14
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0205540C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02055FCE:
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- bl FUN_02055410
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020556F4
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02055FFC
-FUN_02055FFC: ; 0x02055FFC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020556B4
- cmp r0, #0x1
- bne _0205603E
- add r0, r4, #0x0
- bl FUN_020553A0
- mov r1, #0x6
- lsl r1, r1, #0x6
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_020557E8
- cmp r0, #0x0
- bne _02056026
- add r0, r4, #0x0
- bl FUN_02055410
-_02056026:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205569C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020557D0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02055778
-_0205603E:
- pop {r4, pc}
-
- thumb_func_start FUN_02056040
-FUN_02056040: ; 0x02056040
- push {r4-r6, lr}
- sub sp, #0x18
- add r5, r1, #0x0
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_02058738
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, sp, #0xc
- bl FUN_02058B5C
- add r4, sp, #0xc
- add r3, sp, #0x0
- ldmia r4!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- add r1, r2, #0x0
- mov r2, #0x1
- str r0, [r3, #0x0]
- add r0, r5, #0x0
- lsl r2, r2, #0xe
- bl FUN_02059E28
- add r0, r6, #0x0
- add r1, sp, #0x0
- bl FUN_02059E9C
- cmp r0, #0x0
- beq _02056088
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x10]
- cmp r0, r1
- bne _0205608E
-_02056088:
- add sp, #0x18
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205608E:
- cmp r0, r1
- ble _02056098
- add sp, #0x18
- mov r0, #0x2
- pop {r4-r6, pc}
-_02056098:
- mov r0, #0x1
- add sp, #0x18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020560A0
-FUN_020560A0: ; 0x020560A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02055408
- add r1, r0, #0x0
- cmp r4, #0x1
- bne _020560B8
- sub r1, r1, #0x1
- bpl _020560C4
- mov r0, #0x0
- pop {r3-r5, pc}
-_020560B8:
- cmp r4, #0x2
- bne _020560C4
- add r1, r1, #0x1
- cmp r1, #0x3
- ble _020560C4
- mov r1, #0x3
-_020560C4:
- add r0, r5, #0x0
- bl FUN_0205540C
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020560D0
-FUN_020560D0: ; 0x020560D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_020553A0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r4, #0x10
- bl FUN_02055408
- cmp r0, #0x1
- beq _020560F2
- cmp r0, #0x2
- beq _020560F6
- cmp r0, #0x3
- beq _020560FA
- b _020560FC
-_020560F2:
- mov r4, #0x50
- b _020560FC
-_020560F6:
- mov r4, #0x14
- b _020560FC
-_020560FA:
- mov r4, #0x14
-_020560FC:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02056B5C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056110
-FUN_02056110: ; 0x02056110
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r2, [sp, #0x8]
- add r5, r3, #0x0
- bl FUN_020553C4
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020553A0
- add r1, r0, #0x0
- cmp r4, #0x0
- beq _02056136
- cmp r4, #0x1
- beq _0205614C
- cmp r4, #0x2
- bne _02056162
-_02056136:
- str r5, [sp, #0x0]
- add r0, sp, #0x10
- ldrh r0, [r0, #0x10]
- ldr r3, [sp, #0x8]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_0205616C
- add sp, #0xc
- pop {r4-r7, pc}
-_0205614C:
- str r5, [sp, #0x0]
- add r0, sp, #0x10
- ldrh r0, [r0, #0x10]
- ldr r3, [sp, #0x8]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_020563A8
- add sp, #0xc
- pop {r4-r7, pc}
-_02056162:
- bl ErrorHandling
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205616C
-FUN_0205616C: ; 0x0205616C
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r3, #0x0
- add r4, r1, #0x0
- add r1, r6, #0x0
- add r5, r0, #0x0
- bl FUN_020561D0
- cmp r0, #0x0
- beq _0205618C
- cmp r0, #0x1
- beq _020561A2
- cmp r0, #0x2
- beq _020561B8
- add sp, #0x4
- pop {r3-r6, pc}
-_0205618C:
- add r3, sp, #0x8
- ldrh r0, [r3, #0x14]
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- ldrh r3, [r3, #0x10]
- add r0, r5, #0x0
- bl FUN_02056288
- add sp, #0x4
- pop {r3-r6, pc}
-_020561A2:
- add r3, sp, #0x8
- ldrh r0, [r3, #0x14]
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- ldrh r3, [r3, #0x10]
- add r0, r5, #0x0
- bl FUN_020562A8
- add sp, #0x4
- pop {r3-r6, pc}
-_020561B8:
- add r3, sp, #0x8
- ldrh r0, [r3, #0x14]
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- ldrh r3, [r3, #0x10]
- add r0, r5, #0x0
- bl FUN_02056384
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020561D0
-FUN_020561D0: ; 0x020561D0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02056244
- add r4, r0, #0x0
- bl FUN_020561EC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205536C
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020561EC
-FUN_020561EC: ; 0x020561EC
- push {r3, lr}
- cmp r0, #0x0
- beq _020561FC
- cmp r0, #0x1
- beq _02056200
- cmp r0, #0x2
- beq _02056204
- b _02056208
-_020561FC:
- mov r0, #0x0
- pop {r3, pc}
-_02056200:
- mov r0, #0x1
- pop {r3, pc}
-_02056204:
- mov r0, #0x2
- pop {r3, pc}
-_02056208:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02056210
-FUN_02056210: ; 0x02056210
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r0, r5, #0x0
- add r4, r2, #0x0
- bl FUN_020549F0
- cmp r0, #0x1
- bne _02056224
- mov r0, #0x4
- pop {r3-r5, pc}
-_02056224:
- add r0, r5, #0x0
- bl FUN_020549E4
- cmp r0, #0x1
- bne _02056232
- mov r0, #0x8
- pop {r3-r5, pc}
-_02056232:
- add r0, r5, #0x0
- bl FUN_020549D8
- cmp r0, #0x1
- bne _0205623E
- mov r4, #0xc
-_0205623E:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02056244
-FUN_02056244: ; 0x02056244
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- cmp r4, r1
- bne _0205625C
- mov r1, #0x0
- bl FUN_0205536C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205625C:
- bl FUN_020552F8
- cmp r0, r4
- beq _0205627A
- add r0, r5, #0x0
- bl FUN_02055370
- cmp r0, #0x1
- beq _0205627A
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205536C
- mov r0, #0x2
- pop {r3-r5, pc}
-_0205627A:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02056288
-FUN_02056288: ; 0x02056288
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020584C4
- mov r1, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020562A8
-FUN_020562A8: ; 0x020562A8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- bl FUN_02056B74
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020553C4
- cmp r0, #0x2
- beq _0205632A
- mov r0, #0x4
- tst r0, r4
- beq _020562CA
- mov r7, #0x38
- b _0205636C
-_020562CA:
- cmp r4, #0x0
- beq _020562E6
- mov r0, #0x8
- mov r7, #0x1c
- tst r0, r4
- bne _020562DC
- ldr r0, _02056380 ; =0x00000601
- bl FUN_020054C8
-_020562DC:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020584CC
- b _0205636C
-_020562E6:
- add r0, r5, #0x0
- mov r4, #0xc
- bl FUN_0205545C
- bl FUN_02055474
- cmp r0, #0x1
- bne _02056306
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- add r0, r5, #0x0
- bl FUN_02057114
- cmp r0, #0x1
- bne _02056306
- mov r4, #0x58
-_02056306:
- add r0, r6, #0x0
- bl FUN_02058720
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- add r2, r4, #0x0
- bl FUN_02056210
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- b _0205636C
-_0205632A:
- cmp r4, #0x0
- beq _02056332
- cmp r4, #0x20
- bne _02056356
-_02056332:
- add r0, r6, #0x0
- bl FUN_02058720
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- mov r2, #0xc
- bl FUN_02056210
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- b _0205636C
-_02056356:
- mov r0, #0x8
- mov r7, #0x1c
- tst r0, r4
- bne _02056364
- ldr r0, _02056380 ; =0x00000601
- bl FUN_020054C8
-_02056364:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020584CC
-_0205636C:
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- pop {r3-r7, pc}
- .balign 4
-_02056380: .word 0x00000601
-
- thumb_func_start FUN_02056384
-FUN_02056384: ; 0x02056384
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r6, #0x0
- mov r1, #0x28
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020563A8
-FUN_020563A8: ; 0x020563A8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020554BC
- cmp r0, #0x1
- add r0, sp, #0x10
- bne _020563D6
- ldrh r1, [r0, #0x10]
- add r2, r6, #0x0
- add r3, r7, #0x0
- str r1, [sp, #0x0]
- ldrh r0, [r0, #0x14]
- add r1, r4, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_020567E4
- add sp, #0x8
- pop {r3-r7, pc}
-_020563D6:
- ldrh r1, [r0, #0x10]
- add r2, r6, #0x0
- add r3, r7, #0x0
- str r1, [sp, #0x0]
- ldrh r0, [r0, #0x14]
- add r1, r4, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_020564C8
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020563F0
-FUN_020563F0: ; 0x020563F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020553C4
- cmp r0, #0x1
- bne _0205642C
- mov r0, #0x2
- tst r0, r4
- beq _0205642C
- add r0, r5, #0x0
- mov r4, #0x1
- bl FUN_020554BC
- cmp r0, #0x1
- bne _02056412
- mov r4, #0x0
-_02056412:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020554AC
- cmp r4, #0x0
- bne _02056426
- ldr r0, _02056430 ; =0x0000061C
- bl FUN_020054C8
- pop {r3-r5, pc}
-_02056426:
- ldr r0, _02056434 ; =0x00000619
- bl FUN_020054C8
-_0205642C:
- pop {r3-r5, pc}
- nop
-_02056430: .word 0x0000061C
-_02056434: .word 0x00000619
-
- thumb_func_start FUN_02056438
-FUN_02056438: ; 0x02056438
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r4, #0x4c
- bl FUN_02055408
- cmp r0, #0x1
- beq _02056450
- cmp r0, #0x2
- beq _02056454
- cmp r0, #0x3
- beq _02056458
- b _0205645A
-_02056450:
- mov r4, #0x10
- b _0205645A
-_02056454:
- mov r4, #0x50
- b _0205645A
-_02056458:
- mov r4, #0x14
-_0205645A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205AFDC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02056464
-FUN_02056464: ; 0x02056464
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x1
- mov r2, #0x3
- bl FUN_0205541C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205570C
- cmp r0, #0x0
- bne _02056488
- cmp r4, #0x2
- blt _02056488
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020556F4
-_02056488:
- cmp r4, #0x3
- bne _02056490
- mov r0, #0x1
- pop {r3-r5, pc}
-_02056490:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02056494
-FUN_02056494: ; 0x02056494
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r6, #0x1
- bl FUN_02055408
- sub r4, r0, #0x1
- bpl _020564A6
- mov r4, #0x0
- add r6, r4, #0x0
-_020564A6:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205540C
- add r0, r5, #0x0
- bl FUN_0205570C
- cmp r0, #0x1
- bne _020564C4
- cmp r4, #0x0
- bne _020564C4
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020556F4
-_020564C4:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020564C8
-FUN_020564C8: ; 0x020564C8
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r1, #0x0
- add r1, r3, #0x0
- add r6, r0, #0x0
- str r3, [sp, #0x4]
- ldr r5, [sp, #0x20]
- ldr r4, [sp, #0x24]
- bl FUN_0205653C
- cmp r0, #0x3
- bhi _02056538
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020564EC: ; jump table (using 16-bit offset)
- .short _020564F4 - _020564EC - 2; case 0
- .short _02056506 - _020564EC - 2; case 1
- .short _02056518 - _020564EC - 2; case 2
- .short _0205652A - _020564EC - 2; case 3
-_020564F4:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_020565F0
- add sp, #0x8
- pop {r3-r7, pc}
-_02056506:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056614
- add sp, #0x8
- pop {r3-r7, pc}
-_02056518:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056704
- add sp, #0x8
- pop {r3-r7, pc}
-_0205652A:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056740
-_02056538:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205653C
-FUN_0205653C: ; 0x0205653C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0205658C
- add r4, r0, #0x0
- bl FUN_02056558
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205536C
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02056558
-FUN_02056558: ; 0x02056558
- push {r3, lr}
- cmp r0, #0x3
- bhi _02056582
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205656A: ; jump table (using 16-bit offset)
- .short _02056572 - _0205656A - 2; case 0
- .short _02056576 - _0205656A - 2; case 1
- .short _0205657A - _0205656A - 2; case 2
- .short _0205657E - _0205656A - 2; case 3
-_02056572:
- mov r0, #0x0
- pop {r3, pc}
-_02056576:
- mov r0, #0x1
- pop {r3, pc}
-_0205657A:
- mov r0, #0x2
- pop {r3, pc}
-_0205657E:
- mov r0, #0x1
- pop {r3, pc}
-_02056582:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205658C
-FUN_0205658C: ; 0x0205658C
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- cmp r4, r1
- bne _020565BA
- bl FUN_0205570C
- cmp r0, #0x1
- bne _020565AE
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x3
- pop {r4-r6, pc}
-_020565AE:
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- mov r0, #0x0
- pop {r4-r6, pc}
-_020565BA:
- bl FUN_020552F8
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020556F4
- cmp r6, r4
- beq _020565E2
- add r0, r5, #0x0
- bl FUN_02055370
- cmp r0, #0x1
- beq _020565E2
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205536C
- mov r0, #0x2
- pop {r4-r6, pc}
-_020565E2:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020565F0
-FUN_020565F0: ; 0x020565F0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020584C4
- mov r1, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- bl FUN_02055410
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02056614
-FUN_02056614: ; 0x02056614
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- bl FUN_02056B74
- add r4, r0, #0x0
- mov r0, #0x4
- tst r0, r4
- beq _02056638
- add r0, r5, #0x0
- mov r7, #0x38
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- b _020566EA
-_02056638:
- mov r0, #0x10
- tst r0, r4
- beq _02056656
- add r0, r5, #0x0
- mov r7, #0x50
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- b _020566EA
-_02056656:
- mov r0, #0x40
- tst r0, r4
- beq _02056680
- add r0, r6, #0x0
- mov r7, #0x0
- bl FUN_020584D4
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- sub r1, r7, #0x1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- b _020566EA
-_02056680:
- cmp r4, #0x0
- beq _020566D4
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020572EC
- cmp r0, #0x0
- bne _020566B0
- mov r0, #0x8
- mov r7, #0x1c
- tst r0, r4
- bne _020566A0
- ldr r0, _02056700 ; =0x00000601
- bl FUN_020054C8
-_020566A0:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- b _020566EA
-_020566B0:
- add r0, r6, #0x0
- mov r7, #0x0
- bl FUN_020584D4
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- sub r1, r7, #0x1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- b _020566EA
-_020566D4:
- add r0, r5, #0x0
- mov r7, #0x50
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205540C
-_020566EA:
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- pop {r3-r7, pc}
- nop
-_02056700: .word 0x00000601
-
- thumb_func_start FUN_02056704
-FUN_02056704: ; 0x02056704
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02055410
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020572EC
- cmp r0, #0x1
- beq _0205673E
- add r0, r6, #0x0
- mov r1, #0x28
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
-_0205673E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02056740
-FUN_02056740: ; 0x02056740
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- bl FUN_02056494
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02055314
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02056B74
- add r4, r0, #0x0
- mov r0, #0x4
- tst r0, r4
- beq _02056774
- add r0, r6, #0x0
- mov r1, #0x38
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- b _020567C4
-_02056774:
- mov r0, #0x40
- tst r0, r4
- beq _0205678C
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02055410
- b _020567C4
-_0205678C:
- cmp r4, #0x0
- beq _020567BA
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- mov r1, #0x1c
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- mov r0, #0x8
- tst r0, r4
- bne _020567AA
- ldr r0, _020567E0 ; =0x00000601
- bl FUN_020054C8
-_020567AA:
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- b _020567C4
-_020567BA:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056438
- str r0, [sp, #0x4]
-_020567C4:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _020567D2
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020556F4
-_020567D2:
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02056B5C
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020567E0: .word 0x00000601
-
- thumb_func_start FUN_020567E4
-FUN_020567E4: ; 0x020567E4
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r1, #0x0
- add r1, r3, #0x0
- add r6, r0, #0x0
- str r3, [sp, #0x4]
- ldr r5, [sp, #0x20]
- ldr r4, [sp, #0x24]
- bl FUN_02056858
- cmp r0, #0x3
- bhi _02056854
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02056808: ; jump table (using 16-bit offset)
- .short _02056810 - _02056808 - 2; case 0
- .short _02056822 - _02056808 - 2; case 1
- .short _02056834 - _02056808 - 2; case 2
- .short _02056846 - _02056808 - 2; case 3
-_02056810:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056914
- add sp, #0x8
- pop {r3-r7, pc}
-_02056822:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056938
- add sp, #0x8
- pop {r3-r7, pc}
-_02056834:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056A7C
- add sp, #0x8
- pop {r3-r7, pc}
-_02056846:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r3, r5, #0x0
- str r4, [sp, #0x0]
- bl FUN_02056AB8
-_02056854:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056858
-FUN_02056858: ; 0x02056858
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020568A8
- add r4, r0, #0x0
- bl FUN_02056874
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205536C
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02056874
-FUN_02056874: ; 0x02056874
- push {r3, lr}
- cmp r0, #0x3
- bhi _0205689E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02056886: ; jump table (using 16-bit offset)
- .short _0205688E - _02056886 - 2; case 0
- .short _02056892 - _02056886 - 2; case 1
- .short _02056896 - _02056886 - 2; case 2
- .short _0205689A - _02056886 - 2; case 3
-_0205688E:
- mov r0, #0x0
- pop {r3, pc}
-_02056892:
- mov r0, #0x1
- pop {r3, pc}
-_02056896:
- mov r0, #0x2
- pop {r3, pc}
-_0205689A:
- mov r0, #0x1
- pop {r3, pc}
-_0205689E:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020568A8
-FUN_020568A8: ; 0x020568A8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02055408
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _020568D8
- cmp r6, #0x2
- bge _020568CC
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205536C
- mov r0, #0x0
- pop {r4-r6, pc}
-_020568CC:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x3
- pop {r4-r6, pc}
-_020568D8:
- add r0, r5, #0x0
- bl FUN_020552F8
- cmp r0, r4
- beq _02056908
- add r0, r5, #0x0
- bl FUN_02055370
- cmp r0, #0x1
- beq _02056908
- cmp r6, #0x2
- bge _020568FC
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205536C
- mov r0, #0x2
- pop {r4-r6, pc}
-_020568FC:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x3
- pop {r4-r6, pc}
-_02056908:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205536C
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02056914
-FUN_02056914: ; 0x02056914
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020584C4
- mov r1, #0x0
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r5, #0x0
- bl FUN_02055410
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02056938
-FUN_02056938: ; 0x02056938
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02056B74
- add r4, r0, #0x0
- mov r0, #0x4
- tst r0, r4
- beq _0205696A
- add r0, r7, #0x0
- mov r1, #0x38
- bl FUN_0205AFDC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02056464
- add r0, r5, #0x0
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
- b _02056A6C
-_0205696A:
- mov r0, #0x10
- tst r0, r4
- beq _020569BA
- add r0, r5, #0x0
- bl FUN_02055408
- cmp r0, #0x3
- blt _02056994
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02056438
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_020557A4
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205569C
- b _02056A6C
-_02056994:
- add r0, r7, #0x0
- mov r1, #0x1c
- bl FUN_0205AFDC
- str r0, [sp, #0x0]
- mov r0, #0x8
- tst r0, r4
- bne _020569AA
- ldr r0, _02056A78 ; =0x00000601
- bl FUN_020054C8
-_020569AA:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- b _02056A6C
-_020569BA:
- mov r0, #0x40
- tst r0, r4
- beq _020569EC
- add r0, r6, #0x0
- bl FUN_020584D4
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- b _02056A6C
-_020569EC:
- cmp r4, #0x0
- beq _02056A50
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020572EC
- cmp r0, #0x0
- bne _02056A24
- add r0, r7, #0x0
- mov r1, #0x1c
- bl FUN_0205AFDC
- str r0, [sp, #0x0]
- mov r0, #0x8
- tst r0, r4
- bne _02056A14
- ldr r0, _02056A78 ; =0x00000601
- bl FUN_020054C8
-_02056A14:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- b _02056A6C
-_02056A24:
- add r0, r6, #0x0
- bl FUN_020584D4
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- mov r1, #0x0
- mvn r1, r1
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0205543C
- b _02056A6C
-_02056A50:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02056438
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02056464
- add r0, r5, #0x0
- bl FUN_020572D4
- add r0, r5, #0x0
- bl FUN_020557A4
-_02056A6C:
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056B5C
- pop {r3-r7, pc}
- .balign 4
-_02056A78: .word 0x00000601
-
- thumb_func_start FUN_02056A7C
-FUN_02056A7C: ; 0x02056A7C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02055410
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020572EC
- cmp r0, #0x1
- beq _02056AB6
- add r0, r6, #0x0
- mov r1, #0x28
- bl FUN_0205AFDC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056B5C
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
-_02056AB6:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02056AB8
-FUN_02056AB8: ; 0x02056AB8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- bl FUN_02056494
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02055314
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02056B74
- add r4, r0, #0x0
- mov r0, #0x4
- tst r0, r4
- beq _02056AEC
- add r0, r6, #0x0
- mov r1, #0x38
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- b _02056B3C
-_02056AEC:
- mov r0, #0x40
- tst r0, r4
- beq _02056B04
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02055410
- b _02056B3C
-_02056B04:
- cmp r4, #0x0
- beq _02056B32
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- mov r1, #0x1c
- bl FUN_0205AFDC
- str r0, [sp, #0x4]
- mov r0, #0x8
- tst r0, r4
- bne _02056B22
- ldr r0, _02056B58 ; =0x00000601
- bl FUN_020054C8
-_02056B22:
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_02055410
- b _02056B3C
-_02056B32:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02056438
- str r0, [sp, #0x4]
-_02056B3C:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02056B4A
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020556F4
-_02056B4A:
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02056B5C
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02056B58: .word 0x00000601
-
- thumb_func_start FUN_02056B5C
-FUN_02056B5C: ; 0x02056B5C
- push {r3-r5, lr}
- add r4, r2, #0x0
- add r5, r1, #0x0
- add r1, r4, #0x0
- bl FUN_02055460
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205ADDC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02056B74
-FUN_02056B74: ; 0x02056B74
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- mov r4, #0x0
- bl FUN_02056C0C
- mov r1, #0xa
- str r0, [sp, #0x0]
- tst r0, r1
- beq _02056BA0
- mov r0, #0x1
- orr r4, r0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056D58
- cmp r0, #0x0
- beq _02056BA0
- mov r0, #0x8
- orr r4, r0
-_02056BA0:
- ldr r0, [sp, #0x0]
- mov r1, #0x4
- tst r0, r1
- beq _02056BAC
- mov r0, #0x2
- orr r4, r0
-_02056BAC:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056CCC
- cmp r0, #0x0
- beq _02056BBE
- mov r0, #0x4
- orr r4, r0
-_02056BBE:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056E04
- cmp r0, #0x1
- bne _02056BD0
- mov r0, #0x10
- orr r4, r0
-_02056BD0:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056E6C
- cmp r0, #0x1
- bne _02056BE2
- mov r0, #0x20
- orr r4, r0
-_02056BE2:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056EC8
- cmp r0, #0x1
- bne _02056BF4
- mov r0, #0x41
- orr r4, r0
-_02056BF4:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02056F78
- cmp r0, #0x1
- bne _02056C06
- mov r0, #0x1
- orr r4, r0
-_02056C06:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02056C0C
-FUN_02056C0C: ; 0x02056C0C
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02059BF4
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_02058B3C
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x4]
- bl FUN_02059C00
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- add r1, sp, #0x1c
- bl FUN_02058B5C
- ldr r1, [sp, #0x14]
- ldr r6, [sp, #0xc]
- ldr r3, [sp, #0x10]
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r7, r1
- add r3, r6, r3
- mov r4, #0x0
- bl FUN_02059A08
- cmp r0, #0x1
- bne _02056C60
- mov r0, #0x1
- orr r4, r0
-_02056C60:
- add r0, r5, #0x0
- bl FUN_02058738
- ldr r2, [sp, #0x14]
- add r1, sp, #0x18
- str r1, [sp, #0x0]
- ldr r6, [sp, #0xc]
- ldr r3, [sp, #0x10]
- add r1, sp, #0x1c
- add r2, r7, r2
- add r3, r6, r3
- bl FUN_0204A7C8
- cmp r0, #0x1
- bne _02056C90
- mov r0, #0x2
- orr r4, r0
- add r1, sp, #0x18
- mov r0, #0x0
- ldrsb r0, [r1, r0]
- cmp r0, #0x0
- beq _02056C90
- mov r0, #0x8
- orr r4, r0
-_02056C90:
- ldr r3, [sp, #0xc]
- ldr r2, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r2, r3, r2
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, r1
- bl FUN_02059A60
- cmp r0, #0x1
- bne _02056CAA
- mov r0, #0x2
- orr r4, r0
-_02056CAA:
- add r0, r5, #0x0
- ldr r1, [sp, #0x14]
- ldr r5, [sp, #0xc]
- ldr r3, [sp, #0x10]
- ldr r2, [sp, #0x8]
- add r1, r7, r1
- add r3, r5, r3
- bl FUN_0205995C
- cmp r0, #0x1
- bne _02056CC4
- mov r0, #0x4
- orr r4, r0
-_02056CC4:
- add r0, r4, #0x0
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02056CCC
-FUN_02056CCC: ; 0x02056CCC
- push {r3-r7, lr}
- mov r0, #0x0
- add r4, r2, #0x0
- mvn r0, r0
- add r5, r1, #0x0
- cmp r4, r0
- beq _02056D54
- add r0, r5, #0x0
- bl FUN_02058738
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059C00
- add r2, r0, #0x0
- ldr r0, [sp, #0x0]
- add r1, r6, r7
- add r2, r5, r2
- bl FUN_0204A6E0
- cmp r4, #0x3
- bhi _02056D54
- add r1, r4, r4
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02056D1C: ; jump table (using 16-bit offset)
- .short _02056D24 - _02056D1C - 2; case 0
- .short _02056D30 - _02056D1C - 2; case 1
- .short _02056D3C - _02056D1C - 2; case 2
- .short _02056D48 - _02056D1C - 2; case 3
-_02056D24:
- bl FUN_02054848
- cmp r0, #0x1
- bne _02056D54
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056D30:
- bl FUN_02054854
- cmp r0, #0x1
- bne _02056D54
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056D3C:
- bl FUN_02054860
- cmp r0, #0x1
- bne _02056D54
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056D48:
- bl FUN_0205486C
- cmp r0, #0x1
- bne _02056D54
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056D54:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056D58
-FUN_02056D58: ; 0x02056D58
- push {r3-r7, lr}
- mov r0, #0x0
- add r4, r2, #0x0
- mvn r0, r0
- add r5, r1, #0x0
- cmp r4, r0
- beq _02056E00
- add r0, r5, #0x0
- bl FUN_02058738
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x0]
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_0204A6E0
- add r5, r0, #0x0
- cmp r4, #0x3
- bhi _02056DD8
- add r1, r4, r4
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02056D9A: ; jump table (using 16-bit offset)
- .short _02056DA2 - _02056D9A - 2; case 0
- .short _02056DAE - _02056D9A - 2; case 1
- .short _02056DBC - _02056D9A - 2; case 2
- .short _02056DCA - _02056D9A - 2; case 3
-_02056DA2:
- bl FUN_020547D4
- cmp r0, #0x1
- bne _02056DAE
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056DAE:
- add r0, r5, #0x0
- bl FUN_020547E0
- cmp r0, #0x1
- bne _02056DBC
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056DBC:
- add r0, r5, #0x0
- bl FUN_020547C8
- cmp r0, #0x1
- bne _02056DCA
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056DCA:
- add r0, r5, #0x0
- bl FUN_020547BC
- cmp r0, #0x1
- bne _02056DD8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056DD8:
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059C00
- add r3, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r7, #0x0
- add r1, r6, r5
- add r2, r2, r3
- bl FUN_0204A6E0
- bl FUN_020547B0
- cmp r0, #0x1
- bne _02056E00
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056E00:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056E04
-FUN_02056E04: ; 0x02056E04
- push {r3-r7, lr}
- mov r0, #0x0
- add r5, r2, #0x0
- mvn r0, r0
- add r4, r1, #0x0
- cmp r5, r0
- beq _02056E68
- add r0, r4, #0x0
- bl FUN_02058738
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059C00
- add r2, r0, #0x0
- ldr r0, [sp, #0x0]
- add r1, r6, r7
- add r2, r4, r2
- bl FUN_0204A6E0
- add r4, r0, #0x0
- cmp r5, #0x3
- bne _02056E56
- bl FUN_02054A24
- cmp r0, #0x0
- beq _02056E56
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056E56:
- cmp r5, #0x2
- bne _02056E68
- add r0, r4, #0x0
- bl FUN_02054A30
- cmp r0, #0x0
- beq _02056E68
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056E68:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056E6C
-FUN_02056E6C: ; 0x02056E6C
- push {r3-r7, lr}
- sub sp, #0x8
- mov r0, #0x0
- add r4, r2, #0x0
- mvn r0, r0
- add r5, r1, #0x0
- cmp r4, r0
- beq _02056EC2
- add r0, r5, #0x0
- bl FUN_02058738
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02059C00
- add r3, r0, #0x0
- ldr r2, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r1, r6, r7
- add r2, r2, r3
- bl FUN_0204A6E0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059AC4
- cmp r0, #0x0
- beq _02056EC2
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056EC2:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02056EC8
-FUN_02056EC8: ; 0x02056EC8
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r4, r2, #0x0
- mvn r0, r0
- add r5, r1, #0x0
- cmp r4, r0
- beq _02056F72
- add r0, r5, #0x0
- bl FUN_02058738
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_02059C00
- add r2, r0, #0x0
- ldr r3, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r1, r6, r7
- add r2, r3, r2
- bl FUN_0204A6E0
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_020553C4
- cmp r0, #0x1
- bne _02056F54
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BB4
- cmp r0, #0x1
- bne _02056F36
- cmp r4, #0x1
- bls _02056F30
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02056F30:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02056F36:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BD4
- cmp r0, #0x1
- bne _02056F72
- sub r0, r4, #0x2
- cmp r0, #0x1
- bls _02056F4E
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02056F4E:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02056F54:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BB4
- cmp r0, #0x1
- beq _02056F6C
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BD4
- cmp r0, #0x1
- bne _02056F72
-_02056F6C:
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02056F72:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02056F78
-FUN_02056F78: ; 0x02056F78
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- mov r1, #0x0
- add r4, r2, #0x0
- mvn r1, r1
- cmp r4, r1
- beq _0205701A
- bl FUN_020553C4
- cmp r0, #0x1
- bne _0205701A
- add r0, r5, #0x0
- bl FUN_02058738
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02059C00
- add r3, r0, #0x0
- ldr r2, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r1, r6, r7
- add r2, r2, r3
- bl FUN_0204A6E0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059AC4
- cmp r0, #0x0
- beq _02056FD8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056FD8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059B2C
- cmp r0, #0x0
- beq _02056FEA
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056FEA:
- add r0, r4, #0x0
- bl FUN_02054798
- cmp r0, #0x0
- beq _02056FFA
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02056FFA:
- add r0, r4, #0x0
- bl FUN_02054974
- cmp r0, #0x0
- beq _0205700A
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205700A:
- add r0, r4, #0x0
- bl FUN_02054990
- cmp r0, #0x0
- beq _0205701A
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205701A:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057020
-FUN_02057020: ; 0x02057020
- ldr r3, _02057024 ; =FUN_02057060
- bx r3
- .balign 4
-_02057024: .word FUN_02057060
-
- thumb_func_start FUN_02057028
-FUN_02057028: ; 0x02057028
- mov r1, #0x20
- tst r1, r0
- beq _02057032
- mov r0, #0x2
- bx lr
-_02057032:
- mov r1, #0x10
- tst r0, r1
- beq _0205703C
- mov r1, #0x3
- b _0205703E
-_0205703C:
- sub r1, #0x11
-_0205703E:
- add r0, r1, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02057044
-FUN_02057044: ; 0x02057044
- mov r1, #0x40
- tst r1, r0
- beq _0205704E
- mov r0, #0x0
- bx lr
-_0205704E:
- mov r1, #0x80
- tst r0, r1
- beq _02057058
- mov r1, #0x1
- b _0205705A
-_02057058:
- sub r1, #0x81
-_0205705A:
- add r0, r1, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02057060
-FUN_02057060: ; 0x02057060
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02057028
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02057044
- mov r1, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- cmp r4, r1
- beq _020570C0
- cmp r5, r1
- bne _02057086
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_02057086:
- add r0, r6, #0x0
- bl FUN_02055314
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02055430
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_02055438
- mov r1, #0x0
- mvn r1, r1
- cmp r7, r1
- beq _020570BE
- ldr r1, [sp, #0x0]
- cmp r4, r1
- bne _020570B2
- cmp r5, r0
- bne _020570B2
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_020570B2:
- cmp r5, r0
- beq _020570BA
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_020570BA:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_020570BE:
- add r0, r5, #0x0
-_020570C0:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020570C4
-FUN_020570C4: ; 0x020570C4
- push {r4, lr}
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _020570D8
- mov r0, #0x1
- pop {r4, pc}
-_020570D8:
- add r0, r4, #0x0
- bl FUN_020586F0
- bl FUN_020570F0
- cmp r0, #0x1
- bne _020570EA
- mov r0, #0x1
- pop {r4, pc}
-_020570EA:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020570F0
-FUN_020570F0: ; 0x020570F0
- sub r0, #0x1c
- cmp r0, #0x3
- bhi _0205710E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02057102: ; jump table (using 16-bit offset)
- .short _0205710A - _02057102 - 2; case 0
- .short _0205710A - _02057102 - 2; case 1
- .short _0205710A - _02057102 - 2; case 2
- .short _0205710A - _02057102 - 2; case 3
-_0205710A:
- mov r0, #0x1
- bx lr
-_0205710E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02057114
-FUN_02057114: ; 0x02057114
- mov r0, #0x2
- tst r0, r1
- beq _0205711E
- mov r0, #0x1
- bx lr
-_0205711E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02057124
-FUN_02057124: ; 0x02057124
- push {r3, lr}
- bl FUN_02055464
- sub r0, #0x58
- cmp r0, #0x3
- bhi _02057148
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205713C: ; jump table (using 16-bit offset)
- .short _02057144 - _0205713C - 2; case 0
- .short _02057144 - _0205713C - 2; case 1
- .short _02057144 - _0205713C - 2; case 2
- .short _02057144 - _0205713C - 2; case 3
-_02057144:
- mov r0, #0x1
- pop {r3, pc}
-_02057148:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205714C
-FUN_0205714C: ; 0x0205714C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020553C4
- cmp r0, #0x0
- beq _02057162
- cmp r0, #0x1
- beq _02057172
- cmp r0, #0x2
- bne _02057188
-_02057162:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02056244
- bl FUN_020561EC
- add r4, r0, #0x0
- b _0205718E
-_02057172:
- add r0, r5, #0x0
- bl FUN_020554BC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020568A8
- bl FUN_02056874
- add r4, r0, #0x0
- b _0205718E
-_02057188:
- mov r4, #0x0
- bl ErrorHandling
-_0205718E:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02057194
-FUN_02057194: ; 0x02057194
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02057060
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0205714C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205536C
- cmp r4, #0x0
- bne _020571C6
- add r0, r5, #0x0
- bl FUN_020552F8
- mov r1, #0x0
- bl FUN_0205AFDC
- pop {r3-r7, pc}
-_020571C6:
- cmp r4, #0x2
- bne _020571D4
- ldr r0, [sp, #0x0]
- mov r1, #0x28
- bl FUN_0205AFDC
- pop {r3-r7, pc}
-_020571D4:
- add r0, r5, #0x0
- bl FUN_020553A0
- ldr r0, [sp, #0x1c]
- mov r4, #0x4
- add r1, r0, #0x0
- tst r1, r4
- beq _020571E8
- mov r4, #0x38
- b _02057244
-_020571E8:
- cmp r0, #0x0
- beq _020571FC
- mov r1, #0x8
- mov r4, #0x1c
- tst r0, r1
- bne _02057244
- ldr r0, _02057250 ; =0x00000601
- bl FUN_020054C8
- b _02057244
-_020571FC:
- cmp r6, #0x5
- bhi _0205722E
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205720C: ; jump table (using 16-bit offset)
- .short _02057218 - _0205720C - 2; case 0
- .short _0205721A - _0205720C - 2; case 1
- .short _0205721E - _0205720C - 2; case 2
- .short _02057222 - _0205720C - 2; case 3
- .short _02057226 - _0205720C - 2; case 4
- .short _0205722A - _0205720C - 2; case 5
-_02057218:
- b _02057230
-_0205721A:
- mov r4, #0x8
- b _02057230
-_0205721E:
- mov r4, #0xc
- b _02057230
-_02057222:
- mov r4, #0x4c
- b _02057230
-_02057226:
- mov r4, #0x10
- b _02057230
-_0205722A:
- mov r4, #0x14
- b _02057230
-_0205722E:
- mov r4, #0x4
-_02057230:
- ldr r0, [sp, #0x18]
- cmp r0, #0x1
- bne _02057244
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02057114
- cmp r0, #0x1
- bne _02057244
- mov r4, #0x58
-_02057244:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_0205AFDC
- pop {r3-r7, pc}
- nop
-_02057250: .word 0x00000601
-
- thumb_func_start FUN_02057254
-FUN_02057254: ; 0x02057254
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_0205AD98
- pop {r3, pc}
-
- thumb_func_start FUN_02057260
-FUN_02057260: ; 0x02057260
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02056B5C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02057278
-FUN_02057278: ; 0x02057278
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_02059C90
- pop {r4, pc}
-
- thumb_func_start FUN_02057288
-FUN_02057288: ; 0x02057288
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- add r4, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02055320
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059BF4
- add r0, r6, r0
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x0]
- bl FUN_0205532C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059C00
- add r0, r4, r0
- str r0, [r7, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020572B8
-FUN_020572B8: ; 0x020572B8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020552F8
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02057288
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020572D4
-FUN_020572D4: ; 0x020572D4
- push {r3, lr}
- bl FUN_020553A0
- bl FUN_02058738
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x5
- bl FUN_0202A0E8
- pop {r3, pc}
-
- thumb_func_start FUN_020572EC
-FUN_020572EC: ; 0x020572EC
- push {r4-r6, lr}
- mov r0, #0x0
- add r4, r2, #0x0
- mvn r0, r0
- add r5, r1, #0x0
- cmp r4, r0
- beq _02057336
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BB4
- cmp r0, #0x1
- bne _0205731C
- cmp r4, #0x1
- bls _02057318
- mov r0, #0x1
- pop {r4-r6, pc}
-_02057318:
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205731C:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059BD4
- cmp r0, #0x1
- bne _02057336
- sub r0, r4, #0x2
- cmp r0, #0x1
- bls _02057332
- mov r0, #0x1
- pop {r4-r6, pc}
-_02057332:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02057336:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205733C
-FUN_0205733C: ; 0x0205733C
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- cmp r2, r1
- beq _0205734E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205734E:
- bl FUN_020553C4
- cmp r0, #0x1
- beq _0205735A
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205735A:
- add r0, r5, #0x0
- bl FUN_02055738
- cmp r0, #0x0
- bne _02057368
- mov r0, #0x0
- pop {r3-r5, pc}
-_02057368:
- add r0, r5, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_02059B94
- cmp r0, #0x1
- bne _0205737C
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205737C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02057380
-FUN_02057380: ; 0x02057380
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r7, r2, #0x0
- bl FUN_02057444
- add r4, r0, #0x0
- add r1, r6, #0x0
- bl FUN_020583E0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058364
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02058398
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020573AC
-FUN_020573AC: ; 0x020573AC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020583CC
- add r1, r0, #0x0
- mov r0, #0xb
- bl FUN_02016A8C
- mov r0, #0xb
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020573C8
-FUN_020573C8: ; 0x020573C8
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r5, r2, #0x0
- str r3, [sp, #0x4]
- ldr r7, [sp, #0x20]
- bl FUN_02058368
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_020583CC
- add r4, r0, #0x0
- cmp r6, #0x0
- beq _02057430
-_020573E6:
- add r0, r4, #0x0
- bl FUN_02058830
- cmp r0, #0x1
- bne _02057426
- ldr r2, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r3, r7, #0x0
- bl FUN_02057F90
- cmp r0, #0x0
- beq _02057408
- cmp r0, #0x1
- beq _02057426
- cmp r0, #0x2
- b _02057426
-_02057408:
- add r0, r4, #0x0
- bl FUN_02058450
- cmp r5, r0
- beq _02057426
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xa
- bl FUN_0205842C
- cmp r0, #0x0
- bne _02057426
- add r0, r4, #0x0
- bl FUN_02057654
-_02057426:
- mov r0, #0x4a
- lsl r0, r0, #0x2
- add r4, r4, r0
- sub r6, r6, #0x1
- bne _020573E6
-_02057430:
- ldr r0, [sp, #0x0]
- bl FUN_020583A0
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD05_021F2AF4
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02057444
-FUN_02057444: ; 0x02057444
- push {r4-r6, lr}
- mov r1, #0x4b
- add r4, r0, #0x0
- mov r0, #0xb
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r5, r0, #0x0
- bne _0205745A
- bl ErrorHandling
-_0205745A:
- mov r2, #0x4b
- add r0, r5, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- bl memset
- mov r0, #0x4a
- lsl r0, r0, #0x2
- add r6, r4, #0x0
- mul r6, r0
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0205747E
- bl ErrorHandling
-_0205747E:
- add r0, r4, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl memset
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020583B4
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02057494
-FUN_02057494: ; 0x02057494
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r7, r2, #0x0
- bl FUN_02058BFC
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058CE0
- cmp r0, #0x0
- bne _020574C8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_02057C98
- add r4, r0, #0x0
- beq _020574E8
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02058214
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_020574C8:
- add r0, r6, #0x0
- bl FUN_02058CFC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058010
- add r4, r0, #0x0
- beq _020574E8
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02058258
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_020574E8:
- add r0, r5, #0x0
- bl FUN_02057C64
- add r4, r0, #0x0
- beq _0205753A
- add r0, r5, #0x0
- bl FUN_020583E8
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02057D2C
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02057E90
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_0205844C
- add r0, r4, #0x0
- bl FUN_020581A4
- add r0, r4, #0x0
- bl FUN_020581B4
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02057CF0
- add r0, r5, #0x0
- bl FUN_02058360
- bl FUN_0205836C
- add r0, r4, #0x0
-_0205753A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205753C
-FUN_0205753C: ; 0x0205753C
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, sp, #0x0
- mov r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02058BF8
- ldr r1, [sp, #0x38]
- add r0, sp, #0x0
- bl FUN_02058C00
- ldr r1, [sp, #0x3c]
- add r0, sp, #0x0
- bl FUN_02058C08
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C10
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C18
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C20
- add r0, sp, #0x0
- add r1, r7, #0x0
- bl FUN_02058C28
- mov r1, #0x0
- add r0, sp, #0x0
- add r2, r1, #0x0
- bl FUN_02058C34
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_02058C34
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl FUN_02058C34
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C7C
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C88
- add r0, sp, #0x0
- add r1, r4, #0x0
- bl FUN_02058C94
- add r0, sp, #0x0
- add r1, r6, #0x0
- bl FUN_02058CA4
- add r0, sp, #0x0
- mov r1, #0x0
- bl FUN_02058C9C
- ldr r2, [sp, #0x40]
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02057494
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020575D4
-FUN_020575D4: ; 0x020575D4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- ldr r2, [sp, #0x18]
- add r7, r3, #0x0
- mov r4, #0x0
- bl FUN_02058CAC
- str r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02057610
- bl FUN_02058C1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583E8
- lsl r1, r6, #0x10
- lsr r1, r1, #0x10
- bl FUN_02039528
- cmp r0, #0x0
- bne _02057610
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02057494
- add r4, r0, #0x0
-_02057610:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057614
-FUN_02057614: ; 0x02057614
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058454
- add r0, r4, #0x0
- bl FUN_02058148
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_020581B4
- pop {r4, pc}
-
- thumb_func_start FUN_02057634
-FUN_02057634: ; 0x02057634
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _02057648
- add r0, r5, #0x0
- bl FUN_020576A8
-_02057648:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02057614
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02057654
-FUN_02057654: ; 0x02057654
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058578
- bl FUN_020587E0
- cmp r0, #0x1
- bne _0205766A
- add r0, r4, #0x0
- bl FUN_020586B4
-_0205766A:
- add r0, r4, #0x0
- bl FUN_02058660
- add r0, r4, #0x0
- bl FUN_02058564
- add r0, r4, #0x0
- bl FUN_02058580
- bl FUN_02058374
- add r0, r4, #0x0
- bl FUN_02057F80
- pop {r4, pc}
-
- thumb_func_start FUN_02057688
-FUN_02057688: ; 0x02057688
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02058490
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058738
- lsl r1, r5, #0x10
- lsr r1, r1, #0x10
- bl FUN_0203953C
- add r0, r4, #0x0
- bl FUN_02057654
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020576A8
-FUN_020576A8: ; 0x020576A8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058578
- bl FUN_020587E0
- cmp r0, #0x1
- bne _020576D6
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058424
- cmp r0, #0x0
- beq _020576CC
- add r0, r4, #0x0
- bl FUN_020586B4
-_020576CC:
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058418
-_020576D6:
- ldr r1, _02057708 ; =0x0000FFFF
- add r0, r4, #0x0
- bl FUN_02058454
- ldr r1, _0205770C ; =FUN_02058ED8
- add r0, r4, #0x0
- bl FUN_02058684
- ldr r1, _02057710 ; =FUN_02058EDC
- add r0, r4, #0x0
- bl FUN_02058698
- ldr r1, _02057710 ; =FUN_02058EDC
- add r0, r4, #0x0
- bl FUN_020586AC
- ldr r1, _02057714 ; =FUN_02058EE0
- add r0, r4, #0x0
- bl FUN_020586C0
- ldr r1, _02057718 ; =FUN_02058EE4
- add r0, r4, #0x0
- bl FUN_020586D4
- pop {r4, pc}
- .balign 4
-_02057708: .word 0x0000FFFF
-_0205770C: .word FUN_02058ED8
-_02057710: .word FUN_02058EDC
-_02057714: .word FUN_02058EE0
-_02057718: .word FUN_02058EE4
-
- thumb_func_start FUN_0205771C
-FUN_0205771C: ; 0x0205771C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- bl FUN_02058368
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_02057734:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058424
- cmp r0, #0x0
- beq _02057746
- add r0, r5, #0x0
- bl FUN_02057654
-_02057746:
- add r4, r4, #0x1
- add r5, r5, r7
- cmp r4, r6
- blt _02057734
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057750
-FUN_02057750: ; 0x02057750
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020587E0
- cmp r0, #0x1
- beq _02057760
- bl ErrorHandling
-_02057760:
- add r0, r5, #0x0
- mov r4, #0x0
- bl FUN_02058368
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_02057776:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205779C
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205779C
- add r0, r5, #0x0
- bl FUN_020586C8
- add r0, r5, #0x0
- bl FUN_0205816C
-_0205779C:
- add r4, r4, #0x1
- add r5, r5, r7
- cmp r4, r6
- blt _02057776
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020577A8
-FUN_020577A8: ; 0x020577A8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020587E0
- cmp r0, #0x1
- beq _020577B8
- bl ErrorHandling
-_020577B8:
- add r0, r5, #0x0
- mov r4, #0x0
- bl FUN_02058368
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_020577CE:
- add r0, r5, #0x0
- bl FUN_02058830
- cmp r0, #0x1
- bne _020577F6
- add r0, r5, #0x0
- bl FUN_02058884
- cmp r0, #0x1
- bne _020577EA
- add r0, r5, #0x0
- bl FUN_020586DC
- b _020577F0
-_020577EA:
- add r0, r5, #0x0
- bl FUN_020581B4
-_020577F0:
- add r0, r5, #0x0
- bl FUN_02058148
-_020577F6:
- add r4, r4, #0x1
- add r5, r5, r7
- cmp r4, r6
- blt _020577CE
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057800
-FUN_02057800: ; 0x02057800
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- beq _02057846
-_02057820:
- ldr r1, [sp, #0x0]
- add r0, r7, #0x0
- add r2, r5, #0x0
- bl FUN_02057894
- sub r4, r4, #0x1
- add r5, #0x50
- cmp r4, #0x0
- bgt _02057836
- bl ErrorHandling
-_02057836:
- add r0, r6, #0x0
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- bne _02057820
-_02057846:
- cmp r4, #0x0
- beq _02057856
- mov r2, #0x50
- add r0, r5, #0x0
- mov r1, #0x0
- mul r2, r4
- bl memset
-_02057856:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205785C
-FUN_0205785C: ; 0x0205785C
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r7, r2, #0x0
- beq _02057892
-_02057866:
- ldr r1, [r5, #0x0]
- mov r0, #0x1
- tst r0, r1
- beq _0205788C
- add r0, r6, #0x0
- bl FUN_02057C64
- add r4, r0, #0x0
- bne _0205787C
- bl ErrorHandling
-_0205787C:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020579C4
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02057AEC
-_0205788C:
- add r5, #0x50
- sub r7, r7, #0x1
- bne _02057866
-_02057892:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057894
-FUN_02057894: ; 0x02057894
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, r2, #0x0
- add r0, r5, #0x0
- bl FUN_0205840C
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02058440
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02058448
- strb r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02058450
- strh r0, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_02058458
- strh r0, [r4, #0x12]
- add r0, r5, #0x0
- bl FUN_02058480
- strb r0, [r4, #0x9]
- add r0, r5, #0x0
- bl FUN_02058488
- strh r0, [r4, #0x14]
- add r0, r5, #0x0
- bl FUN_02058490
- strh r0, [r4, #0x16]
- add r0, r5, #0x0
- bl FUN_02058498
- strh r0, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_020584A0
- strb r0, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_020584C4
- strb r0, [r4, #0xd]
- add r0, r5, #0x0
- bl FUN_020584D4
- strb r0, [r4, #0xe]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- strh r0, [r4, #0x1a]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058510
- strh r0, [r4, #0x1c]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02058510
- strh r0, [r4, #0x1e]
- add r0, r5, #0x0
- bl FUN_02058538
- strb r0, [r4, #0xa]
- add r0, r5, #0x0
- bl FUN_02058540
- strb r0, [r4, #0xb]
- add r0, r5, #0x0
- bl FUN_02058AFC
- strh r0, [r4, #0x20]
- add r0, r5, #0x0
- bl FUN_02058B04
- strh r0, [r4, #0x22]
- add r0, r5, #0x0
- bl FUN_02058B0C
- strh r0, [r4, #0x24]
- add r0, r5, #0x0
- bl FUN_02058B2C
- strh r0, [r4, #0x26]
- add r0, r5, #0x0
- bl FUN_02058B3C
- strh r0, [r4, #0x28]
- add r0, r5, #0x0
- bl FUN_02058B4C
- strh r0, [r4, #0x2a]
- mov r0, #0x26
- mov r1, #0x2a
- ldrsh r0, [r4, r0]
- ldrsh r1, [r4, r1]
- add r2, sp, #0x0
- bl FUN_02059E60
- add r0, r5, #0x0
- bl FUN_02058B80
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058AE4
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r1, sp, #0x0
- bl FUN_02059EC8
- cmp r0, #0x0
- bne _0205798E
- add r0, r5, #0x0
- bl FUN_02058B80
- b _02057990
-_0205798E:
- ldr r0, [sp, #0x4]
-_02057990:
- str r0, [r4, #0x2c]
- add r0, r5, #0x0
- bl FUN_020585B0
- add r3, r4, #0x0
- add r3, #0x30
- mov r2, #0x10
-_0205799E:
- ldrb r1, [r0, #0x0]
- add r0, r0, #0x1
- strb r1, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _0205799E
- add r0, r5, #0x0
- bl FUN_020585D8
- add r4, #0x40
- mov r2, #0x10
-_020579B4:
- ldrb r1, [r0, #0x0]
- add r0, r0, #0x1
- strb r1, [r4, #0x0]
- add r4, r4, #0x1
- sub r2, r2, #0x1
- bne _020579B4
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_020579C4
-FUN_020579C4: ; 0x020579C4
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- add r5, r0, #0x0
- bl FUN_02058408
- ldr r1, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0205843C
- ldrb r1, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02058444
- ldrh r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_0205844C
- ldrh r1, [r4, #0x12]
- add r0, r5, #0x0
- bl FUN_02058454
- ldrb r1, [r4, #0x9]
- add r0, r5, #0x0
- bl FUN_0205847C
- ldrh r1, [r4, #0x14]
- add r0, r5, #0x0
- bl FUN_02058484
- ldrh r1, [r4, #0x16]
- add r0, r5, #0x0
- bl FUN_0205848C
- ldrh r1, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_02058494
- mov r1, #0xc
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_0205849C
- mov r1, #0xd
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_020584A4
- mov r1, #0xe
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_020584CC
- mov r1, #0x1a
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020584EC
- mov r1, #0x1c
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_020584EC
- mov r1, #0x1e
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- mov r2, #0x2
- bl FUN_020584EC
- mov r1, #0xa
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058534
- mov r1, #0xb
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_0205853C
- mov r1, #0x20
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B00
- mov r1, #0x22
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B08
- mov r1, #0x24
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B10
- mov r1, #0x26
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B30
- mov r1, #0x28
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B40
- mov r1, #0x2a
- ldrsh r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02058B50
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [r4, #0x2c]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B6C
- add r0, r5, #0x0
- bl FUN_020585B0
- add r3, r4, #0x0
- add r3, #0x30
- mov r2, #0x10
-_02057AC4:
- ldrb r1, [r3, #0x0]
- add r3, r3, #0x1
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _02057AC4
- add r0, r5, #0x0
- bl FUN_020585D8
- add r4, #0x40
- mov r2, #0x10
-_02057ADA:
- ldrb r1, [r4, #0x0]
- add r4, r4, #0x1
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _02057ADA
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02057AEC
-FUN_02057AEC: ; 0x02057AEC
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02057B34
- add r0, r4, #0x0
- bl FUN_02057B54
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058570
- add r0, r4, #0x0
- bl FUN_02057EE0
- add r0, r4, #0x0
- bl FUN_0205AE80
- add r0, r4, #0x0
- bl FUN_020581B4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02057CF0
- add r0, r4, #0x0
- bl FUN_0205866C
- add r0, r5, #0x0
- bl FUN_02058360
- bl FUN_0205836C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02057B34
-FUN_02057B34: ; 0x02057B34
- push {r4, lr}
- mov r1, #0x5
- add r4, r0, #0x0
- bl FUN_02058410
- ldr r1, _02057B50 ; =0x00EF4248
- add r0, r4, #0x0
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_0205815C
- pop {r4, pc}
- nop
-_02057B50: .word 0x00EF4248
-
- thumb_func_start FUN_02057B54
-FUN_02057B54: ; 0x02057B54
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, sp, #0x0
- bl FUN_02058B5C
- add r0, r4, #0x0
- bl FUN_02058B2C
- add r1, r0, #0x0
- mov r0, #0x2
- lsl r2, r1, #0x10
- lsl r0, r0, #0xe
- add r0, r2, r0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02058B18
- add r0, r4, #0x0
- bl FUN_02058B3C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B20
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r1, r0, #0x0
- mov r0, #0x2
- lsl r2, r1, #0x10
- lsl r0, r0, #0xe
- add r0, r2, r0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_02058B28
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02058B6C
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02057BAC
-FUN_02057BAC: ; 0x02057BAC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r2, #0x0
- add r7, r0, #0x0
- add r4, r3, #0x0
- str r1, [sp, #0x0]
- cmp r5, #0x0
- bne _02057BC0
- bl ErrorHandling
-_02057BC0:
- lsl r0, r5, #0x5
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- mov r0, #0xb
- bl FUN_020169D8
- add r6, r0, #0x0
- bne _02057BD4
- bl ErrorHandling
-_02057BD4:
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl memcpy
- mov r0, #0xb
- mov r1, #0x14
- bl FUN_020169D8
- add r4, r0, #0x0
- bne _02057BEE
- bl ErrorHandling
-_02057BEE:
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- str r7, [r4, #0xc]
- add r0, r4, #0x0
- str r6, [r4, #0x10]
- bl FUN_02057C08
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02057C08
-FUN_02057C08: ; 0x02057C08
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020583E8
- add r6, r5, #0x0
- ldr r4, [r5, #0x10]
- add r7, r0, #0x0
- add r6, #0x8
-_02057C1A:
- add r0, r4, #0x0
- bl FUN_02058CE0
- cmp r0, #0x1
- beq _02057C30
- ldrh r1, [r4, #0x8]
- add r0, r7, #0x0
- bl FUN_02039528
- cmp r0, #0x0
- bne _02057C42
-_02057C30:
- ldr r0, [r5, #0xc]
- ldr r2, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02057494
- cmp r0, #0x0
- bne _02057C42
- bl ErrorHandling
-_02057C42:
- ldr r0, [r6, #0x0]
- add r4, #0x20
- add r0, r0, #0x1
- str r0, [r6, #0x0]
- ldr r1, [r5, #0x8]
- ldr r0, [r5, #0x4]
- cmp r1, r0
- blt _02057C1A
- ldr r1, [r5, #0x10]
- mov r0, #0xb
- bl FUN_02016A8C
- mov r0, #0xb
- add r1, r5, #0x0
- bl FUN_02016A8C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057C64
-FUN_02057C64: ; 0x02057C64
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- bl FUN_02058368
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_02057C7C:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058424
- cmp r0, #0x0
- bne _02057C8C
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_02057C8C:
- add r4, r4, #0x1
- add r5, r5, r7
- cmp r4, r6
- blt _02057C7C
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057C98
-FUN_02057C98: ; 0x02057C98
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- mov r1, #0x0
- add r4, r2, #0x0
- str r1, [sp, #0x4]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- add r6, r0, #0x0
- bl FUN_020580F4
- cmp r0, #0x1
- bne _02057CEA
- add r7, sp, #0x0
-_02057CB6:
- ldr r0, [sp, #0x0]
- bl FUN_020589CC
- cmp r0, #0x1
- bne _02057CDA
- ldr r0, [sp, #0x0]
- bl FUN_02058448
- cmp r5, r0
- bne _02057CDA
- ldr r0, [sp, #0x0]
- bl FUN_02058750
- cmp r4, r0
- bne _02057CDA
- ldr r0, [sp, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-_02057CDA:
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _02057CB6
-_02057CEA:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02057CF0
-FUN_02057CF0: ; 0x02057CF0
- push {r3-r5, lr}
- add r4, r1, #0x0
- bl FUN_0205839C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058480
- cmp r0, #0x30
- beq _02057D08
- cmp r0, #0x32
- bne _02057D0A
-_02057D08:
- add r5, r5, #0x2
-_02057D0A:
- ldr r0, _02057D28 ; =FUN_0205832C
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200CA44
- add r5, r0, #0x0
- bne _02057D1C
- bl ErrorHandling
-_02057D1C:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058554
- pop {r3-r5, pc}
- nop
-_02057D28: .word FUN_0205832C
-
- thumb_func_start FUN_02057D2C
-FUN_02057D2C: ; 0x02057D2C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r6, r2, #0x0
- bl FUN_02058BFC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058444
- add r0, r4, #0x0
- bl FUN_02058C04
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058170
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058454
- add r0, r4, #0x0
- bl FUN_02058C0C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205847C
- add r0, r4, #0x0
- bl FUN_02058C14
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058484
- add r0, r4, #0x0
- bl FUN_02058C1C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205848C
- add r0, r4, #0x0
- bl FUN_02058C24
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058494
- add r0, r4, #0x0
- bl FUN_02058C2C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205849C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058C58
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020584EC
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02058C58
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_020584EC
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02058C58
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x2
- bl FUN_020584EC
- add r0, r4, #0x0
- bl FUN_02058C80
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058534
- add r0, r4, #0x0
- bl FUN_02058C8C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205853C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02057DFC
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02057DFC
-FUN_02057DFC: ; 0x02057DFC
- push {r3-r6, lr}
- sub sp, #0xc
- add r6, r1, #0x0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058C98
- add r5, r0, #0x0
- mov r0, #0x2
- lsl r1, r5, #0x10
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B00
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B18
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B30
- add r0, r6, #0x0
- bl FUN_02058CA0
- asr r1, r0, #0x3
- str r0, [sp, #0x4]
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r5, r0, #0xc
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B08
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B20
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B40
- add r0, r6, #0x0
- bl FUN_02058CA8
- add r5, r0, #0x0
- mov r0, #0x2
- lsl r1, r5, #0x10
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B10
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B28
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02058B50
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02058B6C
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02057E90
-FUN_02057E90: ; 0x02057E90
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, _02057EDC ; =0x00001801
- add r5, r0, #0x0
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_020581F8
- cmp r0, #0x1
- bne _02057EAE
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020589B0
-_02057EAE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058570
- add r0, r5, #0x0
- bl FUN_020584A0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020584A4
- add r0, r5, #0x0
- bl FUN_020584A0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_0205AE80
- pop {r3-r5, pc}
- nop
-_02057EDC: .word 0x00001801
-
- thumb_func_start FUN_02057EE0
-FUN_02057EE0: ; 0x02057EE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058480
- bl FUN_02058D14
- add r4, r0, #0x0
- bl FUN_02058D2C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058630
- add r0, r4, #0x0
- bl FUN_02058D30
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058644
- add r0, r4, #0x0
- bl FUN_02058D34
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058658
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02057F18
-FUN_02057F18: ; 0x02057F18
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02058458
- mov r1, #0x2
- lsl r1, r1, #0xc
- cmp r0, r1
- bne _02057F2C
- ldr r5, _02057F7C ; =0x021F9080
- b _02057F32
-_02057F2C:
- bl FUN_02058D4C
- add r5, r0, #0x0
-_02057F32:
- add r0, r5, #0x0
- bl FUN_02058D38
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058684
- add r0, r5, #0x0
- bl FUN_02058D3C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058698
- add r0, r5, #0x0
- bl FUN_02058D40
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020586AC
- add r0, r5, #0x0
- bl FUN_02058D44
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020586C0
- add r0, r5, #0x0
- bl FUN_02058D48
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020586D4
- pop {r3-r5, pc}
- nop
-_02057F7C: .word 0x021F9080
-
- thumb_func_start FUN_02057F80
-FUN_02057F80: ; 0x02057F80
- ldr r3, _02057F8C ; =memset
- mov r2, #0x4a
- mov r1, #0x0
- lsl r2, r2, #0x2
- bx r3
- nop
-_02057F8C: .word memset
-
- thumb_func_start FUN_02057F90
-FUN_02057F90: ; 0x02057F90
- push {r3-r7, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r3, #0x0
- str r1, [sp, #0x0]
- cmp r6, #0x0
- beq _0205800A
-_02057F9E:
- add r0, r4, #0x0
- bl FUN_02058BFC
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058448
- cmp r7, r0
- bne _02058002
- add r0, r4, #0x0
- bl FUN_02058CE0
- cmp r0, #0x1
- bne _02057FE8
- add r0, r4, #0x0
- bl FUN_02058CFC
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020589CC
- cmp r0, #0x1
- bne _02057FDA
- add r0, r5, #0x0
- bl FUN_02058750
- cmp r7, r0
- bne _02058002
- mov r0, #0x1
- pop {r3-r7, pc}
-_02057FDA:
- add r0, r5, #0x0
- bl FUN_02058450
- cmp r7, r0
- bne _02058002
- mov r0, #0x2
- pop {r3-r7, pc}
-_02057FE8:
- add r0, r5, #0x0
- bl FUN_020589CC
- cmp r0, #0x1
- bne _02058002
- add r0, r5, #0x0
- bl FUN_02058750
- ldr r1, [sp, #0x0]
- cmp r1, r0
- bne _02058002
- mov r0, #0x2
- pop {r3-r7, pc}
-_02058002:
- sub r6, r6, #0x1
- add r4, #0x20
- cmp r6, #0x0
- bne _02057F9E
-_0205800A:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02058010
-FUN_02058010: ; 0x02058010
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- mov r1, #0x0
- add r4, r2, #0x0
- str r1, [sp, #0x4]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- add r6, r0, #0x0
- bl FUN_020580F4
- cmp r0, #0x1
- bne _02058058
- add r7, sp, #0x0
-_0205802E:
- ldr r0, [sp, #0x0]
- bl FUN_02058448
- cmp r5, r0
- bne _02058048
- ldr r0, [sp, #0x0]
- bl FUN_02058450
- cmp r4, r0
- bne _02058048
- ldr r0, [sp, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-_02058048:
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _0205802E
-_02058058:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02058060
-FUN_02058060: ; 0x02058060
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r5, #0x0
- bne _0205806E
- bl ErrorHandling
-_0205806E:
- add r0, r5, #0x0
- bl FUN_02058368
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583C4
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_02058082:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205842C
- cmp r0, #0x1
- bne _020580A6
- add r0, r5, #0x0
- bl FUN_020589CC
- cmp r0, #0x0
- bne _020580A6
- add r0, r5, #0x0
- bl FUN_02058448
- cmp r6, r0
- bne _020580A6
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_020580A6:
- sub r4, r4, #0x1
- add r5, r5, r7
- cmp r4, #0x0
- bgt _02058082
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020580B4
-FUN_020580B4: ; 0x020580B4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02058368
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583C4
- mov r7, #0x4a
- add r5, r0, #0x0
- lsl r7, r7, #0x2
-_020580CC:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205842C
- cmp r0, #0x1
- bne _020580E6
- add r0, r5, #0x0
- bl FUN_02058480
- cmp r6, r0
- bne _020580E6
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_020580E6:
- sub r4, r4, #0x1
- add r5, r5, r7
- cmp r4, #0x0
- bgt _020580CC
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020580F4
-FUN_020580F4: ; 0x020580F4
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- add r6, r3, #0x0
- bl FUN_02058368
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, r7
- blt _0205810E
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205810E:
- add r0, r4, #0x0
- bl FUN_020583C4
- mov r1, #0x4a
- ldr r2, [r5, #0x0]
- lsl r1, r1, #0x2
- mul r1, r2
- add r4, r0, r1
-_0205811E:
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02058424
- cmp r6, r0
- bne _02058138
- ldr r0, [sp, #0x0]
- str r4, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_02058138:
- mov r0, #0x4a
- lsl r0, r0, #0x2
- add r4, r4, r0
- ldr r0, [r5, #0x0]
- cmp r0, r7
- blt _0205811E
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02058148
-FUN_02058148: ; 0x02058148
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r4, #0x0
- bl FUN_0205815C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205815C
-FUN_0205815C: ; 0x0205815C
- ldr r3, _02058164 ; =FUN_02058418
- ldr r1, _02058168 ; =0x05108000
- bx r3
- nop
-_02058164: .word FUN_02058418
-_02058168: .word 0x05108000
-
- thumb_func_start FUN_0205816C
-FUN_0205816C: ; 0x0205816C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058170
-FUN_02058170: ; 0x02058170
- push {r3, lr}
- cmp r1, #0x65
- blt _02058186
- cmp r1, #0x75
- bgt _02058186
- sub r1, #0x65
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02039504
- add r1, r0, #0x0
-_02058186:
- add r0, r1, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205818C
-FUN_0205818C: ; 0x0205818C
- push {r4, lr}
- mov r1, #0x1
- lsl r1, r1, #0xc
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _020581A2
- add r0, r4, #0x0
- bl FUN_02059D1C
-_020581A2:
- pop {r4, pc}
-
- thumb_func_start FUN_020581A4
-FUN_020581A4: ; 0x020581A4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02057EE0
- add r0, r4, #0x0
- bl FUN_02058EE8
- pop {r4, pc}
-
- thumb_func_start FUN_020581B4
-FUN_020581B4: ; 0x020581B4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058578
- bl FUN_020587E0
- cmp r0, #0x0
- beq _020581F6
- add r0, r4, #0x0
- bl FUN_0205818C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- mov r1, #0x0
- bl MOD05_021F2E0C
- add r0, r4, #0x0
- bl FUN_02058884
- cmp r0, #0x0
- bne _020581F6
- add r0, r4, #0x0
- bl FUN_02057F18
- add r0, r4, #0x0
- bl FUN_0205868C
- add r0, r4, #0x0
- bl FUN_02058878
-_020581F6:
- pop {r4, pc}
-
- thumb_func_start FUN_020581F8
-FUN_020581F8: ; 0x020581F8
- push {r3, lr}
- bl FUN_02058498
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, _02058210 ; =0x0000FFFF
- cmp r1, r0
- bne _0205820C
- mov r0, #0x1
- pop {r3, pc}
-_0205820C:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02058210: .word 0x0000FFFF
-
- thumb_func_start FUN_02058214
-FUN_02058214: ; 0x02058214
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020589CC
- cmp r0, #0x1
- beq _02058228
- bl ErrorHandling
-_02058228:
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020589B0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0205844C
- add r0, r4, #0x0
- bl FUN_02058C24
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058494
- add r0, r4, #0x0
- bl FUN_02058C1C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205848C
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02058258
-FUN_02058258: ; 0x02058258
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r4, r1, #0x0
- bl FUN_02058CE0
- cmp r0, #0x1
- beq _0205826E
- bl ErrorHandling
-_0205826E:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020589B0
- add r0, r6, #0x0
- bl FUN_02058C24
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058494
- add r0, r6, #0x0
- bl FUN_02058CFC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205848C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205844C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205829C
-FUN_0205829C: ; 0x0205829C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058744
- add r0, r0, r4
- pop {r4, pc}
-
- thumb_func_start FUN_020582A8
-FUN_020582A8: ; 0x020582A8
- push {r4-r6, lr}
- add r6, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_0205842C
- cmp r0, #0x0
- bne _020582BE
- mov r0, #0x0
- pop {r4-r6, pc}
-_020582BE:
- add r0, r5, #0x0
- bl FUN_02058448
- cmp r6, r0
- beq _020582CC
- mov r0, #0x0
- pop {r4-r6, pc}
-_020582CC:
- add r0, r5, #0x0
- bl FUN_02058450
- cmp r4, r0
- beq _020582F2
- add r0, r5, #0x0
- bl FUN_020589CC
- cmp r0, #0x0
- bne _020582E4
- mov r0, #0x0
- pop {r4-r6, pc}
-_020582E4:
- add r0, r5, #0x0
- bl FUN_02058750
- cmp r4, r0
- beq _020582F2
- mov r0, #0x0
- pop {r4-r6, pc}
-_020582F2:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020582F8
-FUN_020582F8: ; 0x020582F8
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0205842C
- cmp r0, #0x0
- bne _02058310
- mov r0, #0x0
- pop {r3-r7, pc}
-_02058310:
- add r0, r5, #0x0
- bl FUN_0205845C
- cmp r0, r4
- beq _0205831E
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205831E:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020582A8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205832C
-FUN_0205832C: ; 0x0205832C
- push {r4, lr}
- add r4, r1, #0x0
- add r0, r4, #0x0
- bl FUN_02058EF8
- add r0, r4, #0x0
- bl FUN_02058830
- cmp r0, #0x0
- beq _02058346
- add r0, r4, #0x0
- bl FUN_02058348
-_02058346:
- pop {r4, pc}
-
- thumb_func_start FUN_02058348
-FUN_02058348: ; 0x02058348
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058578
- bl FUN_020587E0
- cmp r0, #0x1
- bne _0205835E
- add r0, r4, #0x0
- bl MOD05_021F1D8C
-_0205835E:
- pop {r4, pc}
-
- thumb_func_start FUN_02058360
-FUN_02058360: ; 0x02058360
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058364
-FUN_02058364: ; 0x02058364
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058368
-FUN_02058368: ; 0x02058368
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0205836C
-FUN_0205836C: ; 0x0205836C
- ldr r1, [r0, #0x8]
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058374
-FUN_02058374: ; 0x02058374
- ldr r1, [r0, #0x8]
- sub r1, r1, #0x1
- str r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0205837C
-FUN_0205837C: ; 0x0205837C
- ldr r2, [r0, #0x0]
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058384
-FUN_02058384: ; 0x02058384
- ldr r2, [r0, #0x0]
- mvn r1, r1
- and r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058390
-FUN_02058390: ; 0x02058390
- ldr r0, [r0, #0x0]
- and r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058398
-FUN_02058398: ; 0x02058398
- str r1, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_0205839C
-FUN_0205839C: ; 0x0205839C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_020583A0
-FUN_020583A0: ; 0x020583A0
- add r0, #0x18
- bx lr
-
- thumb_func_start FUN_020583A4
-FUN_020583A4: ; 0x020583A4
- mov r2, #0x12
- lsl r2, r2, #0x4
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_020583AC
-FUN_020583AC: ; 0x020583AC
- mov r1, #0x12
- lsl r1, r1, #0x4
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020583B4
-FUN_020583B4: ; 0x020583B4
- mov r2, #0x49
- lsl r2, r2, #0x2
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_020583BC
-FUN_020583BC: ; 0x020583BC
- mov r1, #0x49
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020583C4
-FUN_020583C4: ; 0x020583C4
- mov r1, #0x49
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020583CC
-FUN_020583CC: ; 0x020583CC
- mov r1, #0x49
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020583D4
-FUN_020583D4: ; 0x020583D4
- mov r1, #0x4a
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x2
- add r1, r2, r1
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020583E0
-FUN_020583E0: ; 0x020583E0
- mov r2, #0x4a
- lsl r2, r2, #0x2
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_020583E8
-FUN_020583E8: ; 0x020583E8
- mov r1, #0x4a
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020583F0
-FUN_020583F0: ; 0x020583F0
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_020583F4
-FUN_020583F4: ; 0x020583F4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02058402
- bl ErrorHandling
-_02058402:
- ldr r0, [r4, #0x14]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058408
-FUN_02058408: ; 0x02058408
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0205840C
-FUN_0205840C: ; 0x0205840C
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058410
-FUN_02058410: ; 0x02058410
- ldr r2, [r0, #0x0]
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058418
-FUN_02058418: ; 0x02058418
- ldr r2, [r0, #0x0]
- mvn r1, r1
- and r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058424
-FUN_02058424: ; 0x02058424
- ldr r0, [r0, #0x0]
- and r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205842C
-FUN_0205842C: ; 0x0205842C
- ldr r0, [r0, #0x0]
- tst r0, r1
- beq _02058436
- mov r0, #0x1
- bx lr
-_02058436:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205843C
-FUN_0205843C: ; 0x0205843C
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058440
-FUN_02058440: ; 0x02058440
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058444
-FUN_02058444: ; 0x02058444
- str r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058448
-FUN_02058448: ; 0x02058448
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0205844C
-FUN_0205844C: ; 0x0205844C
- str r1, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02058450
-FUN_02058450: ; 0x02058450
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02058454
-FUN_02058454: ; 0x02058454
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02058458
-FUN_02058458: ; 0x02058458
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0205845C
-FUN_0205845C: ; 0x0205845C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058458
- add r4, r0, #0x0
- bl FUN_0205C334
- cmp r0, #0x1
- bne _02058476
- add r0, r5, #0x0
- bl FUN_0205C340
- add r4, r0, #0x0
-_02058476:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205847C
-FUN_0205847C: ; 0x0205847C
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02058480
-FUN_02058480: ; 0x02058480
- ldr r0, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02058484
-FUN_02058484: ; 0x02058484
- str r1, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_02058488
-FUN_02058488: ; 0x02058488
- ldr r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_0205848C
-FUN_0205848C: ; 0x0205848C
- str r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02058490
-FUN_02058490: ; 0x02058490
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02058494
-FUN_02058494: ; 0x02058494
- str r1, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_02058498
-FUN_02058498: ; 0x02058498
- ldr r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_0205849C
-FUN_0205849C: ; 0x0205849C
- str r1, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_020584A0
-FUN_020584A0: ; 0x020584A0
- ldr r0, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_020584A4
-FUN_020584A4: ; 0x020584A4
- ldr r2, [r0, #0x28]
- str r2, [r0, #0x30]
- str r1, [r0, #0x28]
- bx lr
-
- thumb_func_start FUN_020584AC
-FUN_020584AC: ; 0x020584AC
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x80
- add r5, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- bne _020584C2
- ldr r0, [r5, #0x28]
- str r0, [r5, #0x30]
- str r4, [r5, #0x28]
-_020584C2:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020584C4
-FUN_020584C4: ; 0x020584C4
- ldr r0, [r0, #0x28]
- bx lr
-
- thumb_func_start FUN_020584C8
-FUN_020584C8: ; 0x020584C8
- ldr r0, [r0, #0x30]
- bx lr
-
- thumb_func_start FUN_020584CC
-FUN_020584CC: ; 0x020584CC
- ldr r2, [r0, #0x2c]
- str r2, [r0, #0x34]
- str r1, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_020584D4
-FUN_020584D4: ; 0x020584D4
- ldr r0, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_020584D8
-FUN_020584D8: ; 0x020584D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020584AC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020584CC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020584EC
-FUN_020584EC: ; 0x020584EC
- push {r3, lr}
- cmp r2, #0x0
- beq _020584FC
- cmp r2, #0x1
- beq _02058500
- cmp r2, #0x2
- beq _02058504
- b _02058508
-_020584FC:
- str r1, [r0, #0x38]
- pop {r3, pc}
-_02058500:
- str r1, [r0, #0x3c]
- pop {r3, pc}
-_02058504:
- str r1, [r0, #0x40]
- pop {r3, pc}
-_02058508:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058510
-FUN_02058510: ; 0x02058510
- push {r3, lr}
- cmp r1, #0x0
- beq _02058520
- cmp r1, #0x1
- beq _02058524
- cmp r1, #0x2
- beq _02058528
- b _0205852C
-_02058520:
- ldr r0, [r0, #0x38]
- pop {r3, pc}
-_02058524:
- ldr r0, [r0, #0x3c]
- pop {r3, pc}
-_02058528:
- ldr r0, [r0, #0x40]
- pop {r3, pc}
-_0205852C:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02058534
-FUN_02058534: ; 0x02058534
- str r1, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_02058538
-FUN_02058538: ; 0x02058538
- ldr r0, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_0205853C
-FUN_0205853C: ; 0x0205853C
- str r1, [r0, #0x48]
- bx lr
-
- thumb_func_start FUN_02058540
-FUN_02058540: ; 0x02058540
- ldr r0, [r0, #0x48]
- bx lr
-
- thumb_func_start FUN_02058544
-FUN_02058544: ; 0x02058544
- add r0, #0xa0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205854C
-FUN_0205854C: ; 0x0205854C
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058554
-FUN_02058554: ; 0x02058554
- add r0, #0xb0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205855C
-FUN_0205855C: ; 0x0205855C
- add r0, #0xb0
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058564
-FUN_02058564: ; 0x02058564
- push {r3, lr}
- bl FUN_0205855C
- bl FUN_0200CAB4
- pop {r3, pc}
-
- thumb_func_start FUN_02058570
-FUN_02058570: ; 0x02058570
- add r0, #0xb4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058578
-FUN_02058578: ; 0x02058578
- add r0, #0xb4
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058580
-FUN_02058580: ; 0x02058580
- ldr r3, _02058588 ; =FUN_02058360
- add r0, #0xb4
- ldr r0, [r0, #0x0]
- bx r3
- .balign 4
-_02058588: .word FUN_02058360
-
- thumb_func_start FUN_0205858C
-FUN_0205858C: ; 0x0205858C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x10
- ble _0205859A
- bl ErrorHandling
-_0205859A:
- add r0, r4, #0x0
- bl FUN_020585B0
- mov r1, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020585B0
-FUN_020585B0: ; 0x020585B0
- add r0, #0xd8
- bx lr
-
- thumb_func_start FUN_020585B4
-FUN_020585B4: ; 0x020585B4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x10
- ble _020585C2
- bl ErrorHandling
-_020585C2:
- add r0, r4, #0x0
- bl FUN_020585D8
- mov r1, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020585D8
-FUN_020585D8: ; 0x020585D8
- add r0, #0xe8
- bx lr
-
- thumb_func_start FUN_020585DC
-FUN_020585DC: ; 0x020585DC
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x10
- ble _020585EA
- bl ErrorHandling
-_020585EA:
- add r0, r4, #0x0
- bl FUN_02058600
- mov r1, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02058600
-FUN_02058600: ; 0x02058600
- add r0, #0xf8
- bx lr
-
- thumb_func_start FUN_02058604
-FUN_02058604: ; 0x02058604
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x20
- ble _02058612
- bl ErrorHandling
-_02058612:
- add r0, r4, #0x0
- bl FUN_02058628
- mov r1, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02058628
-FUN_02058628: ; 0x02058628
- mov r1, #0x42
- lsl r1, r1, #0x2
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_02058630
-FUN_02058630: ; 0x02058630
- add r0, #0xb8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058638
-FUN_02058638: ; 0x02058638
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xb8
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_02058644
-FUN_02058644: ; 0x02058644
- add r0, #0xbc
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205864C
-FUN_0205864C: ; 0x0205864C
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xbc
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_02058658
-FUN_02058658: ; 0x02058658
- add r0, #0xc0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058660
-FUN_02058660: ; 0x02058660
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xc0
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_0205866C
-FUN_0205866C: ; 0x0205866C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058480
- bl FUN_02058D14
- add r1, r0, #0x0
- ldr r1, [r1, #0x10]
- add r0, r4, #0x0
- blx r1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058684
-FUN_02058684: ; 0x02058684
- add r0, #0xc4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205868C
-FUN_0205868C: ; 0x0205868C
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xc4
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_02058698
-FUN_02058698: ; 0x02058698
- add r0, #0xc8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586A0
-FUN_020586A0: ; 0x020586A0
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xc8
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_020586AC
-FUN_020586AC: ; 0x020586AC
- add r0, #0xcc
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586B4
-FUN_020586B4: ; 0x020586B4
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xcc
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_020586C0
-FUN_020586C0: ; 0x020586C0
- add r0, #0xd0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586C8
-FUN_020586C8: ; 0x020586C8
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xd0
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_020586D4
-FUN_020586D4: ; 0x020586D4
- add r0, #0xd4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586DC
-FUN_020586DC: ; 0x020586DC
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0xd4
- ldr r1, [r1, #0x0]
- blx r1
- pop {r3, pc}
-
- thumb_func_start FUN_020586E8
-FUN_020586E8: ; 0x020586E8
- add r0, #0xa4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586F0
-FUN_020586F0: ; 0x020586F0
- add r0, #0xa4
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020586F8
-FUN_020586F8: ; 0x020586F8
- add r0, #0xa8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058700
-FUN_02058700: ; 0x02058700
- add r1, r0, #0x0
- add r1, #0xa8
- ldr r1, [r1, #0x0]
- add r0, #0xa8
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058710
-FUN_02058710: ; 0x02058710
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058718
-FUN_02058718: ; 0x02058718
- add r0, #0xac
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058720
-FUN_02058720: ; 0x02058720
- add r0, #0xac
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058728
-FUN_02058728: ; 0x02058728
- add r0, #0xae
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058730
-FUN_02058730: ; 0x02058730
- add r0, #0xae
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058738
-FUN_02058738: ; 0x02058738
- push {r3, lr}
- bl FUN_02058580
- bl FUN_020583E8
- pop {r3, pc}
-
- thumb_func_start FUN_02058744
-FUN_02058744: ; 0x02058744
- push {r3, lr}
- bl FUN_02058578
- bl FUN_0205839C
- pop {r3, pc}
-
- thumb_func_start FUN_02058750
-FUN_02058750: ; 0x02058750
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020589CC
- cmp r0, #0x1
- beq _02058760
- bl ErrorHandling
-_02058760:
- add r0, r4, #0x0
- bl FUN_02058490
- pop {r4, pc}
-
- thumb_func_start FUN_02058768
-FUN_02058768: ; 0x02058768
- ldr r3, _02058770 ; =FUN_0205837C
- mov r1, #0x6
- bx r3
- nop
-_02058770: .word FUN_0205837C
-
- thumb_func_start FUN_02058774
-FUN_02058774: ; 0x02058774
- ldr r3, _0205877C ; =FUN_02058384
- mov r1, #0x6
- bx r3
- nop
-_0205877C: .word FUN_02058384
-
- thumb_func_start FUN_02058780
-FUN_02058780: ; 0x02058780
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02058368
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r6, #0x4a
- add r5, r0, #0x0
- lsl r6, r6, #0x2
-_02058796:
- add r0, r5, #0x0
- bl FUN_02058830
- cmp r0, #0x0
- beq _020587A6
- add r0, r5, #0x0
- bl FUN_02058908
-_020587A6:
- add r5, r5, r6
- sub r4, r4, #0x1
- bne _02058796
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020587B0
-FUN_020587B0: ; 0x020587B0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02058368
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- mov r6, #0x4a
- add r5, r0, #0x0
- lsl r6, r6, #0x2
-_020587C6:
- add r0, r5, #0x0
- bl FUN_02058830
- cmp r0, #0x0
- beq _020587D6
- add r0, r5, #0x0
- bl FUN_02058914
-_020587D6:
- add r5, r5, r6
- sub r4, r4, #0x1
- bne _020587C6
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020587E0
-FUN_020587E0: ; 0x020587E0
- push {r3, lr}
- mov r1, #0x1
- bl FUN_02058390
- cmp r0, #0x0
- beq _020587F0
- mov r0, #0x1
- pop {r3, pc}
-_020587F0:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020587F4
-FUN_020587F4: ; 0x020587F4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058578
- add r1, r4, #0x0
- bl FUN_02058390
- pop {r4, pc}
-
- thumb_func_start FUN_02058804
-FUN_02058804: ; 0x02058804
- push {r3, lr}
- cmp r1, #0x0
- bne _02058812
- mov r1, #0x8
- bl FUN_0205837C
- pop {r3, pc}
-_02058812:
- mov r1, #0x8
- bl FUN_02058384
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205881C
-FUN_0205881C: ; 0x0205881C
- push {r3, lr}
- mov r1, #0x8
- bl FUN_02058390
- cmp r0, #0x0
- bne _0205882C
- mov r0, #0x1
- pop {r3, pc}
-_0205882C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02058830
-FUN_02058830: ; 0x02058830
- ldr r3, _02058838 ; =FUN_0205842C
- mov r1, #0x1
- bx r3
- nop
-_02058838: .word FUN_0205842C
-
- thumb_func_start FUN_0205883C
-FUN_0205883C: ; 0x0205883C
- ldr r3, _02058844 ; =FUN_02058410
- mov r1, #0x2
- bx r3
- nop
-_02058844: .word FUN_02058410
-
- thumb_func_start FUN_02058848
-FUN_02058848: ; 0x02058848
- ldr r3, _02058850 ; =FUN_02058418
- mov r1, #0x2
- bx r3
- nop
-_02058850: .word FUN_02058418
-
- thumb_func_start FUN_02058854
-FUN_02058854: ; 0x02058854
- ldr r3, _0205885C ; =FUN_0205842C
- mov r1, #0x2
- bx r3
- nop
-_0205885C: .word FUN_0205842C
-
- thumb_func_start FUN_02058860
-FUN_02058860: ; 0x02058860
- ldr r3, _02058868 ; =FUN_02058410
- mov r1, #0x4
- bx r3
- nop
-_02058868: .word FUN_02058410
-
- thumb_func_start FUN_0205886C
-FUN_0205886C: ; 0x0205886C
- ldr r3, _02058874 ; =FUN_02058418
- mov r1, #0x8
- bx r3
- nop
-_02058874: .word FUN_02058418
-
- thumb_func_start FUN_02058878
-FUN_02058878: ; 0x02058878
- ldr r3, _02058880 ; =FUN_02058410
- mov r1, #0x1
- lsl r1, r1, #0xe
- bx r3
- .balign 4
-_02058880: .word FUN_02058410
-
- thumb_func_start FUN_02058884
-FUN_02058884: ; 0x02058884
- ldr r3, _0205888C ; =FUN_0205842C
- mov r1, #0x1
- lsl r1, r1, #0xe
- bx r3
- .balign 4
-_0205888C: .word FUN_0205842C
-
- thumb_func_start FUN_02058890
-FUN_02058890: ; 0x02058890
- ldr r3, _02058898 ; =FUN_0205842C
- mov r1, #0x2
- lsl r1, r1, #0x8
- bx r3
- .balign 4
-_02058898: .word FUN_0205842C
-
- thumb_func_start FUN_0205889C
-FUN_0205889C: ; 0x0205889C
- push {r3, lr}
- cmp r1, #0x1
- bne _020588AC
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_02058410
- pop {r3, pc}
-_020588AC:
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020588B8
-FUN_020588B8: ; 0x020588B8
- push {r3, lr}
- cmp r1, #0x1
- bne _020588C8
- mov r1, #0x1
- lsl r1, r1, #0x12
- bl FUN_02058418
- pop {r3, pc}
-_020588C8:
- mov r1, #0x1
- lsl r1, r1, #0x12
- bl FUN_02058410
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020588D4
-FUN_020588D4: ; 0x020588D4
- push {r3, lr}
- mov r1, #0x2
- lsl r1, r1, #0x12
- bl FUN_0205842C
- cmp r0, #0x1
- beq _020588E6
- mov r0, #0x1
- pop {r3, pc}
-_020588E6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020588EC
-FUN_020588EC: ; 0x020588EC
- push {r3, lr}
- cmp r1, #0x1
- bne _020588FC
- mov r1, #0x2
- lsl r1, r1, #0x12
- bl FUN_02058410
- pop {r3, pc}
-_020588FC:
- mov r1, #0x2
- lsl r1, r1, #0x12
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058908
-FUN_02058908: ; 0x02058908
- ldr r3, _02058910 ; =FUN_02058410
- mov r1, #0x40
- bx r3
- nop
-_02058910: .word FUN_02058410
-
- thumb_func_start FUN_02058914
-FUN_02058914: ; 0x02058914
- ldr r3, _0205891C ; =FUN_02058418
- mov r1, #0x40
- bx r3
- nop
-_0205891C: .word FUN_02058418
-
- thumb_func_start FUN_02058920
-FUN_02058920: ; 0x02058920
- push {r3, lr}
- mov r1, #0x40
- bl FUN_0205842C
- cmp r0, #0x1
- bne _02058930
- mov r0, #0x1
- pop {r3, pc}
-_02058930:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02058934
-FUN_02058934: ; 0x02058934
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058578
- bl FUN_020587E0
- cmp r0, #0x0
- bne _02058948
- mov r0, #0x0
- pop {r4, pc}
-_02058948:
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205895A
- mov r0, #0x1
- pop {r4, pc}
-_0205895A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058960
-FUN_02058960: ; 0x02058960
- push {r3, lr}
- cmp r1, #0x1
- bne _02058970
- mov r1, #0x2
- lsl r1, r1, #0x16
- bl FUN_02058410
- pop {r3, pc}
-_02058970:
- mov r1, #0x2
- lsl r1, r1, #0x16
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205897C
-FUN_0205897C: ; 0x0205897C
- push {r3, lr}
- mov r1, #0x2
- lsl r1, r1, #0x16
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205898E
- mov r0, #0x1
- pop {r3, pc}
-_0205898E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058994
-FUN_02058994: ; 0x02058994
- push {r3, lr}
- cmp r1, #0x1
- bne _020589A4
- mov r1, #0x1
- lsl r1, r1, #0xa
- bl FUN_02058410
- pop {r3, pc}
-_020589A4:
- mov r1, #0x1
- lsl r1, r1, #0xa
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020589B0
-FUN_020589B0: ; 0x020589B0
- push {r3, lr}
- cmp r1, #0x1
- bne _020589C0
- mov r1, #0x2
- lsl r1, r1, #0x18
- bl FUN_02058410
- pop {r3, pc}
-_020589C0:
- mov r1, #0x2
- lsl r1, r1, #0x18
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020589CC
-FUN_020589CC: ; 0x020589CC
- push {r3, lr}
- mov r1, #0x2
- lsl r1, r1, #0x18
- bl FUN_02058424
- cmp r0, #0x0
- beq _020589DE
- mov r0, #0x1
- pop {r3, pc}
-_020589DE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020589E4
-FUN_020589E4: ; 0x020589E4
- push {r3, lr}
- cmp r1, #0x1
- bne _020589F4
- mov r1, #0x1
- lsl r1, r1, #0x1a
- bl FUN_02058410
- pop {r3, pc}
-_020589F4:
- mov r1, #0x1
- lsl r1, r1, #0x1a
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A00
-FUN_02058A00: ; 0x02058A00
- push {r3, lr}
- mov r1, #0x1
- lsl r1, r1, #0x1a
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058A12
- mov r0, #0x1
- pop {r3, pc}
-_02058A12:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A18
-FUN_02058A18: ; 0x02058A18
- push {r3, lr}
- cmp r1, #0x1
- bne _02058A28
- mov r1, #0x2
- lsl r1, r1, #0x1a
- bl FUN_02058410
- pop {r3, pc}
-_02058A28:
- mov r1, #0x2
- lsl r1, r1, #0x1a
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A34
-FUN_02058A34: ; 0x02058A34
- push {r3, lr}
- mov r1, #0x2
- lsl r1, r1, #0x1a
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058A46
- mov r0, #0x1
- pop {r3, pc}
-_02058A46:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A4C
-FUN_02058A4C: ; 0x02058A4C
- push {r3, lr}
- cmp r1, #0x1
- bne _02058A5C
- mov r1, #0x1
- lsl r1, r1, #0x1c
- bl FUN_02058410
- pop {r3, pc}
-_02058A5C:
- mov r1, #0x1
- lsl r1, r1, #0x1c
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A68
-FUN_02058A68: ; 0x02058A68
- push {r3, lr}
- mov r1, #0x1
- lsl r1, r1, #0x1c
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058A7A
- mov r0, #0x1
- pop {r3, pc}
-_02058A7A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A80
-FUN_02058A80: ; 0x02058A80
- push {r3, lr}
- cmp r1, #0x1
- bne _02058A90
- mov r1, #0x1
- lsl r1, r1, #0x18
- bl FUN_02058410
- pop {r3, pc}
-_02058A90:
- mov r1, #0x1
- lsl r1, r1, #0x18
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058A9C
-FUN_02058A9C: ; 0x02058A9C
- push {r3, lr}
- mov r1, #0x1
- lsl r1, r1, #0x18
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058AAE
- mov r0, #0x1
- pop {r3, pc}
-_02058AAE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058AB4
-FUN_02058AB4: ; 0x02058AB4
- push {r3, lr}
- mov r1, #0x10
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058AC4
- mov r0, #0x1
- pop {r3, pc}
-_02058AC4:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02058AC8
-FUN_02058AC8: ; 0x02058AC8
- push {r3, lr}
- cmp r1, #0x1
- bne _02058AD8
- mov r1, #0x2
- lsl r1, r1, #0x1c
- bl FUN_02058410
- pop {r3, pc}
-_02058AD8:
- mov r1, #0x2
- lsl r1, r1, #0x1c
- bl FUN_02058418
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058AE4
-FUN_02058AE4: ; 0x02058AE4
- push {r3, lr}
- mov r1, #0x2
- lsl r1, r1, #0x1c
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058AF6
- mov r0, #0x1
- pop {r3, pc}
-_02058AF6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058AFC
-FUN_02058AFC: ; 0x02058AFC
- ldr r0, [r0, #0x4c]
- bx lr
-
- thumb_func_start FUN_02058B00
-FUN_02058B00: ; 0x02058B00
- str r1, [r0, #0x4c]
- bx lr
-
- thumb_func_start FUN_02058B04
-FUN_02058B04: ; 0x02058B04
- ldr r0, [r0, #0x50]
- bx lr
-
- thumb_func_start FUN_02058B08
-FUN_02058B08: ; 0x02058B08
- str r1, [r0, #0x50]
- bx lr
-
- thumb_func_start FUN_02058B0C
-FUN_02058B0C: ; 0x02058B0C
- ldr r0, [r0, #0x54]
- bx lr
-
- thumb_func_start FUN_02058B10
-FUN_02058B10: ; 0x02058B10
- str r1, [r0, #0x54]
- bx lr
-
- thumb_func_start FUN_02058B14
-FUN_02058B14: ; 0x02058B14
- ldr r0, [r0, #0x58]
- bx lr
-
- thumb_func_start FUN_02058B18
-FUN_02058B18: ; 0x02058B18
- str r1, [r0, #0x58]
- bx lr
-
- thumb_func_start FUN_02058B1C
-FUN_02058B1C: ; 0x02058B1C
- ldr r0, [r0, #0x5c]
- bx lr
-
- thumb_func_start FUN_02058B20
-FUN_02058B20: ; 0x02058B20
- str r1, [r0, #0x5c]
- bx lr
-
- thumb_func_start FUN_02058B24
-FUN_02058B24: ; 0x02058B24
- ldr r0, [r0, #0x60]
- bx lr
-
- thumb_func_start FUN_02058B28
-FUN_02058B28: ; 0x02058B28
- str r1, [r0, #0x60]
- bx lr
-
- thumb_func_start FUN_02058B2C
-FUN_02058B2C: ; 0x02058B2C
- ldr r0, [r0, #0x64]
- bx lr
-
- thumb_func_start FUN_02058B30
-FUN_02058B30: ; 0x02058B30
- str r1, [r0, #0x64]
- bx lr
-
- thumb_func_start FUN_02058B34
-FUN_02058B34: ; 0x02058B34
- ldr r2, [r0, #0x64]
- add r1, r2, r1
- str r1, [r0, #0x64]
- bx lr
-
- thumb_func_start FUN_02058B3C
-FUN_02058B3C: ; 0x02058B3C
- ldr r0, [r0, #0x68]
- bx lr
-
- thumb_func_start FUN_02058B40
-FUN_02058B40: ; 0x02058B40
- str r1, [r0, #0x68]
- bx lr
-
- thumb_func_start FUN_02058B44
-FUN_02058B44: ; 0x02058B44
- ldr r2, [r0, #0x68]
- add r1, r2, r1
- str r1, [r0, #0x68]
- bx lr
-
- thumb_func_start FUN_02058B4C
-FUN_02058B4C: ; 0x02058B4C
- ldr r0, [r0, #0x6c]
- bx lr
-
- thumb_func_start FUN_02058B50
-FUN_02058B50: ; 0x02058B50
- str r1, [r0, #0x6c]
- bx lr
-
- thumb_func_start FUN_02058B54
-FUN_02058B54: ; 0x02058B54
- ldr r2, [r0, #0x6c]
- add r1, r2, r1
- str r1, [r0, #0x6c]
- bx lr
-
- thumb_func_start FUN_02058B5C
-FUN_02058B5C: ; 0x02058B5C
- add r2, r0, #0x0
- add r2, #0x70
- add r3, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_02058B6C
-FUN_02058B6C: ; 0x02058B6C
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x70
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02058B7C
-FUN_02058B7C: ; 0x02058B7C
- add r0, #0x70
- bx lr
-
- thumb_func_start FUN_02058B80
-FUN_02058B80: ; 0x02058B80
- ldr r0, [r0, #0x74]
- bx lr
-
- thumb_func_start FUN_02058B84
-FUN_02058B84: ; 0x02058B84
- add r2, r0, #0x0
- add r2, #0x7c
- add r3, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_02058B94
-FUN_02058B94: ; 0x02058B94
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x7c
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BA4
-FUN_02058BA4: ; 0x02058BA4
- add r2, r0, #0x0
- add r2, #0x88
- add r3, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BB4
-FUN_02058BB4: ; 0x02058BB4
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x88
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BC4
-FUN_02058BC4: ; 0x02058BC4
- add r2, r0, #0x0
- add r2, #0x94
- add r3, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BD4
-FUN_02058BD4: ; 0x02058BD4
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x94
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BE4
-FUN_02058BE4: ; 0x02058BE4
- push {r3, lr}
- bl FUN_02058B80
- asr r1, r0, #0x3
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058BF8
-FUN_02058BF8: ; 0x02058BF8
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058BFC
-FUN_02058BFC: ; 0x02058BFC
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058C00
-FUN_02058C00: ; 0x02058C00
- strh r1, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02058C04
-FUN_02058C04: ; 0x02058C04
- ldrh r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02058C08
-FUN_02058C08: ; 0x02058C08
- strh r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058C0C
-FUN_02058C0C: ; 0x02058C0C
- ldrh r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058C10
-FUN_02058C10: ; 0x02058C10
- strh r1, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_02058C14
-FUN_02058C14: ; 0x02058C14
- ldrh r0, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_02058C18
-FUN_02058C18: ; 0x02058C18
- strh r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058C1C
-FUN_02058C1C: ; 0x02058C1C
- ldrh r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058C20
-FUN_02058C20: ; 0x02058C20
- strh r1, [r0, #0xa]
- bx lr
-
- thumb_func_start FUN_02058C24
-FUN_02058C24: ; 0x02058C24
- ldrh r0, [r0, #0xa]
- bx lr
-
- thumb_func_start FUN_02058C28
-FUN_02058C28: ; 0x02058C28
- strh r1, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02058C2C
-FUN_02058C2C: ; 0x02058C2C
- mov r1, #0xc
- ldrsh r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058C34
-FUN_02058C34: ; 0x02058C34
- push {r3, lr}
- cmp r2, #0x0
- beq _02058C44
- cmp r2, #0x1
- beq _02058C48
- cmp r2, #0x2
- beq _02058C4C
- b _02058C50
-_02058C44:
- strh r1, [r0, #0xe]
- pop {r3, pc}
-_02058C48:
- strh r1, [r0, #0x10]
- pop {r3, pc}
-_02058C4C:
- strh r1, [r0, #0x12]
- pop {r3, pc}
-_02058C50:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02058C58
-FUN_02058C58: ; 0x02058C58
- push {r3, lr}
- cmp r1, #0x0
- beq _02058C68
- cmp r1, #0x1
- beq _02058C6C
- cmp r1, #0x2
- beq _02058C70
- b _02058C74
-_02058C68:
- ldrh r0, [r0, #0xe]
- pop {r3, pc}
-_02058C6C:
- ldrh r0, [r0, #0x10]
- pop {r3, pc}
-_02058C70:
- ldrh r0, [r0, #0x12]
- pop {r3, pc}
-_02058C74:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02058C7C
-FUN_02058C7C: ; 0x02058C7C
- strh r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02058C80
-FUN_02058C80: ; 0x02058C80
- mov r1, #0x14
- ldrsh r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058C88
-FUN_02058C88: ; 0x02058C88
- strh r1, [r0, #0x16]
- bx lr
-
- thumb_func_start FUN_02058C8C
-FUN_02058C8C: ; 0x02058C8C
- mov r1, #0x16
- ldrsh r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058C94
-FUN_02058C94: ; 0x02058C94
- strh r1, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_02058C98
-FUN_02058C98: ; 0x02058C98
- ldrh r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_02058C9C
-FUN_02058C9C: ; 0x02058C9C
- str r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02058CA0
-FUN_02058CA0: ; 0x02058CA0
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02058CA4
-FUN_02058CA4: ; 0x02058CA4
- strh r1, [r0, #0x1a]
- bx lr
-
- thumb_func_start FUN_02058CA8
-FUN_02058CA8: ; 0x02058CA8
- ldrh r0, [r0, #0x1a]
- bx lr
-
- thumb_func_start FUN_02058CAC
-FUN_02058CAC: ; 0x02058CAC
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r2, [sp, #0x0]
- mov r4, #0x0
- add r5, r2, #0x0
-_02058CB8:
- add r0, r5, #0x0
- bl FUN_02058CE0
- cmp r0, #0x0
- bne _02058CD4
- add r0, r5, #0x0
- bl FUN_02058BFC
- cmp r6, r0
- bne _02058CD4
- ldr r0, [sp, #0x0]
- lsl r1, r4, #0x5
- add r0, r0, r1
- pop {r3-r7, pc}
-_02058CD4:
- add r4, r4, #0x1
- add r5, #0x20
- cmp r4, r7
- blt _02058CB8
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02058CE0
-FUN_02058CE0: ; 0x02058CE0
- push {r3, lr}
- bl FUN_02058C24
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, _02058CF8 ; =0x0000FFFF
- cmp r1, r0
- bne _02058CF4
- mov r0, #0x1
- pop {r3, pc}
-_02058CF4:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02058CF8: .word 0x0000FFFF
-
- thumb_func_start FUN_02058CFC
-FUN_02058CFC: ; 0x02058CFC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058CE0
- cmp r0, #0x1
- beq _02058D0C
- bl ErrorHandling
-_02058D0C:
- add r0, r4, #0x0
- bl FUN_02058C1C
- pop {r4, pc}
-
- thumb_func_start FUN_02058D14
-FUN_02058D14: ; 0x02058D14
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x37
- blo _02058D20
- bl ErrorHandling
-_02058D20:
- ldr r0, _02058D28 ; =0x020F6364
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02058D28: .word 0x020F6364
-
- thumb_func_start FUN_02058D2C
-FUN_02058D2C: ; 0x02058D2C
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058D30
-FUN_02058D30: ; 0x02058D30
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058D34
-FUN_02058D34: ; 0x02058D34
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02058D38
-FUN_02058D38: ; 0x02058D38
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02058D3C
-FUN_02058D3C: ; 0x02058D3C
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02058D40
-FUN_02058D40: ; 0x02058D40
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02058D44
-FUN_02058D44: ; 0x02058D44
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02058D48
-FUN_02058D48: ; 0x02058D48
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02058D4C
-FUN_02058D4C: ; 0x02058D4C
- push {r3, lr}
- ldr r3, _02058D6C ; =0x021F9494
- ldr r1, _02058D70 ; =0x0000FFFF
-_02058D52:
- ldr r2, [r3, #0x0]
- cmp r2, r0
- bne _02058D5C
- ldr r0, [r3, #0x4]
- pop {r3, pc}
-_02058D5C:
- add r3, #0x8
- ldr r2, [r3, #0x0]
- cmp r2, r1
- bne _02058D52
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02058D6C: .word 0x021F9494
-_02058D70: .word 0x0000FFFF
-
- thumb_func_start FUN_02058D74
-FUN_02058D74: ; 0x02058D74
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02058368
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020583CC
- add r5, r0, #0x0
-_02058D8A:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058DAE
- add r0, r5, #0x0
- bl FUN_02058B2C
- cmp r6, r0
- bne _02058DAE
- add r0, r5, #0x0
- bl FUN_02058B4C
- cmp r7, r0
- bne _02058DAE
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_02058DAE:
- mov r0, #0x4a
- lsl r0, r0, #0x2
- add r5, r5, r0
- sub r4, r4, #0x1
- bne _02058D8A
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02058DBC
-FUN_02058DBC: ; 0x02058DBC
- push {r4-r6, lr}
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- add r6, r2, #0x0
- asr r2, r1, #0x4
- asr r1, r2, #0xb
- lsr r1, r1, #0x14
- add r1, r2, r1
- asr r1, r1, #0xc
- add r5, r0, #0x0
- bl FUN_02058B30
- ldr r1, [r4, #0x4]
- add r0, r5, #0x0
- asr r2, r1, #0x3
- asr r1, r2, #0xb
- lsr r1, r1, #0x14
- add r1, r2, r1
- asr r1, r1, #0xc
- bl FUN_02058B40
- ldr r1, [r4, #0x8]
- add r0, r5, #0x0
- asr r2, r1, #0x4
- asr r1, r2, #0xb
- lsr r1, r1, #0x14
- add r1, r2, r1
- asr r1, r1, #0xc
- bl FUN_02058B50
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058B6C
- add r0, r5, #0x0
- bl FUN_02059C60
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584A4
- add r0, r5, #0x0
- bl FUN_0205AE80
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r5, #0x0
- mov r1, #0xa
- bl FUN_02058418
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02058E28
-FUN_02058E28: ; 0x02058E28
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- mov r2, #0x2
- add r6, r3, #0x0
- lsl r3, r1, #0x10
- lsl r2, r2, #0xe
- add r2, r3, r2
- add r5, r0, #0x0
- str r2, [sp, #0x0]
- bl FUN_02058B30
- lsl r0, r4, #0xf
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058B40
- mov r0, #0x2
- lsl r1, r6, #0x10
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02058B50
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02058B6C
- add r0, r5, #0x0
- bl FUN_02059C60
- ldr r1, [sp, #0x20]
- add r0, r5, #0x0
- bl FUN_020584A4
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r5, #0x0
- mov r1, #0xa
- bl FUN_02058418
- add r0, r5, #0x0
- bl FUN_0205AE80
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02058E90
-FUN_02058E90: ; 0x02058E90
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058660
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205847C
- add r0, r5, #0x0
- bl FUN_02057EE0
- add r0, r5, #0x0
- bl FUN_02058EE8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02058EB0
-FUN_02058EB0: ; 0x02058EB0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058444
- add r0, r4, #0x0
- bl FUN_02058860
- add r0, r4, #0x0
- bl FUN_0205815C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058EC8
-FUN_02058EC8: ; 0x02058EC8
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058ECC
-FUN_02058ECC: ; 0x02058ECC
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058ED0
-FUN_02058ED0: ; 0x02058ED0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058ED4
-FUN_02058ED4: ; 0x02058ED4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058ED8
-FUN_02058ED8: ; 0x02058ED8
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058EDC
-FUN_02058EDC: ; 0x02058EDC
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058EE0
-FUN_02058EE0: ; 0x02058EE0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058EE4
-FUN_02058EE4: ; 0x02058EE4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02058EE8
-FUN_02058EE8: ; 0x02058EE8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058638
- add r0, r4, #0x0
- bl FUN_0205BEF8
- pop {r4, pc}
-
- thumb_func_start FUN_02058EF8
-FUN_02058EF8: ; 0x02058EF8
- push {r4, lr}
- mov r1, #0x2
- add r4, r0, #0x0
- bl FUN_020587F4
- cmp r0, #0x0
- bne _02058F5C
- add r0, r4, #0x0
- bl FUN_02058F94
- add r0, r4, #0x0
- bl FUN_02058FAC
- add r0, r4, #0x0
- bl FUN_02058FD0
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058F2C
- add r0, r4, #0x0
- bl FUN_0205B058
- b _02058F50
-_02058F2C:
- add r0, r4, #0x0
- bl FUN_02058920
- cmp r0, #0x0
- bne _02058F50
- add r0, r4, #0x0
- bl FUN_02058F60
- cmp r0, #0x1
- bne _02058F50
- add r0, r4, #0x0
- bl FUN_0205BF00
- cmp r0, #0x0
- bne _02058F50
- add r0, r4, #0x0
- bl FUN_0205864C
-_02058F50:
- add r0, r4, #0x0
- bl FUN_02058FF4
- add r0, r4, #0x0
- bl FUN_0205902C
-_02058F5C:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058F60
-FUN_02058F60: ; 0x02058F60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- bne _02058F70
- mov r0, #0x1
- pop {r4, pc}
-_02058F70:
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0xa
- bl FUN_02058424
- cmp r0, #0x0
- bne _02058F82
- mov r0, #0x1
- pop {r4, pc}
-_02058F82:
- add r0, r4, #0x0
- bl FUN_02058480
- cmp r0, #0x32
- bne _02058F90
- mov r0, #0x1
- pop {r4, pc}
-_02058F90:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02058F94
-FUN_02058F94: ; 0x02058F94
- push {r4, lr}
- mov r1, #0x1
- lsl r1, r1, #0xc
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058FAA
- add r0, r4, #0x0
- bl FUN_02059D1C
-_02058FAA:
- pop {r4, pc}
-
- thumb_func_start FUN_02058FAC
-FUN_02058FAC: ; 0x02058FAC
- push {r4, lr}
- mov r1, #0x2
- lsl r1, r1, #0xa
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058FCC
- add r0, r4, #0x0
- bl FUN_02059DB4
- cmp r0, #0x1
- bne _02058FCC
- add r0, r4, #0x0
- bl FUN_02058860
-_02058FCC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02058FD0
-FUN_02058FD0: ; 0x02058FD0
- push {r4, lr}
- mov r1, #0x4
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _02058FE4
- add r0, r4, #0x0
- bl FUN_02059064
-_02058FE4:
- ldr r1, _02058FF0 ; =0x00010004
- add r0, r4, #0x0
- bl FUN_02058418
- pop {r4, pc}
- nop
-_02058FF0: .word 0x00010004
-
- thumb_func_start FUN_02058FF4
-FUN_02058FF4: ; 0x02058FF4
- push {r4, lr}
- mov r1, #0x1
- lsl r1, r1, #0x10
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205900C
- add r0, r4, #0x0
- bl FUN_020591A8
- b _0205901E
-_0205900C:
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205901E
- add r0, r4, #0x0
- bl FUN_020590F4
-_0205901E:
- ldr r1, _02059028 ; =0x00010004
- add r0, r4, #0x0
- bl FUN_02058418
- pop {r4, pc}
- .balign 4
-_02059028: .word 0x00010004
-
- thumb_func_start FUN_0205902C
-FUN_0205902C: ; 0x0205902C
- push {r4, lr}
- mov r1, #0x2
- lsl r1, r1, #0x10
- add r4, r0, #0x0
- bl FUN_02058424
- cmp r0, #0x0
- beq _02059044
- add r0, r4, #0x0
- bl FUN_0205928C
- b _02059056
-_02059044:
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02058424
- cmp r0, #0x0
- beq _02059056
- add r0, r4, #0x0
- bl FUN_02059214
-_02059056:
- ldr r1, _02059060 ; =0x00020008
- add r0, r4, #0x0
- bl FUN_02058418
- pop {r4, pc}
- .balign 4
-_02059060: .word 0x00020008
-
- thumb_func_start FUN_02059064
-FUN_02059064: ; 0x02059064
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02059DB4
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _020590F2
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058730
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl MOD05_021F1DC8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059838
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205941C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020594C0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059500
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205931C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059678
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020596A8
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020597A8
-_020590F2:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020590F4
-FUN_020590F4: ; 0x020590F4
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02059DB4
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _020591A6
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058730
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl MOD05_021F1DC8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059838
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059434
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205944C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020594C0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059508
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059690
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020596C0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020596D8
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059740
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020597A8
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059870
-_020591A6:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020591A8
-FUN_020591A8: ; 0x020591A8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02059DB4
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _02059212
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058730
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl MOD05_021F1DC8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059838
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059508
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020597A8
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020594F4
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059870
-_02059212:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02059214
-FUN_02059214: ; 0x02059214
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02059DB4
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _0205928A
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058730
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl MOD05_021F1DC8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205931C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205970C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059774
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020594C0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059804
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020595A4
-_0205928A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205928C
-FUN_0205928C: ; 0x0205928C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02059DB4
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _0205931A
- add r0, r5, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058730
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl MOD05_021F1DC8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205931C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205970C
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059774
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020594C0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059804
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020595A4
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02059434
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205962C
-_0205931A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205931C
-FUN_0205931C: ; 0x0205931C
- push {r3-r5, lr}
- sub sp, #0x48
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02058A34
- cmp r0, #0x0
- bne _020593F4
- add r0, r5, #0x0
- bl FUN_02054984
- cmp r0, #0x1
- beq _02059340
- add r0, r5, #0x0
- bl FUN_020549A0
- cmp r0, #0x1
- bne _0205935A
-_02059340:
- ldr r5, _02059408 ; =0x020F65FC
- add r3, sp, #0x3c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
-_0205935A:
- add r0, r5, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- beq _0205936E
- add r0, r5, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- bne _02059388
-_0205936E:
- ldr r5, _0205940C ; =0x020F6608
- add r3, sp, #0x30
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
-_02059388:
- add r0, r5, #0x0
- bl FUN_020549F0
- cmp r0, #0x1
- bne _020593AC
- ldr r5, _02059410 ; =0x020F65E4
- add r3, sp, #0x24
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
-_020593AC:
- add r0, r5, #0x0
- bl FUN_020549E4
- cmp r0, #0x1
- bne _020593D0
- ldr r5, _02059414 ; =0x020F65F0
- add r3, sp, #0x18
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
-_020593D0:
- add r0, r5, #0x0
- bl FUN_020549D8
- cmp r0, #0x1
- bne _020593F4
- ldr r5, _02059418 ; =0x020F6614
- add r3, sp, #0xc
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
-_020593F4:
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- add r0, r4, #0x0
- bl FUN_02058BD4
- add sp, #0x48
- pop {r3-r5, pc}
- .balign 4
-_02059408: .word 0x020F65FC
-_0205940C: .word 0x020F6608
-_02059410: .word 0x020F65E4
-_02059414: .word 0x020F65F0
-_02059418: .word 0x020F6614
-
- thumb_func_start FUN_0205941C
-FUN_0205941C: ; 0x0205941C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0205478C
- cmp r0, #0x1
- bne _02059432
- add r0, r4, #0x0
- mov r1, #0x0
- bl MOD06_0224B568
-_02059432:
- pop {r4, pc}
-
- thumb_func_start FUN_02059434
-FUN_02059434: ; 0x02059434
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0205478C
- cmp r0, #0x1
- bne _0205944A
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD06_0224B568
-_0205944A:
- pop {r4, pc}
-
- thumb_func_start FUN_0205944C
-FUN_0205944C: ; 0x0205944C
- push {r4-r6, lr}
- add r6, r3, #0x0
- ldr r1, [r6, #0x4]
- add r5, r0, #0x0
- lsl r1, r1, #0x16
- add r4, r2, #0x0
- lsr r1, r1, #0x1c
- beq _020594BC
- add r1, r4, #0x0
- bl FUN_02059AF8
- cmp r0, #0x1
- bne _02059484
- ldr r0, [r6, #0x4]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1c
- cmp r0, #0x1
- bne _02059478
- add r0, r5, #0x0
- bl MOD06_02249E6C
- pop {r4-r6, pc}
-_02059478:
- cmp r0, #0x2
- bne _020594BC
- add r0, r5, #0x0
- bl MOD06_02249E78
- pop {r4-r6, pc}
-_02059484:
- add r0, r4, #0x0
- bl FUN_020549E4
- cmp r0, #0x1
- beq _020594A2
- add r0, r4, #0x0
- bl FUN_020549F0
- cmp r0, #0x1
- beq _020594A2
- add r0, r4, #0x0
- bl FUN_020549D8
- cmp r0, #0x0
- beq _020594AA
-_020594A2:
- add r0, r5, #0x0
- bl MOD06_02249E90
- pop {r4-r6, pc}
-_020594AA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059B60
- cmp r0, #0x1
- bne _020594BC
- add r0, r5, #0x0
- bl MOD06_02249E84
-_020594BC:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020594C0
-FUN_020594C0: ; 0x020594C0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0205483C
- cmp r0, #0x1
- bne _020594EA
- add r0, r4, #0x0
- bl FUN_02058A00
- cmp r0, #0x0
- bne _020594F2
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD06_0224B9E0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020589E4
- pop {r4, pc}
-_020594EA:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020589E4
-_020594F2:
- pop {r4, pc}
-
- thumb_func_start FUN_020594F4
-FUN_020594F4: ; 0x020594F4
- ldr r3, _020594FC ; =FUN_020589E4
- mov r1, #0x0
- bx r3
- nop
-_020594FC: .word FUN_020589E4
-
- thumb_func_start FUN_02059500
-FUN_02059500: ; 0x02059500
- push {r3, lr}
- bl FUN_02059508
- pop {r3, pc}
-
- thumb_func_start FUN_02059508
-FUN_02059508: ; 0x02059508
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r3, #0x0
- bl FUN_02058578
- bl FUN_0205881C
- cmp r0, #0x0
- beq _020595A2
- ldr r0, [r6, #0x4]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- beq _020595A2
- add r0, r4, #0x0
- bl FUN_0205478C
- cmp r0, #0x1
- beq _02059578
- add r0, r4, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- beq _02059578
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059AC4
- cmp r0, #0x1
- beq _02059578
- add r0, r4, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- beq _02059578
- add r0, r4, #0x0
- bl FUN_0205483C
- cmp r0, #0x1
- beq _02059578
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059B2C
- cmp r0, #0x1
- beq _02059578
- add r0, r4, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- beq _02059578
- add r0, r4, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- bne _02059584
-_02059578:
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058410
- pop {r4-r6, pc}
-_02059584:
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058424
- cmp r0, #0x0
- bne _020595A2
- add r0, r5, #0x0
- bl MOD06_02249508
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0xe
- bl FUN_02058410
-_020595A2:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020595A4
-FUN_020595A4: ; 0x020595A4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r3, #0x0
- bl FUN_02058578
- bl FUN_0205881C
- cmp r0, #0x0
- beq _0205962A
- ldr r0, [r6, #0x4]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- beq _0205962A
- add r0, r4, #0x0
- bl FUN_0205478C
- cmp r0, #0x1
- beq _02059614
- add r0, r4, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- beq _02059614
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059AC4
- cmp r0, #0x1
- beq _02059614
- add r0, r4, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- beq _02059614
- add r0, r4, #0x0
- bl FUN_0205483C
- cmp r0, #0x1
- beq _02059614
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059B2C
- cmp r0, #0x1
- beq _02059614
- add r0, r4, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- beq _02059614
- add r0, r4, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- bne _02059620
-_02059614:
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058410
- pop {r4-r6, pc}
-_02059620:
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058418
-_0205962A:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205962C
-FUN_0205962C: ; 0x0205962C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02059AC4
- cmp r0, #0x1
- beq _02059674
- add r0, r4, #0x0
- bl FUN_0205483C
- cmp r0, #0x1
- beq _02059674
- add r0, r4, #0x0
- bl FUN_020548F0
- cmp r0, #0x1
- beq _02059674
- add r0, r4, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- beq _02059674
- add r0, r4, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- beq _02059674
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059B2C
- cmp r0, #0x1
- beq _02059674
- add r0, r5, #0x0
- bl MOD06_0224BBEC
-_02059674:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02059678
-FUN_02059678: ; 0x02059678
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- bne _0205968E
- add r0, r4, #0x0
- mov r1, #0x0
- bl MOD06_0224BD90
-_0205968E:
- pop {r4, pc}
-
- thumb_func_start FUN_02059690
-FUN_02059690: ; 0x02059690
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054798
- cmp r0, #0x1
- bne _020596A6
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD06_0224BD90
-_020596A6:
- pop {r4, pc}
-
- thumb_func_start FUN_020596A8
-FUN_020596A8: ; 0x020596A8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- bne _020596BE
- add r0, r4, #0x0
- mov r1, #0x0
- bl MOD06_0224C038
-_020596BE:
- pop {r4, pc}
-
- thumb_func_start FUN_020596C0
-FUN_020596C0: ; 0x020596C0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054990
- cmp r0, #0x1
- bne _020596D6
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD06_0224C038
-_020596D6:
- pop {r4, pc}
-
- thumb_func_start FUN_020596D8
-FUN_020596D8: ; 0x020596D8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- bne _02059708
- add r0, r5, #0x0
- bl FUN_02058B14
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B24
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MOD06_0224B124
-_02059708:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205970C
-FUN_0205970C: ; 0x0205970C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- bne _0205973C
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B3C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MOD06_0224B124
-_0205973C:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02059740
-FUN_02059740: ; 0x02059740
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- bne _02059770
- add r0, r5, #0x0
- bl FUN_02058B14
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B24
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MOD06_0224B2C4
-_02059770:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02059774
-FUN_02059774: ; 0x02059774
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02054974
- cmp r0, #0x1
- bne _020597A4
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B3C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl MOD06_0224B2C4
-_020597A4:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020597A8
-FUN_020597A8: ; 0x020597A8
- push {r4-r6, lr}
- add r6, r1, #0x0
- ldr r1, [r3, #0x4]
- add r5, r0, #0x0
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1e
- beq _02059802
- mov r1, #0x1
- bl FUN_02059C90
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- bl FUN_02058A9C
- cmp r0, #0x0
- bne _02059802
- add r0, r4, #0x0
- bl FUN_02054B20
- cmp r0, #0x1
- beq _020597DE
- add r0, r6, #0x0
- bl FUN_02054B20
- cmp r0, #0x1
- bne _02059802
-_020597DE:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058A80
- add r0, r4, #0x0
- bl FUN_02054AF0
- cmp r0, #0x1
- bne _020597FA
- add r0, r5, #0x0
- mov r1, #0x0
- bl MOD06_022497E8
- pop {r4-r6, pc}
-_020597FA:
- add r0, r5, #0x0
- mov r1, #0x1
- bl MOD06_022497E8
-_02059802:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02059804
-FUN_02059804: ; 0x02059804
- push {r4, lr}
- ldr r1, [r3, #0x4]
- add r4, r0, #0x0
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1e
- beq _02059834
- bl FUN_02058A9C
- cmp r0, #0x0
- beq _02059834
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02059C90
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B20
- cmp r0, #0x0
- bne _02059834
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058A80
-_02059834:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02059838
-FUN_02059838: ; 0x02059838
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054B6C
- cmp r0, #0x1
- bne _02059852
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058A4C
- pop {r3-r5, pc}
-_02059852:
- add r0, r5, #0x0
- bl FUN_02058A68
- cmp r0, #0x1
- bne _0205986E
- add r0, r4, #0x0
- bl FUN_02054B78
- cmp r0, #0x0
- bne _0205986E
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058A4C
-_0205986E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059870
-FUN_02059870: ; 0x02059870
- bx lr
- .balign 4
-
- thumb_func_start FUN_02059874
-FUN_02059874: ; 0x02059874
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r7, [sp, #0x28]
- add r5, r2, #0x0
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- add r2, r3, #0x0
- add r1, r5, #0x0
- add r3, r7, #0x0
- add r6, r0, #0x0
- mov r4, #0x0
- bl FUN_02059A08
- cmp r0, #0x1
- bne _02059896
- mov r0, #0x1
- orr r4, r0
-_02059896:
- add r0, r6, #0x0
- bl FUN_02058738
- add r1, sp, #0xc
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r2, r5, #0x0
- add r3, r7, #0x0
- bl FUN_0204A770
- cmp r0, #0x1
- bne _020598C0
- mov r0, #0x2
- orr r4, r0
- add r1, sp, #0xc
- mov r0, #0x0
- ldrsb r0, [r1, r0]
- cmp r0, #0x0
- beq _020598C0
- mov r0, #0x8
- orr r4, r0
-_020598C0:
- ldr r3, [sp, #0x2c]
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02059A60
- cmp r0, #0x1
- bne _020598D4
- mov r0, #0x2
- orr r4, r0
-_020598D4:
- ldr r2, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r3, r7, #0x0
- bl FUN_0205995C
- cmp r0, #0x1
- bne _020598E8
- mov r0, #0x4
- orr r4, r0
-_020598E8:
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020598F0
-FUN_020598F0: ; 0x020598F0
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r1, #0x0
- add r1, sp, #0x8
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02058B5C
- ldr r0, [sp, #0x28]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, sp, #0x8
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_02059874
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02059918
-FUN_02059918: ; 0x02059918
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B3C
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_02059C00
- str r4, [sp, #0x0]
- add r3, r0, #0x0
- ldr r4, [sp, #0x8]
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r6, r7
- add r3, r4, r3
- bl FUN_020598F0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205995C
-FUN_0205995C: ; 0x0205995C
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02058578
- add r7, r0, #0x0
- bl FUN_020583BC
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- bl FUN_02058368
- str r0, [sp, #0x4]
-_0205997C:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x0]
- cmp r0, r1
- beq _020599F4
- mov r1, #0x1
- bl FUN_02058424
- cmp r0, #0x0
- beq _020599F4
- mov r1, #0x1
- ldr r0, [sp, #0x8]
- lsl r1, r1, #0x12
- bl FUN_02058424
- cmp r0, #0x0
- bne _020599F4
- ldr r0, [sp, #0x8]
- bl FUN_02058B2C
- add r7, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_02058B4C
- cmp r7, r5
- bne _020599C8
- cmp r0, r6
- bne _020599C8
- ldr r0, [sp, #0x8]
- bl FUN_02058B3C
- sub r0, r0, r4
- bpl _020599BE
- neg r0, r0
-_020599BE:
- cmp r0, #0x2
- bge _020599C8
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_020599C8:
- ldr r0, [sp, #0x8]
- bl FUN_02058B14
- add r7, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_02058B24
- cmp r7, r5
- bne _020599F4
- cmp r0, r6
- bne _020599F4
- ldr r0, [sp, #0x8]
- bl FUN_02058B3C
- sub r0, r0, r4
- bpl _020599EA
- neg r0, r0
-_020599EA:
- cmp r0, #0x2
- bge _020599F4
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_020599F4:
- add r0, sp, #0x8
- bl FUN_020583D4
- ldr r0, [sp, #0x4]
- sub r0, r0, #0x1
- str r0, [sp, #0x4]
- bne _0205997C
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02059A08
-FUN_02059A08: ; 0x02059A08
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r4, r3, #0x0
- bl FUN_02058AFC
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058538
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02059A34
- add r1, r7, r0
- sub r0, r7, r0
- cmp r0, r5
- bgt _02059A30
- cmp r1, r5
- bge _02059A34
-_02059A30:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02059A34:
- add r0, r6, #0x0
- bl FUN_02058B0C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058540
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02059A5A
- add r1, r5, r0
- sub r0, r5, r0
- cmp r0, r4
- bgt _02059A56
- cmp r1, r4
- bge _02059A5A
-_02059A56:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02059A5A:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02059A60
-FUN_02059A60: ; 0x02059A60
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r5, r3, #0x0
- bl FUN_02058738
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r5, r0
- bne _02059A92
- bl ErrorHandling
-_02059A92:
- cmp r5, #0x4
- blt _02059A9A
- bl ErrorHandling
-_02059A9A:
- ldr r1, _02059ABC ; =0x020F6630
- lsl r5, r5, #0x2
- ldr r1, [r1, r5]
- add r0, r4, #0x0
- blx r1
- cmp r0, #0x1
- beq _02059AB4
- ldr r1, _02059AC0 ; =0x020F6640
- add r0, r6, #0x0
- ldr r1, [r1, r5]
- blx r1
- cmp r0, #0x1
- bne _02059AB8
-_02059AB4:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02059AB8:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02059ABC: .word 0x020F6630
-_02059AC0: .word 0x020F6640
-
- thumb_func_start FUN_02059AC4
-FUN_02059AC4: ; 0x02059AC4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B8C
- cmp r0, #0x0
- beq _02059AE4
- add r0, r5, #0x0
- bl FUN_02058A68
- cmp r0, #0x0
- bne _02059AF4
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059AE4:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205481C
- cmp r0, #0x0
- beq _02059AF4
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059AF4:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059AF8
-FUN_02059AF8: ; 0x02059AF8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054BB0
- cmp r0, #0x0
- beq _02059B18
- add r0, r5, #0x0
- bl FUN_02058A68
- cmp r0, #0x0
- bne _02059B28
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B18:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054830
- cmp r0, #0x0
- beq _02059B28
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B28:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059B2C
-FUN_02059B2C: ; 0x02059B2C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054BD4
- cmp r0, #0x0
- beq _02059B4C
- add r0, r5, #0x0
- bl FUN_02058A68
- cmp r0, #0x0
- bne _02059B5C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B4C:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_020549AC
- cmp r0, #0x0
- beq _02059B5C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B5C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059B60
-FUN_02059B60: ; 0x02059B60
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054BD4
- cmp r0, #0x0
- beq _02059B80
- add r0, r5, #0x0
- bl FUN_02058A68
- cmp r0, #0x0
- bne _02059B90
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B80:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_020549CC
- cmp r0, #0x0
- beq _02059B90
- mov r0, #0x1
- pop {r3-r5, pc}
-_02059B90:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059B94
-FUN_02059B94: ; 0x02059B94
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058A68
- cmp r0, #0x1
- bne _02059BB0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B78
- cmp r0, #0x1
- bne _02059BB0
- mov r0, #0x1
- pop {r4, pc}
-_02059BB0:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02059BB4
-FUN_02059BB4: ; 0x02059BB4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058A68
- cmp r0, #0x1
- bne _02059BD0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054BE0
- cmp r0, #0x1
- bne _02059BD0
- mov r0, #0x1
- pop {r4, pc}
-_02059BD0:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02059BD4
-FUN_02059BD4: ; 0x02059BD4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058A68
- cmp r0, #0x1
- bne _02059BF0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054BF4
- cmp r0, #0x1
- bne _02059BF0
- mov r0, #0x1
- pop {r4, pc}
-_02059BF0:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02059BF4
-FUN_02059BF4: ; 0x02059BF4
- lsl r1, r0, #0x2
- ldr r0, _02059BFC ; =0x020F6620
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_02059BFC: .word 0x020F6620
-
- thumb_func_start FUN_02059C00
-FUN_02059C00: ; 0x02059C00
- lsl r1, r0, #0x2
- ldr r0, _02059C08 ; =0x020F6650
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_02059C08: .word 0x020F6650
-
- thumb_func_start FUN_02059C0C
-FUN_02059C0C: ; 0x02059C0C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058B2C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B18
- add r0, r5, #0x0
- bl FUN_02058B3C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B20
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B28
- add r0, r4, #0x0
- bl FUN_02059BF4
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B34
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058B44
- add r0, r4, #0x0
- bl FUN_02059C00
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B54
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02059C60
-FUN_02059C60: ; 0x02059C60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058B2C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B18
- add r0, r4, #0x0
- bl FUN_02058B3C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B20
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B28
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02059C90
-FUN_02059C90: ; 0x02059C90
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02059BF4
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B4C
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02059C00
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058738
- ldr r2, [sp, #0x0]
- add r1, r6, r7
- add r2, r2, r5
- bl FUN_0204A6E0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02059CC8
-FUN_02059CC8: ; 0x02059CC8
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- add r1, sp, #0x0
- add r6, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02058B5C
- cmp r5, #0x3
- bhi _02059D0E
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02059CE8: ; jump table (using 16-bit offset)
- .short _02059CF0 - _02059CE8 - 2; case 0
- .short _02059CF8 - _02059CE8 - 2; case 1
- .short _02059D00 - _02059CE8 - 2; case 2
- .short _02059D08 - _02059CE8 - 2; case 3
-_02059CF0:
- ldr r0, [sp, #0x8]
- sub r0, r0, r4
- str r0, [sp, #0x8]
- b _02059D0E
-_02059CF8:
- ldr r0, [sp, #0x8]
- add r0, r0, r4
- str r0, [sp, #0x8]
- b _02059D0E
-_02059D00:
- ldr r0, [sp, #0x0]
- sub r0, r0, r4
- str r0, [sp, #0x0]
- b _02059D0E
-_02059D08:
- ldr r0, [sp, #0x0]
- add r0, r0, r4
- str r0, [sp, #0x0]
-_02059D0E:
- add r0, r6, #0x0
- add r1, sp, #0x0
- bl FUN_02058B6C
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02059D1C
-FUN_02059D1C: ; 0x02059D1C
- push {r3-r5, lr}
- sub sp, #0x18
- add r1, sp, #0xc
- add r5, r0, #0x0
- bl FUN_02058B5C
- add r3, sp, #0xc
- ldmia r3!, {r0-r1}
- add r2, sp, #0x0
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- add r0, r5, #0x0
- bl FUN_0205897C
- cmp r0, #0x1
- bne _02059D4E
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0xc
- bl FUN_02058418
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02059D4E:
- add r0, r5, #0x0
- bl FUN_02058AE4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058738
- add r1, sp, #0x0
- add r2, r4, #0x0
- bl FUN_02059EC8
- add r4, r0, #0x0
- cmp r4, #0x1
- bne _02059DA2
- ldr r0, [sp, #0x4]
- add r1, sp, #0xc
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_02058B6C
- add r0, r5, #0x0
- bl FUN_02058B3C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B20
- ldr r1, [sp, #0x10]
- add r0, r5, #0x0
- asr r2, r1, #0x3
- asr r1, r2, #0xb
- lsr r1, r1, #0x14
- add r1, r2, r1
- asr r1, r1, #0xc
- bl FUN_02058B40
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0xc
- bl FUN_02058418
- b _02059DAC
-_02059DA2:
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0xc
- bl FUN_02058410
-_02059DAC:
- add r0, r4, #0x0
- add sp, #0x18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02059DB4
-FUN_02059DB4: ; 0x02059DB4
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02058B14
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B24
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058738
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r7, r0, #0x0
- bl FUN_0204A6E0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058728
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r2, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0204A6E0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058718
- add r0, r4, #0x0
- bl FUN_02054C08
- cmp r0, #0x1
- bne _02059E18
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0xa
- bl FUN_02058410
- mov r0, #0x0
- pop {r3-r7, pc}
-_02059E18:
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0xa
- bl FUN_02058418
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02059E28
-FUN_02059E28: ; 0x02059E28
- cmp r0, #0x3
- bhi _02059E5E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02059E38: ; jump table (using 16-bit offset)
- .short _02059E40 - _02059E38 - 2; case 0
- .short _02059E48 - _02059E38 - 2; case 1
- .short _02059E50 - _02059E38 - 2; case 2
- .short _02059E58 - _02059E38 - 2; case 3
-_02059E40:
- ldr r0, [r1, #0x8]
- sub r0, r0, r2
- str r0, [r1, #0x8]
- bx lr
-_02059E48:
- ldr r0, [r1, #0x8]
- add r0, r0, r2
- str r0, [r1, #0x8]
- bx lr
-_02059E50:
- ldr r0, [r1, #0x0]
- sub r0, r0, r2
- str r0, [r1, #0x0]
- bx lr
-_02059E58:
- ldr r0, [r1, #0x0]
- add r0, r0, r2
- str r0, [r1, #0x0]
-_02059E5E:
- bx lr
-
- thumb_func_start FUN_02059E60
-FUN_02059E60: ; 0x02059E60
- lsl r3, r0, #0x10
- mov r0, #0x2
- lsl r0, r0, #0xe
- add r3, r3, r0
- lsl r1, r1, #0x10
- str r3, [r2, #0x0]
- add r0, r1, r0
- str r0, [r2, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02059E74
-FUN_02059E74: ; 0x02059E74
- lsl r1, r0, #0x2
- ldr r0, _02059E7C ; =0x020F6660
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_02059E7C: .word 0x020F6660
-
- thumb_func_start FUN_02059E80
-FUN_02059E80: ; 0x02059E80
- cmp r0, r2
- ble _02059E88
- mov r0, #0x2
- bx lr
-_02059E88:
- cmp r0, r2
- bge _02059E90
- mov r0, #0x3
- bx lr
-_02059E90:
- cmp r1, r3
- bgt _02059E98
- mov r0, #0x1
- bx lr
-_02059E98:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02059E9C
-FUN_02059E9C: ; 0x02059E9C
- push {r4, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r1, sp, #0x4
- str r1, [sp, #0x0]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x0]
- ldr r3, [r4, #0x8]
- bl FUN_0204A708
- add r1, sp, #0x4
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02059EBE
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_02059EBE:
- str r0, [r4, #0x4]
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02059EC8
-FUN_02059EC8: ; 0x02059EC8
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- add r1, sp, #0x4
- str r1, [sp, #0x0]
- add r4, r2, #0x0
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x0]
- ldr r3, [r5, #0x8]
- bl FUN_0204A708
- add r1, sp, #0x4
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02059EEC
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_02059EEC:
- cmp r1, #0x2
- bne _02059EFA
- cmp r4, #0x0
- bne _02059EFA
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_02059EFA:
- str r0, [r5, #0x4]
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02059F04
-FUN_02059F04: ; 0x02059F04
- push {r4-r6, lr}
- add r6, r1, #0x0
- mov r1, #0x8
- add r5, r0, #0x0
- bl FUN_0205858C
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r0, _02059F30 ; =0x020F693C
- mvn r1, r1
- bl FUN_0205AAB0
- strh r0, [r4, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- str r6, [r4, #0x4]
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058848
- pop {r4-r6, pc}
- .balign 4
-_02059F30: .word 0x020F693C
-
- thumb_func_start FUN_02059F34
-FUN_02059F34: ; 0x02059F34
- ldr r3, _02059F3C ; =FUN_02059F04
- mov r1, #0x0
- bx r3
- nop
-_02059F3C: .word FUN_02059F04
-
- thumb_func_start FUN_02059F40
-FUN_02059F40: ; 0x02059F40
- ldr r3, _02059F48 ; =FUN_02059F04
- mov r1, #0x1
- bx r3
- nop
-_02059F48: .word FUN_02059F04
-
- thumb_func_start FUN_02059F4C
-FUN_02059F4C: ; 0x02059F4C
- ldr r3, _02059F54 ; =FUN_02059F04
- mov r1, #0x2
- bx r3
- nop
-_02059F54: .word FUN_02059F04
-
- thumb_func_start FUN_02059F58
-FUN_02059F58: ; 0x02059F58
- ldr r3, _02059F60 ; =FUN_02059F04
- mov r1, #0x3
- bx r3
- nop
-_02059F60: .word FUN_02059F04
-
- thumb_func_start FUN_02059F64
-FUN_02059F64: ; 0x02059F64
- ldr r3, _02059F6C ; =FUN_02059F04
- mov r1, #0x4
- bx r3
- nop
-_02059F6C: .word FUN_02059F04
-
- thumb_func_start FUN_02059F70
-FUN_02059F70: ; 0x02059F70
- ldr r3, _02059F78 ; =FUN_02059F04
- mov r1, #0x5
- bx r3
- nop
-_02059F78: .word FUN_02059F04
-
- thumb_func_start FUN_02059F7C
-FUN_02059F7C: ; 0x02059F7C
- ldr r3, _02059F84 ; =FUN_02059F04
- mov r1, #0x6
- bx r3
- nop
-_02059F84: .word FUN_02059F04
-
- thumb_func_start FUN_02059F88
-FUN_02059F88: ; 0x02059F88
- ldr r3, _02059F90 ; =FUN_02059F04
- mov r1, #0x7
- bx r3
- nop
-_02059F90: .word FUN_02059F04
-
- thumb_func_start FUN_02059F94
-FUN_02059F94: ; 0x02059F94
- ldr r3, _02059F9C ; =FUN_02059F04
- mov r1, #0x8
- bx r3
- nop
-_02059F9C: .word FUN_02059F04
-
- thumb_func_start FUN_02059FA0
-FUN_02059FA0: ; 0x02059FA0
- ldr r3, _02059FA8 ; =FUN_02059F04
- mov r1, #0x9
- bx r3
- nop
-_02059FA8: .word FUN_02059F04
-
- thumb_func_start FUN_02059FAC
-FUN_02059FAC: ; 0x02059FAC
- ldr r3, _02059FB4 ; =FUN_02059F04
- mov r1, #0xa
- bx r3
- nop
-_02059FB4: .word FUN_02059F04
-
- thumb_func_start FUN_02059FB8
-FUN_02059FB8: ; 0x02059FB8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- mov r2, #0x0
- ldr r1, [r4, #0x4]
- add r0, r5, #0x0
- mvn r2, r2
- bl FUN_0205ABEC
- mov r2, #0x0
- add r1, r0, #0x0
- mvn r2, r2
- cmp r1, r2
- beq _02059FE0
- add r0, r5, #0x0
- bl FUN_020584AC
- b _0205A010
-_02059FE0:
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0205A010
- mov r0, #0x2
- ldrsh r1, [r4, r0]
- sub r1, r1, #0x1
- strh r1, [r4, #0x2]
- ldrsh r0, [r4, r0]
- cmp r0, #0x0
- bgt _0205A010
- ldr r0, _0205A018 ; =0x020F693C
- add r1, r2, #0x0
- bl FUN_0205AAB0
- strh r0, [r4, #0x2]
- mov r1, #0x0
- ldr r0, [r4, #0x4]
- mvn r1, r1
- bl FUN_0205AAD4
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020584AC
-_0205A010:
- add r0, r5, #0x0
- bl FUN_02059C60
- pop {r3-r5, pc}
- .balign 4
-_0205A018: .word 0x020F693C
-
- thumb_func_start FUN_0205A01C
-FUN_0205A01C: ; 0x0205A01C
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205A020
-FUN_0205A020: ; 0x0205A020
- push {r3, lr}
- mov r1, #0xc
- mov r2, #0xb
- mov r3, #0x0
- bl FUN_0205A050
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A030
-FUN_0205A030: ; 0x0205A030
- push {r3, lr}
- mov r1, #0xc
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_0205A050
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A040
-FUN_0205A040: ; 0x0205A040
- push {r3, lr}
- mov r1, #0xc
- mov r2, #0xd
- mov r3, #0x0
- bl FUN_0205A050
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A050
-FUN_0205A050: ; 0x0205A050
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r7, r3, #0x0
- mov r1, #0x10
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0205858C
- str r7, [r0, #0x4]
- str r4, [r0, #0x8]
- str r6, [r0, #0xc]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058848
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205A078
-FUN_0205A078: ; 0x0205A078
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- cmp r0, #0x4
- bhi _0205A16E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205A096: ; jump table (using 16-bit offset)
- .short _0205A0A0 - _0205A096 - 2; case 0
- .short _0205A0CA - _0205A096 - 2; case 1
- .short _0205A0E8 - _0205A096 - 2; case 2
- .short _0205A0FE - _0205A096 - 2; case 3
- .short _0205A15A - _0205A096 - 2; case 4
-_0205A0A0:
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205886C
- add r0, r5, #0x0
- bl FUN_020584C4
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_0205A0CA:
- add r0, r5, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- beq _0205A16E
- mov r1, #0x0
- ldr r0, _0205A170 ; =0x020F693C
- mvn r1, r1
- bl FUN_0205AAB0
- strh r0, [r4, #0x2]
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x0]
-_0205A0E8:
- mov r0, #0x2
- ldrsh r1, [r4, r0]
- sub r1, r1, #0x1
- strh r1, [r4, #0x2]
- ldrsh r0, [r4, r0]
- cmp r0, #0x0
- bne _0205A16E
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x0]
-_0205A0FE:
- mov r1, #0x0
- ldr r0, [r4, #0xc]
- mvn r1, r1
- bl FUN_0205AAD4
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584D8
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0205A12A
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0205A270
- cmp r0, #0x0
- bne _0205A12A
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_0205A12A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059918
- cmp r0, #0x0
- beq _0205A13C
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_0205A13C:
- ldr r1, [r4, #0x8]
- add r0, r6, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- add r0, r5, #0x0
- bl FUN_0205883C
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x0]
-_0205A15A:
- add r0, r5, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- beq _0205A16E
- add r0, r5, #0x0
- bl FUN_02058848
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0205A16E:
- pop {r4-r6, pc}
- .balign 4
-_0205A170: .word 0x020F693C
-
- thumb_func_start FUN_0205A174
-FUN_0205A174: ; 0x0205A174
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r4, r1, #0x0
- bl FUN_02058AFC
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02058B0C
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02058538
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02058540
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- bl FUN_02058480
- cmp r0, #0xd
- bhi _0205A268
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205A1B0: ; jump table (using 16-bit offset)
- .short _0205A268 - _0205A1B0 - 2; case 0
- .short _0205A268 - _0205A1B0 - 2; case 1
- .short _0205A268 - _0205A1B0 - 2; case 2
- .short _0205A268 - _0205A1B0 - 2; case 3
- .short _0205A268 - _0205A1B0 - 2; case 4
- .short _0205A268 - _0205A1B0 - 2; case 5
- .short _0205A1CC - _0205A1B0 - 2; case 6
- .short _0205A1DE - _0205A1B0 - 2; case 7
- .short _0205A1F0 - _0205A1B0 - 2; case 8
- .short _0205A202 - _0205A1B0 - 2; case 9
- .short _0205A214 - _0205A1B0 - 2; case 10
- .short _0205A22A - _0205A1B0 - 2; case 11
- .short _0205A240 - _0205A1B0 - 2; case 12
- .short _0205A254 - _0205A1B0 - 2; case 13
-_0205A1CC:
- sub r0, r6, r7
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x4]
- str r6, [r4, #0x8]
- sub r0, r5, r0
- str r0, [r4, #0x4]
- add sp, #0x8
- str r5, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A1DE:
- str r6, [r4, #0x0]
- add r0, r6, r7
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- add sp, #0x8
- sub r0, r5, r0
- str r0, [r4, #0x4]
- str r5, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A1F0:
- sub r0, r6, r7
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x4]
- str r6, [r4, #0x8]
- str r5, [r4, #0x4]
- add r0, r5, r0
- add sp, #0x8
- str r0, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A202:
- str r6, [r4, #0x0]
- add r0, r6, r7
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- str r5, [r4, #0x4]
- add r0, r5, r0
- add sp, #0x8
- str r0, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A214:
- sub r0, r6, r7
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x4]
- str r6, [r4, #0x8]
- sub r0, r5, r0
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x4]
- add sp, #0x8
- add r0, r5, r0
- str r0, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A22A:
- str r6, [r4, #0x0]
- add r0, r6, r7
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- sub r0, r5, r0
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x4]
- add sp, #0x8
- add r0, r5, r0
- str r0, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A240:
- sub r0, r6, r7
- str r0, [r4, #0x0]
- add r0, r6, r7
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- add sp, #0x8
- sub r0, r5, r0
- str r0, [r4, #0x4]
- str r5, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A254:
- sub r0, r6, r7
- str r0, [r4, #0x0]
- add r0, r6, r7
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- str r5, [r4, #0x4]
- add r0, r5, r0
- add sp, #0x8
- str r0, [r4, #0xc]
- pop {r3-r7, pc}
-_0205A268:
- bl ErrorHandling
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205A270
-FUN_0205A270: ; 0x0205A270
- push {r4-r6, lr}
- sub sp, #0x10
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r1, sp, #0x0
- bl FUN_0205A174
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02059BF4
- add r4, r4, r0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02059C00
- add r1, r5, r0
- ldr r0, [sp, #0x0]
- cmp r0, r4
- bgt _0205A2AA
- ldr r0, [sp, #0x8]
- cmp r0, r4
- bge _0205A2B0
-_0205A2AA:
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205A2B0:
- ldr r0, [sp, #0x4]
- cmp r0, r1
- bgt _0205A2BC
- ldr r0, [sp, #0xc]
- cmp r0, r1
- bge _0205A2C2
-_0205A2BC:
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205A2C2:
- mov r0, #0x1
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205A2C8
-FUN_0205A2C8: ; 0x0205A2C8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x8
- bl FUN_0205858C
- str r4, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_02059C60
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205A2EC
-FUN_0205A2EC: ; 0x0205A2EC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0205A300
- cmp r0, #0x1
- pop {r3-r5, pc}
-_0205A300:
- ldr r1, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_020584AC
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205A310
-FUN_0205A310: ; 0x0205A310
- ldr r3, _0205A318 ; =FUN_0205A2C8
- mov r1, #0x0
- bx r3
- nop
-_0205A318: .word FUN_0205A2C8
-
- thumb_func_start FUN_0205A31C
-FUN_0205A31C: ; 0x0205A31C
- ldr r3, _0205A324 ; =FUN_0205A2C8
- mov r1, #0x1
- bx r3
- nop
-_0205A324: .word FUN_0205A2C8
-
- thumb_func_start FUN_0205A328
-FUN_0205A328: ; 0x0205A328
- ldr r3, _0205A330 ; =FUN_0205A2C8
- mov r1, #0x2
- bx r3
- nop
-_0205A330: .word FUN_0205A2C8
-
- thumb_func_start FUN_0205A334
-FUN_0205A334: ; 0x0205A334
- ldr r3, _0205A33C ; =FUN_0205A2C8
- mov r1, #0x3
- bx r3
- nop
-_0205A33C: .word FUN_0205A2C8
-
- thumb_func_start FUN_0205A340
-FUN_0205A340: ; 0x0205A340
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x8
- bl FUN_0205858C
- strb r4, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_02059C60
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205A364
-FUN_0205A364: ; 0x0205A364
- ldr r3, _0205A36C ; =FUN_0205A340
- mov r1, #0x2
- bx r3
- nop
-_0205A36C: .word FUN_0205A340
-
- thumb_func_start FUN_0205A370
-FUN_0205A370: ; 0x0205A370
- ldr r3, _0205A378 ; =FUN_0205A340
- mov r1, #0x3
- bx r3
- nop
-_0205A378: .word FUN_0205A340
-
- thumb_func_start FUN_0205A37C
-FUN_0205A37C: ; 0x0205A37C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- ldr r6, _0205A39C ; =0x020F6754
- add r4, r0, #0x0
- mov r7, #0x2
-_0205A38A:
- ldrsb r2, [r4, r7]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205A38A
- pop {r3-r7, pc}
- .balign 4
-_0205A39C: .word 0x020F6754
-
- thumb_func_start FUN_0205A3A0
-FUN_0205A3A0: ; 0x0205A3A0
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x26
- add r2, r1, #0x0
- sub r2, #0x27
- add r5, r0, #0x0
- bl FUN_0205ABEC
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- bne _0205A3BE
- add r0, r5, #0x0
- bl FUN_020584C4
-_0205A3BE:
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- mov r0, #0x1
- strb r0, [r4, #0x2]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205A3D4
-FUN_0205A3D4: ; 0x0205A3D4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- bne _0205A3E4
- mov r0, #0x0
- pop {r4, pc}
-_0205A3E4:
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x2
- strb r0, [r4, #0x2]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205A3F0
-FUN_0205A3F0: ; 0x0205A3F0
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _0205A414
- mov r1, #0x26
- add r2, r1, #0x0
- sub r2, #0x27
- bl FUN_0205ABEC
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _0205A414
- mov r0, #0x0
- strb r0, [r4, #0x2]
- mov r0, #0x1
- pop {r4, pc}
-_0205A414:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- cmp r0, #0x18
- bge _0205A422
- mov r0, #0x0
- pop {r4, pc}
-_0205A422:
- mov r0, #0x3
- strb r0, [r4, #0x2]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205A42C
-FUN_0205A42C: ; 0x0205A42C
- push {r3-r7, lr}
- sub sp, #0x28
- ldr r3, _0205A4BC ; =0x020F68D8
- add r2, sp, #0x14
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldmia r3!, {r0-r1}
- add r5, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r4, _0205A4C0 ; =0x020F68EC
- str r0, [r2, #0x0]
- add r3, sp, #0x0
- ldmia r4!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- mov r0, #0x0
- ldrsb r0, [r6, r0]
- cmp r0, #0x2
- beq _0205A462
- add r5, r2, #0x0
-_0205A462:
- add r0, r7, #0x0
- bl FUN_020584C4
- mov r4, #0x0
- ldr r2, [r5, #0x0]
- sub r1, r4, #0x1
- cmp r2, r1
- beq _0205A486
- add r1, r5, #0x0
- sub r2, r4, #0x1
-_0205A476:
- ldr r3, [r1, #0x0]
- cmp r0, r3
- beq _0205A486
- add r1, r1, #0x4
- ldr r3, [r1, #0x0]
- add r4, r4, #0x1
- cmp r3, r2
- bne _0205A476
-_0205A486:
- lsl r0, r4, #0x2
- ldr r1, [r5, r0]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0205A496
- bl ErrorHandling
-_0205A496:
- add r4, r4, #0x1
- lsl r0, r4, #0x2
- ldr r1, [r5, r0]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0205A4A6
- mov r4, #0x0
-_0205A4A6:
- lsl r1, r4, #0x2
- ldr r1, [r5, r1]
- add r0, r7, #0x0
- bl FUN_020584AC
- mov r0, #0x0
- strb r0, [r6, #0x2]
- mov r0, #0x1
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_0205A4BC: .word 0x020F68D8
-_0205A4C0: .word 0x020F68EC
-
- thumb_func_start FUN_0205A4C4
-FUN_0205A4C4: ; 0x0205A4C4
- ldr r3, _0205A4CC ; =FUN_0205A340
- mov r1, #0x3
- bx r3
- nop
-_0205A4CC: .word FUN_0205A340
-
- thumb_func_start FUN_0205A4D0
-FUN_0205A4D0: ; 0x0205A4D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- ldr r6, _0205A4F0 ; =0x020F6724
- add r4, r0, #0x0
- mov r7, #0x2
-_0205A4DE:
- ldrsb r2, [r4, r7]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205A4DE
- pop {r3-r7, pc}
- .balign 4
-_0205A4F0: .word 0x020F6724
-
- thumb_func_start FUN_0205A4F4
-FUN_0205A4F4: ; 0x0205A4F4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020584C4
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- mov r0, #0x1
- strb r0, [r4, #0x2]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205A514
-FUN_0205A514: ; 0x0205A514
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- bne _0205A524
- mov r0, #0x0
- pop {r4, pc}
-_0205A524:
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x2
- strb r0, [r4, #0x2]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205A530
-FUN_0205A530: ; 0x0205A530
- ldr r0, [r1, #0x4]
- add r0, r0, #0x1
- str r0, [r1, #0x4]
- cmp r0, #0x18
- bge _0205A53E
- mov r0, #0x0
- bx lr
-_0205A53E:
- mov r0, #0x3
- strb r0, [r1, #0x2]
- mov r0, #0x1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205A548
-FUN_0205A548: ; 0x0205A548
- push {r3-r7, lr}
- sub sp, #0x28
- ldr r3, _0205A5F4 ; =0x020F6900
- add r2, sp, #0x14
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldmia r3!, {r0-r1}
- add r5, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r3, _0205A5F8 ; =0x020F6928
- str r0, [r2, #0x0]
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- add r4, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x0
- ldrsb r0, [r6, r0]
- cmp r0, #0x2
- beq _0205A57E
- add r5, r4, #0x0
-_0205A57E:
- add r0, r7, #0x0
- bl FUN_020584C4
- mov r4, #0x0
- ldr r2, [r5, #0x0]
- sub r1, r4, #0x1
- cmp r2, r1
- beq _0205A5A2
- add r1, r5, #0x0
- sub r2, r4, #0x1
-_0205A592:
- ldr r3, [r1, #0x0]
- cmp r0, r3
- beq _0205A5A2
- add r1, r1, #0x4
- ldr r3, [r1, #0x0]
- add r4, r4, #0x1
- cmp r3, r2
- bne _0205A592
-_0205A5A2:
- lsl r0, r4, #0x2
- ldr r1, [r5, r0]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0205A5B2
- bl ErrorHandling
-_0205A5B2:
- add r4, r4, #0x1
- lsl r0, r4, #0x2
- ldr r1, [r5, r0]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0205A5C2
- mov r4, #0x0
-_0205A5C2:
- lsl r1, r4, #0x2
- ldr r1, [r5, r1]
- add r0, r7, #0x0
- bl FUN_020584AC
- add r0, r7, #0x0
- bl FUN_020584C4
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020584A0
- cmp r4, r0
- bne _0205A5E8
- mov r0, #0x0
- ldrsb r0, [r6, r0]
- bl FUN_02059E74
- strb r0, [r6, #0x0]
-_0205A5E8:
- mov r0, #0x0
- strb r0, [r6, #0x2]
- mov r0, #0x1
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_0205A5F4: .word 0x020F6900
-_0205A5F8: .word 0x020F6928
-
- thumb_func_start FUN_0205A5FC
-FUN_0205A5FC: ; 0x0205A5FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x8
- bl FUN_0205858C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205A61A
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_0205ACF4
-_0205A61A:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205A61C
-FUN_0205A61C: ; 0x0205A61C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- ldr r6, _0205A63C ; =0x020F66CC
- add r4, r0, #0x0
- mov r7, #0x0
-_0205A62A:
- ldrsh r2, [r4, r7]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205A62A
- pop {r3-r7, pc}
- .balign 4
-_0205A63C: .word 0x020F66CC
-
- thumb_func_start FUN_0205A640
-FUN_0205A640: ; 0x0205A640
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020584A0
- mov r1, #0x2
- ldrsh r1, [r4, r1]
- add r6, r0, #0x0
- cmp r1, #0x1
- bne _0205A65A
- bl FUN_02059E74
- add r6, r0, #0x0
-_0205A65A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x0
- bne _0205A674
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584AC
-_0205A674:
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205A67C
-FUN_0205A67C: ; 0x0205A67C
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- ldrsh r1, [r4, r1]
- add r5, r0, #0x0
- cmp r1, #0x0
- beq _0205A6DA
- bl FUN_02058AFC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B4C
- ldr r1, [sp, #0x0]
- cmp r6, r1
- bne _0205A6DA
- cmp r7, r0
- bne _0205A6DA
- add r0, r5, #0x0
- bl FUN_020584D4
- bl FUN_02059E74
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x0
- bne _0205A6D6
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584AC
-_0205A6D6:
- mov r0, #0x0
- strh r0, [r4, #0x2]
-_0205A6DA:
- add r0, r5, #0x0
- bl FUN_020584D4
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059918
- mov r1, #0x1
- add r2, r0, #0x0
- tst r2, r1
- beq _0205A704
- add r0, r6, #0x0
- strh r1, [r4, #0x2]
- bl FUN_02059E74
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059918
-_0205A704:
- mov r1, #0xc
- cmp r0, #0x0
- beq _0205A70C
- mov r1, #0x20
-_0205A70C:
- add r0, r6, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205A72C
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_0205AD0C
-_0205A72C:
- add r0, r5, #0x0
- bl FUN_0205883C
- mov r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205A73C
-FUN_0205A73C: ; 0x0205A73C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x1
- bne _0205A766
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205A762
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_0205AD88
-_0205A762:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0205A766:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205A76C
-FUN_0205A76C: ; 0x0205A76C
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r1, #0x10
- add r5, r0, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_0205858C
- add r4, r0, #0x0
- strh r6, [r4, #0x4]
- ldr r0, [sp, #0x0]
- strh r7, [r4, #0x6]
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205A79A
- add r4, #0xc
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205ACF4
-_0205A79A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205A79C
-FUN_0205A79C: ; 0x0205A79C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0xe
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7AC
-FUN_0205A7AC: ; 0x0205A7AC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0xf
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7BC
-FUN_0205A7BC: ; 0x0205A7BC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x10
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7CC
-FUN_0205A7CC: ; 0x0205A7CC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x11
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7DC
-FUN_0205A7DC: ; 0x0205A7DC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x12
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7EC
-FUN_0205A7EC: ; 0x0205A7EC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x13
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A7FC
-FUN_0205A7FC: ; 0x0205A7FC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x14
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A80C
-FUN_0205A80C: ; 0x0205A80C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x15
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A81C
-FUN_0205A81C: ; 0x0205A81C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x16
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A82C
-FUN_0205A82C: ; 0x0205A82C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x17
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A83C
-FUN_0205A83C: ; 0x0205A83C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x18
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A84C
-FUN_0205A84C: ; 0x0205A84C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x19
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A85C
-FUN_0205A85C: ; 0x0205A85C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x1a
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A86C
-FUN_0205A86C: ; 0x0205A86C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x1b
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A87C
-FUN_0205A87C: ; 0x0205A87C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x1c
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A88C
-FUN_0205A88C: ; 0x0205A88C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x1d
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A89C
-FUN_0205A89C: ; 0x0205A89C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x1e
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8AC
-FUN_0205A8AC: ; 0x0205A8AC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x1f
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8BC
-FUN_0205A8BC: ; 0x0205A8BC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x20
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8CC
-FUN_0205A8CC: ; 0x0205A8CC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x21
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8DC
-FUN_0205A8DC: ; 0x0205A8DC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x22
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8EC
-FUN_0205A8EC: ; 0x0205A8EC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x23
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A8FC
-FUN_0205A8FC: ; 0x0205A8FC
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x24
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A90C
-FUN_0205A90C: ; 0x0205A90C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x25
- bl FUN_0205A76C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205A91C
-FUN_0205A91C: ; 0x0205A91C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- ldr r6, _0205A93C ; =0x020F6670
- add r4, r0, #0x0
- mov r7, #0x0
-_0205A92A:
- ldrsh r2, [r4, r7]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205A92A
- pop {r3-r7, pc}
- .balign 4
-_0205A93C: .word 0x020F6670
-
- thumb_func_start FUN_0205A940
-FUN_0205A940: ; 0x0205A940
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- ldrsh r2, [r4, r1]
- mov r1, #0x4
- ldrsh r1, [r4, r1]
- add r5, r0, #0x0
- cmp r2, r1
- bne _0205A98C
- mov r1, #0x6
- ldrsh r1, [r4, r1]
- cmp r1, #0x0
- bne _0205A974
- bl FUN_02058AFC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- cmp r6, r0
- bne _0205A98C
- mov r0, #0x2
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x2]
- b _0205A98C
-_0205A974:
- bl FUN_02058B0C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- cmp r6, r0
- bne _0205A98C
- mov r0, #0x2
- ldrsh r0, [r4, r0]
- add r0, r0, #0x1
- strh r0, [r4, #0x2]
-_0205A98C:
- mov r0, #0x2
- ldrsh r0, [r4, r0]
- cmp r0, #0x3
- bne _0205A9C0
- add r0, r5, #0x0
- bl FUN_02058AFC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B4C
- ldr r1, [sp, #0x0]
- cmp r6, r1
- bne _0205A9C0
- cmp r7, r0
- bne _0205A9C0
- mov r0, #0x0
- strh r0, [r4, #0x2]
-_0205A9C0:
- ldr r0, [r4, #0x8]
- bl FUN_0205AAFC
- add r7, r0, #0x0
- mov r0, #0x2
- ldrsh r0, [r4, r0]
- lsl r0, r0, #0x2
- ldr r6, [r7, r0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x0
- bne _0205A9EA
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584AC
-_0205A9EA:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059918
- mov r1, #0x1
- tst r1, r0
- beq _0205AA28
- mov r0, #0x2
- ldrsh r1, [r4, r0]
- add r1, r1, #0x1
- strh r1, [r4, #0x2]
- ldrsh r0, [r4, r0]
- lsl r0, r0, #0x2
- ldr r6, [r7, r0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584CC
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x0
- bne _0205AA20
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020584AC
-_0205AA20:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02059918
-_0205AA28:
- mov r1, #0xc
- cmp r0, #0x0
- beq _0205AA30
- mov r1, #0x20
-_0205AA30:
- add r0, r6, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205AA52
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0xc
- bl FUN_0205AD0C
-_0205AA52:
- add r0, r5, #0x0
- bl FUN_0205883C
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205AA60
-FUN_0205AA60: ; 0x0205AA60
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x1
- bne _0205AA8C
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205ACE0
- cmp r0, #0x1
- bne _0205AA88
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0xc
- bl FUN_0205AD88
-_0205AA88:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0205AA8C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205AA90
-FUN_0205AA90: ; 0x0205AA90
- push {r4, lr}
- ldr r2, [r0, #0x0]
- mov r4, #0x0
- cmp r1, r2
- beq _0205AAA4
-_0205AA9A:
- add r0, r0, #0x4
- ldr r2, [r0, #0x0]
- add r4, r4, #0x1
- cmp r1, r2
- bne _0205AA9A
-_0205AAA4:
- cmp r4, #0x0
- bne _0205AAAC
- bl ErrorHandling
-_0205AAAC:
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205AAB0
-FUN_0205AAB0: ; 0x0205AAB0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl rand_LC
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205AA90
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl _s32_div_f
- lsl r0, r1, #0x2
- ldr r0, [r5, r0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205AAD4
-FUN_0205AAD4: ; 0x0205AAD4
- push {r4-r6, lr}
- add r5, r1, #0x0
- bl FUN_0205AAFC
- add r4, r0, #0x0
- bl rand_LC
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0205AA90
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl _s32_div_f
- lsl r0, r1, #0x2
- ldr r0, [r4, r0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205AAFC
-FUN_0205AAFC: ; 0x0205AAFC
- push {r3, lr}
- ldr r1, _0205AB1C ; =0x020F69BC
- mov r2, #0x0
-_0205AB02:
- cmp r2, r0
- bne _0205AB0A
- ldr r0, [r1, #0x4]
- pop {r3, pc}
-_0205AB0A:
- add r1, #0x8
- ldr r2, [r1, #0x0]
- cmp r2, #0x27
- bne _0205AB02
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0205AB1C: .word 0x020F69BC
-
- thumb_func_start FUN_0205AB20
-FUN_0205AB20: ; 0x0205AB20
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02058488
- cmp r0, #0x1
- beq _0205AB36
- cmp r0, #0x2
- beq _0205AB36
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0205AB36:
- add r0, r5, #0x0
- bl FUN_02058738
- bl FUN_02055698
- add r6, r0, #0x0
- bl FUN_02057124
- cmp r0, #0x0
- bne _0205AB50
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0205AB50:
- add r0, r5, #0x0
- mov r4, #0x0
- bl FUN_02058480
- ldr r1, _0205ABE8 ; =0x020F6984
-_0205AB5A:
- lsl r2, r4, #0x2
- ldr r2, [r1, r2]
- add r4, r4, #0x1
- cmp r2, r0
- beq _0205AB68
- cmp r2, #0xff
- bne _0205AB5A
-_0205AB68:
- cmp r0, r2
- beq _0205AB72
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0205AB72:
- add r0, r6, #0x0
- bl FUN_020553A0
- bl FUN_02058BE4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058BE4
- cmp r4, r0
- beq _0205AB8E
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0205AB8E:
- add r0, r6, #0x0
- bl FUN_02055320
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0205532C
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r3, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r5, [sp, #0x0]
- sub r2, r6, r0
- add r1, r6, r0
- sub r5, r3, r5
- add r0, r3, r0
- cmp r5, r4
- bgt _0205ABE2
- cmp r0, r4
- blt _0205ABE2
- cmp r2, r7
- bgt _0205ABE2
- cmp r1, r7
- blt _0205ABE2
- add r1, r3, #0x0
- add r0, r6, #0x0
- add r2, r7, #0x0
- add r3, r4, #0x0
- bl FUN_02059E80
- pop {r3-r7, pc}
-_0205ABE2:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
- .balign 4
-_0205ABE8: .word 0x020F6984
-
- thumb_func_start FUN_0205ABEC
-FUN_0205ABEC: ; 0x0205ABEC
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x0]
- add r4, r2, #0x0
- add r0, r1, #0x0
- bl FUN_0205AAFC
- add r1, r4, #0x0
- add r5, r0, #0x0
- bl FUN_0205AA90
- add r4, r0, #0x0
- cmp r4, #0x1
- bne _0205AC10
- mov r0, #0x0
- add sp, #0x14
- mvn r0, r0
- pop {r4-r7, pc}
-_0205AC10:
- ldr r0, [sp, #0x0]
- bl FUN_0205AB20
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _0205ACDA
- mov r2, #0x0
- add r3, r5, #0x0
-_0205AC22:
- ldr r1, [r3, #0x0]
- cmp r0, r1
- beq _0205ACDA
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, r4
- blt _0205AC22
- mov r7, #0x0
- mvn r7, r7
- ldr r0, [sp, #0x0]
- add r6, r7, #0x0
- bl FUN_02058B2C
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- bl FUN_02058B4C
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- bl FUN_02058738
- bl FUN_02055698
- str r0, [sp, #0xc]
- bl FUN_02055320
- str r0, [sp, #0x10]
- ldr r0, [sp, #0xc]
- bl FUN_0205532C
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0x10]
- cmp r2, r1
- ble _0205AC6A
- mov r7, #0x2
- b _0205AC70
-_0205AC6A:
- cmp r2, r1
- bge _0205AC70
- mov r7, #0x3
-_0205AC70:
- ldr r1, [sp, #0x4]
- cmp r1, r0
- ble _0205AC7A
- mov r6, #0x0
- b _0205AC80
-_0205AC7A:
- cmp r1, r0
- bge _0205AC80
- mov r6, #0x1
-_0205AC80:
- mov r0, #0x0
- sub r1, r0, #0x1
- cmp r7, r1
- bne _0205AC9E
-_0205AC88:
- ldr r1, [r5, #0x0]
- cmp r6, r1
- bne _0205AC94
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0205AC94:
- add r0, r0, #0x1
- add r5, r5, #0x4
- cmp r0, r4
- blt _0205AC88
- b _0205ACD6
-_0205AC9E:
- cmp r6, r1
- bne _0205ACB8
-_0205ACA2:
- ldr r1, [r5, #0x0]
- cmp r7, r1
- bne _0205ACAE
- add sp, #0x14
- add r0, r7, #0x0
- pop {r4-r7, pc}
-_0205ACAE:
- add r0, r0, #0x1
- add r5, r5, #0x4
- cmp r0, r4
- blt _0205ACA2
- b _0205ACD6
-_0205ACB8:
- ldr r1, [r5, #0x0]
- cmp r7, r1
- bne _0205ACC4
- add sp, #0x14
- add r0, r7, #0x0
- pop {r4-r7, pc}
-_0205ACC4:
- cmp r6, r1
- bne _0205ACCE
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0205ACCE:
- add r0, r0, #0x1
- add r5, r5, #0x4
- cmp r0, r4
- blt _0205ACB8
-_0205ACD6:
- mov r0, #0x0
- mvn r0, r0
-_0205ACDA:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205ACE0
-FUN_0205ACE0: ; 0x0205ACE0
- push {r3, lr}
- bl FUN_02058488
- sub r0, r0, #0x7
- cmp r0, #0x1
- bhi _0205ACF0
- mov r0, #0x1
- pop {r3, pc}
-_0205ACF0:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205ACF4
-FUN_0205ACF4: ; 0x0205ACF4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02058488
- cmp r0, #0x7
- bne _0205AD06
- mov r0, #0x0
- strb r0, [r4, #0x1]
- pop {r4, pc}
-_0205AD06:
- mov r0, #0x1
- strb r0, [r4, #0x1]
- pop {r4, pc}
-
- thumb_func_start FUN_0205AD0C
-FUN_0205AD0C: ; 0x0205AD0C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020584C4
- mov r4, #0x0
- add r6, r0, #0x0
- add r1, r4, #0x0
- ldr r0, _0205AD84 ; =0x020F6964
- mov r2, #0x1
- b _0205AD26
-_0205AD22:
- add r1, r1, #0x4
- add r4, r4, #0x1
-_0205AD26:
- cmp r4, #0x4
- bge _0205AD36
- ldrsb r3, [r5, r2]
- lsl r3, r3, #0x4
- add r3, r0, r3
- ldr r3, [r1, r3]
- cmp r6, r3
- bne _0205AD22
-_0205AD36:
- cmp r4, #0x4
- blt _0205AD3E
- bl ErrorHandling
-_0205AD3E:
- add r0, r4, #0x1
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- strb r6, [r5, #0x0]
- mov r0, #0x1
- add r1, r2, r1
- ldrsb r0, [r5, r0]
- lsl r1, r1, #0x2
- lsl r2, r0, #0x4
- ldr r0, _0205AD84 ; =0x020F6964
- add r0, r0, r2
- ldr r4, [r1, r0]
- add r0, r7, #0x0
- mov r1, #0x80
- bl FUN_02058424
- cmp r0, #0x0
- beq _0205AD6C
- mov r0, #0x1
- b _0205AD6E
-_0205AD6C:
- mov r0, #0x0
-_0205AD6E:
- strb r0, [r5, #0x2]
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_020584AC
- add r0, r7, #0x0
- mov r1, #0x80
- bl FUN_02058410
- pop {r3-r7, pc}
- nop
-_0205AD84: .word 0x020F6964
-
- thumb_func_start FUN_0205AD88
-FUN_0205AD88: ; 0x0205AD88
- push {r3, lr}
- ldrb r1, [r1, #0x2]
- cmp r1, #0x0
- bne _0205AD96
- mov r1, #0x80
- bl FUN_02058418
-_0205AD96:
- pop {r3, pc}
-
- thumb_func_start FUN_0205AD98
-FUN_0205AD98: ; 0x0205AD98
- push {r4, lr}
- mov r1, #0x1
- add r4, r0, #0x0
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205ADAA
- mov r0, #0x0
- pop {r4, pc}
-_0205ADAA:
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0205842C
- cmp r0, #0x1
- bne _0205ADBA
- mov r0, #0x0
- pop {r4, pc}
-_0205ADBA:
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_0205842C
- cmp r0, #0x1
- bne _0205ADD6
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205ADD6
- mov r0, #0x0
- pop {r4, pc}
-_0205ADD6:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205ADDC
-FUN_0205ADDC: ; 0x0205ADDC
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x69
- blt _0205ADEA
- bl ErrorHandling
-_0205ADEA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020586E8
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020586F8
- add r0, r5, #0x0
- mov r1, #0x10
- bl FUN_02058410
- add r0, r5, #0x0
- mov r1, #0x20
- bl FUN_02058418
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205AE0C
-FUN_0205AE0C: ; 0x0205AE0C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020586E8
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020586F8
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02058418
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AE28
-FUN_0205AE28: ; 0x0205AE28
- push {r4, lr}
- mov r1, #0x10
- add r4, r0, #0x0
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205AE3A
- mov r0, #0x1
- pop {r4, pc}
-_0205AE3A:
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0205842C
- cmp r0, #0x0
- beq _0205AE4A
- mov r0, #0x1
- pop {r4, pc}
-_0205AE4A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AE50
-FUN_0205AE50: ; 0x0205AE50
- push {r4, lr}
- mov r1, #0x10
- add r4, r0, #0x0
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205AE62
- mov r0, #0x1
- pop {r4, pc}
-_0205AE62:
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205AE72
- mov r0, #0x0
- pop {r4, pc}
-_0205AE72:
- add r0, r4, #0x0
- mov r1, #0x30
- bl FUN_02058418
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AE80
-FUN_0205AE80: ; 0x0205AE80
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x10
- bl FUN_02058418
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02058410
- add r0, r4, #0x0
- mov r1, #0xff
- bl FUN_020586E8
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020586F8
- pop {r4, pc}
-
- thumb_func_start FUN_0205AEA4
-FUN_0205AEA4: ; 0x0205AEA4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_020169D8
- add r4, r0, #0x0
- bne _0205AEBA
- bl ErrorHandling
-_0205AEBA:
- add r2, r4, #0x0
- mov r1, #0x14
- mov r0, #0x0
-_0205AEC0:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0205AEC0
- add r0, r5, #0x0
- bl FUN_02058578
- bl FUN_0205839C
- sub r2, r0, #0x1
- ldr r0, _0205AEEC ; =FUN_0205AF2C
- add r1, r4, #0x0
- bl FUN_0200CA44
- add r7, r0, #0x0
- bne _0205AEE4
- bl ErrorHandling
-_0205AEE4:
- str r5, [r4, #0xc]
- str r6, [r4, #0x10]
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0205AEEC: .word FUN_0205AF2C
-
- thumb_func_start FUN_0205AEF0
-FUN_0205AEF0: ; 0x0205AEF0
- push {r3, lr}
- bl FUN_0201B6C8
- ldr r0, [r0, #0x4]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205AEFC
-FUN_0205AEFC: ; 0x0205AEFC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0201B6C8
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0205AE28
- cmp r0, #0x1
- beq _0205AF14
- bl ErrorHandling
-_0205AF14:
- ldr r0, [r4, #0xc]
- bl FUN_0205AE50
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02016A8C
- add r0, r5, #0x0
- bl FUN_0200CAB4
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205AF2C
-FUN_0205AF2C: ; 0x0205AF2C
- push {r3-r5, lr}
- ldr r4, _0205AF44 ; =0x020F6C54
- add r5, r1, #0x0
-_0205AF32:
- ldr r1, [r5, #0x0]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- blx r1
- cmp r0, #0x1
- beq _0205AF32
- pop {r3-r5, pc}
- nop
-_0205AF44: .word 0x020F6C54
-
- thumb_func_start FUN_0205AF48
-FUN_0205AF48: ; 0x0205AF48
- mov r1, #0x0
- str r1, [r0, #0x8]
- mov r1, #0x1
- str r1, [r0, #0x0]
- add r0, r1, #0x0
- bx lr
-
- thumb_func_start FUN_0205AF54
-FUN_0205AF54: ; 0x0205AF54
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0205AD98
- cmp r0, #0x0
- bne _0205AF66
- mov r0, #0x0
- pop {r4, pc}
-_0205AF66:
- mov r0, #0x2
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AF70
-FUN_0205AF70: ; 0x0205AF70
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0xc]
- ldrh r1, [r1, #0x0]
- bl FUN_0205ADDC
- mov r0, #0x3
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AF88
-FUN_0205AF88: ; 0x0205AF88
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0205AF9A
- mov r0, #0x0
- pop {r4, pc}
-_0205AF9A:
- mov r0, #0x4
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205AFA4
-FUN_0205AFA4: ; 0x0205AFA4
- ldr r1, [r0, #0x8]
- ldr r3, [r0, #0x10]
- add r2, r1, #0x1
- str r2, [r0, #0x8]
- ldrh r1, [r3, #0x2]
- cmp r2, r1
- bge _0205AFBA
- mov r1, #0x1
- str r1, [r0, #0x0]
- add r0, r1, #0x0
- bx lr
-_0205AFBA:
- add r1, r3, #0x4
- str r1, [r0, #0x10]
- ldrh r1, [r3, #0x4]
- cmp r1, #0xfe
- beq _0205AFCC
- mov r1, #0x0
- str r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
-_0205AFCC:
- mov r1, #0x1
- str r1, [r0, #0x4]
- mov r1, #0x5
- str r1, [r0, #0x0]
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205AFD8
-FUN_0205AFD8: ; 0x0205AFD8
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205AFDC
-FUN_0205AFDC: ; 0x0205AFDC
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r4, r1, #0x0
- cmp r7, #0x4
- blt _0205AFEA
- bl ErrorHandling
-_0205AFEA:
- ldr r3, _0205B01C ; =0x020F6308
- ldr r6, [r3, #0x0]
- cmp r6, #0x0
- beq _0205B014
- mov r1, #0x0
-_0205AFF4:
- add r2, r1, #0x0
- add r5, r6, #0x0
-_0205AFF8:
- ldr r0, [r5, #0x0]
- cmp r4, r0
- bne _0205B004
- lsl r0, r7, #0x2
- ldr r0, [r6, r0]
- pop {r3-r7, pc}
-_0205B004:
- add r2, r2, #0x1
- add r5, r5, #0x4
- cmp r2, #0x4
- blt _0205AFF8
- add r3, r3, #0x4
- ldr r6, [r3, #0x0]
- cmp r6, #0x0
- bne _0205AFF4
-_0205B014:
- bl ErrorHandling
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0205B01C: .word 0x020F6308
-
- thumb_func_start FUN_0205B020
-FUN_0205B020: ; 0x0205B020
- push {r4-r5}
- ldr r4, _0205B054 ; =0x020F6308
- ldr r5, [r4, #0x0]
- cmp r5, #0x0
- beq _0205B04A
- mov r2, #0x0
-_0205B02C:
- add r3, r2, #0x0
-_0205B02E:
- ldr r1, [r5, #0x0]
- cmp r0, r1
- bne _0205B03A
- add r0, r3, #0x0
- pop {r4-r5}
- bx lr
-_0205B03A:
- add r3, r3, #0x1
- add r5, r5, #0x4
- cmp r3, #0x4
- blt _0205B02E
- add r4, r4, #0x4
- ldr r5, [r4, #0x0]
- cmp r5, #0x0
- bne _0205B02C
-_0205B04A:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r5}
- bx lr
- nop
-_0205B054: .word 0x020F6308
-
- thumb_func_start FUN_0205B058
-FUN_0205B058: ; 0x0205B058
- push {r3-r5, lr}
- add r5, r0, #0x0
-_0205B05C:
- add r0, r5, #0x0
- bl FUN_020586F0
- add r4, r0, #0x0
- cmp r4, #0xff
- beq _0205B07C
- add r0, r5, #0x0
- bl FUN_02058710
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205B0B4
- cmp r0, #0x0
- bne _0205B05C
-_0205B07C:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205B080
-FUN_0205B080: ; 0x0205B080
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0205B058
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0205842C
- cmp r0, #0x0
- bne _0205B098
- mov r0, #0x0
- pop {r4, pc}
-_0205B098:
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02058418
- add r0, r4, #0x0
- mov r1, #0xff
- bl FUN_020586E8
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020586F8
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205B0B4
-FUN_0205B0B4: ; 0x0205B0B4
- push {r3, lr}
- lsl r3, r1, #0x2
- ldr r1, _0205B0C4 ; =0x020F6440
- ldr r3, [r1, r3]
- lsl r1, r2, #0x2
- ldr r1, [r3, r1]
- blx r1
- pop {r3, pc}
- .balign 4
-_0205B0C4: .word 0x020F6440
-
- thumb_func_start FUN_0205B0C8
-FUN_0205B0C8: ; 0x0205B0C8
- push {r3, lr}
- mov r1, #0x20
- bl FUN_02058410
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205B0D4
-FUN_0205B0D4: ; 0x0205B0D4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020584AC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02059C60
- add r0, r4, #0x0
- bl FUN_02058700
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205B0F4
-FUN_0205B0F4: ; 0x0205B0F4
- push {r3, lr}
- mov r1, #0x0
- bl FUN_0205B0D4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B100
-FUN_0205B100: ; 0x0205B100
- push {r3, lr}
- mov r1, #0x1
- bl FUN_0205B0D4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B10C
-FUN_0205B10C: ; 0x0205B10C
- push {r3, lr}
- mov r1, #0x2
- bl FUN_0205B0D4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B118
-FUN_0205B118: ; 0x0205B118
- push {r3, lr}
- mov r1, #0x3
- bl FUN_0205B0D4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B124
-FUN_0205B124: ; 0x0205B124
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0xc
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020585DC
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- strh r1, [r0, #0x0]
- strh r7, [r0, #0x2]
- str r4, [r0, #0x4]
- str r6, [r0, #0x8]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059C0C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020584D8
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- add r0, r5, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_02058700
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205B16C
-FUN_0205B16C: ; 0x0205B16C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02059CC8
- add r0, r5, #0x0
- bl FUN_02059D1C
- mov r0, #0x2
- ldrsh r1, [r4, r0]
- sub r1, r1, #0x1
- strh r1, [r4, #0x2]
- ldrsh r0, [r4, r0]
- cmp r0, #0x0
- ble _0205B198
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205B198:
- add r0, r5, #0x0
- mov r1, #0x28
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_02059C60
- add r0, r5, #0x0
- bl FUN_020586A0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205B1C0
-FUN_0205B1C0: ; 0x0205B1C0
- push {r3, lr}
- mov r2, #0x1
- str r2, [sp, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0xb
- mov r3, #0x20
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B1D4
-FUN_0205B1D4: ; 0x0205B1D4
- push {r3, lr}
- mov r1, #0x1
- lsl r2, r1, #0xb
- mov r3, #0x20
- str r1, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B1E8
-FUN_0205B1E8: ; 0x0205B1E8
- push {r3, lr}
- mov r1, #0x1
- str r1, [sp, #0x0]
- mov r1, #0x2
- lsl r2, r1, #0xa
- mov r3, #0x20
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B1FC
-FUN_0205B1FC: ; 0x0205B1FC
- push {r3, lr}
- mov r2, #0x1
- str r2, [sp, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0xb
- mov r3, #0x20
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B210
-FUN_0205B210: ; 0x0205B210
- push {r3, lr}
- mov r2, #0x2
- str r2, [sp, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0xb
- mov r3, #0x10
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B224
-FUN_0205B224: ; 0x0205B224
- push {r3, lr}
- mov r1, #0x2
- str r1, [sp, #0x0]
- mov r1, #0x1
- lsl r2, r1, #0xc
- mov r3, #0x10
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B238
-FUN_0205B238: ; 0x0205B238
- push {r3, lr}
- mov r1, #0x2
- lsl r2, r1, #0xb
- mov r3, #0x10
- str r1, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B24C
-FUN_0205B24C: ; 0x0205B24C
- push {r3, lr}
- mov r2, #0x2
- str r2, [sp, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0xb
- mov r3, #0x10
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B260
-FUN_0205B260: ; 0x0205B260
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x2
- str r1, [sp, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0xc
- mov r3, #0x8
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B278
-FUN_0205B278: ; 0x0205B278
- push {r3, lr}
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x1
- lsl r2, r1, #0xd
- mov r3, #0x8
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B28C
-FUN_0205B28C: ; 0x0205B28C
- push {r3, lr}
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x2
- lsl r2, r1, #0xc
- mov r3, #0x8
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B2A0
-FUN_0205B2A0: ; 0x0205B2A0
- push {r3, lr}
- mov r2, #0x2
- mov r1, #0x3
- lsl r2, r2, #0xc
- mov r3, #0x8
- str r1, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B2B4
-FUN_0205B2B4: ; 0x0205B2B4
- push {r3, lr}
- mov r3, #0x4
- mov r1, #0x0
- lsl r2, r3, #0xc
- str r3, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B2C8
-FUN_0205B2C8: ; 0x0205B2C8
- push {r3, lr}
- mov r1, #0x1
- mov r3, #0x4
- lsl r2, r1, #0xe
- str r3, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B2DC
-FUN_0205B2DC: ; 0x0205B2DC
- push {r3, lr}
- mov r1, #0x2
- mov r3, #0x4
- lsl r2, r1, #0xd
- str r3, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B2F0
-FUN_0205B2F0: ; 0x0205B2F0
- push {r3, lr}
- mov r3, #0x4
- mov r1, #0x3
- lsl r2, r3, #0xc
- str r3, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B304
-FUN_0205B304: ; 0x0205B304
- push {r3, lr}
- mov r1, #0x5
- mov r2, #0x2
- str r1, [sp, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0xe
- mov r3, #0x2
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B31C
-FUN_0205B31C: ; 0x0205B31C
- push {r3, lr}
- mov r1, #0x5
- str r1, [sp, #0x0]
- mov r1, #0x1
- lsl r2, r1, #0xf
- mov r3, #0x2
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B330
-FUN_0205B330: ; 0x0205B330
- push {r3, lr}
- mov r1, #0x5
- str r1, [sp, #0x0]
- mov r1, #0x2
- lsl r2, r1, #0xe
- add r3, r1, #0x0
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B344
-FUN_0205B344: ; 0x0205B344
- push {r3, lr}
- mov r1, #0x5
- mov r2, #0x2
- str r1, [sp, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0xe
- mov r3, #0x2
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B35C
-FUN_0205B35C: ; 0x0205B35C
- push {r3, lr}
- mov r2, #0x1
- mov r1, #0x0
- lsl r2, r2, #0x10
- mov r3, #0x1
- str r1, [sp, #0x0]
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B370
-FUN_0205B370: ; 0x0205B370
- push {r3, lr}
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r1, #0x1
- lsl r2, r1, #0x10
- add r3, r1, #0x0
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B384
-FUN_0205B384: ; 0x0205B384
- push {r3, lr}
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r1, #0x2
- lsl r2, r1, #0xf
- mov r3, #0x1
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B398
-FUN_0205B398: ; 0x0205B398
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x1
- str r1, [sp, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0x10
- mov r3, #0x1
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B3B0
-FUN_0205B3B0: ; 0x0205B3B0
- push {r3, lr}
- mov r1, #0x9
- mov r2, #0x1
- str r1, [sp, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0xe
- mov r3, #0x4
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B3C8
-FUN_0205B3C8: ; 0x0205B3C8
- push {r3, lr}
- mov r1, #0x9
- str r1, [sp, #0x0]
- mov r1, #0x1
- lsl r2, r1, #0xe
- mov r3, #0x4
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B3DC
-FUN_0205B3DC: ; 0x0205B3DC
- push {r3, lr}
- mov r1, #0x9
- str r1, [sp, #0x0]
- mov r1, #0x2
- lsl r2, r1, #0xd
- mov r3, #0x4
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B3F0
-FUN_0205B3F0: ; 0x0205B3F0
- push {r3, lr}
- mov r1, #0x9
- mov r2, #0x1
- str r1, [sp, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0xe
- mov r3, #0x4
- bl FUN_0205B124
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205B408
-FUN_0205B408: ; 0x0205B408
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- mov r1, #0xc
- add r5, r0, #0x0
- bl FUN_020585DC
- strh r4, [r0, #0x0]
- add r1, r6, #0x1
- strh r1, [r0, #0x2]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_020584AC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02059C60
- add r0, r5, #0x0
- bl FUN_02058700
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205B43C
-FUN_0205B43C: ; 0x0205B43C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058600
- mov r1, #0x2
- ldrsh r2, [r0, r1]
- sub r2, r2, #0x1
- strh r2, [r0, #0x2]
- ldrsh r0, [r0, r1]
- cmp r0, #0x0
- ble _0205B456
- mov r0, #0x0
- pop {r4, pc}
-_0205B456:
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02058410
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205B470
-FUN_0205B470: ; 0x0205B470
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x20
- mov r3, #0x1
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B480
-FUN_0205B480: ; 0x0205B480
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x20
- add r3, r1, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B490
-FUN_0205B490: ; 0x0205B490
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x20
- mov r3, #0x1
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4A0
-FUN_0205B4A0: ; 0x0205B4A0
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x20
- mov r3, #0x1
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4B0
-FUN_0205B4B0: ; 0x0205B4B0
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x10
- mov r3, #0x2
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4C0
-FUN_0205B4C0: ; 0x0205B4C0
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x10
- mov r3, #0x2
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4D0
-FUN_0205B4D0: ; 0x0205B4D0
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4E0
-FUN_0205B4E0: ; 0x0205B4E0
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x10
- mov r3, #0x2
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B4F0
-FUN_0205B4F0: ; 0x0205B4F0
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x8
- mov r3, #0x3
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B500
-FUN_0205B500: ; 0x0205B500
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x8
- mov r3, #0x3
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B510
-FUN_0205B510: ; 0x0205B510
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x8
- mov r3, #0x3
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B520
-FUN_0205B520: ; 0x0205B520
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x8
- add r3, r1, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B530
-FUN_0205B530: ; 0x0205B530
- push {r3, lr}
- mov r2, #0x4
- mov r1, #0x0
- add r3, r2, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B540
-FUN_0205B540: ; 0x0205B540
- push {r3, lr}
- mov r2, #0x4
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B550
-FUN_0205B550: ; 0x0205B550
- push {r3, lr}
- mov r2, #0x4
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B560
-FUN_0205B560: ; 0x0205B560
- push {r3, lr}
- mov r2, #0x4
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B570
-FUN_0205B570: ; 0x0205B570
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x2
- mov r3, #0x5
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B580
-FUN_0205B580: ; 0x0205B580
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x2
- mov r3, #0x5
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B590
-FUN_0205B590: ; 0x0205B590
- push {r3, lr}
- mov r1, #0x2
- add r2, r1, #0x0
- mov r3, #0x5
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B5A0
-FUN_0205B5A0: ; 0x0205B5A0
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x2
- mov r3, #0x5
- bl FUN_0205B408
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B5B0
-FUN_0205B5B0: ; 0x0205B5B0
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x10
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020585DC
- strb r4, [r0, #0xc]
- str r6, [r0, #0x0]
- strb r7, [r0, #0xd]
- add r2, sp, #0x8
- ldrh r1, [r2, #0x10]
- strb r1, [r0, #0xe]
- mov r1, #0x14
- ldrsh r1, [r2, r1]
- cmp r6, #0x0
- strb r1, [r0, #0xf]
- ldrh r1, [r2, #0x18]
- strh r1, [r0, #0x8]
- bne _0205B5E2
- add r0, r5, #0x0
- bl FUN_02059C60
- b _0205B5EA
-_0205B5E2:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059C0C
-_0205B5EA:
- ldr r1, _0205B614 ; =0x00010004
- add r0, r5, #0x0
- bl FUN_02058410
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020584D8
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- add r0, r5, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058700
- ldr r0, _0205B618 ; =0x0000060B
- bl FUN_020054C8
- pop {r3-r7, pc}
- nop
-_0205B614: .word 0x00010004
-_0205B618: .word 0x0000060B
-
- thumb_func_start FUN_0205B61C
-FUN_0205B61C: ; 0x0205B61C
- push {r3-r5, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r2, [r4, #0x0]
- cmp r2, #0x0
- beq _0205B66C
- mov r1, #0xc
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02059CC8
- add r0, r5, #0x0
- bl FUN_02059D1C
- mov r0, #0x1
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0x10
- cmp r1, r0
- blt _0205B65E
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r1, #0xc
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02059C0C
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02058410
-_0205B65E:
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- bge _0205B666
- neg r1, r1
-_0205B666:
- ldr r0, [r4, #0x4]
- add r0, r0, r1
- str r0, [r4, #0x4]
-_0205B66C:
- ldrh r1, [r4, #0xa]
- ldrh r0, [r4, #0x8]
- add r0, r1, r0
- strh r0, [r4, #0xa]
- mov r0, #0xf
- ldrh r1, [r4, #0xa]
- lsl r0, r0, #0x8
- cmp r1, r0
- bls _0205B680
- strh r0, [r4, #0xa]
-_0205B680:
- mov r1, #0xf
- ldrsb r1, [r4, r1]
- ldrh r0, [r4, #0xa]
- lsl r2, r1, #0x2
- ldr r1, _0205B6F8 ; =0x02105F9C
- lsr r0, r0, #0x8
- lsl r0, r0, #0x10
- ldr r2, [r1, r2]
- mov r1, #0x0
- str r1, [sp, #0xc]
- lsr r0, r0, #0xe
- ldr r0, [r2, r0]
- str r0, [sp, #0x10]
- str r1, [sp, #0x14]
- add r0, r5, #0x0
- add r1, sp, #0xc
- bl FUN_02058B94
- mov r0, #0xd
- ldrsb r1, [r4, r0]
- sub r1, r1, #0x1
- strb r1, [r4, #0xd]
- ldrsb r0, [r4, r0]
- cmp r0, #0x0
- ble _0205B6B8
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205B6B8:
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- add r0, r5, #0x0
- bl FUN_02058B94
- ldr r1, _0205B6FC ; =0x00020028
- add r0, r5, #0x0
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_02059C60
- add r0, r5, #0x0
- bl FUN_020586A0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058700
- ldr r0, _0205B700 ; =0x00000647
- bl FUN_020054C8
- mov r0, #0x1
- add sp, #0x18
- pop {r3-r5, pc}
- nop
-_0205B6F8: .word 0x02105F9C
-_0205B6FC: .word 0x00020028
-_0205B700: .word 0x00000647
-
- thumb_func_start FUN_0205B704
-FUN_0205B704: ; 0x0205B704
- push {lr}
- sub sp, #0xc
- mov r2, #0x2
- str r2, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- add r2, #0xfe
- str r2, [sp, #0x8]
- add r2, r1, #0x0
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B724
-FUN_0205B724: ; 0x0205B724
- push {lr}
- sub sp, #0xc
- mov r1, #0x2
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- add r1, #0xfe
- str r1, [sp, #0x8]
- mov r1, #0x1
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B744
-FUN_0205B744: ; 0x0205B744
- push {lr}
- sub sp, #0xc
- mov r1, #0x2
- add r3, r1, #0x0
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- add r3, #0xfe
- str r3, [sp, #0x8]
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B764
-FUN_0205B764: ; 0x0205B764
- push {lr}
- sub sp, #0xc
- mov r1, #0x2
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- add r1, #0xfe
- str r1, [sp, #0x8]
- mov r1, #0x3
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B784
-FUN_0205B784: ; 0x0205B784
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x0
- mov r2, #0x2
- str r1, [sp, #0x4]
- lsl r2, r2, #0x8
- str r2, [sp, #0x8]
- add r2, r1, #0x0
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B7A4
-FUN_0205B7A4: ; 0x0205B7A4
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r2, #0x0
- mov r1, #0x2
- str r2, [sp, #0x4]
- lsl r1, r1, #0x8
- str r1, [sp, #0x8]
- mov r1, #0x1
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B7C4
-FUN_0205B7C4: ; 0x0205B7C4
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r2, #0x0
- mov r1, #0x2
- str r2, [sp, #0x4]
- lsl r1, r1, #0x8
- str r1, [sp, #0x8]
- mov r1, #0x2
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B7E4
-FUN_0205B7E4: ; 0x0205B7E4
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- mov r3, #0x2
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- lsl r3, r3, #0x8
- str r3, [sp, #0x8]
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B804
-FUN_0205B804: ; 0x0205B804
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x0
- mov r2, #0x2
- str r1, [sp, #0x4]
- lsl r2, r2, #0x8
- str r2, [sp, #0x8]
- lsl r2, r2, #0x4
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B824
-FUN_0205B824: ; 0x0205B824
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0x2
- lsl r1, r1, #0x8
- str r1, [sp, #0x8]
- mov r1, #0x1
- lsl r2, r1, #0xd
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B848
-FUN_0205B848: ; 0x0205B848
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0x2
- lsl r1, r1, #0x8
- str r1, [sp, #0x8]
- mov r1, #0x2
- lsl r2, r1, #0xc
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B86C
-FUN_0205B86C: ; 0x0205B86C
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- mov r2, #0x2
- lsl r2, r2, #0x8
- str r2, [sp, #0x8]
- lsl r2, r2, #0x4
- mov r3, #0x8
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B88C
-FUN_0205B88C: ; 0x0205B88C
- push {lr}
- sub sp, #0xc
- mov r2, #0x3
- str r2, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- add r2, #0xfd
- str r2, [sp, #0x8]
- mov r2, #0x2
- lsl r2, r2, #0xc
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B8AC
-FUN_0205B8AC: ; 0x0205B8AC
- push {lr}
- sub sp, #0xc
- mov r2, #0x3
- str r2, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- add r2, #0xfd
- mov r1, #0x1
- str r2, [sp, #0x8]
- lsl r2, r1, #0xd
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B8CC
-FUN_0205B8CC: ; 0x0205B8CC
- push {lr}
- sub sp, #0xc
- mov r2, #0x3
- str r2, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- add r2, #0xfd
- mov r1, #0x2
- str r2, [sp, #0x8]
- lsl r2, r1, #0xc
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B8EC
-FUN_0205B8EC: ; 0x0205B8EC
- push {lr}
- sub sp, #0xc
- mov r1, #0x3
- str r1, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- add r2, r1, #0x0
- add r2, #0xfd
- str r2, [sp, #0x8]
- mov r2, #0x2
- lsl r2, r2, #0xc
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B910
-FUN_0205B910: ; 0x0205B910
- push {lr}
- sub sp, #0xc
- mov r1, #0xa
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0xf0
- str r1, [sp, #0x8]
- mov r1, #0x2
- lsl r2, r1, #0xb
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B930
-FUN_0205B930: ; 0x0205B930
- push {lr}
- sub sp, #0xc
- mov r1, #0xa
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0xf0
- mov r2, #0x1
- str r1, [sp, #0x8]
- mov r1, #0x3
- lsl r2, r2, #0xc
- mov r3, #0x10
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B954
-FUN_0205B954: ; 0x0205B954
- push {lr}
- sub sp, #0xc
- mov r1, #0xb
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0x5
- lsl r1, r1, #0x6
- str r1, [sp, #0x8]
- mov r1, #0x2
- lsl r2, r1, #0xd
- mov r3, #0xc
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_0205B978
-FUN_0205B978: ; 0x0205B978
- push {lr}
- sub sp, #0xc
- mov r1, #0xb
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x4]
- mov r1, #0x5
- lsl r1, r1, #0x6
- mov r2, #0x1
- str r1, [sp, #0x8]
- mov r1, #0x3
- lsl r2, r2, #0xe
- mov r3, #0xc
- bl FUN_0205B5B0
- mov r0, #0x1
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0205B99C
-FUN_0205B99C: ; 0x0205B99C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x4
- bl FUN_020585DC
- str r4, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_02058700
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205B9B4
-FUN_0205B9B4: ; 0x0205B9B4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058600
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0205B9CA
- sub r1, r1, #0x1
- str r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-_0205B9CA:
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205B9D4
-FUN_0205B9D4: ; 0x0205B9D4
- push {r3, lr}
- mov r1, #0x1
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B9E0
-FUN_0205B9E0: ; 0x0205B9E0
- push {r3, lr}
- mov r1, #0x2
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B9EC
-FUN_0205B9EC: ; 0x0205B9EC
- push {r3, lr}
- mov r1, #0x4
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205B9F8
-FUN_0205B9F8: ; 0x0205B9F8
- push {r3, lr}
- mov r1, #0x8
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BA04
-FUN_0205BA04: ; 0x0205BA04
- push {r3, lr}
- mov r1, #0xf
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BA10
-FUN_0205BA10: ; 0x0205BA10
- push {r3, lr}
- mov r1, #0x10
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BA1C
-FUN_0205BA1C: ; 0x0205BA1C
- push {r3, lr}
- mov r1, #0x20
- bl FUN_0205B99C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BA28
-FUN_0205BA28: ; 0x0205BA28
- push {r4, lr}
- mov r1, #0x8
- add r4, r0, #0x0
- bl FUN_020585DC
- mov r1, #0x1
- lsl r1, r1, #0x10
- str r1, [r0, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BA4C
-FUN_0205BA4C: ; 0x0205BA4C
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, [r4, #0x4]
- add r0, r1, r0
- str r0, [r4, #0x0]
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B94
- ldr r1, [r4, #0x0]
- asr r0, r1, #0xe
- lsr r0, r0, #0x11
- add r0, r1, r0
- asr r0, r0, #0xf
- cmp r0, #0x28
- bge _0205BA88
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r5, pc}
-_0205BA88:
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_0205BA94
-FUN_0205BA94: ; 0x0205BA94
- push {r4, lr}
- mov r1, #0x8
- add r4, r0, #0x0
- bl FUN_020585DC
- mov r1, #0x5
- lsl r1, r1, #0x12
- str r1, [r0, #0x0]
- ldr r1, _0205BABC ; =0xFFFF0000
- str r1, [r0, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0205BABC: .word 0xFFFF0000
-
- thumb_func_start FUN_0205BAC0
-FUN_0205BAC0: ; 0x0205BAC0
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, [r4, #0x4]
- add r0, r1, r0
- str r0, [r4, #0x0]
- bpl _0205BADA
- mov r0, #0x0
- str r0, [r4, #0x0]
-_0205BADA:
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B94
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- ble _0205BAFA
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r5, pc}
-_0205BAFA:
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205BB08
-FUN_0205BB08: ; 0x0205BB08
- push {r4, lr}
- mov r1, #0x2
- add r4, r0, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058410
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BB20
-FUN_0205BB20: ; 0x0205BB20
- push {r4, lr}
- mov r1, #0x2
- add r4, r0, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BB38
-FUN_0205BB38: ; 0x0205BB38
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x80
- bl FUN_02058410
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205BB4C
-FUN_0205BB4C: ; 0x0205BB4C
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x80
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205BB60
-FUN_0205BB60: ; 0x0205BB60
- push {r4, lr}
- mov r1, #0x1
- add r4, r0, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058410
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BB78
-FUN_0205BB78: ; 0x0205BB78
- push {r4, lr}
- mov r1, #0x1
- add r4, r0, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BB90
-FUN_0205BB90: ; 0x0205BB90
- push {r4-r6, lr}
- add r6, r1, #0x0
- mov r1, #0x8
- add r5, r0, #0x0
- bl FUN_020585DC
- add r4, r0, #0x0
- str r6, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x1
- bl MOD05_021E7AC0
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02058700
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205BBB4
-FUN_0205BBB4: ; 0x0205BBB4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl MOD05_021E799C
- cmp r0, #0x1
- bne _0205BBD8
- ldr r0, [r4, #0x4]
- bl FUN_02064520
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205BBD8:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205BBDC
-FUN_0205BBDC: ; 0x0205BBDC
- push {r3, lr}
- mov r1, #0x0
- bl FUN_0205BB90
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205BBE8
-FUN_0205BBE8: ; 0x0205BBE8
- push {r3, lr}
- mov r1, #0x1
- bl FUN_0205BB90
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205BBF4
-FUN_0205BBF4: ; 0x0205BBF4
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x8
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020585DC
- strh r4, [r0, #0x0]
- strh r6, [r0, #0x2]
- strh r7, [r0, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02059C0C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020584D8
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_02058700
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205BC34
-FUN_0205BC34: ; 0x0205BC34
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- mov r2, #0x6
- ldrsh r2, [r4, r2]
- mov r1, #0x0
- ldrsh r1, [r4, r1]
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- add r0, r5, #0x0
- bl FUN_02059CC8
- add r0, r5, #0x0
- bl FUN_02059D1C
- mov r0, #0x6
- ldrsh r1, [r4, r0]
- add r1, r1, #0x1
- strh r1, [r4, #0x6]
- ldrsh r1, [r4, r0]
- mov r0, #0x4
- ldrsh r0, [r4, r0]
- cmp r1, r0
- bge _0205BC6E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205BC6E:
- add r0, r5, #0x0
- mov r1, #0x28
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_02059C60
- add r0, r5, #0x0
- bl FUN_020586A0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205BC94
-FUN_0205BC94: ; 0x0205BC94
- push {r3, lr}
- mov r2, #0x6
- mov r1, #0x0
- add r3, r2, #0x0
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BCA4
-FUN_0205BCA4: ; 0x0205BCA4
- push {r3, lr}
- mov r2, #0x6
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BCB4
-FUN_0205BCB4: ; 0x0205BCB4
- push {r3, lr}
- mov r2, #0x6
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BCC4
-FUN_0205BCC4: ; 0x0205BCC4
- push {r3, lr}
- mov r2, #0x6
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BCD4
-FUN_0205BCD4: ; 0x0205BCD4
- push {r3, lr}
- ldr r1, _0205BCE8 ; =0x020F6C6C
- bl FUN_0205BC34
- cmp r0, #0x1
- bne _0205BCE4
- mov r0, #0x1
- pop {r3, pc}
-_0205BCE4:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205BCE8: .word 0x020F6C6C
-
- thumb_func_start FUN_0205BCEC
-FUN_0205BCEC: ; 0x0205BCEC
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x3
- mov r3, #0x7
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BCFC
-FUN_0205BCFC: ; 0x0205BCFC
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x3
- mov r3, #0x7
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD0C
-FUN_0205BD0C: ; 0x0205BD0C
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x7
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD1C
-FUN_0205BD1C: ; 0x0205BD1C
- push {r3, lr}
- mov r1, #0x3
- add r2, r1, #0x0
- mov r3, #0x7
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD2C
-FUN_0205BD2C: ; 0x0205BD2C
- push {r3, lr}
- ldr r1, _0205BD40 ; =0x020F6C48
- bl FUN_0205BC34
- cmp r0, #0x1
- bne _0205BD3C
- mov r0, #0x1
- pop {r3, pc}
-_0205BD3C:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205BD40: .word 0x020F6C48
-
- thumb_func_start FUN_0205BD44
-FUN_0205BD44: ; 0x0205BD44
- push {r3, lr}
- mov r1, #0x0
- mov r2, #0x7
- mov r3, #0x8
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD54
-FUN_0205BD54: ; 0x0205BD54
- push {r3, lr}
- mov r1, #0x1
- mov r2, #0x7
- mov r3, #0x8
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD64
-FUN_0205BD64: ; 0x0205BD64
- push {r3, lr}
- mov r1, #0x2
- mov r2, #0x7
- mov r3, #0x8
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD74
-FUN_0205BD74: ; 0x0205BD74
- push {r3, lr}
- mov r1, #0x3
- mov r2, #0x7
- mov r3, #0x8
- bl FUN_0205BBF4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0205BD84
-FUN_0205BD84: ; 0x0205BD84
- push {r3, lr}
- ldr r1, _0205BD98 ; =0x020F6C84
- bl FUN_0205BC34
- cmp r0, #0x1
- bne _0205BD94
- mov r0, #0x1
- pop {r3, pc}
-_0205BD94:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205BD98: .word 0x020F6C84
-
- thumb_func_start FUN_0205BD9C
-FUN_0205BD9C: ; 0x0205BD9C
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_020585DC
- add r0, r4, #0x0
- mov r1, #0x9
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205BDB8
-FUN_0205BDB8: ; 0x0205BDB8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058600
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- cmp r1, #0x8
- blt _0205BDE0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020584AC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
-_0205BDE0:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205BDE4
-FUN_0205BDE4: ; 0x0205BDE4
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_020585DC
- add r0, r4, #0x0
- bl FUN_0205EB20
- cmp r0, #0x0
- beq _0205BDFE
- bl FUN_02064520
-_0205BDFE:
- add r1, sp, #0x0
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- add r0, r4, #0x0
- bl FUN_02058B94
- add r0, r4, #0x0
- bl MOD06_0224D2E0
- ldr r1, _0205BE34 ; =0x00010004
- add r0, r4, #0x0
- bl FUN_02058410
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058418
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0205BE34: .word 0x00010004
-
- thumb_func_start FUN_0205BE38
-FUN_0205BE38: ; 0x0205BE38
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_02058600
- add r4, r0, #0x0
- ldr r0, _0205BE98 ; =0x02105F9C
- add r1, sp, #0x0
- ldr r2, [r0, #0x0]
- mov r0, #0x0
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x2
- ldr r0, [r2, r0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02058B94
- ldr r0, [r4, #0x0]
- add r0, r0, #0x2
- str r0, [r4, #0x0]
- cmp r0, #0x10
- bhs _0205BE70
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r5, pc}
-_0205BE70:
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02058B94
- ldr r1, _0205BE9C ; =0x00020028
- add r0, r5, #0x0
- bl FUN_02058410
- add r0, r5, #0x0
- bl FUN_0205EB2C
- add r0, r5, #0x0
- bl FUN_02058700
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0205BE98: .word 0x02105F9C
-_0205BE9C: .word 0x00020028
-
- thumb_func_start FUN_0205BEA0
-FUN_0205BEA0: ; 0x0205BEA0
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_020585DC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205BEBC
-FUN_0205BEBC: ; 0x0205BEBC
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_020585DC
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205BED8
-FUN_0205BED8: ; 0x0205BED8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058600
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- cmp r1, #0x15
- bhs _0205BEEE
- mov r0, #0x0
- pop {r4, pc}
-_0205BEEE:
- add r0, r4, #0x0
- bl FUN_02058700
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205BEF8
-FUN_0205BEF8: ; 0x0205BEF8
- ldr r3, _0205BEFC ; =FUN_0205BF24
- bx r3
- .balign 4
-_0205BEFC: .word FUN_0205BF24
-
- thumb_func_start FUN_0205BF00
-FUN_0205BF00: ; 0x0205BF00
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0205BF40
- cmp r0, #0x0
- bne _0205BF10
- mov r0, #0x0
- pop {r4, pc}
-_0205BF10:
- add r0, r4, #0x0
- bl FUN_0205BF5C
- cmp r0, #0x0
- beq _0205BF1E
- mov r0, #0x1
- pop {r4, pc}
-_0205BF1E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205BF24
-FUN_0205BF24: ; 0x0205BF24
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058488
- add r1, r0, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0205BF3C ; =0x020F7118
- add r0, r4, #0x0
- ldr r1, [r1, r2]
- blx r1
- pop {r4, pc}
- nop
-_0205BF3C: .word 0x020F7118
-
- thumb_func_start FUN_0205BF40
-FUN_0205BF40: ; 0x0205BF40
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058488
- add r1, r0, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0205BF58 ; =0x020F7148
- add r0, r4, #0x0
- ldr r1, [r1, r2]
- blx r1
- pop {r4, pc}
- nop
-_0205BF58: .word 0x020F7148
-
- thumb_func_start FUN_0205BF5C
-FUN_0205BF5C: ; 0x0205BF5C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058488
- add r1, r0, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0205BF74 ; =0x020F7178
- add r0, r4, #0x0
- ldr r1, [r1, r2]
- blx r1
- pop {r4, pc}
- nop
-_0205BF74: .word 0x020F7178
-
- thumb_func_start FUN_0205BF78
-FUN_0205BF78: ; 0x0205BF78
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02058B2C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B14
- cmp r5, r0
- beq _0205BF90
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205BF90:
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B24
- cmp r5, r0
- beq _0205BFA6
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205BFA6:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205BFAC
-FUN_0205BFAC: ; 0x0205BFAC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02058B2C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B14
- cmp r5, r0
- beq _0205BFC4
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205BFC4:
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B24
- cmp r5, r0
- bne _0205BFDA
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205BFDA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205BFE0
-FUN_0205BFE0: ; 0x0205BFE0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205BFE4
-FUN_0205BFE4: ; 0x0205BFE4
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205BFE8
-FUN_0205BFE8: ; 0x0205BFE8
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205BFEC
-FUN_0205BFEC: ; 0x0205BFEC
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x9
- bl FUN_020585B4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058510
- strb r0, [r4, #0x3]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205C004
-FUN_0205C004: ; 0x0205C004
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020585D8
- add r4, r0, #0x0
- ldrb r0, [r4, #0x0]
- cmp r0, #0x3
- bhi _0205C07C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205C020: ; jump table (using 16-bit offset)
- .short _0205C028 - _0205C020 - 2; case 0
- .short _0205C03A - _0205C020 - 2; case 1
- .short _0205C062 - _0205C020 - 2; case 2
- .short _0205C078 - _0205C020 - 2; case 3
-_0205C028:
- add r0, r5, #0x0
- bl FUN_0205BF78
- cmp r0, #0x1
- bne _0205C07C
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- b _0205C07C
-_0205C03A:
- add r0, r5, #0x0
- bl FUN_0205BFAC
- cmp r0, #0x0
- beq _0205C07C
- mov r0, #0x2
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x2]
- ldrsb r1, [r4, r0]
- mov r0, #0x3
- ldrsb r0, [r4, r0]
- cmp r1, r0
- bge _0205C05C
- mov r0, #0x0
- strb r0, [r4, #0x0]
- b _0205C07C
-_0205C05C:
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
-_0205C062:
- add r0, r5, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- beq _0205C07C
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x2]
- strb r0, [r4, #0x1]
-_0205C078:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205C07C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205C080
-FUN_0205C080: ; 0x0205C080
- push {r4-r6, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- bl FUN_020585D8
- add r4, r0, #0x0
- ldrb r0, [r4, #0x1]
- cmp r0, #0x3
- bhi _0205C15E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205C09E: ; jump table (using 16-bit offset)
- .short _0205C0A6 - _0205C09E - 2; case 0
- .short _0205C0C8 - _0205C09E - 2; case 1
- .short _0205C0FA - _0205C09E - 2; case 2
- .short _0205C110 - _0205C09E - 2; case 3
-_0205C0A6:
- ldr r3, _0205C164 ; =0x020F70D8
- add r2, sp, #0x10
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- add r0, r5, #0x0
- bl FUN_020584C4
- strb r0, [r4, #0x4]
- lsl r1, r0, #0x2
- add r0, sp, #0x10
- ldr r0, [r0, r1]
- strb r0, [r4, #0x5]
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C0C8:
- ldr r6, _0205C168 ; =0x020F70E8
- add r3, sp, #0x0
- add r2, r3, #0x0
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- mov r0, #0x5
- ldrsb r0, [r4, r0]
- lsl r3, r0, #0x3
- mov r0, #0x6
- ldrsb r0, [r4, r0]
- lsl r1, r0, #0x2
- add r0, r2, r3
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C0FA:
- add r0, r5, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- bne _0205C10A
- add sp, #0x20
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205C10A:
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C110:
- mov r0, #0x8
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x8]
- ldrsb r0, [r4, r0]
- cmp r0, #0x8
- bge _0205C124
- add sp, #0x20
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205C124:
- mov r0, #0x0
- strb r0, [r4, #0x8]
- mov r0, #0x7
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x7]
- ldrsb r0, [r4, r0]
- cmp r0, #0x4
- bge _0205C148
- mov r0, #0x6
- ldrsb r0, [r4, r0]
- add sp, #0x20
- add r1, r0, #0x1
- mov r0, #0x1
- and r1, r0
- strb r1, [r4, #0x6]
- strb r0, [r4, #0x1]
- pop {r4-r6, pc}
-_0205C148:
- mov r1, #0x4
- ldrsb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_020584AC
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
- mov r0, #0x0
- strb r0, [r4, #0x7]
- strb r0, [r4, #0x0]
-_0205C15E:
- mov r0, #0x0
- add sp, #0x20
- pop {r4-r6, pc}
- .balign 4
-_0205C164: .word 0x020F70D8
-_0205C168: .word 0x020F70E8
-
- thumb_func_start FUN_0205C16C
-FUN_0205C16C: ; 0x0205C16C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x9
- bl FUN_020585B4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058510
- strb r0, [r4, #0x3]
- add r0, r5, #0x0
- bl FUN_02058488
- cmp r0, #0x5
- beq _0205C190
- mov r0, #0x1
- b _0205C192
-_0205C190:
- mov r0, #0x0
-_0205C192:
- strb r0, [r4, #0x5]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205C198
-FUN_0205C198: ; 0x0205C198
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020585D8
- add r4, r0, #0x0
- ldrb r0, [r4, #0x0]
- cmp r0, #0x3
- bhi _0205C210
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205C1B4: ; jump table (using 16-bit offset)
- .short _0205C1BC - _0205C1B4 - 2; case 0
- .short _0205C1CE - _0205C1B4 - 2; case 1
- .short _0205C1F6 - _0205C1B4 - 2; case 2
- .short _0205C20C - _0205C1B4 - 2; case 3
-_0205C1BC:
- add r0, r5, #0x0
- bl FUN_0205BF78
- cmp r0, #0x1
- bne _0205C210
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- b _0205C210
-_0205C1CE:
- add r0, r5, #0x0
- bl FUN_0205BFAC
- cmp r0, #0x0
- beq _0205C210
- mov r0, #0x2
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x2]
- ldrsb r1, [r4, r0]
- mov r0, #0x3
- ldrsb r0, [r4, r0]
- cmp r1, r0
- bge _0205C1F0
- mov r0, #0x0
- strb r0, [r4, #0x0]
- b _0205C210
-_0205C1F0:
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
-_0205C1F6:
- add r0, r5, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- beq _0205C210
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x2]
- strb r0, [r4, #0x1]
-_0205C20C:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205C210:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205C214
-FUN_0205C214: ; 0x0205C214
- push {r3-r7, lr}
- sub sp, #0x20
- ldr r3, _0205C330 ; =0x020F70F8
- add r2, sp, #0x0
- add r7, r0, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- add r0, r7, #0x0
- bl FUN_020585D8
- add r4, r0, #0x0
- ldrb r0, [r4, #0x1]
- cmp r0, #0x3
- bhi _0205C32A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205C248: ; jump table (using 16-bit offset)
- .short _0205C250 - _0205C248 - 2; case 0
- .short _0205C296 - _0205C248 - 2; case 1
- .short _0205C2BC - _0205C248 - 2; case 2
- .short _0205C2D2 - _0205C248 - 2; case 3
-_0205C250:
- add r0, r7, #0x0
- bl FUN_020584C4
- mov r5, #0x0
- add r6, r0, #0x0
- add r1, r5, #0x0
- add r0, sp, #0x0
- mov r2, #0x5
- b _0205C266
-_0205C262:
- add r1, r1, #0x4
- add r5, r5, #0x1
-_0205C266:
- cmp r5, #0x4
- bge _0205C276
- ldrsb r3, [r4, r2]
- lsl r3, r3, #0x4
- add r3, r0, r3
- ldr r3, [r1, r3]
- cmp r6, r3
- bne _0205C262
-_0205C276:
- cmp r5, #0x4
- blt _0205C27E
- bl ErrorHandling
-_0205C27E:
- add r0, r5, #0x1
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- strb r6, [r4, #0x4]
- add r0, r2, r1
- strb r0, [r4, #0x6]
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C296:
- mov r0, #0x5
- ldrsb r0, [r4, r0]
- add r2, sp, #0x0
- lsl r3, r0, #0x4
- mov r0, #0x6
- ldrsb r0, [r4, r0]
- lsl r1, r0, #0x2
- add r0, r2, r3
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0205AE0C
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C2BC:
- add r0, r7, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- bne _0205C2CC
- add sp, #0x20
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C2CC:
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
-_0205C2D2:
- mov r0, #0x8
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x8]
- ldrsb r0, [r4, r0]
- cmp r0, #0x8
- bge _0205C2E6
- add sp, #0x20
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C2E6:
- mov r0, #0x0
- strb r0, [r4, #0x8]
- mov r0, #0x7
- ldrsb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, #0x7]
- ldrsb r0, [r4, r0]
- cmp r0, #0x4
- bge _0205C314
- mov r0, #0x6
- ldrsb r0, [r4, r0]
- add sp, #0x20
- add r0, r0, #0x1
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- strb r0, [r4, #0x6]
- mov r0, #0x1
- strb r0, [r4, #0x1]
- pop {r3-r7, pc}
-_0205C314:
- mov r1, #0x4
- ldrsb r1, [r4, r1]
- add r0, r7, #0x0
- bl FUN_020584AC
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
- mov r0, #0x0
- strb r0, [r4, #0x7]
- strb r0, [r4, #0x0]
-_0205C32A:
- mov r0, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_0205C330: .word 0x020F70F8
-
- thumb_func_start FUN_0205C334
-FUN_0205C334: ; 0x0205C334
- cmp r0, #0x64
- bne _0205C33C
- mov r0, #0x1
- bx lr
-_0205C33C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205C340
-FUN_0205C340: ; 0x0205C340
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020585B0
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0205C352
- ldr r0, _0205C370 ; =0x0000FFFF
- pop {r4, pc}
-_0205C352:
- add r0, r4, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _0205C36C
- add r0, r4, #0x0
- bl FUN_02058628
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0205C36C
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-_0205C36C:
- ldr r0, _0205C370 ; =0x0000FFFF
- pop {r4, pc}
- .balign 4
-_0205C370: .word 0x0000FFFF
-
- thumb_func_start FUN_0205C374
-FUN_0205C374: ; 0x0205C374
- push {r3, lr}
- bl FUN_020585B0
- mov r1, #0x1
- strh r1, [r0, #0x2]
- pop {r3, pc}
-
- thumb_func_start FUN_0205C380
-FUN_0205C380: ; 0x0205C380
- push {r3, lr}
- mov r1, #0x4
- bl FUN_0205858C
- mov r1, #0x0
- strh r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205C390
-FUN_0205C390: ; 0x0205C390
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058738
- add r1, r5, #0x0
- bl FUN_0204B5FC
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205C3AC
-FUN_0205C3AC: ; 0x0205C3AC
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205C3B0
-FUN_0205C3B0: ; 0x0205C3B0
- push {r4, lr}
- mov r1, #0x18
- add r4, r0, #0x0
- bl FUN_02058604
- ldr r1, _0205C3CC ; =0x0000FFFF
- str r1, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- add r0, r4, #0x0
- bl MOD06_0224A310
- pop {r4, pc}
- nop
-_0205C3CC: .word 0x0000FFFF
-
- thumb_func_start FUN_0205C3D0
-FUN_0205C3D0: ; 0x0205C3D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058628
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058738
- add r1, r5, #0x0
- bl FUN_0204B5FC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl MOD05_021F2E28
- cmp r0, #0x1
- beq _0205C488
- ldr r0, [r4, #0x4]
- cmp r6, r0
- beq _0205C454
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, #0x8
- bl MOD05_021F2094
- add r0, r5, #0x0
- bl FUN_02058738
- add r1, r5, #0x0
- bl FUN_0204B61C
- add r1, r6, #0x0
- bl FUN_0205C53C
- ldr r1, _0205C48C ; =0x0000FFFF
- str r0, [r4, #0x0]
- cmp r0, r1
- ldr r0, [r4, #0x4]
- beq _0205C440
- cmp r0, #0x0
- beq _0205C432
- add r0, r5, #0x0
- bl MOD06_0224A528
-_0205C432:
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, #0x8
- bl MOD05_021F1F78
- b _0205C450
-_0205C440:
- cmp r0, #0x0
- beq _0205C450
- ldrh r0, [r7, #0x2]
- cmp r0, #0x0
- bne _0205C450
- add r0, r5, #0x0
- bl MOD06_0224A528
-_0205C450:
- mov r0, #0x0
- strh r0, [r7, #0x2]
-_0205C454:
- add r0, r5, #0x0
- str r6, [r4, #0x4]
- bl MOD05_021F2E28
- cmp r0, #0x1
- beq _0205C488
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _0205C488
- add r0, r5, #0x0
- bl MOD05_021F2F48
- add r0, r5, #0x0
- bl MOD05_021F1DFC
- cmp r0, #0x0
- bne _0205C480
- mov r1, #0x1
- ldr r0, [r4, #0x8]
- lsl r1, r1, #0xc
- bl FUN_0201F854
-_0205C480:
- ldr r1, [r4, #0x8]
- add r0, r5, #0x0
- bl MOD05_021F2F6C
-_0205C488:
- pop {r3-r7, pc}
- nop
-_0205C48C: .word 0x0000FFFF
-
- thumb_func_start FUN_0205C490
-FUN_0205C490: ; 0x0205C490
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02058628
- add r2, r0, #0x0
- add r1, r2, #0x0
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- add r1, #0x8
- bl MOD05_021F2094
- pop {r4, pc}
-
- thumb_func_start FUN_0205C4A8
-FUN_0205C4A8: ; 0x0205C4A8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058628
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0205C4C0
- add r1, r4, #0x0
- add r1, #0xc
- bl MOD05_021F20D8
-_0205C4C0:
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, #0x8
- bl MOD05_021F2094
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058410
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205C4D8
-FUN_0205C4D8: ; 0x0205C4D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02058628
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl MOD05_021F2E28
- cmp r0, #0x1
- beq _0205C536
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0205C516
- ldr r2, [r4, #0x0]
- ldr r0, _0205C538 ; =0x0000FFFF
- cmp r2, r0
- beq _0205C506
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x8
- bl MOD05_021F1F78
- b _0205C510
-_0205C506:
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058418
-_0205C510:
- add r0, r5, #0x0
- bl MOD06_0224A310
-_0205C516:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0205C536
- add r1, r4, #0x0
- add r1, #0xc
- bl MOD05_021F20F8
- ldr r1, [r4, #0x8]
- add r0, r5, #0x0
- bl MOD05_021F2F48
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058418
-_0205C536:
- pop {r3-r5, pc}
- .balign 4
-_0205C538: .word 0x0000FFFF
-
- thumb_func_start FUN_0205C53C
-FUN_0205C53C: ; 0x0205C53C
- push {r3, lr}
- cmp r1, #0x0
- beq _0205C548
- cmp r1, #0x1
- beq _0205C54C
- b _0205C550
-_0205C548:
- ldr r0, _0205C590 ; =0x0000FFFF
- pop {r3, pc}
-_0205C54C:
- ldr r0, _0205C590 ; =0x0000FFFF
- pop {r3, pc}
-_0205C550:
- sub r2, r0, #0x1
- mov r0, #0xc
- ldr r3, _0205C594 ; =0x021F9194
- mul r0, r2
- add r2, r3, r0
- cmp r1, #0x5
- bhi _0205C588
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205C56A: ; jump table (using 16-bit offset)
- .short _0205C588 - _0205C56A - 2; case 0
- .short _0205C588 - _0205C56A - 2; case 1
- .short _0205C576 - _0205C56A - 2; case 2
- .short _0205C57C - _0205C56A - 2; case 3
- .short _0205C580 - _0205C56A - 2; case 4
- .short _0205C584 - _0205C56A - 2; case 5
-_0205C576:
- mov r0, #0x1
- lsl r0, r0, #0xc
- pop {r3, pc}
-_0205C57C:
- ldr r0, [r2, #0x0]
- pop {r3, pc}
-_0205C580:
- ldr r0, [r2, #0x4]
- pop {r3, pc}
-_0205C584:
- ldr r0, [r2, #0x8]
- pop {r3, pc}
-_0205C588:
- bl ErrorHandling
- ldr r0, _0205C590 ; =0x0000FFFF
- pop {r3, pc}
- .balign 4
-_0205C590: .word 0x0000FFFF
-_0205C594: .word 0x021F9194
-
- thumb_func_start FUN_0205C598
-FUN_0205C598: ; 0x0205C598
- push {r3-r7, lr}
- sub sp, #0x58
- add r5, r0, #0x0
- ldr r7, [r5, #0x38]
- add r4, r1, #0x0
- ldr r6, [r5, #0x34]
- add r1, sp, #0x40
- str r1, [sp, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x0
- bl FUN_0205C6BC
- cmp r0, #0x0
- bne _0205C5BC
- add sp, #0x58
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205C5BC:
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- bne _0205C642
- ldr r1, _0205C6B8 ; =0x00000F0A
- ldr r2, [sp, #0x54]
- add r0, r5, #0x0
- bl FUN_02038C78
- cmp r4, #0x0
- beq _0205C5E4
- add r0, sp, #0x28
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x54]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0205C6BC
- cmp r0, #0x0
- bne _0205C604
-_0205C5E4:
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- bl FUN_02038CA8
- add sp, #0x58
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C604:
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- bl FUN_02038CA8
- ldr r0, [sp, #0x30]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x34]
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x3c]
- ldr r2, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- add r0, r5, #0x0
- bl FUN_02038CA8
- add sp, #0x58
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C642:
- cmp r0, #0x1
- bne _0205C6AE
- cmp r4, #0x0
- bne _0205C650
- add sp, #0x58
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205C650:
- ldr r2, [sp, #0x54]
- ldr r3, [sp, #0x4c]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0205C9F0
- add r1, r0, #0x0
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- add r0, sp, #0x10
- bl FUN_0205C73C
- ldr r1, _0205C6B8 ; =0x00000F0A
- ldr r2, [sp, #0x54]
- add r0, r5, #0x0
- bl FUN_02038C78
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- bl FUN_02038CA8
- ldr r0, [sp, #0x18]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_02038CA8
- add sp, #0x58
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C6AE:
- bl ErrorHandling
- mov r0, #0x0
- add sp, #0x58
- pop {r3-r7, pc}
- .balign 4
-_0205C6B8: .word 0x00000F0A
-
- thumb_func_start FUN_0205C6BC
-FUN_0205C6BC: ; 0x0205C6BC
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, r0, #0x0
- mov r0, #0x0
- add r5, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, sp, #0x4
- add r2, sp, #0xc
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- beq _0205C734
-_0205C6DE:
- cmp r4, #0x0
- beq _0205C6E8
- ldr r0, [sp, #0x4]
- cmp r4, r0
- beq _0205C724
-_0205C6E8:
- ldr r0, [sp, #0x4]
- add r1, r7, #0x0
- add r2, sp, #0x8
- bl FUN_0205C794
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x0]
- cmp r0, r1
- beq _0205C724
- ldr r0, [sp, #0x4]
- bl FUN_0205C9D8
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_02039640
- cmp r0, #0x0
- bne _0205C724
- ldr r0, [sp, #0x28]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- ldr r3, [sp, #0x8]
- bl FUN_0205C73C
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C724:
- add r0, r5, #0x0
- add r1, sp, #0x4
- add r2, sp, #0xc
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- bne _0205C6DE
-_0205C734:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205C73C
-FUN_0205C73C: ; 0x0205C73C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [r5, #0x0]
- str r3, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_02058498
- str r0, [r5, #0x8]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_020395F4
- str r0, [r5, #0xc]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0203962C
- str r0, [r5, #0x10]
- str r4, [r5, #0x14]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205C768
-FUN_0205C768: ; 0x0205C768
- push {r3, lr}
- bl FUN_02058488
- cmp r0, #0x8
- bhi _0205C792
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205C77E: ; jump table (using 16-bit offset)
- .short _0205C792 - _0205C77E - 2; case 0
- .short _0205C792 - _0205C77E - 2; case 1
- .short _0205C792 - _0205C77E - 2; case 2
- .short _0205C792 - _0205C77E - 2; case 3
- .short _0205C790 - _0205C77E - 2; case 4
- .short _0205C790 - _0205C77E - 2; case 5
- .short _0205C790 - _0205C77E - 2; case 6
- .short _0205C790 - _0205C77E - 2; case 7
- .short _0205C790 - _0205C77E - 2; case 8
-_0205C790:
- mov r0, #0x1
-_0205C792:
- pop {r3, pc}
-
- thumb_func_start FUN_0205C794
-FUN_0205C794: ; 0x0205C794
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x8]
- bl FUN_0205C768
- cmp r0, #0x1
- bne _0205C802
- add r0, r4, #0x0
- bl FUN_02055320
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205532C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020584C4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r2, r0, #0x0
- str r6, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0205C86C
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _0205C7FA
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0205C938
- cmp r0, #0x0
- bne _0205C7FA
- ldr r0, [sp, #0x8]
- add sp, #0x14
- str r4, [r0, #0x0]
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0205C7FA:
- mov r0, #0x0
- add sp, #0x14
- mvn r0, r0
- pop {r4-r7, pc}
-_0205C802:
- cmp r0, #0x2
- bne _0205C864
- add r0, r4, #0x0
- bl FUN_02055320
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_0205532C
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- str r0, [sp, #0xc]
- mov r4, #0x0
-_0205C822:
- str r7, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x10]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205C86C
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _0205C856
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0205C938
- cmp r0, #0x0
- bne _0205C856
- ldr r0, [sp, #0x8]
- add sp, #0x14
- str r4, [r0, #0x0]
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0205C856:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _0205C822
- mov r0, #0x0
- add sp, #0x14
- mvn r0, r0
- pop {r4-r7, pc}
-_0205C864:
- mov r0, #0x0
- mvn r0, r0
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0205C86C
-FUN_0205C86C: ; 0x0205C86C
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [sp, #0x14]
- lsl r5, r4, #0x2
- ldr r4, _0205C884 ; =0x020F71A8
- str r1, [sp, #0x0]
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x10]
- ldr r4, [r4, r5]
- blx r4
- pop {r3-r5, pc}
- .balign 4
-_0205C884: .word 0x020F71A8
-
- thumb_func_start FUN_0205C888
-FUN_0205C888: ; 0x0205C888
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02058B2C
- cmp r0, r6
- bne _0205C8AE
- add r0, r7, #0x0
- bl FUN_02058B4C
- cmp r4, r0
- bge _0205C8AE
- sub r1, r0, r5
- cmp r4, r1
- blt _0205C8AE
- sub r0, r0, r4
- pop {r3-r7, pc}
-_0205C8AE:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205C8B4
-FUN_0205C8B4: ; 0x0205C8B4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02058B2C
- cmp r0, r6
- bne _0205C8DA
- add r0, r7, #0x0
- bl FUN_02058B4C
- cmp r4, r0
- ble _0205C8DA
- add r1, r0, r5
- cmp r4, r1
- bgt _0205C8DA
- sub r0, r4, r0
- pop {r3-r7, pc}
-_0205C8DA:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205C8E0
-FUN_0205C8E0: ; 0x0205C8E0
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02058B4C
- cmp r0, r6
- bne _0205C906
- add r0, r7, #0x0
- bl FUN_02058B2C
- cmp r4, r0
- bge _0205C906
- sub r1, r0, r5
- cmp r4, r1
- blt _0205C906
- sub r0, r0, r4
- pop {r3-r7, pc}
-_0205C906:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205C90C
-FUN_0205C90C: ; 0x0205C90C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02058B4C
- cmp r0, r6
- bne _0205C932
- add r0, r7, #0x0
- bl FUN_02058B2C
- cmp r4, r0
- ble _0205C932
- add r1, r0, r5
- cmp r4, r1
- bgt _0205C932
- sub r0, r4, r0
- pop {r3-r7, pc}
-_0205C932:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205C938
-FUN_0205C938: ; 0x0205C938
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r1, #0x0
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- cmp r2, #0x0
- bne _0205C94C
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C94C:
- bl FUN_02058B2C
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02058B4C
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02058B3C
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_02059BF4
- add r6, r4, r0
- add r0, r5, #0x0
- bl FUN_02059C00
- add r4, r7, r0
- ldr r0, [sp, #0x8]
- mov r7, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0x10]
- cmp r0, #0x0
- ble _0205C9B4
- mov r0, #0x1
- str r0, [sp, #0x14]
-_0205C982:
- ldr r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- add r1, r6, #0x0
- add r3, r4, #0x0
- str r5, [sp, #0x0]
- bl FUN_020598F0
- ldr r1, [sp, #0x14]
- bic r0, r1
- beq _0205C99C
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205C99C:
- add r0, r5, #0x0
- bl FUN_02059BF4
- add r6, r6, r0
- add r0, r5, #0x0
- bl FUN_02059C00
- add r4, r4, r0
- ldr r0, [sp, #0x10]
- add r7, r7, #0x1
- cmp r7, r0
- blt _0205C982
-_0205C9B4:
- ldr r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- add r1, r6, #0x0
- add r3, r4, #0x0
- str r5, [sp, #0x0]
- bl FUN_020598F0
- mov r1, #0x1
- bic r0, r1
- cmp r0, #0x4
- bne _0205C9D0
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205C9D0:
- mov r0, #0x1
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205C9D8
-FUN_0205C9D8: ; 0x0205C9D8
- push {r3, lr}
- bl FUN_02058498
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_020395F4
- pop {r3, pc}
-
- thumb_func_start FUN_0205C9E8
-FUN_0205C9E8: ; 0x0205C9E8
- ldr r3, _0205C9EC ; =FUN_0205C9D8
- bx r3
- .balign 4
-_0205C9EC: .word FUN_0205C9D8
-
- thumb_func_start FUN_0205C9F0
-FUN_0205C9F0: ; 0x0205C9F0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- mov r0, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- beq _0205CA40
- add r7, sp, #0x0
-_0205CA10:
- ldr r0, [sp, #0x0]
- cmp r0, r4
- beq _0205CA30
- bl FUN_0205C768
- sub r0, r0, #0x1
- cmp r0, #0x1
- bhi _0205CA30
- ldr r0, [sp, #0x0]
- bl FUN_0205C9D8
- cmp r6, r0
- bne _0205CA30
- ldr r0, [sp, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-_0205CA30:
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x0
- bne _0205CA10
-_0205CA40:
- bl ErrorHandling
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205CA4C
-FUN_0205CA4C: ; 0x0205CA4C
- push {r3-r4, lr}
- sub sp, #0xc
- ldr r4, [sp, #0x18]
- str r4, [sp, #0x0]
- ldr r4, [sp, #0x1c]
- str r4, [sp, #0x4]
- ldr r4, [sp, #0x20]
- str r4, [sp, #0x8]
- bl FUN_0205CA80
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0205CA64
-FUN_0205CA64: ; 0x0205CA64
- push {r4, lr}
- add r4, r0, #0x0
- bne _0205CA6E
- bl ErrorHandling
-_0205CA6E:
- add r0, r4, #0x0
- bl FUN_0205CAD4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CA78
-FUN_0205CA78: ; 0x0205CA78
- ldr r3, _0205CA7C ; =FUN_0205CAE0
- bx r3
- .balign 4
-_0205CA7C: .word FUN_0205CAE0
-
- thumb_func_start FUN_0205CA80
-FUN_0205CA80: ; 0x0205CA80
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x4
- mov r1, #0x2c
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_020169D8
- add r4, r0, #0x0
- bne _0205CA9A
- bl ErrorHandling
-_0205CA9A:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x2c
- bl memset
- ldr r0, [sp, #0x0]
- str r7, [r4, #0x8]
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x18]
- add r1, r4, #0x0
- str r0, [r4, #0x10]
- ldr r0, [sp, #0x1c]
- mov r2, #0xff
- str r0, [r4, #0x14]
- ldr r0, [sp, #0x20]
- str r0, [r4, #0x18]
- str r5, [r4, #0x24]
- ldr r0, _0205CAD0 ; =FUN_0205CAF8
- str r6, [r4, #0x28]
- bl FUN_0200CA44
- add r4, r0, #0x0
- bne _0205CACC
- bl ErrorHandling
-_0205CACC:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0205CAD0: .word FUN_0205CAF8
-
- thumb_func_start FUN_0205CAD4
-FUN_0205CAD4: ; 0x0205CAD4
- push {r3, lr}
- bl FUN_0201B6C8
- ldr r0, [r0, #0x4]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205CAE0
-FUN_0205CAE0: ; 0x0205CAE0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201B6C8
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_02016A8C
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
-
- thumb_func_start FUN_0205CAF8
-FUN_0205CAF8: ; 0x0205CAF8
- push {r3-r5, lr}
- ldr r4, _0205CB10 ; =0x020F71B8
- add r5, r1, #0x0
-_0205CAFE:
- ldr r1, [r5, #0x0]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- blx r1
- cmp r0, #0x1
- beq _0205CAFE
- pop {r3-r5, pc}
- nop
-_0205CB10: .word 0x020F71B8
-
- thumb_func_start FUN_0205CB14
-FUN_0205CB14: ; 0x0205CB14
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r4, [r5, #0x24]
- add r0, r4, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- bne _0205CB2A
- add r0, r4, #0x0
- bl FUN_02058914
-_0205CB2A:
- mov r0, #0x1
- str r0, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205CB30
-FUN_0205CB30: ; 0x0205CB30
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r5, [r4, #0x24]
- add r0, r5, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- bne _0205CB44
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205CB44:
- ldr r0, [r4, #0x24]
- ldr r1, [r4, #0x8]
- bl MOD05_021F1EC0
- add r0, r5, #0x0
- mov r1, #0x40
- bl FUN_02058410
- mov r0, #0x2
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205CB5C
-FUN_0205CB5C: ; 0x0205CB5C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x28]
- bl FUN_020553A0
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0205CB72
- mov r0, #0x0
- pop {r4, pc}
-_0205CB72:
- ldr r0, [r4, #0x24]
- bl FUN_02058480
- sub r0, #0x33
- cmp r0, #0x3
- bhi _0205CB9A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205CB8A: ; jump table (using 16-bit offset)
- .short _0205CB92 - _0205CB8A - 2; case 0
- .short _0205CB92 - _0205CB8A - 2; case 1
- .short _0205CB92 - _0205CB8A - 2; case 2
- .short _0205CB92 - _0205CB8A - 2; case 3
-_0205CB92:
- mov r0, #0x7
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_0205CB9A:
- mov r0, #0x3
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CBA4
-FUN_0205CBA4: ; 0x0205CBA4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AD98
- cmp r0, #0x0
- bne _0205CBB6
- mov r0, #0x0
- pop {r4, pc}
-_0205CBB6:
- mov r0, #0x0
- ldr r1, [r4, #0x8]
- mvn r0, r0
- cmp r1, r0
- bne _0205CBC4
- bl ErrorHandling
-_0205CBC4:
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205ADDC
- mov r0, #0x4
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205CBDC
-FUN_0205CBDC: ; 0x0205CBDC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0205CBEE
- mov r0, #0x0
- pop {r4, pc}
-_0205CBEE:
- mov r0, #0x5
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CBF8
-FUN_0205CBF8: ; 0x0205CBF8
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r0, [r4, #0x24]
- add r2, r1, #0x0
- bl MOD05_021E7AC0
- str r0, [r4, #0x20]
- mov r0, #0x6
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205CC10
-FUN_0205CC10: ; 0x0205CC10
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x20]
- bl MOD05_021E799C
- cmp r0, #0x1
- bne _0205CC28
- ldr r0, [r4, #0x20]
- bl FUN_02064520
- mov r0, #0x9
- str r0, [r4, #0x0]
-_0205CC28:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205CC2C
-FUN_0205CC2C: ; 0x0205CC2C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- mov r1, #0x65
- bl FUN_0205ADDC
- mov r0, #0x8
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205CC40
-FUN_0205CC40: ; 0x0205CC40
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0205CC52
- mov r0, #0x9
- str r0, [r4, #0x0]
-_0205CC52:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CC58
-FUN_0205CC58: ; 0x0205CC58
- ldr r1, [r0, #0x1c]
- add r1, r1, #0x1
- str r1, [r0, #0x1c]
- cmp r1, #0x1e
- blt _0205CC6A
- mov r1, #0x0
- str r1, [r0, #0x1c]
- mov r1, #0xa
- str r1, [r0, #0x0]
-_0205CC6A:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205CC70
-FUN_0205CC70: ; 0x0205CC70
- ldr r1, [r0, #0xc]
- cmp r1, #0x1
- bgt _0205CC7E
- mov r1, #0xd
- str r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
-_0205CC7E:
- mov r1, #0xb
- str r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205CC88
-FUN_0205CC88: ; 0x0205CC88
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205CCAA
- ldr r0, [r4, #0x8]
- mov r1, #0xc
- bl FUN_0205AFDC
- add r1, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205ADDC
- mov r0, #0xc
- str r0, [r4, #0x0]
-_0205CCAA:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CCB0
-FUN_0205CCB0: ; 0x0205CCB0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0205CCC2
- mov r0, #0x0
- pop {r4, pc}
-_0205CCC2:
- ldr r0, [r4, #0xc]
- sub r0, r0, #0x1
- str r0, [r4, #0xc]
- mov r0, #0xa
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0205CCD0
-FUN_0205CCD0: ; 0x0205CCD0
- ldr r1, [r0, #0x1c]
- add r1, r1, #0x1
- str r1, [r0, #0x1c]
- cmp r1, #0x8
- bge _0205CCDE
- mov r0, #0x0
- bx lr
-_0205CCDE:
- mov r1, #0x0
- str r1, [r0, #0x1c]
- mov r1, #0xe
- str r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205CCEC
-FUN_0205CCEC: ; 0x0205CCEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x28]
- bl FUN_020553A0
- add r4, r0, #0x0
- bl FUN_02058B2C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B4C
- add r7, r0, #0x0
- ldr r0, [r5, #0x24]
- bl FUN_02058B2C
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x24]
- bl FUN_02058B4C
- add r3, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02059E80
- add r6, r0, #0x0
- ldr r0, [r5, #0x28]
- bl FUN_020552F8
- cmp r6, r0
- beq _0205CD60
- ldr r0, [r5, #0x18]
- cmp r0, #0x0
- beq _0205CD38
- ldr r0, [r5, #0x14]
- cmp r0, #0x2
- bne _0205CD60
-_0205CD38:
- add r0, r4, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205CD64
- add r0, r4, #0x0
- mov r1, #0x80
- bl FUN_02058418
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205ADDC
- mov r0, #0xf
- str r0, [r5, #0x0]
- b _0205CD64
-_0205CD60:
- mov r0, #0x10
- str r0, [r5, #0x0]
-_0205CD64:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205CD68
-FUN_0205CD68: ; 0x0205CD68
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x28]
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0205CD80
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205CD80:
- add r0, r5, #0x0
- bl FUN_0205AE50
- mov r0, #0x10
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205CD90
-FUN_0205CD90: ; 0x0205CD90
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- bl FUN_0205AE50
- ldr r0, [r4, #0x24]
- mov r1, #0x0
- bl FUN_02058E90
- mov r0, #0x11
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205CDAC
-FUN_0205CDAC: ; 0x0205CDAC
- mov r1, #0x1
- str r1, [r0, #0x4]
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205CDB4
-FUN_0205CDB4: ; 0x0205CDB4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- bl FUN_020254B4
- add r1, r0, #0x0
- beq _0205CDD2
- lsl r2, r1, #0x2
- ldr r1, _0205CDD4 ; =0x020F7220
- add r0, r4, #0x0
- ldr r1, [r1, r2]
- blx r1
-_0205CDD2:
- pop {r4, pc}
- .balign 4
-_0205CDD4: .word 0x020F7220
-
- thumb_func_start FUN_0205CDD8
-FUN_0205CDD8: ; 0x0205CDD8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- bl FUN_020254B4
- cmp r0, #0x0
- beq _0205CDFA
- lsl r1, r0, #0x2
- ldr r0, _0205CDFC ; =0x020F7200
- ldr r1, [r0, r1]
- cmp r1, #0x0
- beq _0205CDFA
- add r0, r4, #0x0
- blx r1
-_0205CDFA:
- pop {r4, pc}
- .balign 4
-_0205CDFC: .word 0x020F7200
-
- thumb_func_start FUN_0205CE00
-FUN_0205CE00: ; 0x0205CE00
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x4]
- bl FUN_020377AC
- bl FUN_02024ED8
- bl FUN_020254B4
- cmp r0, #0x0
- bne _0205CE22
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205CE22:
- lsl r1, r0, #0x2
- ldr r0, _0205CE44 ; =0x020F7240
- ldr r6, [r0, r1]
- cmp r6, #0x0
- beq _0205CE3E
- ldr r0, [sp, #0x20]
- ldr r3, [sp, #0x4]
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- blx r6
- add sp, #0x8
- pop {r3-r7, pc}
-_0205CE3E:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0205CE44: .word 0x020F7240
-
- thumb_func_start FUN_0205CE48
-FUN_0205CE48: ; 0x0205CE48
- cmp r0, #0x0
- bne _0205CE58
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _0205CE74 ; =0x020F7260
- ldr r0, [r0, r2]
- bx lr
-_0205CE58:
- cmp r0, #0x1
- bne _0205CE68
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _0205CE78 ; =0x020F7264
- ldr r0, [r0, r2]
- bx lr
-_0205CE68:
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _0205CE7C ; =0x020F7268
- ldr r0, [r0, r2]
- bx lr
- .balign 4
-_0205CE74: .word 0x020F7260
-_0205CE78: .word 0x020F7264
-_0205CE7C: .word 0x020F7268
-
- thumb_func_start FUN_0205CE80
-FUN_0205CE80: ; 0x0205CE80
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- str r4, [r5, #0x18]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r5, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- str r0, [r5, #0x4]
- ldr r0, [r4, #0x38]
- bl FUN_020553C4
- str r0, [r5, #0x8]
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- strh r0, [r5, #0xe]
- ldr r0, [r4, #0x38]
- bl FUN_020552F8
- cmp r0, #0x3
- bhi _0205CEEA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205CED4: ; jump table (using 16-bit offset)
- .short _0205CEDC - _0205CED4 - 2; case 0
- .short _0205CEE0 - _0205CED4 - 2; case 1
- .short _0205CEE8 - _0205CED4 - 2; case 2
- .short _0205CEE4 - _0205CED4 - 2; case 3
-_0205CEDC:
- sub r7, r7, #0x1
- b _0205CEEA
-_0205CEE0:
- add r7, r7, #0x1
- b _0205CEEA
-_0205CEE4:
- add r6, r6, #0x1
- b _0205CEEA
-_0205CEE8:
- sub r6, r6, #0x1
-_0205CEEA:
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- strh r0, [r5, #0xc]
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02037024
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_0204B6C4
- strh r0, [r5, #0x10]
- ldr r0, [r4, #0x38]
- str r0, [r5, #0x14]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205CF10
-FUN_0205CF10: ; 0x0205CF10
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x20
- mov r1, #0xc
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02016998
- str r5, [r0, #0x0]
- strh r4, [r0, #0x4]
- strh r6, [r0, #0x6]
- strh r7, [r0, #0x8]
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- strh r1, [r0, #0xa]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205CF34
-FUN_0205CF34: ; 0x0205CF34
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r2, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- mov r2, #0x0
- ldr r1, _0205CF74 ; =FUN_0205CFA0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- str r2, [sp, #0x0]
- ldrh r1, [r5, #0x4]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_0205CF10
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r7, pc}
- nop
-_0205CF74: .word FUN_0205CFA0
-
- thumb_func_start FUN_0205CF78
-FUN_0205CF78: ; 0x0205CF78
- push {r3-r4, lr}
- sub sp, #0x4
- mov r2, #0x0
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- add r0, r1, #0x0
- ldrh r1, [r4, #0x28]
- add r3, r2, #0x0
- bl FUN_0205CF10
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _0205CF9C ; =FUN_0205CFA0
- bl FUN_020463CC
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_0205CF9C: .word FUN_0205CFA0
-
- thumb_func_start FUN_0205CFA0
-FUN_0205CFA0: ; 0x0205CFA0
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _0205CFC6
- cmp r0, #0x1
- beq _0205D016
- b _0205D020
-_0205CFC6:
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02037024
- ldr r1, [r4, #0x0]
- ldr r2, [sp, #0x0]
- lsl r1, r1, #0x10
- add r0, r7, #0x0
- lsr r1, r1, #0x10
- mov r3, #0x0
- bl FUN_02038CD8
- add r0, r5, #0x0
- mov r1, #0x29
- bl FUN_02039438
- ldrh r1, [r4, #0x4]
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2a
- bl FUN_02039438
- ldrh r1, [r4, #0x6]
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2b
- bl FUN_02039438
- ldrh r1, [r4, #0x8]
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2c
- bl FUN_02039438
- ldrh r1, [r4, #0xa]
- strh r1, [r0, #0x0]
- ldr r0, [r6, #0x0]
- add r0, r0, #0x1
- str r0, [r6, #0x0]
- b _0205D020
-_0205D016:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205D020:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205D024
-FUN_0205D024: ; 0x0205D024
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_0204652C
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl memset
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02025838
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- ldr r0, [r5, #0xc]
- bl FUN_02022504
- str r0, [r4, #0x10]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r7, r0
- str r0, [r4, #0x18]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x20
- strb r1, [r0, #0x0]
- str r5, [r4, #0x1c]
- ldrh r0, [r6, #0x4]
- add r2, r4, #0x0
- strh r0, [r4, #0x24]
- add r0, r4, #0x0
- ldrb r1, [r6, #0x6]
- add r0, #0x22
- strb r1, [r0, #0x0]
- ldr r1, _0205D0B4 ; =0x020F96DC
- add r0, r5, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r7, r0]
- ldr r1, _0205D0B8 ; =FUN_02035E50
- add r0, r7, #0x0
- bl FUN_02035D04
- pop {r3-r7, pc}
- nop
-_0205D0B4: .word 0x020F96DC
-_0205D0B8: .word FUN_02035E50
-
- thumb_func_start FUN_0205D0BC
-FUN_0205D0BC: ; 0x0205D0BC
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02037EB8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _0205D0E8 ; =FUN_02036A78
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r3-r5, pc}
- nop
-_0205D0E8: .word FUN_02036A78
-
- thumb_func_start FUN_0205D0EC
-FUN_0205D0EC: ; 0x0205D0EC
- push {r3, lr}
- ldr r1, _0205D0F8 ; =FUN_0205D0FC
- bl FUN_0205DD04
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0205D0F8: .word FUN_0205D0FC
-
- thumb_func_start FUN_0205D0FC
-FUN_0205D0FC: ; 0x0205D0FC
- ldr r3, _0205D100 ; =FUN_02037EB8
- bx r3
- .balign 4
-_0205D100: .word FUN_02037EB8
-
- thumb_func_start FUN_0205D104
-FUN_0205D104: ; 0x0205D104
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D140 ; =FUN_02049844
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r5, #0x0
- bl FUN_0204976C
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- mov r0, #0x0
- add r5, #0x8c
- str r0, [r5, #0x0]
- pop {r3-r5, pc}
- nop
-_0205D140: .word FUN_02049844
-
- thumb_func_start FUN_0205D144
-FUN_0205D144: ; 0x0205D144
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204976C
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_02058780
- ldr r0, [r5, #0x0]
- ldr r1, _0205D16C ; =FUN_02049844
- add r2, r4, #0x0
- bl FUN_020463CC
- ldr r1, [r5, #0x0]
- mov r0, #0x0
- add r1, #0x8c
- str r0, [r1, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_0205D16C: .word FUN_02049844
-
- thumb_func_start FUN_0205D170
-FUN_0205D170: ; 0x0205D170
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02034824
- cmp r0, #0x0
- bne _0205D184
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D184:
- ldr r0, [r5, #0x0]
- bl FUN_02034908
- cmp r0, #0x0
- bne _0205D194
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D194:
- ldr r0, [r5, #0x14]
- bl FUN_02055738
- cmp r0, #0x1
- bne _0205D1A4
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D1A4:
- ldr r0, [r5, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- beq _0205D1C4
- ldr r0, [r5, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _0205D1CA
-_0205D1C4:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D1CA:
- ldr r0, [r5, #0x14]
- bl FUN_020553C4
- cmp r0, #0x2
- bne _0205D1DA
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D1DA:
- ldrh r0, [r5, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B78
- cmp r0, #0x1
- bne _0205D1EE
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D1EE:
- ldr r0, [r5, #0x18]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [r5, #0x18]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r5, #0x18]
- add r1, r4, #0x0
- bl FUN_02034D44
- cmp r0, #0x0
- bne _0205D218
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D218:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205D21C
-FUN_0205D21C: ; 0x0205D21C
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D24C ; =FUN_0205D264
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- str r1, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r5, pc}
- nop
-_0205D24C: .word FUN_0205D264
-
- thumb_func_start FUN_0205D250
-FUN_0205D250: ; 0x0205D250
- push {r3, lr}
- ldr r0, [r0, #0x0]
- ldr r1, _0205D260 ; =FUN_0205D264
- mov r2, #0x0
- bl FUN_020463CC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205D260: .word FUN_0205D264
-
- thumb_func_start FUN_0205D264
-FUN_0205D264: ; 0x0205D264
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x3
- bhi _0205D324
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205D288: ; jump table (using 16-bit offset)
- .short _0205D290 - _0205D288 - 2; case 0
- .short _0205D296 - _0205D288 - 2; case 1
- .short _0205D314 - _0205D288 - 2; case 2
- .short _0205D31A - _0205D288 - 2; case 3
-_0205D290:
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _0205D324
-_0205D296:
- ldr r0, [r4, #0x38]
- bl FUN_020553C4
- cmp r0, #0x1
- bne _0205D2D6
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- ldr r0, [r4, #0x38]
- mov r1, #0x1
- bl MOD05_021E5FD8
- ldr r0, [r4, #0x38]
- bl MOD05_021E5FE0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204AB20
- ldr r1, [r4, #0x1c]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204AB58
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_0204ABDC
- b _0205D30C
-_0205D2D6:
- mov r1, #0x12
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- bl FUN_0204AB20
- mov r1, #0x12
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- mov r2, #0x1
- bl FUN_0204ABDC
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- ldr r0, [r4, #0x38]
- mov r1, #0x2
- bl MOD05_021E5FD8
- ldr r0, [r4, #0x38]
- bl MOD05_021E5FE0
- add r4, #0x90
- ldr r0, [r4, #0x0]
- bl FUN_0205DD40
-_0205D30C:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _0205D324
-_0205D314:
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _0205D324
-_0205D31A:
- ldr r0, [r4, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205D324:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205D328
-FUN_0205D328: ; 0x0205D328
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0205D336
- mov r0, #0x2
- pop {r3-r5, pc}
-_0205D336:
- ldr r0, [r4, #0x14]
- bl FUN_02055738
- cmp r0, #0x1
- bne _0205D344
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205D344:
- ldr r0, [r4, #0x14]
- bl FUN_020553A0
- ldrh r1, [r4, #0xe]
- add r5, r0, #0x0
- bl FUN_02059BB4
- cmp r0, #0x1
- beq _0205D362
- ldrh r1, [r4, #0xe]
- add r0, r5, #0x0
- bl FUN_02059BD4
- cmp r0, #0x1
- bne _0205D366
-_0205D362:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205D366:
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054798
- cmp r0, #0x1
- beq _0205D390
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054974
- cmp r0, #0x1
- beq _0205D390
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054990
- cmp r0, #0x1
- bne _0205D396
-_0205D390:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D396:
- ldr r0, [r4, #0x0]
- bl FUN_020348B4
- cmp r0, #0x0
- bne _0205D3A6
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D3A6:
- ldr r0, [r4, #0x8]
- cmp r0, #0x2
- bne _0205D3B2
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205D3B2:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205D3B8
-FUN_0205D3B8: ; 0x0205D3B8
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02037944
- ldr r1, _0205D3E0 ; =FUN_02036B90
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r3-r5, pc}
- nop
-_0205D3E0: .word FUN_02036B90
-
- thumb_func_start FUN_0205D3E4
-FUN_0205D3E4: ; 0x0205D3E4
- push {r3, lr}
- ldr r1, _0205D3F0 ; =FUN_0205D3F4
- bl FUN_0205DD04
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0205D3F0: .word FUN_0205D3F4
-
- thumb_func_start FUN_0205D3F4
-FUN_0205D3F4: ; 0x0205D3F4
- push {r3, lr}
- mov r1, #0x0
- bl FUN_02037944
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205D400
-FUN_0205D400: ; 0x0205D400
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_0204652C
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl memset
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02025838
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r7, r0
- str r0, [r4, #0x18]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x6
- add r0, #0x20
- strb r1, [r0, #0x0]
- str r5, [r4, #0x1c]
- ldrh r0, [r6, #0x4]
- strh r0, [r4, #0x24]
- add r0, r4, #0x0
- ldrb r1, [r6, #0x6]
- add r0, #0x22
- strb r1, [r0, #0x0]
- ldrh r0, [r6, #0x4]
- bl FUN_0206EA30
- strh r0, [r4, #0x26]
- ldr r1, _0205D490 ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r7, r0]
- ldr r1, _0205D494 ; =FUN_02035E50
- add r0, r7, #0x0
- bl FUN_02035D04
- pop {r3-r7, pc}
- nop
-_0205D490: .word 0x020F96DC
-_0205D494: .word FUN_02035E50
-
- thumb_func_start FUN_0205D498
-FUN_0205D498: ; 0x0205D498
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- ldrh r0, [r5, #0x4]
- bl FUN_0206EAB8
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_02037F58
- add r6, r0, #0x0
- ldrh r0, [r5, #0x4]
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_02036BC4
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- sub r0, r1, #0x4
- str r6, [r4, r0]
- ldr r1, _0205D4E0 ; =FUN_02036BDC
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r4-r6, pc}
- nop
-_0205D4E0: .word FUN_02036BDC
-
- thumb_func_start FUN_0205D4E4
-FUN_0205D4E4: ; 0x0205D4E4
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205D4E8
-FUN_0205D4E8: ; 0x0205D4E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- bl FUN_02046528
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- ldrh r1, [r4, #0x10]
- mov r0, #0x1
- tst r0, r1
- beq _0205D50E
- ldr r2, _0205D518 ; =0x00000AF1
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205CF34
- pop {r3-r5, pc}
-_0205D50E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205D024
- pop {r3-r5, pc}
- .balign 4
-_0205D518: .word 0x00000AF1
-
- thumb_func_start FUN_0205D51C
-FUN_0205D51C: ; 0x0205D51C
- ldrh r1, [r0, #0x10]
- mov r0, #0x1
- tst r1, r0
- bne _0205D526
- mov r0, #0x0
-_0205D526:
- bx lr
-
- thumb_func_start FUN_0205D528
-FUN_0205D528: ; 0x0205D528
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xb
- bl FUN_02037FC4
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _0205D554 ; =FUN_02036D94
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r3-r5, pc}
- .balign 4
-_0205D554: .word FUN_02036D94
-
- thumb_func_start FUN_0205D558
-FUN_0205D558: ; 0x0205D558
- push {r3, lr}
- ldr r1, _0205D564 ; =FUN_0205D568
- bl FUN_0205DD04
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0205D564: .word FUN_0205D568
-
- thumb_func_start FUN_0205D568
-FUN_0205D568: ; 0x0205D568
- ldr r3, _0205D570 ; =FUN_02037FC4
- mov r1, #0xb
- bx r3
- nop
-_0205D570: .word FUN_02037FC4
-
- thumb_func_start FUN_0205D574
-FUN_0205D574: ; 0x0205D574
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r5, #0xc]
- add r0, r5, #0x0
- bl FUN_0203846C
- mov r0, #0x7e
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- ldr r1, _0205D5A4 ; =FUN_02036DD4
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r3-r5, pc}
- nop
-_0205D5A4: .word FUN_02036DD4
-
- thumb_func_start FUN_0205D5A8
-FUN_0205D5A8: ; 0x0205D5A8
- push {r3, lr}
- ldr r1, _0205D5B4 ; =FUN_0205D5B8
- bl FUN_0205DD04
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0205D5B4: .word FUN_0205D5B8
-
- thumb_func_start FUN_0205D5B8
-FUN_0205D5B8: ; 0x0205D5B8
- push {r3, lr}
- ldr r1, [r0, #0xc]
- bl FUN_0203846C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205D5C4
-FUN_0205D5C4: ; 0x0205D5C4
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D600 ; =FUN_0205E30C
- lsl r0, r0, #0x2
- str r1, [r5, r0]
- add r0, #0x30
- str r4, [r5, r0]
- mov r0, #0xa
- strh r0, [r5, #0x2a]
- pop {r4-r6, pc}
- nop
-_0205D600: .word FUN_0205E30C
-
- thumb_func_start FUN_0205D604
-FUN_0205D604: ; 0x0205D604
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, _0205D624 ; =FUN_0205E30C
- bl FUN_020463CC
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0205D624: .word FUN_0205E30C
-
- thumb_func_start FUN_0205D628
-FUN_0205D628: ; 0x0205D628
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0205D636
- mov r0, #0x2
- pop {r4, pc}
-_0205D636:
- ldr r0, [r4, #0x18]
- ldr r0, [r0, #0x38]
- bl FUN_020553C4
- cmp r0, #0x1
- bne _0205D648
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0205D648:
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205478C
- cmp r0, #0x0
- beq _0205D65A
- mov r0, #0x0
- pop {r4, pc}
-_0205D65A:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-
- thumb_func_start FUN_0205D660
-FUN_0205D660: ; 0x0205D660
- ldr r3, _0205D668 ; =FUN_0205CF34
- ldr r2, _0205D66C ; =0x00000AF2
- bx r3
- nop
-_0205D668: .word FUN_0205CF34
-_0205D66C: .word 0x00000AF2
-
- thumb_func_start FUN_0205D670
-FUN_0205D670: ; 0x0205D670
- push {r3, lr}
- ldr r1, _0205D67C ; =0x00000AF2
- bl FUN_0205CF78
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205D67C: .word 0x00000AF2
-
- thumb_func_start FUN_0205D680
-FUN_0205D680: ; 0x0205D680
- ldr r1, [r0, #0x4]
- cmp r1, #0x1
- bne _0205D68A
- mov r0, #0x2
- bx lr
-_0205D68A:
- ldrh r1, [r0, #0x10]
- mov r0, #0x4
- tst r1, r0
- beq _0205D696
- mov r0, #0x0
- bx lr
-_0205D696:
- sub r0, r0, #0x5
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205D69C
-FUN_0205D69C: ; 0x0205D69C
- ldr r3, _0205D6A4 ; =FUN_0205CF34
- ldr r2, _0205D6A8 ; =0x00000AF3
- bx r3
- nop
-_0205D6A4: .word FUN_0205CF34
-_0205D6A8: .word 0x00000AF3
-
- thumb_func_start FUN_0205D6AC
-FUN_0205D6AC: ; 0x0205D6AC
- ldrh r1, [r0, #0x10]
- mov r0, #0x2
- tst r1, r0
- beq _0205D6B8
- mov r0, #0x0
- bx lr
-_0205D6B8:
- sub r0, r0, #0x3
- bx lr
-
- thumb_func_start FUN_0205D6BC
-FUN_0205D6BC: ; 0x0205D6BC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204649C
- bl MOD05_021F57EC
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- mov r0, #0xb
- bl FUN_020169D8
- ldr r2, [sp, #0x0]
- mov r1, #0x0
- add r7, r0, #0x0
- bl memset
- mov r0, #0x72
- ldr r1, _0205D710 ; =0x021F57F1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r7, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- ldrh r1, [r5, #0x4]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0206EDD4
- pop {r3-r7, pc}
- .balign 4
-_0205D710: .word 0x021F57F1
-
- thumb_func_start FUN_0205D714
-FUN_0205D714: ; 0x0205D714
- ldr r3, _0205D71C ; =FUN_0205CF34
- ldr r2, _0205D720 ; =0x000022F6
- bx r3
- nop
-_0205D71C: .word FUN_0205CF34
-_0205D720: .word 0x000022F6
-
- thumb_func_start FUN_0205D724
-FUN_0205D724: ; 0x0205D724
- push {r3, lr}
- ldr r1, _0205D730 ; =0x000022F6
- bl FUN_0205CF78
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205D730: .word 0x000022F6
-
- thumb_func_start FUN_0205D734
-FUN_0205D734: ; 0x0205D734
- push {r3, lr}
- ldr r0, [r0, #0x0]
- bl FUN_02034908
- cmp r0, #0x0
- beq _0205D744
- mov r0, #0x0
- pop {r3, pc}
-_0205D744:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205D74C
-FUN_0205D74C: ; 0x0205D74C
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D784 ; =0x021F5C71
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r5, #0x0
- mov r1, #0xb
- mov r2, #0x0
- bl MOD05_021F5C44
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r5, pc}
- .balign 4
-_0205D784: .word 0x021F5C71
-
- thumb_func_start FUN_0205D788
-FUN_0205D788: ; 0x0205D788
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- mov r2, #0x0
- bl MOD05_021F5C44
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _0205D7A4 ; =0x021F5C71
- bl FUN_020463CC
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0205D7A4: .word 0x021F5C71
-
- thumb_func_start FUN_0205D7A8
-FUN_0205D7A8: ; 0x0205D7A8
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D7E0 ; =0x021F5C71
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r5, #0x0
- mov r1, #0xb
- mov r2, #0x1
- bl MOD05_021F5C44
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r5, pc}
- .balign 4
-_0205D7E0: .word 0x021F5C71
-
- thumb_func_start FUN_0205D7E4
-FUN_0205D7E4: ; 0x0205D7E4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- mov r2, #0x1
- bl MOD05_021F5C44
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _0205D800 ; =0x021F5C71
- bl FUN_020463CC
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0205D800: .word 0x021F5C71
-
- thumb_func_start FUN_0205D804
-FUN_0205D804: ; 0x0205D804
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205D83C ; =0x021F5C71
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r5, #0x0
- mov r1, #0xb
- mov r2, #0x2
- bl MOD05_021F5C44
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r5, pc}
- .balign 4
-_0205D83C: .word 0x021F5C71
-
- thumb_func_start FUN_0205D840
-FUN_0205D840: ; 0x0205D840
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- mov r2, #0x2
- bl MOD05_021F5C44
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _0205D85C ; =0x021F5C71
- bl FUN_020463CC
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0205D85C: .word 0x021F5C71
-
- thumb_func_start FUN_0205D860
-FUN_0205D860: ; 0x0205D860
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0205D86E
- mov r0, #0x2
- pop {r4, pc}
-_0205D86E:
- ldrh r0, [r4, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205481C
- cmp r0, #0x1
- bne _0205D8B0
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B78
- cmp r0, #0x1
- beq _0205D898
- ldrh r0, [r4, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054B6C
- cmp r0, #0x1
- bne _0205D8AC
-_0205D898:
- ldr r0, [r4, #0x14]
- bl FUN_020553A0
- bl FUN_02058A68
- cmp r0, #0x1
- bne _0205D8AC
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0205D8AC:
- mov r0, #0x0
- pop {r4, pc}
-_0205D8B0:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205D8B8
-FUN_0205D8B8: ; 0x0205D8B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x16]
- mov r0, #0x80
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x10]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- bl FUN_0206EBC4
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- lsl r2, r2, #0x10
- ldr r0, [r0, #0xc]
- ldr r1, [r4, #0x10]
- lsr r2, r2, #0x10
- mov r3, #0xb
- bl FUN_0206E3F8
- ldr r0, [r5, #0x0]
- ldr r1, _0205D900 ; =FUN_0205D904
- add r2, r4, #0x0
- bl FUN_020463CC
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0205D900: .word FUN_0205D904
-
- thumb_func_start FUN_0205D904
-FUN_0205D904: ; 0x0205D904
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldrh r0, [r4, #0x16]
- cmp r0, #0x0
- beq _0205D926
- cmp r0, #0x1
- beq _0205D95C
- cmp r0, #0x2
- beq _0205D984
- b _0205D9A0
-_0205D926:
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- ldr r0, [r5, #0x8]
- add r1, r4, #0x0
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02054608
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- add r2, r5, #0x0
- mov r3, #0x1
- bl FUN_02054658
- strh r0, [r4, #0x14]
- ldrh r0, [r4, #0x16]
- add r0, r0, #0x1
- strh r0, [r4, #0x16]
- b _0205D9A0
-_0205D95C:
- ldrh r0, [r4, #0x14]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x1
- bne _0205D9A0
- ldr r0, _0205D9A4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0xf3
- tst r0, r1
- beq _0205D9A0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200D0E0
- ldrh r0, [r4, #0x16]
- add r0, r0, #0x1
- strh r0, [r4, #0x16]
- b _0205D9A0
-_0205D984:
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_02019178
- ldr r0, [r4, #0x10]
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205D9A0:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0205D9A4: .word 0x021C48B8
-
- thumb_func_start FUN_0205D9A8
-FUN_0205D9A8: ; 0x0205D9A8
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_0204652C
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl memset
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02025838
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- ldr r0, [r5, #0xc]
- bl FUN_02022504
- str r0, [r4, #0x10]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r7, r0
- str r0, [r4, #0x18]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x10
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldrh r0, [r6, #0x4]
- add r2, r4, #0x0
- strh r0, [r4, #0x24]
- add r0, r4, #0x0
- ldrb r1, [r6, #0x6]
- add r0, #0x22
- strb r1, [r0, #0x0]
- ldr r1, _0205DA34 ; =0x020F96DC
- add r0, r5, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r7, r0]
- ldr r1, _0205DA38 ; =FUN_02035E50
- add r0, r7, #0x0
- bl FUN_02035D04
- pop {r3-r7, pc}
- .balign 4
-_0205DA34: .word 0x020F96DC
-_0205DA38: .word FUN_02035E50
-
- thumb_func_start FUN_0205DA3C
-FUN_0205DA3C: ; 0x0205DA3C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0205DA7C ; =FUN_0205DAAC
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- str r1, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- ldrh r1, [r5, #0x4]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0206EDD4
- pop {r4-r6, pc}
- nop
-_0205DA7C: .word FUN_0205DAAC
-
- thumb_func_start FUN_0205DA80
-FUN_0205DA80: ; 0x0205DA80
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0205DA8E
- mov r0, #0x2
- pop {r4, pc}
-_0205DA8E:
- ldr r0, [r4, #0x0]
- bl FUN_02034930
- cmp r0, #0x1
- bne _0205DAA6
- ldr r0, [r4, #0x0]
- bl FUN_0203487C
- cmp r0, #0x1
- bne _0205DAA6
- mov r0, #0x0
- pop {r4, pc}
-_0205DAA6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-
- thumb_func_start FUN_0205DAAC
-FUN_0205DAAC: ; 0x0205DAAC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- mov r1, #0xb
- bl MOD06_0224C700
- add r2, r0, #0x0
- ldr r1, _0205DAC8 ; =0x0224C721
- add r0, r4, #0x0
- bl FUN_020463EC
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0205DAC8: .word 0x0224C721
-
- thumb_func_start FUN_0205DACC
-FUN_0205DACC: ; 0x0205DACC
- ldr r3, _0205DAD4 ; =FUN_0205CF34
- ldr r2, _0205DAD8 ; =0x000007F7
- bx r3
- nop
-_0205DAD4: .word FUN_0205CF34
-_0205DAD8: .word 0x000007F7
-
- thumb_func_start FUN_0205DADC
-FUN_0205DADC: ; 0x0205DADC
- push {r3, lr}
- ldr r1, _0205DAE8 ; =0x000007F7
- bl FUN_0205CF78
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0205DAE8: .word 0x000007F7
-
- thumb_func_start FUN_0205DAEC
-FUN_0205DAEC: ; 0x0205DAEC
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- bl FUN_0205ED0C
- cmp r0, #0x0
- bne _0205DB08
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205DB08:
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205F4A0
- cmp r0, #0x0
- bne _0205DB1A
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205DB1A:
- ldr r0, [r4, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024CA4
- cmp r0, #0x0
- bne _0205DB30
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0205DB30:
- ldr r0, [r4, #0x0]
- bl FUN_020349D8
- cmp r0, #0x0
- beq _0205DB3E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205DB3E:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205DB44
-FUN_0205DB44: ; 0x0205DB44
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02060144
- cmp r0, #0x1
- bne _0205DB54
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205DB54:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _0205DB66
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205DB66:
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- bl FUN_0206EBC4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x6
- mov r2, #0xb
- str r0, [sp, #0x0]
- bl FUN_0206E7B8
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- mov r0, #0x2
- add r1, r4, #0x0
- bl FUN_0205CE48
- add r6, r0, #0x0
- mov r0, #0x1
- add r1, r4, #0x0
- bl FUN_0205CE48
- add r7, r0, #0x0
- bne _0205DB9C
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205DB9C:
- mov r0, #0xb
- mov r1, #0x2c
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x2c
- bl memset
- str r5, [r4, #0x0]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x4
- strh r0, [r4, #0x28]
- add r0, r5, #0x0
- bl FUN_0205CE80
- mov r5, #0x0
- cmp r6, #0x0
- bne _0205DBCA
- add r0, r4, #0x0
- blx r7
- add r5, r0, #0x0
- b _0205DBE0
-_0205DBCA:
- add r0, r4, #0x4
- blx r6
- add r1, r0, #0x0
- bne _0205DBDA
- add r0, r4, #0x0
- blx r7
- add r5, r0, #0x0
- b _0205DBE0
-_0205DBDA:
- add r0, r4, #0x0
- bl FUN_0205DBF0
-_0205DBE0:
- cmp r5, #0x0
- bne _0205DBEA
- add r0, r4, #0x0
- bl FUN_02016A18
-_0205DBEA:
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205DBF0
-FUN_0205DBF0: ; 0x0205DBF0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x16]
- mov r0, #0x80
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x10]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- mov r1, #0xb
- str r1, [sp, #0x0]
- ldrh r2, [r5, #0x28]
- ldr r1, [r4, #0x10]
- add r3, r6, #0x0
- bl FUN_0206E51C
- ldr r0, [r5, #0x0]
- ldr r1, _0205DC34 ; =FUN_0205D904
- add r2, r4, #0x0
- bl FUN_020463CC
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0205DC34: .word FUN_0205D904
-
- thumb_func_start FUN_0205DC38
-FUN_0205DC38: ; 0x0205DC38
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, #0x2a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x4
- bhi _0205DCFA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205DC5E: ; jump table (using 16-bit offset)
- .short _0205DC68 - _0205DC5E - 2; case 0
- .short _0205DC7C - _0205DC5E - 2; case 1
- .short _0205DC94 - _0205DC5E - 2; case 2
- .short _0205DCC4 - _0205DC5E - 2; case 3
- .short _0205DCE2 - _0205DC5E - 2; case 4
-_0205DC68:
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- mov r0, #0x0
- bl MOD05_021D7CA4
- mov r0, #0x1
- add r4, #0x2a
- strb r0, [r4, #0x0]
- b _0205DCFA
-_0205DC7C:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0205DCFA
- ldr r1, [r4, #0x20]
- add r0, r5, #0x0
- blx r1
- str r0, [r4, #0x24]
- mov r0, #0x2
- add r4, #0x2a
- strb r0, [r4, #0x0]
- b _0205DCFA
-_0205DC94:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _0205DCFA
- ldr r0, [r4, #0x24]
- cmp r0, #0x0
- beq _0205DCB6
- ldr r2, [r4, #0x20]
- ldr r1, _0205DD00 ; =FUN_0205D568
- cmp r2, r1
- bne _0205DCB2
- bl FUN_02087E14
- b _0205DCB6
-_0205DCB2:
- bl FUN_02016A18
-_0205DCB6:
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x3
- add r4, #0x2a
- strb r0, [r4, #0x0]
- b _0205DCFA
-_0205DCC4:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0205DCFA
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- mov r0, #0x1
- bl MOD05_021D7CA4
- mov r0, #0x4
- add r4, #0x2a
- strb r0, [r4, #0x0]
- b _0205DCFA
-_0205DCE2:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0205DCFA
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205DCFA:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0205DD00: .word FUN_0205D568
-
- thumb_func_start FUN_0205DD04
-FUN_0205DD04: ; 0x0205DD04
- add r2, r0, #0x0
- str r1, [r2, #0x20]
- ldr r3, _0205DD10 ; =FUN_020463CC
- ldr r0, [r2, #0x0]
- ldr r1, _0205DD14 ; =FUN_0205DC38
- bx r3
- .balign 4
-_0205DD10: .word FUN_020463CC
-_0205DD14: .word FUN_0205DC38
-
- thumb_func_start FUN_0205DD18
-FUN_0205DD18: ; 0x0205DD18
- push {r4, lr}
- mov r1, #0xd4
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x1
- lsl r0, r0, #0x10
- add r3, r4, #0x0
- lsr r1, r0, #0x1
- add r2, r0, #0x0
- add r3, #0xbc
- bl FUN_0201B7DC
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205DD38
-FUN_0205DD38: ; 0x0205DD38
- ldr r3, _0205DD3C ; =FUN_02016A18
- bx r3
- .balign 4
-_0205DD3C: .word FUN_02016A18
-
- thumb_func_start FUN_0205DD40
-FUN_0205DD40: ; 0x0205DD40
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- str r1, [r4, #0x4]
- str r1, [r4, #0x0]
- str r1, [r4, #0x8]
- str r1, [r4, #0xc]
- str r1, [r4, #0x10]
- add r0, #0xd0
- strb r1, [r0, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- add r0, #0x1c
- mov r2, #0xa0
- str r1, [r4, #0x18]
- bl MI_CpuFill8
- mov r3, #0x0
- add r2, r3, #0x0
- mov r0, #0x28
-_0205DD6A:
- add r1, r3, #0x0
- mul r1, r0
- add r1, r4, r1
- str r2, [r1, #0x28]
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x4
- blo _0205DD6A
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205DD80
-FUN_0205DD80: ; 0x0205DD80
- push {r4-r7, lr}
- sub sp, #0x2c
- str r1, [sp, #0x10]
- ldr r1, _0205DECC ; =0x020F7374
- str r2, [sp, #0x14]
- ldrb r2, [r1, #0x4]
- str r0, [sp, #0xc]
- add r0, sp, #0x28
- strb r2, [r0, #0x0]
- ldrb r2, [r1, #0x5]
- str r3, [sp, #0x18]
- strb r2, [r0, #0x1]
- ldrb r2, [r1, #0x6]
- ldrb r1, [r1, #0x7]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0x38]
- bl FUN_02055360
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x18]
- mov r5, #0x0
- str r0, [sp, #0x24]
- add r0, #0x1c
- str r5, [sp, #0x20]
- str r0, [sp, #0x24]
-_0205DDB6:
- add r0, sp, #0x28
- ldrb r4, [r0, r5]
- cmp r4, #0x0
- bne _0205DDC2
- bl ErrorHandling
-_0205DDC2:
- cmp r4, #0x1
- bhi _0205DDCA
- mov r6, #0x0
- b _0205DDF2
-_0205DDCA:
- bl rand_LC
- add r6, r0, #0x0
- ldr r0, _0205DED0 ; =0x0000FFFF
- add r1, r4, #0x0
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- cmp r6, r4
- blo _0205DDF2
- bl ErrorHandling
-_0205DDF2:
- lsl r1, r5, #0x1
- mov r0, #0x9
- sub r0, r0, r1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- lsl r0, r6, #0x18
- lsr r6, r0, #0x18
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bne _0205DE1C
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl _s32_div_f
- add r1, r5, r1
- add r0, r5, #0x0
- b _0205DE5C
-_0205DE1C:
- cmp r0, #0x1
- bne _0205DE30
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl _s32_div_f
- add r0, r5, r4
- add r1, r5, r1
- sub r0, r0, #0x1
- b _0205DE5C
-_0205DE30:
- lsl r7, r4, #0x1
- cmp r6, r7
- bge _0205DE3A
- bl ErrorHandling
-_0205DE3A:
- sub r0, r6, r7
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- lsr r3, r1, #0x1f
- lsl r2, r1, #0x1f
- lsr r0, r1, #0x1
- add r0, r5, r0
- sub r2, r2, r3
- mov r1, #0x1f
- ror r2, r1
- add r0, r0, #0x1
- add r1, r3, r2
- bne _0205DE58
- add r1, r5, #0x0
- b _0205DE5C
-_0205DE58:
- add r1, r5, r4
- sub r1, r1, #0x1
-_0205DE5C:
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r0, #0x18
- str r1, [sp, #0x0]
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- mov r0, #0x28
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x10]
- add r0, r0, r1
- str r0, [sp, #0x8]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0xc]
- ldr r1, [r1, #0x4]
- ldr r3, [sp, #0x14]
- bl FUN_0205E12C
- cmp r0, #0x0
- beq _0205DE90
- ldr r0, [sp, #0x20]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x20]
-_0205DE90:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x4
- blo _0205DDB6
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- bne _0205DEBE
- ldr r0, [sp, #0x18]
- bl FUN_0205DD40
- ldr r0, [sp, #0xc]
- add r1, r0, #0x0
- ldr r1, [r1, #0x1c]
- ldr r1, [r1, #0x0]
- bl FUN_0204AB58
- add r1, r0, #0x0
- ldr r0, [sp, #0xc]
- mov r2, #0x1
- bl FUN_0204ABDC
- b _0205DEC4
-_0205DEBE:
- ldr r0, [sp, #0x18]
- mov r1, #0x1
- str r1, [r0, #0x10]
-_0205DEC4:
- ldr r0, [sp, #0x18]
- ldr r0, [r0, #0x10]
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-_0205DECC: .word 0x020F7374
-_0205DED0: .word 0x0000FFFF
-
- thumb_func_start FUN_0205DED4
-FUN_0205DED4: ; 0x0205DED4
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r6, r2, #0x0
- mov r4, #0x0
-_0205DEE0:
- mov r0, #0x28
- mul r0, r4
- add r5, r6, r0
- ldr r0, [r5, #0x28]
- cmp r0, #0x0
- beq _0205DF36
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_0205E2A0
- str r0, [r5, #0x2c]
- cmp r0, #0x0
- bne _0205DF24
- bl rand_LC
- mov r1, #0x29
- lsl r1, r1, #0x4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- cmp r7, #0x64
- blo _0205DF12
- bl ErrorHandling
-_0205DF12:
- cmp r7, #0x32
- bhs _0205DF1A
- mov r0, #0x0
- b _0205DF1C
-_0205DF1A:
- mov r0, #0x1
-_0205DF1C:
- str r0, [r5, #0x24]
- mov r0, #0x0
- str r0, [r5, #0x30]
- b _0205DF36
-_0205DF24:
- ldr r0, [r6, #0x0]
- str r0, [r5, #0x24]
- ldr r0, [sp, #0x0]
- add r0, #0x90
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_0205E40C
- str r0, [r5, #0x30]
-_0205DF36:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- blo _0205DEE0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205DF44
-FUN_0205DF44: ; 0x0205DF44
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- mov r6, #0x0
-_0205DF4C:
- mov r0, #0x28
- mul r0, r6
- add r4, r7, r0
- ldr r0, [r4, #0x28]
- cmp r0, #0x0
- beq _0205DF8C
- ldr r0, [r4, #0x30]
- ldr r1, [r4, #0x1c]
- ldr r2, [r4, #0x20]
- cmp r0, #0x0
- beq _0205DF6E
- add r0, r5, #0x0
- mov r3, #0x2
- bl MOD06_0224B818
- str r0, [r4, #0x34]
- b _0205DF90
-_0205DF6E:
- ldr r0, [r4, #0x24]
- cmp r0, #0x0
- bne _0205DF80
- add r0, r5, #0x0
- mov r3, #0x0
- bl MOD06_0224B818
- str r0, [r4, #0x34]
- b _0205DF90
-_0205DF80:
- add r0, r5, #0x0
- mov r3, #0x1
- bl MOD06_0224B818
- str r0, [r4, #0x34]
- b _0205DF90
-_0205DF8C:
- mov r0, #0x0
- str r0, [r4, #0x34]
-_0205DF90:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x4
- blo _0205DF4C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205DF9C
-FUN_0205DF9C: ; 0x0205DF9C
- push {r3-r7, lr}
- mov r4, #0x0
- add r7, r0, #0x0
- add r6, r4, #0x0
-_0205DFA4:
- mov r0, #0x28
- mul r0, r6
- add r5, r7, r0
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- beq _0205DFCA
- bl MOD06_0224B86C
- cmp r0, #0x0
- beq _0205DFD0
- ldr r0, [r5, #0x34]
- bl FUN_02064520
- mov r0, #0x0
- str r0, [r5, #0x34]
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- b _0205DFD0
-_0205DFCA:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_0205DFD0:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x4
- blo _0205DFA4
- cmp r4, #0x4
- blo _0205DFE2
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205DFE2:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205DFE8
-FUN_0205DFE8: ; 0x0205DFE8
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r7, [sp, #0x24]
- add r6, r0, #0x0
- mov r12, r1
- ldr r0, [sp, #0x28]
- mov r1, #0x0
- add r4, r3, #0x0
- str r1, [r7, #0x0]
- str r2, [sp, #0x0]
- str r1, [r0, #0x0]
- str r0, [sp, #0x28]
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r2, r12
- add r3, sp, #0x4
- ldr r5, [sp, #0x20]
- bl FUN_0205E1B8
- cmp r0, #0x0
- bne _0205E018
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205E018:
- mov r0, #0x1
- str r0, [r4, #0x18]
- add r0, sp, #0x4
- ldrb r1, [r0, #0x0]
- mov r0, #0x28
- mul r0, r1
- add r0, r4, r0
- ldr r1, [r0, #0x2c]
- ldr r6, [r0, #0x24]
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _0205E062
- cmp r1, #0x0
- beq _0205E05E
- add r0, r4, #0x4
- bl FUN_0205E4D8
- str r6, [r5, #0x0]
- mov r0, #0x1
- str r0, [r7, #0x0]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_0205E1F0
- add r0, sp, #0x4
- ldrb r1, [r0, #0x0]
- mov r0, #0x28
- mul r0, r1
- add r0, r4, r0
- ldr r1, [r0, #0x30]
- ldr r0, [sp, #0x28]
- add sp, #0x8
- str r1, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205E05E:
- str r6, [r5, #0x0]
- b _0205E074
-_0205E062:
- str r6, [r5, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x14]
- ldr r0, [sp, #0x0]
- bl FUN_0205E258
- add r1, r4, #0x0
- add r1, #0xd0
- strb r0, [r1, #0x0]
-_0205E074:
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205E080
-FUN_0205E080: ; 0x0205E080
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x0
- bne _0205E090
- bl ErrorHandling
-_0205E090:
- str r4, [r5, #0x8]
- str r6, [r5, #0xc]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205E098
-FUN_0205E098: ; 0x0205E098
- ldr r3, [r0, #0x8]
- str r3, [r1, #0x0]
- ldr r0, [r0, #0xc]
- str r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205E0A4
-FUN_0205E0A4: ; 0x0205E0A4
- ldr r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_0205E0A8
-FUN_0205E0A8: ; 0x0205E0A8
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _0205E126
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- bne _0205E126
- mov r6, #0x0
- add r5, r6, #0x0
-_0205E0C0:
- add r0, r7, #0x0
- add r0, #0x90
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x1c
- add r4, r0, r5
- add r0, r4, #0x0
- add r0, #0x1c
- add r1, #0xbc
- bl FUN_0201B76C
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- beq _0205E0E4
- cmp r0, #0x0
- bne _0205E0E4
- mov r0, #0x0
- str r0, [r4, #0xc]
-_0205E0E4:
- add r6, r6, #0x1
- add r5, #0x28
- cmp r6, #0x4
- blt _0205E0C0
- add r0, r7, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- mov r2, #0x0
- add r3, r0, #0x0
- add r4, r2, #0x0
- add r3, #0x1c
-_0205E0FA:
- ldr r1, [r3, #0xc]
- cmp r1, #0x0
- bne _0205E102
- add r2, r2, #0x1
-_0205E102:
- add r4, r4, #0x1
- add r3, #0x28
- cmp r4, #0x4
- blt _0205E0FA
- cmp r2, #0x4
- bne _0205E126
- bl FUN_0205DD40
- ldr r1, [r7, #0x1c]
- add r0, r7, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204AB58
- add r1, r0, #0x0
- add r0, r7, #0x0
- mov r2, #0x1
- bl FUN_0204ABDC
-_0205E126:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205E128
-FUN_0205E128: ; 0x0205E128
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0205E12C
-FUN_0205E12C: ; 0x0205E12C
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x4]
- add r1, sp, #0x10
- sub r4, r2, #0x4
- ldrb r2, [r1, #0x10]
- ldrb r1, [r1, #0x14]
- ldr r5, [sp, #0x28]
- add r4, r4, r2
- sub r2, r3, #0x4
- add r6, r2, r1
- str r4, [r5, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r7, r0, #0x0
- str r6, [r5, #0x4]
- bl FUN_0204A6E0
- bl FUN_0205478C
- cmp r0, #0x0
- beq _0205E1AE
- lsl r0, r4, #0x10
- str r0, [r5, #0x1c]
- lsl r0, r6, #0x10
- str r0, [r5, #0x24]
- add r0, sp, #0x8
- str r0, [sp, #0x0]
- ldr r2, [r5, #0x1c]
- ldr r3, [r5, #0x24]
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0204A708
- ldr r1, [sp, #0x4]
- str r0, [r5, #0x20]
- cmp r1, r0
- beq _0205E180
- mov r0, #0x0
- add sp, #0xc
- str r0, [r5, #0xc]
- pop {r4-r7, pc}
-_0205E180:
- asr r1, r4, #0x4
- asr r2, r6, #0x4
- lsr r1, r1, #0x1b
- lsr r2, r2, #0x1b
- add r1, r4, r1
- add r2, r6, r2
- ldr r0, [r7, #0x28]
- asr r1, r1, #0x5
- asr r2, r2, #0x5
- bl FUN_0203451C
- ldr r1, [r7, #0x1c]
- ldr r1, [r1, #0x0]
- cmp r1, r0
- beq _0205E1A6
- mov r0, #0x0
- add sp, #0xc
- str r0, [r5, #0xc]
- pop {r4-r7, pc}
-_0205E1A6:
- mov r0, #0x1
- add sp, #0xc
- str r0, [r5, #0xc]
- pop {r4-r7, pc}
-_0205E1AE:
- mov r0, #0x0
- str r0, [r5, #0xc]
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205E1B8
-FUN_0205E1B8: ; 0x0205E1B8
- push {r4-r7}
- mov r5, #0x0
- mov r6, #0x28
-_0205E1BE:
- add r4, r5, #0x0
- mul r4, r6
- add r4, r0, r4
- ldr r7, [r4, #0x28]
- cmp r7, #0x0
- beq _0205E1DE
- ldr r7, [r4, #0x1c]
- cmp r1, r7
- bne _0205E1DE
- ldr r4, [r4, #0x20]
- cmp r2, r4
- bne _0205E1DE
- strb r5, [r3, #0x0]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_0205E1DE:
- add r4, r5, #0x1
- lsl r4, r4, #0x18
- lsr r5, r4, #0x18
- cmp r5, #0x4
- blo _0205E1BE
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205E1F0
-FUN_0205E1F0: ; 0x0205E1F0
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_0202A9B0
- bl FUN_0202A9AC
- add r3, r5, #0x0
- add r3, #0xd0
- ldrb r3, [r3, #0x0]
- add r4, r0, #0x0
- add r1, r4, #0x2
- lsl r6, r3, #0x2
- ldrh r3, [r1, r6]
- ldr r2, [r5, #0x4]
- cmp r3, r2
- bge _0205E256
- strh r2, [r1, r6]
- add r1, r5, #0x0
- add r1, #0xd0
- ldrb r1, [r1, #0x0]
- ldr r2, [r5, #0x8]
- lsl r1, r1, #0x2
- strh r2, [r4, r1]
- bl MOD06_02245844
- add r0, r5, #0x0
- add r0, #0xd0
- ldrb r0, [r0, #0x0]
- ldr r2, [r5, #0x4]
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldrh r0, [r0, #0x2]
- cmp r0, r2
- bgt _0205E256
- mov r1, #0x0
- mov r3, #0x2
-_0205E23A:
- sub r0, r3, r1
- lsl r6, r0, #0x2
- add r6, r4, r6
- ldrh r6, [r6, #0x2]
- cmp r2, r6
- bne _0205E24C
- add r5, #0xd0
- strb r0, [r5, #0x0]
- pop {r4-r6, pc}
-_0205E24C:
- add r1, r1, #0x1
- cmp r1, #0x3
- blt _0205E23A
- bl ErrorHandling
-_0205E256:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205E258
-FUN_0205E258: ; 0x0205E258
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0202A9B0
- bl FUN_0202A9AC
- mov r2, #0x0
-_0205E266:
- lsl r1, r2, #0x2
- ldrh r1, [r0, r1]
- cmp r1, #0x0
- bne _0205E272
- add r0, r2, #0x0
- pop {r3, pc}
-_0205E272:
- add r1, r2, #0x1
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- cmp r2, #0x3
- blo _0205E266
- ldrh r2, [r0, #0x2]
- ldrh r1, [r0, #0x6]
- cmp r2, r1
- blo _0205E288
- mov r1, #0x1
- b _0205E28A
-_0205E288:
- mov r1, #0x0
-_0205E28A:
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- lsl r1, r2, #0x2
- add r1, r0, r1
- ldrh r1, [r1, #0x2]
- ldrh r0, [r0, #0xa]
- cmp r1, r0
- blo _0205E29C
- mov r2, #0x2
-_0205E29C:
- add r0, r2, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0205E2A0
-FUN_0205E2A0: ; 0x0205E2A0
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r3, _0205E308 ; =0x020F7374
- add r5, r0, #0x0
- ldrb r4, [r3, #0x0]
- add r2, sp, #0x0
- add r0, sp, #0x4
- strb r4, [r2, #0x4]
- ldrb r4, [r3, #0x1]
- add r7, sp, #0x0
- cmp r1, #0x1
- strb r4, [r2, #0x5]
- ldrb r4, [r3, #0x2]
- strb r4, [r2, #0x6]
- ldrb r4, [r3, #0x3]
- strb r4, [r2, #0x7]
- ldrb r4, [r3, #0x8]
- strb r4, [r2, #0x0]
- ldrb r4, [r3, #0x9]
- strb r4, [r2, #0x1]
- ldrb r4, [r3, #0xa]
- strb r4, [r2, #0x2]
- ldrb r3, [r3, #0xb]
- strb r3, [r2, #0x3]
- bne _0205E2D6
- add r6, r0, #0x0
- b _0205E2DC
-_0205E2D6:
- cmp r1, #0x4
- bne _0205E2DC
- add r6, r7, #0x0
-_0205E2DC:
- bl rand_LC
- mov r1, #0x29
- lsl r1, r1, #0x4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x64
- blo _0205E2F4
- bl ErrorHandling
-_0205E2F4:
- ldrb r0, [r6, r5]
- cmp r4, r0
- bge _0205E300
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205E300:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0205E308: .word 0x020F7374
-
- thumb_func_start FUN_0205E30C
-FUN_0205E30C: ; 0x0205E30C
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- ldr r1, [r5, #0x0]
- cmp r1, #0x4
- bhi _0205E3FC
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205E330: ; jump table (using 16-bit offset)
- .short _0205E33A - _0205E330 - 2; case 0
- .short _0205E3C0 - _0205E330 - 2; case 1
- .short _0205E3CC - _0205E330 - 2; case 2
- .short _0205E3EC - _0205E330 - 2; case 3
- .short _0205E3DE - _0205E330 - 2; case 4
-_0205E33A:
- ldr r0, [r4, #0x34]
- bl FUN_02058780
- ldr r0, [r4, #0xc]
- bl FUN_0202A9B0
- bl FUN_0202AB40
- add r6, r0, #0x0
- ldrb r0, [r6, #0x0]
- cmp r0, #0x32
- bhs _0205E374
- mov r2, #0x0
- ldr r1, _0205E400 ; =0x0000230A
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- add r0, r4, #0x0
- mov r1, #0x29
- bl FUN_02039438
- ldrb r2, [r6, #0x0]
- mov r1, #0x32
- sub r1, r1, r2
- strh r1, [r0, #0x0]
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _0205E3FC
-_0205E374:
- mov r0, #0x0
- strb r0, [r6, #0x0]
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r3, r4, #0x0
- add r3, #0x90
- add r2, r0, #0x0
- ldr r3, [r3, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0205DD80
- add r0, r4, #0x0
- add r0, #0x90
- ldr r2, [r0, #0x0]
- ldr r0, [r2, #0x10]
- cmp r0, #0x0
- beq _0205E3BA
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205DED4
- add r0, r4, #0x0
- add r4, #0x90
- ldr r1, [r4, #0x0]
- bl FUN_0205DF44
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _0205E3FC
-_0205E3BA:
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _0205E3FC
-_0205E3C0:
- ldr r0, _0205E404 ; =0x0000047E
- bl FUN_0200521C
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _0205E3FC
-_0205E3CC:
- add r4, #0x90
- ldr r0, [r4, #0x0]
- bl FUN_0205DF9C
- cmp r0, #0x0
- beq _0205E3FC
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _0205E3FC
-_0205E3DE:
- bl FUN_02016A18
- ldr r0, [r4, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205E3EC:
- mov r2, #0x0
- ldr r1, _0205E408 ; =0x0000230B
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- mov r0, #0x4
- str r0, [r5, #0x0]
-_0205E3FC:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0205E400: .word 0x0000230A
-_0205E404: .word 0x0000047E
-_0205E408: .word 0x0000230B
-
- thumb_func_start FUN_0205E40C
-FUN_0205E40C: ; 0x0205E40C
- push {r3-r5, lr}
- cmp r0, #0x0
- bne _0205E416
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205E416:
- add r2, r0, #0x0
- mov r1, #0xc8
- ldr r0, _0205E478 ; =0x00002008
- mul r2, r1
- sub r5, r0, r2
- cmp r5, #0xc8
- bge _0205E426
- add r5, r1, #0x0
-_0205E426:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bne _0205E430
- bl ErrorHandling
-_0205E430:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x1
- bhi _0205E43C
- mov r4, #0x0
- b _0205E46A
-_0205E43C:
- bl rand_LC
- add r4, r0, #0x0
- lsl r1, r5, #0x10
- ldr r0, _0205E47C ; =0x0000FFFF
- lsr r1, r1, #0x10
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- cmp r4, r0
- blo _0205E46A
- bl ErrorHandling
-_0205E46A:
- cmp r4, #0x0
- bne _0205E472
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205E472:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0205E478: .word 0x00002008
-_0205E47C: .word 0x0000FFFF
-
- thumb_func_start FUN_0205E480
-FUN_0205E480: ; 0x0205E480
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- add r0, r0, #0x4
- bl FUN_0205E4D8
- add r0, r4, #0x0
- add r4, #0x90
- ldr r1, [r4, #0x0]
- bl FUN_0205E1F0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205E49C
-FUN_0205E49C: ; 0x0205E49C
- add r0, #0x90
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0205E4A4
-FUN_0205E4A4: ; 0x0205E4A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- ldr r1, _0205E4D4 ; =0x000001AF
- mov r2, #0x1
- mov r3, #0x4
- bl FUN_0206EE50
- cmp r0, #0x1
- bne _0205E4D0
- ldr r0, [r4, #0xc]
- bl FUN_0202A9B0
- bl FUN_0202AB40
- ldrb r1, [r0, #0x0]
- cmp r1, #0x32
- bhs _0205E4D0
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
-_0205E4D0:
- pop {r4, pc}
- nop
-_0205E4D4: .word 0x000001AF
-
- thumb_func_start FUN_0205E4D8
-FUN_0205E4D8: ; 0x0205E4D8
- ldr r1, [r0, #0x0]
- add r2, r1, #0x1
- ldr r1, _0205E4E8 ; =0x000003E7
- str r2, [r0, #0x0]
- cmp r2, r1
- ble _0205E4E6
- str r1, [r0, #0x0]
-_0205E4E6:
- bx lr
- .balign 4
-_0205E4E8: .word 0x000003E7
-
- thumb_func_start FUN_0205E4EC
-FUN_0205E4EC: ; 0x0205E4EC
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x8
- bl FUN_0205858C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205E5B4
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058848
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205E518
-FUN_0205E518: ; 0x0205E518
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E5B4
- cmp r0, #0x0
- beq _0205E548
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- ldr r6, _0205E54C ; =0x020F7388
-_0205E538:
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205E538
-_0205E548:
- pop {r4-r6, pc}
- nop
-_0205E54C: .word 0x020F7388
-
- thumb_func_start FUN_0205E550
-FUN_0205E550: ; 0x0205E550
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205E554
-FUN_0205E554: ; 0x0205E554
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205886C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E608
- cmp r0, #0x1
- bne _0205E592
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E63C
- add r0, r5, #0x0
- bl FUN_0205E698
- cmp r0, #0x1
- bne _0205E592
- add r0, r5, #0x0
- bl FUN_0205883C
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205E592:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E598
-FUN_0205E598: ; 0x0205E598
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x1
- bne _0205E5B0
- add r0, r5, #0x0
- bl FUN_02058848
- mov r0, #0x0
- strb r0, [r4, #0x0]
-_0205E5B0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205E5B4
-FUN_0205E5B4: ; 0x0205E5B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058578
- bl FUN_020552A4
- cmp r0, #0x0
- bne _0205E5CC
- mov r0, #0x0
- strb r0, [r4, #0x1]
- pop {r3-r5, pc}
-_0205E5CC:
- ldrb r0, [r4, #0x1]
- cmp r0, #0x0
- bne _0205E5DA
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E5E0
-_0205E5DA:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E5E0
-FUN_0205E5E0: ; 0x0205E5E0
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_02058738
- bl FUN_02055698
- mov r1, #0x1
- add r4, r0, #0x0
- strb r1, [r5, #0x1]
- bl FUN_02055320
- strh r0, [r5, #0x2]
- add r0, r4, #0x0
- bl FUN_0205532C
- strh r0, [r5, #0x4]
- mov r0, #0xff
- strh r0, [r5, #0x6]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E608
-FUN_0205E608: ; 0x0205E608
- push {r4-r6, lr}
- add r5, r1, #0x0
- bl FUN_02058738
- bl FUN_02055698
- add r6, r0, #0x0
- beq _0205E638
- bl FUN_02055320
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0205532C
- mov r1, #0x2
- ldrsh r1, [r5, r1]
- cmp r4, r1
- bne _0205E634
- mov r1, #0x4
- ldrsh r1, [r5, r1]
- cmp r0, r1
- beq _0205E638
-_0205E634:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205E638:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205E63C
-FUN_0205E63C: ; 0x0205E63C
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_02058738
- bl FUN_02055698
- add r4, r0, #0x0
- bl FUN_02055320
- strh r0, [r5, #0x2]
- add r0, r4, #0x0
- bl FUN_0205532C
- strh r0, [r5, #0x4]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E65C
-FUN_0205E65C: ; 0x0205E65C
- push {r3, lr}
- bl FUN_02058738
- bl FUN_02055698
- bl FUN_02055464
- add r1, r0, #0x0
- sub r1, #0x58
- cmp r1, #0x3
- bhi _0205E694
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205E67E: ; jump table (using 16-bit offset)
- .short _0205E686 - _0205E67E - 2; case 0
- .short _0205E68A - _0205E67E - 2; case 1
- .short _0205E68E - _0205E67E - 2; case 2
- .short _0205E692 - _0205E67E - 2; case 3
-_0205E686:
- mov r0, #0x10
- pop {r3, pc}
-_0205E68A:
- mov r0, #0x11
- pop {r3, pc}
-_0205E68E:
- mov r0, #0x12
- pop {r3, pc}
-_0205E692:
- mov r0, #0x13
-_0205E694:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205E698
-FUN_0205E698: ; 0x0205E698
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02058738
- bl FUN_02055698
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B4C
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02055338
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02055344
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- cmp r0, r6
- bne _0205E6D2
- cmp r7, r4
- beq _0205E6FA
-_0205E6D2:
- add r0, r5, #0x0
- bl FUN_0205E65C
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_02059E80
- ldr r1, [sp, #0x4]
- bl FUN_0205AFDC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205AE0C
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205E6FA:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205E700
-FUN_0205E700: ; 0x0205E700
- push {r3-r5, lr}
- mov r1, #0xc
- add r5, r0, #0x0
- bl FUN_0205858C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E854
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r5, #0x0
- bl FUN_02058848
- mov r0, #0x0
- strb r0, [r4, #0x1]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205E728
-FUN_0205E728: ; 0x0205E728
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E854
- cmp r0, #0x0
- beq _0205E750
- ldr r6, _0205E754 ; =0x020F7390
-_0205E740:
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205E740
-_0205E750:
- pop {r4-r6, pc}
- nop
-_0205E754: .word 0x020F7390
-
- thumb_func_start FUN_0205E758
-FUN_0205E758: ; 0x0205E758
- bx lr
- .balign 4
-
- thumb_func_start FUN_0205E75C
-FUN_0205E75C: ; 0x0205E75C
- push {r3, lr}
- bl FUN_020585B0
- mov r1, #0x0
- strb r1, [r0, #0x1]
- pop {r3, pc}
-
- thumb_func_start FUN_0205E768
-FUN_0205E768: ; 0x0205E768
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205886C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E8F4
- cmp r0, #0x1
- bne _0205E7A0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205E940
- cmp r0, #0x1
- bne _0205E7A0
- add r0, r5, #0x0
- bl FUN_0205883C
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205E7A0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205E7A4
-FUN_0205E7A4: ; 0x0205E7A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0205B080
- cmp r0, #0x0
- bne _0205E7B6
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205E7B6:
- add r0, r5, #0x0
- bl FUN_02058848
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E7C4
-FUN_0205E7C4: ; 0x0205E7C4
- push {r4-r7, lr}
- sub sp, #0xc
- mov r1, #0x0
- add r4, r0, #0x0
- str r1, [sp, #0x8]
- bl FUN_02058488
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02058450
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205C9E8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058578
- ldr r1, [sp, #0x0]
- add r7, r0, #0x0
- cmp r1, #0x8
- bhi _0205E84C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205E7FE: ; jump table (using 16-bit offset)
- .short _0205E84C - _0205E7FE - 2; case 0
- .short _0205E810 - _0205E7FE - 2; case 1
- .short _0205E810 - _0205E7FE - 2; case 2
- .short _0205E810 - _0205E7FE - 2; case 3
- .short _0205E810 - _0205E7FE - 2; case 4
- .short _0205E810 - _0205E7FE - 2; case 5
- .short _0205E810 - _0205E7FE - 2; case 6
- .short _0205E810 - _0205E7FE - 2; case 7
- .short _0205E810 - _0205E7FE - 2; case 8
-_0205E810:
- add r1, sp, #0x4
- add r2, sp, #0x8
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- bne _0205E84C
-_0205E81E:
- ldr r0, [sp, #0x4]
- cmp r4, r0
- beq _0205E83C
- bl FUN_02058450
- cmp r6, r0
- bne _0205E83C
- ldr r0, [sp, #0x4]
- bl FUN_0205C9E8
- cmp r5, r0
- bne _0205E83C
- ldr r0, [sp, #0x4]
- add sp, #0xc
- pop {r4-r7, pc}
-_0205E83C:
- add r0, r7, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x8
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _0205E81E
-_0205E84C:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205E854
-FUN_0205E854: ; 0x0205E854
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_02058578
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_02058450
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205C9E8
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x8
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- bne _0205E8C6
-_0205E886:
- ldr r0, [sp, #0x4]
- cmp r5, r0
- beq _0205E8B6
- bl FUN_02058450
- cmp r7, r0
- bne _0205E8B6
- ldr r0, [sp, #0x4]
- bl FUN_0205C9E8
- cmp r6, r0
- bne _0205E8B6
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, #0x1]
- cmp r0, #0x0
- bne _0205E8B0
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0205E8D0
-_0205E8B0:
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0205E8B6:
- add r0, r4, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x8
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _0205E886
-_0205E8C6:
- ldr r1, [sp, #0x0]
- mov r0, #0x0
- strb r0, [r1, #0x1]
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0205E8D0
-FUN_0205E8D0: ; 0x0205E8D0
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r0, #0x1
- add r4, r2, #0x0
- strb r0, [r5, #0x1]
- add r0, r4, #0x0
- bl FUN_02058B2C
- strh r0, [r5, #0x2]
- add r0, r4, #0x0
- bl FUN_02058B4C
- strh r0, [r5, #0x4]
- mov r0, #0xff
- strh r0, [r5, #0x6]
- str r4, [r5, #0x8]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205E8F4
-FUN_0205E8F4: ; 0x0205E8F4
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r5, [r1, #0x8]
- bl FUN_02058B2C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02058B4C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B14
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B24
- cmp r4, r7
- bne _0205E91E
- cmp r6, r0
- beq _0205E93A
-_0205E91E:
- add r0, r5, #0x0
- bl FUN_02058854
- cmp r0, #0x1
- beq _0205E936
- mov r1, #0x61
- add r0, r5, #0x0
- lsl r1, r1, #0x6
- bl FUN_02058424
- cmp r0, #0x0
- bne _0205E93A
-_0205E936:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0205E93A:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205E940
-FUN_0205E940: ; 0x0205E940
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- bl FUN_02058B2C
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02058B4C
- add r6, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_02058B2C
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x8]
- bl FUN_02058B4C
- add r7, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_02058B14
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- bl FUN_02058B24
- add r3, r0, #0x0
- ldr r0, [sp, #0x8]
- cmp r4, r0
- bne _0205E986
- cmp r6, r7
- bne _0205E986
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205E986:
- ldr r2, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02059E80
- add r5, r0, #0x0
- bl FUN_02059BF4
- add r4, r4, r0
- add r0, r5, #0x0
- bl FUN_02059C00
- add r1, r6, r0
- ldr r0, [sp, #0x8]
- cmp r4, r0
- bne _0205E9AA
- cmp r1, r7
- beq _0205E9C0
-_0205E9AA:
- add r0, r5, #0x0
- mov r1, #0xc
- bl FUN_0205AFDC
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_0205AE0C
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0205E9C0:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205E9C8
-FUN_0205E9C8: ; 0x0205E9C8
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- add r4, r0, #0x0
- mov r1, #0x8
- bl FUN_0205858C
- strb r5, [r0, #0x1]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058544
- add r0, r4, #0x0
- bl FUN_02058848
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058410
- ldr r5, _0205EA0C ; =0x020F7398
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058B94
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0205EA0C: .word 0x020F7398
-
- thumb_func_start FUN_0205EA10
-FUN_0205EA10: ; 0x0205EA10
- ldr r3, _0205EA18 ; =FUN_0205E9C8
- mov r1, #0x0
- bx r3
- nop
-_0205EA18: .word FUN_0205E9C8
-
- thumb_func_start FUN_0205EA1C
-FUN_0205EA1C: ; 0x0205EA1C
- ldr r3, _0205EA24 ; =FUN_0205E9C8
- mov r1, #0x1
- bx r3
- nop
-_0205EA24: .word FUN_0205E9C8
-
- thumb_func_start FUN_0205EA28
-FUN_0205EA28: ; 0x0205EA28
- ldr r3, _0205EA30 ; =FUN_0205E9C8
- mov r1, #0x2
- bx r3
- nop
-_0205EA30: .word FUN_0205E9C8
-
- thumb_func_start FUN_0205EA34
-FUN_0205EA34: ; 0x0205EA34
- ldr r3, _0205EA3C ; =FUN_0205E9C8
- mov r1, #0x3
- bx r3
- nop
-_0205EA3C: .word FUN_0205E9C8
-
- thumb_func_start FUN_0205EA40
-FUN_0205EA40: ; 0x0205EA40
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020585B0
- ldr r6, _0205EA60 ; =0x020F7380
- add r4, r0, #0x0
-_0205EA4C:
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r6, r2]
- blx r2
- cmp r0, #0x1
- beq _0205EA4C
- pop {r4-r6, pc}
- nop
-_0205EA60: .word 0x020F7380
-
- thumb_func_start FUN_0205EA64
-FUN_0205EA64: ; 0x0205EA64
- push {r3, lr}
- bl FUN_0205EB20
- cmp r0, #0x0
- beq _0205EA72
- bl MOD05_021E4DE4
-_0205EA72:
- pop {r3, pc}
-
- thumb_func_start FUN_0205EA74
-FUN_0205EA74: ; 0x0205EA74
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_020585B0
- add r5, r0, #0x0
- mov r1, #0x0
- strb r1, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_0205EB14
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- bne _0205EAA6
- ldr r5, _0205EAAC ; =0x020F73A4
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_02058B94
-_0205EAA6:
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0205EAAC: .word 0x020F73A4
-
- thumb_func_start FUN_0205EAB0
-FUN_0205EAB0: ; 0x0205EAB0
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldrb r1, [r4, #0x2]
- add r5, r0, #0x0
- cmp r1, #0x0
- bne _0205EACA
- ldrb r1, [r4, #0x1]
- bl MOD06_0224CECC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205EB14
-_0205EACA:
- add r0, r5, #0x0
- bl FUN_02058848
- add r0, r5, #0x0
- bl FUN_0205886C
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205EAE0
-FUN_0205EAE0: ; 0x0205EAE0
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldrb r1, [r4, #0x2]
- add r5, r0, #0x0
- cmp r1, #0x0
- bne _0205EB0E
- bl FUN_0205EB20
- cmp r0, #0x0
- bne _0205EB0E
- add r0, r5, #0x0
- bl FUN_02058934
- cmp r0, #0x1
- bne _0205EB0E
- ldrb r1, [r4, #0x1]
- add r0, r5, #0x0
- bl MOD06_0224CECC
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205EB14
-_0205EB0E:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205EB14
-FUN_0205EB14: ; 0x0205EB14
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020585B0
- str r4, [r0, #0x4]
- pop {r4, pc}
-
- thumb_func_start FUN_0205EB20
-FUN_0205EB20: ; 0x0205EB20
- push {r3, lr}
- bl FUN_020585B0
- ldr r0, [r0, #0x4]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205EB2C
-FUN_0205EB2C: ; 0x0205EB2C
- push {r3, lr}
- bl FUN_020585B0
- mov r1, #0x1
- strb r1, [r0, #0x2]
- pop {r3, pc}
-
- thumb_func_start FUN_0205EB38
-FUN_0205EB38: ; 0x0205EB38
- push {r4-r7, lr}
- sub sp, #0x24
- ldr r3, _0205EBE0 ; =0x020F73B0
- add r2, sp, #0xc
- add r4, r0, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r1, #0x5b
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- bl FUN_02016998
- mov r2, #0x5b
- add r7, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- bl MI_CpuFill8
- add r0, r7, #0x0
- add r1, sp, #0xc
- mov r2, #0x2
- mov r3, #0xb
- bl MOD05_021D959C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _0205EBE4 ; =0x000034D8
- mov r2, #0x0
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- mov r1, #0x55
- add r3, r2, #0x0
- bl MOD05_021D967C
- ldr r0, _0205EBE4 ; =0x000034D8
- mov r1, #0x55
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r2, #0x2
- mov r3, #0x0
- bl MOD05_021D96F4
- ldr r0, _0205EBE4 ; =0x000034D8
- mov r1, #0x55
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r2, #0x3
- mov r3, #0x0
- bl MOD05_021D9708
- mov r2, #0x1
- ldr r0, _0205EBE4 ; =0x000034D8
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r1, #0x55
- mov r3, #0x0
- bl MOD05_021D971C
- ldr r4, _0205EBE8 ; =0x020F73C8
- mov r6, #0x0
- add r5, r7, #0x0
-_0205EBC0:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl MOD05_021D9820
- mov r1, #0x59
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r6, r6, #0x1
- add r4, #0x34
- add r5, r5, #0x4
- cmp r6, #0x2
- blo _0205EBC0
- add r0, r7, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0205EBE0: .word 0x020F73B0
-_0205EBE4: .word 0x000034D8
-_0205EBE8: .word 0x020F73C8
-
- thumb_func_start FUN_0205EBEC
-FUN_0205EBEC: ; 0x0205EBEC
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r6, #0x59
- mov r4, #0x0
- add r5, r7, #0x0
- lsl r6, r6, #0x2
-_0205EBF8:
- ldr r0, [r5, r6]
- cmp r0, #0x0
- beq _0205EC02
- bl FUN_0200C3DC
-_0205EC02:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x2
- blt _0205EBF8
- add r0, r7, #0x0
- bl MOD05_021D99F8
- add r0, r7, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205EC18
-FUN_0205EC18: ; 0x0205EC18
- push {r3-r7, lr}
- mov r7, #0x1
- mov r6, #0x59
- str r0, [sp, #0x0]
- mov r4, #0x0
- add r5, r0, #0x0
- lsl r7, r7, #0xc
- lsl r6, r6, #0x2
-_0205EC28:
- ldr r0, [r5, r6]
- cmp r0, #0x0
- beq _0205EC36
- ldr r0, [r0, #0x0]
- add r1, r7, #0x0
- bl FUN_020201E4
-_0205EC36:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x2
- blt _0205EC28
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_0201FDEC
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205EC48
-FUN_0205EC48: ; 0x0205EC48
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r4, r1, #0x0
- add r6, r3, #0x0
- bl FUN_0200C714
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200C714
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0205EC6C
-FUN_0205EC6C: ; 0x0205EC6C
- push {r3, lr}
- cmp r1, #0x2
- bhs _0205EC82
- lsl r1, r1, #0x2
- add r1, r0, r1
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add r1, r2, #0x0
- bl FUN_0200C644
-_0205EC82:
- pop {r3, pc}
-
- thumb_func_start FUN_0205EC84
-FUN_0205EC84: ; 0x0205EC84
- ldr r3, _0205EC88 ; =FUN_020462E4
- bx r3
- .balign 4
-_0205EC88: .word FUN_020462E4
-
- thumb_func_start FUN_0205EC8C
-FUN_0205EC8C: ; 0x0205EC8C
- ldr r3, _0205EC90 ; =FUN_0204630C
- bx r3
- .balign 4
-_0205EC90: .word FUN_0204630C
-
- thumb_func_start FUN_0205EC94
-FUN_0205EC94: ; 0x0205EC94
- ldr r3, _0205EC98 ; =FUN_020462B8
- bx r3
- .balign 4
-_0205EC98: .word FUN_020462B8
-
- thumb_func_start FUN_0205EC9C
-FUN_0205EC9C: ; 0x0205EC9C
- push {r3, lr}
- cmp r1, #0x0
- beq _0205ECB6
- cmp r1, #0x1
- beq _0205ECAC
- cmp r1, #0x2
- beq _0205ECC0
- b _0205ECCA
-_0205ECAC:
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205EC84
- b _0205ECCE
-_0205ECB6:
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205EC8C
- b _0205ECCE
-_0205ECC0:
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205EC94
- pop {r3, pc}
-_0205ECCA:
- bl ErrorHandling
-_0205ECCE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205ECD4
-FUN_0205ECD4: ; 0x0205ECD4
- ldr r3, _0205ECDC ; =FUN_0205EC84
- mov r1, #0x96
- lsl r1, r1, #0x4
- bx r3
- .balign 4
-_0205ECDC: .word FUN_0205EC84
-
- thumb_func_start FUN_0205ECE0
-FUN_0205ECE0: ; 0x0205ECE0
- ldr r3, _0205ECE8 ; =FUN_0205EC94
- mov r1, #0x96
- lsl r1, r1, #0x4
- bx r3
- .balign 4
-_0205ECE8: .word FUN_0205EC94
-
- thumb_func_start FUN_0205ECEC
-FUN_0205ECEC: ; 0x0205ECEC
- ldr r3, _0205ECF4 ; =FUN_0205EC94
- ldr r1, _0205ECF8 ; =0x0000098D
- bx r3
- nop
-_0205ECF4: .word FUN_0205EC94
-_0205ECF8: .word 0x0000098D
-
- thumb_func_start FUN_0205ECFC
-FUN_0205ECFC: ; 0x0205ECFC
- ldr r3, _0205ED04 ; =FUN_0205EC84
- ldr r1, _0205ED08 ; =0x00000964
- bx r3
- nop
-_0205ED04: .word FUN_0205EC84
-_0205ED08: .word 0x00000964
-
- thumb_func_start FUN_0205ED0C
-FUN_0205ED0C: ; 0x0205ED0C
- ldr r3, _0205ED14 ; =FUN_0205EC94
- ldr r1, _0205ED18 ; =0x00000964
- bx r3
- nop
-_0205ED14: .word FUN_0205EC94
-_0205ED18: .word 0x00000964
-
- thumb_func_start FUN_0205ED1C
-FUN_0205ED1C: ; 0x0205ED1C
- ldr r3, _0205ED24 ; =FUN_0205EC84
- ldr r1, _0205ED28 ; =0x00000961
- bx r3
- nop
-_0205ED24: .word FUN_0205EC84
-_0205ED28: .word 0x00000961
-
- thumb_func_start FUN_0205ED2C
-FUN_0205ED2C: ; 0x0205ED2C
- ldr r3, _0205ED34 ; =FUN_0205EC8C
- ldr r1, _0205ED38 ; =0x00000961
- bx r3
- nop
-_0205ED34: .word FUN_0205EC8C
-_0205ED38: .word 0x00000961
-
- thumb_func_start FUN_0205ED3C
-FUN_0205ED3C: ; 0x0205ED3C
- ldr r3, _0205ED44 ; =FUN_0205EC94
- ldr r1, _0205ED48 ; =0x00000961
- bx r3
- nop
-_0205ED44: .word FUN_0205EC94
-_0205ED48: .word 0x00000961
-
- thumb_func_start FUN_0205ED4C
-FUN_0205ED4C: ; 0x0205ED4C
- ldr r3, _0205ED54 ; =FUN_0205EC84
- ldr r1, _0205ED58 ; =0x00000965
- bx r3
- nop
-_0205ED54: .word FUN_0205EC84
-_0205ED58: .word 0x00000965
-
- thumb_func_start FUN_0205ED5C
-FUN_0205ED5C: ; 0x0205ED5C
- ldr r3, _0205ED64 ; =FUN_0205EC8C
- ldr r1, _0205ED68 ; =0x00000965
- bx r3
- nop
-_0205ED64: .word FUN_0205EC8C
-_0205ED68: .word 0x00000965
-
- thumb_func_start FUN_0205ED6C
-FUN_0205ED6C: ; 0x0205ED6C
- ldr r3, _0205ED74 ; =FUN_0205EC94
- ldr r1, _0205ED78 ; =0x00000965
- bx r3
- nop
-_0205ED74: .word FUN_0205EC94
-_0205ED78: .word 0x00000965
-
- thumb_func_start FUN_0205ED7C
-FUN_0205ED7C: ; 0x0205ED7C
- ldr r3, _0205ED84 ; =FUN_0205EC84
- ldr r1, _0205ED88 ; =0x0000096D
- bx r3
- nop
-_0205ED84: .word FUN_0205EC84
-_0205ED88: .word 0x0000096D
-
- thumb_func_start FUN_0205ED8C
-FUN_0205ED8C: ; 0x0205ED8C
- ldr r3, _0205ED94 ; =FUN_0205EC8C
- ldr r1, _0205ED98 ; =0x0000096D
- bx r3
- nop
-_0205ED94: .word FUN_0205EC8C
-_0205ED98: .word 0x0000096D
-
- thumb_func_start FUN_0205ED9C
-FUN_0205ED9C: ; 0x0205ED9C
- ldr r3, _0205EDA4 ; =FUN_0205EC94
- ldr r1, _0205EDA8 ; =0x0000096D
- bx r3
- nop
-_0205EDA4: .word FUN_0205EC94
-_0205EDA8: .word 0x0000096D
-
- thumb_func_start FUN_0205EDAC
-FUN_0205EDAC: ; 0x0205EDAC
- ldr r3, _0205EDB4 ; =FUN_0205EC84
- ldr r1, _0205EDB8 ; =0x0000096E
- bx r3
- nop
-_0205EDB4: .word FUN_0205EC84
-_0205EDB8: .word 0x0000096E
-
- thumb_func_start FUN_0205EDBC
-FUN_0205EDBC: ; 0x0205EDBC
- ldr r3, _0205EDC4 ; =FUN_0205EC84
- ldr r1, _0205EDC8 ; =0x0000096F
- bx r3
- nop
-_0205EDC4: .word FUN_0205EC84
-_0205EDC8: .word 0x0000096F
-
- thumb_func_start FUN_0205EDCC
-FUN_0205EDCC: ; 0x0205EDCC
- ldr r3, _0205EDD4 ; =FUN_0205EC84
- mov r1, #0x97
- lsl r1, r1, #0x4
- bx r3
- .balign 4
-_0205EDD4: .word FUN_0205EC84
-
- thumb_func_start FUN_0205EDD8
-FUN_0205EDD8: ; 0x0205EDD8
- ldr r3, _0205EDE0 ; =FUN_0205EC84
- ldr r1, _0205EDE4 ; =0x00000971
- bx r3
- nop
-_0205EDE0: .word FUN_0205EC84
-_0205EDE4: .word 0x00000971
-
- thumb_func_start FUN_0205EDE8
-FUN_0205EDE8: ; 0x0205EDE8
- ldr r3, _0205EDF0 ; =FUN_0205EC84
- ldr r1, _0205EDF4 ; =0x00000972
- bx r3
- nop
-_0205EDF0: .word FUN_0205EC84
-_0205EDF4: .word 0x00000972
-
- thumb_func_start FUN_0205EDF8
-FUN_0205EDF8: ; 0x0205EDF8
- ldr r3, _0205EE00 ; =FUN_0205EC84
- ldr r1, _0205EE04 ; =0x00000973
- bx r3
- nop
-_0205EE00: .word FUN_0205EC84
-_0205EE04: .word 0x00000973
-
- thumb_func_start FUN_0205EE08
-FUN_0205EE08: ; 0x0205EE08
- push {r3, lr}
- cmp r1, #0x4
- bhi _0205EE4A
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205EE1A: ; jump table (using 16-bit offset)
- .short _0205EE24 - _0205EE1A - 2; case 0
- .short _0205EE2C - _0205EE1A - 2; case 1
- .short _0205EE34 - _0205EE1A - 2; case 2
- .short _0205EE3C - _0205EE1A - 2; case 3
- .short _0205EE44 - _0205EE1A - 2; case 4
-_0205EE24:
- ldr r1, _0205EE4C ; =0x00000968
- bl FUN_0205EC84
- pop {r3, pc}
-_0205EE2C:
- ldr r1, _0205EE50 ; =0x00000969
- bl FUN_0205EC84
- pop {r3, pc}
-_0205EE34:
- ldr r1, _0205EE54 ; =0x0000096A
- bl FUN_0205EC84
- pop {r3, pc}
-_0205EE3C:
- ldr r1, _0205EE58 ; =0x0000096B
- bl FUN_0205EC84
- pop {r3, pc}
-_0205EE44:
- ldr r1, _0205EE5C ; =0x0000096C
- bl FUN_0205EC84
-_0205EE4A:
- pop {r3, pc}
- .balign 4
-_0205EE4C: .word 0x00000968
-_0205EE50: .word 0x00000969
-_0205EE54: .word 0x0000096A
-_0205EE58: .word 0x0000096B
-_0205EE5C: .word 0x0000096C
-
- thumb_func_start FUN_0205EE60
-FUN_0205EE60: ; 0x0205EE60
- push {r3, lr}
- cmp r1, #0x4
- bhi _0205EEA2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205EE72: ; jump table (using 16-bit offset)
- .short _0205EE7C - _0205EE72 - 2; case 0
- .short _0205EE84 - _0205EE72 - 2; case 1
- .short _0205EE8C - _0205EE72 - 2; case 2
- .short _0205EE94 - _0205EE72 - 2; case 3
- .short _0205EE9C - _0205EE72 - 2; case 4
-_0205EE7C:
- ldr r1, _0205EEA4 ; =0x00000968
- bl FUN_0205EC94
- pop {r3, pc}
-_0205EE84:
- ldr r1, _0205EEA8 ; =0x00000969
- bl FUN_0205EC94
- pop {r3, pc}
-_0205EE8C:
- ldr r1, _0205EEAC ; =0x0000096A
- bl FUN_0205EC94
- pop {r3, pc}
-_0205EE94:
- ldr r1, _0205EEB0 ; =0x0000096B
- bl FUN_0205EC94
- pop {r3, pc}
-_0205EE9C:
- ldr r1, _0205EEB4 ; =0x0000096C
- bl FUN_0205EC94
-_0205EEA2:
- pop {r3, pc}
- .balign 4
-_0205EEA4: .word 0x00000968
-_0205EEA8: .word 0x00000969
-_0205EEAC: .word 0x0000096A
-_0205EEB0: .word 0x0000096B
-_0205EEB4: .word 0x0000096C
-
- thumb_func_start FUN_0205EEB8
-FUN_0205EEB8: ; 0x0205EEB8
- push {r3, lr}
- mov r2, #0x0
- cmp r1, #0x5
- bhi _0205EF0A
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205EECC: ; jump table (using 16-bit offset)
- .short _0205EF0A - _0205EECC - 2; case 0
- .short _0205EED8 - _0205EECC - 2; case 1
- .short _0205EEE2 - _0205EECC - 2; case 2
- .short _0205EEEE - _0205EECC - 2; case 3
- .short _0205EEF8 - _0205EECC - 2; case 4
- .short _0205EF02 - _0205EECC - 2; case 5
-_0205EED8:
- ldr r1, _0205EF10 ; =0x0000097F
- bl FUN_0205EC94
- add r2, r0, #0x0
- b _0205EF0A
-_0205EEE2:
- mov r1, #0x26
- lsl r1, r1, #0x6
- bl FUN_0205EC94
- add r2, r0, #0x0
- b _0205EF0A
-_0205EEEE:
- ldr r1, _0205EF14 ; =0x00000981
- bl FUN_0205EC94
- add r2, r0, #0x0
- b _0205EF0A
-_0205EEF8:
- ldr r1, _0205EF18 ; =0x00000982
- bl FUN_0205EC94
- add r2, r0, #0x0
- b _0205EF0A
-_0205EF02:
- ldr r1, _0205EF1C ; =0x00000983
- bl FUN_0205EC94
- add r2, r0, #0x0
-_0205EF0A:
- add r0, r2, #0x0
- pop {r3, pc}
- nop
-_0205EF10: .word 0x0000097F
-_0205EF14: .word 0x00000981
-_0205EF18: .word 0x00000982
-_0205EF1C: .word 0x00000983
-
- thumb_func_start FUN_0205EF20
-FUN_0205EF20: ; 0x0205EF20
- push {r4-r6, lr}
- add r4, r1, #0x0
- ldr r1, _0205F0E4 ; =0x00000132
- add r6, r0, #0x0
- mov r5, #0x0
- cmp r4, r1
- bgt _0205EF7E
- blt _0205EF32
- b _0205F036
-_0205EF32:
- cmp r4, #0xc9
- bgt _0205EF60
- blt _0205EF3A
- b _0205F084
-_0205EF3A:
- cmp r4, #0x4b
- bgt _0205EF58
- add r1, r4, #0x0
- sub r1, #0x48
- bmi _0205EF5E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205EF50: ; jump table (using 16-bit offset)
- .short _0205F06A - _0205EF50 - 2; case 0
- .short _0205F06A - _0205EF50 - 2; case 1
- .short _0205F06A - _0205EF50 - 2; case 2
- .short _0205F06A - _0205EF50 - 2; case 3
-_0205EF58:
- cmp r4, #0xb9
- bne _0205EF5E
- b _0205F0D2
-_0205EF5E:
- b _0205F0E0
-_0205EF60:
- add r2, r1, #0x0
- sub r2, #0x32
- cmp r4, r2
- bgt _0205EF76
- sub r1, #0x32
- cmp r4, r1
- blt _0205EF70
- b _0205F09E
-_0205EF70:
- cmp r4, #0xfb
- beq _0205F018
- b _0205F0E0
-_0205EF76:
- sub r0, r1, #0x1
- cmp r4, r0
- beq _0205F036
- b _0205F0E0
-_0205EF7E:
- add r2, r1, #0x0
- add r2, #0x5d
- cmp r4, r2
- bgt _0205EFC8
- add r2, r1, #0x0
- add r2, #0x5d
- cmp r4, r2
- blt _0205EF90
- b _0205F0B8
-_0205EF90:
- add r2, r1, #0x1
- cmp r4, r2
- bgt _0205EF9E
- add r0, r2, #0x0
- cmp r4, r0
- beq _0205F036
- b _0205F0E0
-_0205EF9E:
- add r1, r1, #0x2
- sub r1, r4, r1
- cmp r1, #0xa
- bhi _0205EFD6
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205EFB2: ; jump table (using 16-bit offset)
- .short _0205F036 - _0205EFB2 - 2; case 0
- .short _0205F036 - _0205EFB2 - 2; case 1
- .short _0205F036 - _0205EFB2 - 2; case 2
- .short _0205F0E0 - _0205EFB2 - 2; case 3
- .short _0205EFFC - _0205EFB2 - 2; case 4
- .short _0205F0E0 - _0205EFB2 - 2; case 5
- .short _0205EFE0 - _0205EFB2 - 2; case 6
- .short _0205F0E0 - _0205EFB2 - 2; case 7
- .short _0205EFEE - _0205EFB2 - 2; case 8
- .short _0205F0E0 - _0205EFB2 - 2; case 9
- .short _0205F00A - _0205EFB2 - 2; case 10
-_0205EFC8:
- ldr r0, _0205F0E8 ; =0x000001EE
- cmp r4, r0
- bgt _0205EFD8
- bge _0205F036
- sub r0, #0x48
- cmp r4, r0
- beq _0205F026
-_0205EFD6:
- b _0205F0E0
-_0205EFD8:
- add r0, r0, #0x3
- cmp r4, r0
- beq _0205F036
- b _0205F0E0
-_0205EFE0:
- ldr r1, _0205F0EC ; =0x00000984
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F0F0 ; =0x0000042E
- b _0205F0E0
-_0205EFEE:
- ldr r1, _0205F0EC ; =0x00000984
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F0F4 ; =0x00000429
- b _0205F0E0
-_0205EFFC:
- ldr r1, _0205F0F8 ; =0x0000098E
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F0F0 ; =0x0000042E
- b _0205F0E0
-_0205F00A:
- ldr r1, _0205F0FC ; =0x0000098F
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F0F0 ; =0x0000042E
- b _0205F0E0
-_0205F018:
- ldr r1, _0205F100 ; =0x00000995
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F104 ; =0x0000042D
- b _0205F0E0
-_0205F026:
- ldr r1, _0205F108 ; =0x00000993
- add r0, r6, #0x0
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F10C ; =0x0000044A
- b _0205F0E0
-_0205F036:
- ldr r1, _0205F110 ; =0x00000985
- add r0, r6, #0x0
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F054
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0205F050
- mov r5, #0xfe
- lsl r5, r5, #0x2
- b _0205F0E0
-_0205F050:
- ldr r5, _0205F114 ; =0x00000415
- b _0205F0E0
-_0205F054:
- ldr r0, _0205F118 ; =0x00000131
- cmp r4, r0
- bne _0205F0E0
- ldr r1, _0205F11C ; =0x00000986
- add r0, r6, #0x0
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F120 ; =0x0000042B
- b _0205F0E0
-_0205F06A:
- ldr r1, _0205F124 ; =0x00000987
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0205F080
- ldr r5, _0205F128 ; =0x000003F5
- b _0205F0E0
-_0205F080:
- ldr r5, _0205F12C ; =0x00000412
- b _0205F0E0
-_0205F084:
- ldr r1, _0205F130 ; =0x00000988
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0205F09A
- ldr r5, _0205F134 ; =0x000003FF
- b _0205F0E0
-_0205F09A:
- ldr r5, _0205F138 ; =0x0000041C
- b _0205F0E0
-_0205F09E:
- ldr r1, _0205F13C ; =0x00000989
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0205F0B4
- ldr r5, _0205F140 ; =0x000003EE
- b _0205F0E0
-_0205F0B4:
- ldr r5, _0205F144 ; =0x0000040B
- b _0205F0E0
-_0205F0B8:
- ldr r1, _0205F148 ; =0x0000098A
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0205F0CE
- ldr r5, _0205F140 ; =0x000003EE
- b _0205F0E0
-_0205F0CE:
- ldr r5, _0205F144 ; =0x0000040B
- b _0205F0E0
-_0205F0D2:
- ldr r1, _0205F14C ; =0x0000098B
- add r0, r6, #0x0
- bl FUN_0205EC94
- cmp r0, #0x1
- bne _0205F0E0
- ldr r5, _0205F150 ; =0x000003E9
-_0205F0E0:
- add r0, r5, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0205F0E4: .word 0x00000132
-_0205F0E8: .word 0x000001EE
-_0205F0EC: .word 0x00000984
-_0205F0F0: .word 0x0000042E
-_0205F0F4: .word 0x00000429
-_0205F0F8: .word 0x0000098E
-_0205F0FC: .word 0x0000098F
-_0205F100: .word 0x00000995
-_0205F104: .word 0x0000042D
-_0205F108: .word 0x00000993
-_0205F10C: .word 0x0000044A
-_0205F110: .word 0x00000985
-_0205F114: .word 0x00000415
-_0205F118: .word 0x00000131
-_0205F11C: .word 0x00000986
-_0205F120: .word 0x0000042B
-_0205F124: .word 0x00000987
-_0205F128: .word 0x000003F5
-_0205F12C: .word 0x00000412
-_0205F130: .word 0x00000988
-_0205F134: .word 0x000003FF
-_0205F138: .word 0x0000041C
-_0205F13C: .word 0x00000989
-_0205F140: .word 0x000003EE
-_0205F144: .word 0x0000040B
-_0205F148: .word 0x0000098A
-_0205F14C: .word 0x0000098B
-_0205F150: .word 0x000003E9
-
- thumb_func_start FUN_0205F154
-FUN_0205F154: ; 0x0205F154
- ldr r3, _0205F15C ; =FUN_0205EC84
- ldr r1, _0205F160 ; =0x00000966
- bx r3
- nop
-_0205F15C: .word FUN_0205EC84
-_0205F160: .word 0x00000966
-
- thumb_func_start FUN_0205F164
-FUN_0205F164: ; 0x0205F164
- ldr r3, _0205F16C ; =FUN_0205EC8C
- ldr r1, _0205F170 ; =0x00000966
- bx r3
- nop
-_0205F16C: .word FUN_0205EC8C
-_0205F170: .word 0x00000966
-
- thumb_func_start FUN_0205F174
-FUN_0205F174: ; 0x0205F174
- ldr r3, _0205F17C ; =FUN_0205EC94
- ldr r1, _0205F180 ; =0x00000966
- bx r3
- nop
-_0205F17C: .word FUN_0205EC94
-_0205F180: .word 0x00000966
-
- thumb_func_start FUN_0205F184
-FUN_0205F184: ; 0x0205F184
- ldr r3, _0205F18C ; =FUN_0205EC94
- ldr r1, _0205F190 ; =0x00000978
- bx r3
- nop
-_0205F18C: .word FUN_0205EC94
-_0205F190: .word 0x00000978
-
- thumb_func_start FUN_0205F194
-FUN_0205F194: ; 0x0205F194
- ldr r3, _0205F19C ; =FUN_0205EC94
- ldr r1, _0205F1A0 ; =0x00000992
- bx r3
- nop
-_0205F19C: .word FUN_0205EC94
-_0205F1A0: .word 0x00000992
-
- thumb_func_start FUN_0205F1A4
-FUN_0205F1A4: ; 0x0205F1A4
- ldr r3, _0205F1AC ; =FUN_0205EC94
- ldr r1, _0205F1B0 ; =0x0000097D
- bx r3
- nop
-_0205F1AC: .word FUN_0205EC94
-_0205F1B0: .word 0x0000097D
-
- thumb_func_start FUN_0205F1B4
-FUN_0205F1B4: ; 0x0205F1B4
- ldr r3, _0205F1BC ; =FUN_0205EC94
- ldr r1, _0205F1C0 ; =0x0000097E
- bx r3
- nop
-_0205F1BC: .word FUN_0205EC94
-_0205F1C0: .word 0x0000097E
-
- thumb_func_start FUN_0205F1C4
-FUN_0205F1C4: ; 0x0205F1C4
- ldr r3, _0205F1CC ; =FUN_0205EC84
- ldr r1, _0205F1D0 ; =0x0000097C
- bx r3
- nop
-_0205F1CC: .word FUN_0205EC84
-_0205F1D0: .word 0x0000097C
-
- thumb_func_start FUN_0205F1D4
-FUN_0205F1D4: ; 0x0205F1D4
- ldr r3, _0205F1DC ; =FUN_0205EC8C
- ldr r1, _0205F1E0 ; =0x0000097C
- bx r3
- nop
-_0205F1DC: .word FUN_0205EC8C
-_0205F1E0: .word 0x0000097C
-
- thumb_func_start FUN_0205F1E4
-FUN_0205F1E4: ; 0x0205F1E4
- ldr r3, _0205F1EC ; =FUN_0205EC94
- ldr r1, _0205F1F0 ; =0x0000097C
- bx r3
- nop
-_0205F1EC: .word FUN_0205EC94
-_0205F1F0: .word 0x0000097C
-
- thumb_func_start FUN_0205F1F4
-FUN_0205F1F4: ; 0x0205F1F4
- ldr r3, _0205F1FC ; =FUN_0205EC84
- ldr r1, _0205F200 ; =0x00000967
- bx r3
- nop
-_0205F1FC: .word FUN_0205EC84
-_0205F200: .word 0x00000967
-
- thumb_func_start FUN_0205F204
-FUN_0205F204: ; 0x0205F204
- ldr r3, _0205F20C ; =FUN_0205EC8C
- ldr r1, _0205F210 ; =0x00000967
- bx r3
- nop
-_0205F20C: .word FUN_0205EC8C
-_0205F210: .word 0x00000967
-
- thumb_func_start FUN_0205F214
-FUN_0205F214: ; 0x0205F214
- ldr r3, _0205F21C ; =FUN_0205EC94
- ldr r1, _0205F220 ; =0x00000967
- bx r3
- nop
-_0205F21C: .word FUN_0205EC94
-_0205F220: .word 0x00000967
-
- thumb_func_start FUN_0205F224
-FUN_0205F224: ; 0x0205F224
- ldr r3, _0205F22C ; =FUN_0205EC84
- ldr r1, _0205F230 ; =0x00000979
- bx r3
- nop
-_0205F22C: .word FUN_0205EC84
-_0205F230: .word 0x00000979
-
- thumb_func_start FUN_0205F234
-FUN_0205F234: ; 0x0205F234
- ldr r3, _0205F23C ; =FUN_0205EC8C
- ldr r1, _0205F240 ; =0x00000979
- bx r3
- nop
-_0205F23C: .word FUN_0205EC8C
-_0205F240: .word 0x00000979
-
- thumb_func_start FUN_0205F244
-FUN_0205F244: ; 0x0205F244
- ldr r3, _0205F24C ; =FUN_0205EC94
- ldr r1, _0205F250 ; =0x00000979
- bx r3
- nop
-_0205F24C: .word FUN_0205EC94
-_0205F250: .word 0x00000979
-
- thumb_func_start FUN_0205F254
-FUN_0205F254: ; 0x0205F254
- ldr r3, _0205F25C ; =FUN_0205EC8C
- ldr r1, _0205F260 ; =0x00000994
- bx r3
- nop
-_0205F25C: .word FUN_0205EC8C
-_0205F260: .word 0x00000994
-
- thumb_func_start FUN_0205F264
-FUN_0205F264: ; 0x0205F264
- ldr r3, _0205F26C ; =FUN_0205EC9C
- ldr r2, _0205F270 ; =0x00000962
- bx r3
- nop
-_0205F26C: .word FUN_0205EC9C
-_0205F270: .word 0x00000962
-
- thumb_func_start FUN_0205F274
-FUN_0205F274: ; 0x0205F274
- ldr r3, _0205F27C ; =FUN_0205EC84
- ldr r1, _0205F280 ; =0x0000097A
- bx r3
- nop
-_0205F27C: .word FUN_0205EC84
-_0205F280: .word 0x0000097A
-
- thumb_func_start FUN_0205F284
-FUN_0205F284: ; 0x0205F284
- ldr r3, _0205F28C ; =FUN_0205EC8C
- ldr r1, _0205F290 ; =0x0000097A
- bx r3
- nop
-_0205F28C: .word FUN_0205EC8C
-_0205F290: .word 0x0000097A
-
- thumb_func_start FUN_0205F294
-FUN_0205F294: ; 0x0205F294
- ldr r3, _0205F29C ; =FUN_0205EC94
- ldr r1, _0205F2A0 ; =0x0000097A
- bx r3
- nop
-_0205F29C: .word FUN_0205EC94
-_0205F2A0: .word 0x0000097A
-
- thumb_func_start FUN_0205F2A4
-FUN_0205F2A4: ; 0x0205F2A4
- ldr r3, _0205F2AC ; =FUN_0205EC84
- ldr r1, _0205F2B0 ; =0x0000097B
- bx r3
- nop
-_0205F2AC: .word FUN_0205EC84
-_0205F2B0: .word 0x0000097B
-
- thumb_func_start FUN_0205F2B4
-FUN_0205F2B4: ; 0x0205F2B4
- ldr r3, _0205F2BC ; =FUN_0205EC8C
- ldr r1, _0205F2C0 ; =0x0000097B
- bx r3
- nop
-_0205F2BC: .word FUN_0205EC8C
-_0205F2C0: .word 0x0000097B
-
- thumb_func_start FUN_0205F2C4
-FUN_0205F2C4: ; 0x0205F2C4
- ldr r3, _0205F2CC ; =FUN_0205EC94
- ldr r1, _0205F2D0 ; =0x0000097B
- bx r3
- nop
-_0205F2CC: .word FUN_0205EC94
-_0205F2D0: .word 0x0000097B
-
- thumb_func_start FUN_0205F2D4
-FUN_0205F2D4: ; 0x0205F2D4
- ldr r3, _0205F2DC ; =FUN_0205EC9C
- ldr r2, _0205F2E0 ; =0x00000963
- bx r3
- nop
-_0205F2DC: .word FUN_0205EC9C
-_0205F2E0: .word 0x00000963
-
- thumb_func_start FUN_0205F2E4
-FUN_0205F2E4: ; 0x0205F2E4
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x45
- blo _0205F2F4
- bl ErrorHandling
-_0205F2F4:
- mov r2, #0x9b
- lsl r2, r2, #0x4
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, r2
- bl FUN_0205EC9C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0205F304
-FUN_0205F304: ; 0x0205F304
- ldr r3, _0205F30C ; =FUN_0205EC84
- ldr r1, _0205F310 ; =0x0000098C
- bx r3
- nop
-_0205F30C: .word FUN_0205EC84
-_0205F310: .word 0x0000098C
-
- thumb_func_start FUN_0205F314
-FUN_0205F314: ; 0x0205F314
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02046380
- mov r1, #0x1
- lsl r1, r1, #0xe
- cmp r5, r1
- blo _0205F32C
- lsl r1, r1, #0x1
- cmp r5, r1
- bls _0205F334
-_0205F32C:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205F334:
- cmp r0, #0x0
- bne _0205F33C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0205F33C:
- strh r4, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205F344
-FUN_0205F344: ; 0x0205F344
- push {r3, lr}
- bl FUN_02046380
- cmp r0, #0x0
- bne _0205F352
- mov r0, #0x0
- pop {r3, pc}
-_0205F352:
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205F358
-FUN_0205F358: ; 0x0205F358
- ldr r3, _0205F360 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F364 ; =0x0000403F
- bx r3
- .balign 4
-_0205F360: .word FUN_0205F314
-_0205F364: .word 0x0000403F
-
- thumb_func_start FUN_0205F368
-FUN_0205F368: ; 0x0205F368
- ldr r3, _0205F370 ; =FUN_0205F344
- ldr r1, _0205F374 ; =0x0000403F
- bx r3
- nop
-_0205F370: .word FUN_0205F344
-_0205F374: .word 0x0000403F
-
- thumb_func_start FUN_0205F378
-FUN_0205F378: ; 0x0205F378
- ldr r3, _0205F380 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F384 ; =0x00004030
- bx r3
- .balign 4
-_0205F380: .word FUN_0205F314
-_0205F384: .word 0x00004030
-
- thumb_func_start FUN_0205F388
-FUN_0205F388: ; 0x0205F388
- ldr r3, _0205F390 ; =FUN_0205F344
- ldr r1, _0205F394 ; =0x00004030
- bx r3
- nop
-_0205F390: .word FUN_0205F344
-_0205F394: .word 0x00004030
-
- thumb_func_start FUN_0205F398
-FUN_0205F398: ; 0x0205F398
- push {r3, lr}
- ldr r1, _0205F3B8 ; =0x00004030
- bl FUN_0205F344
- ldr r2, _0205F3BC ; =0x00000183
- cmp r0, r2
- bne _0205F3AA
- add r2, r2, #0x3
- b _0205F3B2
-_0205F3AA:
- add r1, r2, #0x3
- cmp r0, r1
- bne _0205F3B2
- add r2, r2, #0x6
-_0205F3B2:
- add r0, r2, #0x0
- pop {r3, pc}
- nop
-_0205F3B8: .word 0x00004030
-_0205F3BC: .word 0x00000183
-
- thumb_func_start FUN_0205F3C0
-FUN_0205F3C0: ; 0x0205F3C0
- push {r3, lr}
- ldr r1, _0205F3E0 ; =0x00004030
- bl FUN_0205F344
- ldr r2, _0205F3E4 ; =0x00000183
- cmp r0, r2
- bne _0205F3D2
- add r2, r2, #0x6
- b _0205F3DA
-_0205F3D2:
- add r1, r2, #0x3
- cmp r0, r1
- beq _0205F3DA
- add r2, r2, #0x3
-_0205F3DA:
- add r0, r2, #0x0
- pop {r3, pc}
- nop
-_0205F3E0: .word 0x00004030
-_0205F3E4: .word 0x00000183
-
- thumb_func_start FUN_0205F3E8
-FUN_0205F3E8: ; 0x0205F3E8
- ldr r3, _0205F3F0 ; =FUN_0205F344
- ldr r1, _0205F3F4 ; =0x00004035
- bx r3
- nop
-_0205F3F0: .word FUN_0205F344
-_0205F3F4: .word 0x00004035
-
- thumb_func_start FUN_0205F3F8
-FUN_0205F3F8: ; 0x0205F3F8
- ldr r3, _0205F400 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F404 ; =0x00004035
- bx r3
- .balign 4
-_0205F400: .word FUN_0205F314
-_0205F404: .word 0x00004035
-
- thumb_func_start FUN_0205F408
-FUN_0205F408: ; 0x0205F408
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0205ED8C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205F44C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205F41C
-FUN_0205F41C: ; 0x0205F41C
- ldr r3, _0205F424 ; =FUN_0205F344
- ldr r1, _0205F428 ; =0x00004033
- bx r3
- nop
-_0205F424: .word FUN_0205F344
-_0205F428: .word 0x00004033
-
- thumb_func_start FUN_0205F42C
-FUN_0205F42C: ; 0x0205F42C
- ldr r3, _0205F434 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F438 ; =0x00004033
- bx r3
- .balign 4
-_0205F434: .word FUN_0205F314
-_0205F438: .word 0x00004033
-
- thumb_func_start FUN_0205F43C
-FUN_0205F43C: ; 0x0205F43C
- ldr r3, _0205F444 ; =FUN_0205F344
- ldr r1, _0205F448 ; =0x00004034
- bx r3
- nop
-_0205F444: .word FUN_0205F344
-_0205F448: .word 0x00004034
-
- thumb_func_start FUN_0205F44C
-FUN_0205F44C: ; 0x0205F44C
- ldr r3, _0205F454 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F458 ; =0x00004034
- bx r3
- .balign 4
-_0205F454: .word FUN_0205F314
-_0205F458: .word 0x00004034
-
- thumb_func_start FUN_0205F45C
-FUN_0205F45C: ; 0x0205F45C
- push {r4, lr}
- add r4, r0, #0x0
- bmi _0205F466
- cmp r4, #0x3
- blo _0205F46A
-_0205F466:
- bl ErrorHandling
-_0205F46A:
- ldr r0, _0205F474 ; =0x020F7430
- lsl r1, r4, #0x1
- ldrh r0, [r0, r1]
- pop {r4, pc}
- nop
-_0205F474: .word 0x020F7430
-
- thumb_func_start FUN_0205F478
-FUN_0205F478: ; 0x0205F478
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F45C
- add r2, r0, #0x0
- ldr r1, _0205F49C ; =0x00004043
- lsl r2, r2, #0x10
- add r1, r4, r1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- bl FUN_0205F314
- pop {r3-r5, pc}
- nop
-_0205F49C: .word 0x00004043
-
- thumb_func_start FUN_0205F4A0
-FUN_0205F4A0: ; 0x0205F4A0
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, _0205F4C4 ; =0x00004043
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205F344
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F45C
- cmp r5, r0
- bne _0205F4C0
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205F4C0:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0205F4C4: .word 0x00004043
-
- thumb_func_start FUN_0205F4C8
-FUN_0205F4C8: ; 0x0205F4C8
- push {r4, lr}
- add r4, r0, #0x0
- bmi _0205F4D2
- cmp r4, #0x4
- blt _0205F4D6
-_0205F4D2:
- bl ErrorHandling
-_0205F4D6:
- ldr r0, _0205F4E0 ; =0x020F7436
- lsl r1, r4, #0x1
- ldrh r0, [r0, r1]
- pop {r4, pc}
- nop
-_0205F4E0: .word 0x020F7436
-
- thumb_func_start FUN_0205F4E4
-FUN_0205F4E4: ; 0x0205F4E4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F4C8
- add r2, r0, #0x0
- ldr r1, _0205F508 ; =0x00004036
- lsl r2, r2, #0x10
- add r1, r4, r1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- bl FUN_0205F314
- pop {r3-r5, pc}
- nop
-_0205F508: .word 0x00004036
-
- thumb_func_start FUN_0205F50C
-FUN_0205F50C: ; 0x0205F50C
- ldr r2, _0205F51C ; =0x00004036
- ldr r3, _0205F520 ; =FUN_0205F314
- add r1, r1, r2
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x0
- bx r3
- nop
-_0205F51C: .word 0x00004036
-_0205F520: .word FUN_0205F314
-
- thumb_func_start FUN_0205F524
-FUN_0205F524: ; 0x0205F524
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, _0205F548 ; =0x00004036
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205F344
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F4C8
- cmp r5, r0
- bne _0205F544
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205F544:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0205F548: .word 0x00004036
-
- thumb_func_start FUN_0205F54C
-FUN_0205F54C: ; 0x0205F54C
- ldr r3, _0205F554 ; =FUN_0205F314
- ldr r1, _0205F558 ; =0x0000403A
- mov r2, #0x0
- bx r3
- .balign 4
-_0205F554: .word FUN_0205F314
-_0205F558: .word 0x0000403A
-
- thumb_func_start FUN_0205F55C
-FUN_0205F55C: ; 0x0205F55C
- ldr r3, _0205F564 ; =FUN_0205F344
- ldr r1, _0205F568 ; =0x0000403A
- bx r3
- nop
-_0205F564: .word FUN_0205F344
-_0205F568: .word 0x0000403A
-
- thumb_func_start FUN_0205F56C
-FUN_0205F56C: ; 0x0205F56C
- push {r4, lr}
- ldr r1, _0205F58C ; =0x0000403A
- add r4, r0, #0x0
- bl FUN_0205F344
- ldr r2, _0205F590 ; =0x00002710
- cmp r0, r2
- bhs _0205F582
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
-_0205F582:
- ldr r1, _0205F58C ; =0x0000403A
- add r0, r4, #0x0
- bl FUN_0205F314
- pop {r4, pc}
- .balign 4
-_0205F58C: .word 0x0000403A
-_0205F590: .word 0x00002710
-
- thumb_func_start FUN_0205F594
-FUN_0205F594: ; 0x0205F594
- ldr r3, _0205F59C ; =FUN_0205F344
- ldr r1, _0205F5A0 ; =0x0000403B
- bx r3
- nop
-_0205F59C: .word FUN_0205F344
-_0205F5A0: .word 0x0000403B
-
- thumb_func_start FUN_0205F5A4
-FUN_0205F5A4: ; 0x0205F5A4
- ldr r3, _0205F5AC ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F5B0 ; =0x0000403B
- bx r3
- .balign 4
-_0205F5AC: .word FUN_0205F314
-_0205F5B0: .word 0x0000403B
-
- thumb_func_start FUN_0205F5B4
-FUN_0205F5B4: ; 0x0205F5B4
- push {r3-r5, lr}
- add r4, r1, #0x0
- lsl r2, r4, #0x10
- ldr r1, _0205F5D4 ; =0x0000403C
- lsr r2, r2, #0x10
- add r5, r0, #0x0
- bl FUN_0205F314
- lsr r2, r4, #0x10
- lsl r2, r2, #0x10
- ldr r1, _0205F5D4 ; =0x0000403C
- add r0, r5, #0x0
- lsr r2, r2, #0x10
- bl FUN_0205F314
- pop {r3-r5, pc}
- .balign 4
-_0205F5D4: .word 0x0000403C
-
- thumb_func_start FUN_0205F5D8
-FUN_0205F5D8: ; 0x0205F5D8
- push {r3-r5, lr}
- ldr r1, _0205F5F4 ; =0x0000403C
- add r5, r0, #0x0
- bl FUN_0205F344
- add r4, r0, #0x0
- ldr r1, _0205F5F8 ; =0x0000403D
- add r0, r5, #0x0
- bl FUN_0205F344
- lsl r0, r0, #0x10
- orr r0, r4
- pop {r3-r5, pc}
- nop
-_0205F5F4: .word 0x0000403C
-_0205F5F8: .word 0x0000403D
-
- thumb_func_start FUN_0205F5FC
-FUN_0205F5FC: ; 0x0205F5FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl rand_LC
- add r4, r0, #0x0
- bl rand_LC
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- orr r1, r4
- bl FUN_0205F5B4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205F618
-FUN_0205F618: ; 0x0205F618
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202881C
- bl FUN_020287A4
- add r2, r0, #0x0
- ldr r1, _0205F640 ; =0x41C64E6D
- add r0, r4, #0x0
- mul r2, r1
- ldr r1, _0205F644 ; =0x00003039
- add r1, r2, r1
- bl FUN_0205F5B4
- pop {r3-r5, pc}
- nop
-_0205F640: .word 0x41C64E6D
-_0205F644: .word 0x00003039
-
- thumb_func_start FUN_0205F648
-FUN_0205F648: ; 0x0205F648
- ldr r3, _0205F650 ; =FUN_0205F344
- ldr r1, _0205F654 ; =0x00004041
- bx r3
- nop
-_0205F650: .word FUN_0205F344
-_0205F654: .word 0x00004041
-
- thumb_func_start FUN_0205F658
-FUN_0205F658: ; 0x0205F658
- ldr r3, _0205F660 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F664 ; =0x00004041
- bx r3
- .balign 4
-_0205F660: .word FUN_0205F314
-_0205F664: .word 0x00004041
-
- thumb_func_start FUN_0205F668
-FUN_0205F668: ; 0x0205F668
- push {r4, lr}
- bl FUN_020462AC
- add r4, r0, #0x0
- bl rand_LC
- mov r1, #0x62
- bl _s32_div_f
- add r1, r1, #0x2
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F658
- pop {r4, pc}
-
- thumb_func_start FUN_0205F688
-FUN_0205F688: ; 0x0205F688
- ldr r3, _0205F690 ; =FUN_0205F344
- ldr r1, _0205F694 ; =0x0000403E
- bx r3
- nop
-_0205F690: .word FUN_0205F344
-_0205F694: .word 0x0000403E
-
- thumb_func_start FUN_0205F698
-FUN_0205F698: ; 0x0205F698
- ldr r3, _0205F6A0 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F6A4 ; =0x0000403E
- bx r3
- .balign 4
-_0205F6A0: .word FUN_0205F314
-_0205F6A4: .word 0x0000403E
-
- thumb_func_start FUN_0205F6A8
-FUN_0205F6A8: ; 0x0205F6A8
- ldr r3, _0205F6B0 ; =FUN_0205F344
- ldr r1, _0205F6B4 ; =0x00004049
- bx r3
- nop
-_0205F6B0: .word FUN_0205F344
-_0205F6B4: .word 0x00004049
-
- thumb_func_start FUN_0205F6B8
-FUN_0205F6B8: ; 0x0205F6B8
- ldr r3, _0205F6C0 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F6C4 ; =0x00004049
- bx r3
- .balign 4
-_0205F6C0: .word FUN_0205F314
-_0205F6C4: .word 0x00004049
-
- thumb_func_start FUN_0205F6C8
-FUN_0205F6C8: ; 0x0205F6C8
- ldr r3, _0205F6D0 ; =FUN_0205F344
- ldr r1, _0205F6D4 ; =0x00004040
- bx r3
- nop
-_0205F6D0: .word FUN_0205F344
-_0205F6D4: .word 0x00004040
-
- thumb_func_start FUN_0205F6D8
-FUN_0205F6D8: ; 0x0205F6D8
- ldr r3, _0205F6E0 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F6E4 ; =0x00004040
- bx r3
- .balign 4
-_0205F6E0: .word FUN_0205F314
-_0205F6E4: .word 0x00004040
-
- thumb_func_start FUN_0205F6E8
-FUN_0205F6E8: ; 0x0205F6E8
- push {r4, lr}
- ldr r1, _0205F708 ; =0x00004042
- add r4, r0, #0x0
- bl FUN_0205F344
- ldr r2, _0205F70C ; =0x00002710
- cmp r0, r2
- bhs _0205F6FE
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
-_0205F6FE:
- ldr r1, _0205F708 ; =0x00004042
- add r0, r4, #0x0
- bl FUN_0205F314
- pop {r4, pc}
- .balign 4
-_0205F708: .word 0x00004042
-_0205F70C: .word 0x00002710
-
- thumb_func_start FUN_0205F710
-FUN_0205F710: ; 0x0205F710
- ldr r3, _0205F718 ; =FUN_0205F344
- ldr r1, _0205F71C ; =0x00004042
- bx r3
- nop
-_0205F718: .word FUN_0205F344
-_0205F71C: .word 0x00004042
-
- thumb_func_start FUN_0205F720
-FUN_0205F720: ; 0x0205F720
- ldr r3, _0205F728 ; =FUN_0205F344
- ldr r1, _0205F72C ; =0x00004046
- bx r3
- nop
-_0205F728: .word FUN_0205F344
-_0205F72C: .word 0x00004046
-
- thumb_func_start FUN_0205F730
-FUN_0205F730: ; 0x0205F730
- ldr r3, _0205F738 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F73C ; =0x00004046
- bx r3
- .balign 4
-_0205F738: .word FUN_0205F314
-_0205F73C: .word 0x00004046
-
- thumb_func_start FUN_0205F740
-FUN_0205F740: ; 0x0205F740
- ldr r3, _0205F748 ; =FUN_0205F344
- ldr r1, _0205F74C ; =0x00004047
- bx r3
- nop
-_0205F748: .word FUN_0205F344
-_0205F74C: .word 0x00004047
-
- thumb_func_start FUN_0205F750
-FUN_0205F750: ; 0x0205F750
- ldr r3, _0205F758 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F75C ; =0x00004047
- bx r3
- .balign 4
-_0205F758: .word FUN_0205F314
-_0205F75C: .word 0x00004047
-
- thumb_func_start FUN_0205F760
-FUN_0205F760: ; 0x0205F760
- ldr r3, _0205F768 ; =FUN_0205F344
- ldr r1, _0205F76C ; =0x00004048
- bx r3
- nop
-_0205F768: .word FUN_0205F344
-_0205F76C: .word 0x00004048
-
- thumb_func_start FUN_0205F770
-FUN_0205F770: ; 0x0205F770
- ldr r3, _0205F778 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F77C ; =0x00004048
- bx r3
- .balign 4
-_0205F778: .word FUN_0205F314
-_0205F77C: .word 0x00004048
-
- thumb_func_start FUN_0205F780
-FUN_0205F780: ; 0x0205F780
- ldr r3, _0205F788 ; =FUN_0205F344
- ldr r1, _0205F78C ; =0x0000404A
- bx r3
- nop
-_0205F788: .word FUN_0205F344
-_0205F78C: .word 0x0000404A
-
- thumb_func_start FUN_0205F790
-FUN_0205F790: ; 0x0205F790
- ldr r3, _0205F798 ; =FUN_0205F314
- add r2, r1, #0x0
- ldr r1, _0205F79C ; =0x0000404A
- bx r3
- .balign 4
-_0205F798: .word FUN_0205F314
-_0205F79C: .word 0x0000404A
-
- thumb_func_start FUN_0205F7A0
-FUN_0205F7A0: ; 0x0205F7A0
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- bl FUN_020462AC
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DCC
- mov r2, #0x5
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x6
- bl memset
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- asr r1, r4, #0x4
- asr r2, r6, #0x4
- lsr r1, r1, #0x1b
- lsr r2, r2, #0x1b
- add r1, r4, r1
- add r2, r6, r2
- ldr r0, [r0, #0x28]
- asr r1, r1, #0x5
- asr r2, r2, #0x5
- bl FUN_0203451C
- bl FUN_02034908
- cmp r0, #0x0
- beq _0205F806
- str r4, [r5, #0x0]
- str r6, [r5, #0x4]
- b _0205F812
-_0205F806:
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0x8]
- str r0, [r5, #0x0]
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0xc]
- str r0, [r5, #0x4]
-_0205F812:
- ldr r0, [sp, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- bl FUN_020239CC
- str r0, [r5, #0xc]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034E0C
- str r0, [sp, #0x8]
- ldr r0, [r0, #0x0]
- mov r1, #0x6
- add r0, r0, #0x4
- bl _s32_div_f
- mov r6, #0x0
- add r4, r5, #0x0
-_0205F83E:
- ldr r0, [sp, #0x8]
- lsl r2, r1, #0x2
- add r0, r0, r2
- ldrb r2, [r0, #0x6]
- str r2, [r4, #0x20]
- ldrb r2, [r0, #0x7]
- str r2, [r4, #0x24]
- ldrb r2, [r0, #0x9]
- strh r2, [r4, #0x2a]
- ldrb r0, [r0, #0x8]
- cmp r0, #0x3
- bls _0205F85A
- mov r0, #0x4
- b _0205F85A
-_0205F85A:
- strh r0, [r4, #0x28]
- add r0, r1, #0x5
- mov r1, #0x6
- bl _s32_div_f
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, #0x5
- blt _0205F83E
- mov r6, #0x4f
- mov r4, #0x0
- lsl r6, r6, #0x2
-_0205F872:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0205F524
- cmp r0, #0x0
- beq _0205F888
- mov r0, #0x1
- ldrh r1, [r5, r6]
- lsl r0, r4
- orr r0, r1
- strh r0, [r5, r6]
-_0205F888:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _0205F872
- ldr r6, _0205F8C0 ; =0x020F7440
- mov r4, #0x0
-_0205F892:
- ldrb r2, [r6, #0x0]
- add r0, r7, #0x0
- mov r1, #0x2
- bl FUN_0205F2E4
- mov r1, #0x49
- add r2, r5, r4
- lsl r1, r1, #0x2
- add r4, r4, #0x1
- add r6, r6, #0x1
- strb r0, [r2, r1]
- cmp r4, #0x14
- blt _0205F892
- ldr r0, [sp, #0x0]
- ldr r2, _0205F8C4 ; =0x02105FA8
- add r1, r5, #0x0
- bl FUN_0205F8CC
- ldr r1, _0205F8C8 ; =0x00000139
- ldr r0, [sp, #0x4]
- strb r0, [r5, r1]
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0205F8C0: .word 0x020F7440
-_0205F8C4: .word 0x02105FA8
-_0205F8C8: .word 0x00000139
-
- thumb_func_start FUN_0205F8CC
-FUN_0205F8CC: ; 0x0205F8CC
- push {r3-r7, lr}
- sub sp, #0x70
- add r7, r0, #0x0
- ldr r0, [r7, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, sp, #0x28
- bl FS_InitFile
- add r0, sp, #0x28
- add r1, r4, #0x0
- bl FS_OpenFile
- cmp r0, #0x0
- bne _0205F8F8
- bl ErrorHandling
- add sp, #0x70
- pop {r3-r7, pc}
-_0205F8F8:
- add r0, sp, #0x28
- add r1, sp, #0x24
- mov r2, #0x4
- bl FS_ReadFile
- cmp r0, #0x0
- bge _0205F90A
- bl ErrorHandling
-_0205F90A:
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x4
- add r6, r0, #0x0
- bl MI_CpuFill8
- ldr r1, [sp, #0x24]
- ldr r0, _0205FA28 ; =0x0000013A
- mov r4, #0x0
- strb r1, [r5, r0]
- ldr r0, [sp, #0x24]
- cmp r0, #0x0
- ble _0205FA16
- mov r0, #0xc
- str r0, [sp, #0x10]
- mov r0, #0x3
- str r0, [sp, #0xc]
- mov r0, #0xc
- str r0, [sp, #0x8]
- mov r0, #0x3
- str r0, [sp, #0x4]
- mov r0, #0xc0
- str r0, [sp, #0x20]
- mov r0, #0x30
- str r0, [sp, #0x1c]
- mov r0, #0xc0
- str r0, [sp, #0x18]
- mov r0, #0x30
- add r5, #0x5c
- str r0, [sp, #0x14]
-_0205F94C:
- add r0, sp, #0x28
- add r1, r6, #0x0
- mov r2, #0x4
- bl FS_ReadFile
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- beq _0205F962
- cmp r0, #0x2
- beq _0205F98C
- b _0205F9B2
-_0205F962:
- ldrb r2, [r6, #0x1]
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- bl FUN_0205F2E4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1e
- ldrb r1, [r5, r4]
- ldr r2, [sp, #0x8]
- lsr r0, r0, #0x1c
- bic r1, r2
- orr r0, r1
- strb r0, [r5, r4]
- ldrb r1, [r5, r4]
- ldr r0, [sp, #0x4]
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strb r0, [r5, r4]
- b _0205F9B2
-_0205F98C:
- ldrb r1, [r6, #0x1]
- add r0, r7, #0x0
- bl FUN_02039528
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1e
- ldrb r1, [r5, r4]
- ldr r2, [sp, #0x10]
- lsr r0, r0, #0x1c
- bic r1, r2
- orr r0, r1
- strb r0, [r5, r4]
- ldrb r1, [r5, r4]
- ldr r0, [sp, #0xc]
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strb r0, [r5, r4]
-_0205F9B2:
- ldrb r0, [r6, #0x2]
- cmp r0, #0x1
- beq _0205F9BE
- cmp r0, #0x2
- beq _0205F9E8
- b _0205FA0E
-_0205F9BE:
- ldrb r2, [r6, #0x3]
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- bl FUN_0205F2E4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1e
- ldrb r1, [r5, r4]
- ldr r2, [sp, #0x18]
- lsr r0, r0, #0x18
- bic r1, r2
- orr r0, r1
- strb r0, [r5, r4]
- ldrb r1, [r5, r4]
- ldr r0, [sp, #0x14]
- bic r1, r0
- mov r0, #0x10
- orr r0, r1
- strb r0, [r5, r4]
- b _0205FA0E
-_0205F9E8:
- ldrb r1, [r6, #0x3]
- add r0, r7, #0x0
- bl FUN_02039528
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1e
- ldrb r1, [r5, r4]
- ldr r2, [sp, #0x20]
- lsr r0, r0, #0x18
- bic r1, r2
- orr r0, r1
- strb r0, [r5, r4]
- ldrb r1, [r5, r4]
- ldr r0, [sp, #0x1c]
- bic r1, r0
- mov r0, #0x10
- orr r0, r1
- strb r0, [r5, r4]
-_0205FA0E:
- ldr r0, [sp, #0x24]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0205F94C
-_0205FA16:
- add r0, sp, #0x28
- bl FS_CloseFile
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x70
- pop {r3-r7, pc}
- nop
-_0205FA28: .word 0x0000013A
-
- thumb_func_start FUN_0205FA2C
-FUN_0205FA2C: ; 0x0205FA2C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x40
- bl FUN_020169D8
- ldr r6, [r7, #0xc]
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- add r0, r6, #0x0
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_0206F158
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- ldrb r2, [r5, #0x8]
- add r0, #0x20
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- mov r2, #0xf
- ldrb r3, [r5, #0xa]
- bic r0, r2
- mov r2, #0xf
- and r2, r3
- orr r2, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- mov r2, #0xf0
- bic r0, r2
- ldrb r2, [r5, #0xb]
- lsl r2, r2, #0x1c
- lsr r2, r2, #0x18
- orr r2, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- ldrb r2, [r5, #0xc]
- add r0, #0x33
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- ldrb r2, [r5, #0xd]
- add r0, #0x22
- strb r2, [r0, #0x0]
-_0205FAAE:
- add r0, r5, r1
- ldrb r2, [r0, #0xe]
- add r0, r4, r1
- add r0, #0x2c
- strb r2, [r0, #0x0]
- add r0, r1, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- cmp r1, #0x6
- blo _0205FAAE
- ldr r1, _0205FAD4 ; =0x020F96DC
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- ldr r0, [r5, #0x14]
- str r4, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0205FAD4: .word 0x020F96DC
-
- thumb_func_start FUN_0205FAD8
-FUN_0205FAD8: ; 0x0205FAD8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0205FAEA
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205FAEA:
- ldr r0, [r5, #0x14]
- ldr r4, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- cmp r0, #0x6
- beq _0205FB04
- cmp r0, #0x7
- bne _0205FB0C
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x4
- pop {r3-r5, pc}
-_0205FB04:
- mov r0, #0x1
- str r0, [r5, #0x0]
- mov r0, #0x4
- pop {r3-r5, pc}
-_0205FB0C:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x2c
- add r1, #0xe
- mov r2, #0x6
- bl MI_CpuCopy8
- add r0, r4, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strb r0, [r5, #0xd]
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [r5, #0x14]
- mov r1, #0x0
- str r1, [r0, #0x0]
- mov r0, #0x2
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205FB34
-FUN_0205FB34: ; 0x0205FB34
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r6, r0, #0x0
- ldr r5, [r7, #0xc]
- add r0, r2, #0x0
- mov r1, #0x30
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, r5, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- add r0, r5, #0x0
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- ldrb r0, [r6, #0xd]
- strb r0, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r0, #0x0
- strh r0, [r4, #0x18]
- ldrb r0, [r6, #0x9]
- strb r0, [r4, #0x12]
- add r0, r5, #0x0
- bl FUN_0202A918
- str r0, [r4, #0x20]
- ldr r1, _0205FBB8 ; =0x020F7454
- add r0, r4, #0x0
- bl FUN_0207B000
- add r0, r5, #0x0
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0207C2A4
- ldr r1, _0205FBBC ; =0x020FA6E8
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- ldr r0, [r6, #0x14]
- str r4, [r0, #0x0]
- mov r0, #0x3
- pop {r3-r7, pc}
- nop
-_0205FBB8: .word 0x020F7454
-_0205FBBC: .word 0x020FA6E8
-
- thumb_func_start FUN_0205FBC0
-FUN_0205FBC0: ; 0x0205FBC0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0205FBD2
- mov r0, #0x3
- pop {r4, pc}
-_0205FBD2:
- ldr r0, [r4, #0x14]
- ldr r0, [r0, #0x0]
- ldrb r1, [r0, #0x14]
- strb r1, [r4, #0xd]
- bl FUN_02016A18
- ldr r1, [r4, #0x14]
- mov r0, #0x0
- str r0, [r1, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205FBE8
-FUN_0205FBE8: ; 0x0205FBE8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- cmp r1, #0x4
- bhi _0205FC4A
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0205FC0C: ; jump table (using 16-bit offset)
- .short _0205FC16 - _0205FC0C - 2; case 0
- .short _0205FC22 - _0205FC0C - 2; case 1
- .short _0205FC2C - _0205FC0C - 2; case 2
- .short _0205FC38 - _0205FC0C - 2; case 3
- .short _0205FC42 - _0205FC0C - 2; case 4
-_0205FC16:
- add r1, r5, #0x0
- mov r2, #0xb
- bl FUN_0205FA2C
- str r0, [r4, #0x4]
- b _0205FC4A
-_0205FC22:
- add r1, r5, #0x0
- bl FUN_0205FAD8
- str r0, [r4, #0x4]
- b _0205FC4A
-_0205FC2C:
- add r1, r5, #0x0
- mov r2, #0xb
- bl FUN_0205FB34
- str r0, [r4, #0x4]
- b _0205FC4A
-_0205FC38:
- add r1, r5, #0x0
- bl FUN_0205FBC0
- str r0, [r4, #0x4]
- b _0205FC4A
-_0205FC42:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205FC4A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205FC50
-FUN_0205FC50: ; 0x0205FC50
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
- strb r6, [r4, #0x8]
- strb r7, [r4, #0x9]
- add r0, sp, #0x8
- ldrb r1, [r0, #0x10]
- add r2, r4, #0x0
- strb r1, [r4, #0xa]
- ldrb r1, [r0, #0x14]
- strb r1, [r4, #0xb]
- ldrb r1, [r0, #0x18]
- strb r1, [r4, #0xc]
- ldrb r0, [r0, #0x1c]
- ldr r1, _0205FC98 ; =FUN_0205FBE8
- strb r0, [r4, #0xd]
- ldr r0, [sp, #0x0]
- str r5, [r4, #0x14]
- ldr r0, [r0, #0x10]
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0205FC98: .word FUN_0205FBE8
-
- thumb_func_start FUN_0205FC9C
-FUN_0205FC9C: ; 0x0205FC9C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0203384C
- cmp r0, #0x0
- beq _0205FCBC
- ldrh r1, [r4, #0x12]
- ldrh r2, [r4, #0x14]
- add r0, r5, #0x0
- bl FUN_02038790
- str r0, [r4, #0x8]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205FCBC:
- mov r0, #0x1
- str r0, [r4, #0x0]
- mov r0, #0x2
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205FCC4
-FUN_0205FCC4: ; 0x0205FCC4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0205FCD6
- mov r0, #0x1
- pop {r4, pc}
-_0205FCD6:
- ldr r0, [r4, #0x8]
- ldr r0, [r0, #0x20]
- str r0, [r4, #0x0]
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- mov r0, #0x2
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205FCE8
-FUN_0205FCE8: ; 0x0205FCE8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _0205FD0A
- cmp r1, #0x1
- beq _0205FD14
- cmp r1, #0x2
- beq _0205FD1E
- b _0205FD34
-_0205FD0A:
- add r1, r5, #0x0
- bl FUN_0205FC9C
- str r0, [r4, #0x4]
- b _0205FD34
-_0205FD14:
- add r1, r5, #0x0
- bl FUN_0205FCC4
- str r0, [r4, #0x4]
- b _0205FD34
-_0205FD1E:
- ldrh r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020394B8
- ldr r1, [r4, #0x0]
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205FD34:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205FD38
-FUN_0205FD38: ; 0x0205FD38
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
- strh r5, [r4, #0x12]
- strh r7, [r4, #0x14]
- ldr r0, [sp, #0x0]
- strh r6, [r4, #0x10]
- ldr r0, [r0, #0x10]
- ldr r1, _0205FD6C ; =FUN_0205FCE8
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_0205FD6C: .word FUN_0205FCE8
-
- thumb_func_start FUN_0205FD70
-FUN_0205FD70: ; 0x0205FD70
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- bl FUN_02031190
- mov r1, #0x1
- sub r0, r1, r0
- bl FUN_020316E0
- add r7, r0, #0x0
- bne _0205FD96
- mov r0, #0x0
- pop {r3-r7, pc}
-_0205FD96:
- ldrh r1, [r5, #0x2]
- add r0, r6, #0x0
- bl FUN_020394B8
- add r4, r0, #0x0
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0205FDB0
- cmp r0, #0x1
- beq _0205FDBC
- cmp r0, #0x2
- beq _0205FDC8
- b _0205FDD2
-_0205FDB0:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl MOD06_02244660
- strh r0, [r4, #0x0]
- b _0205FDD2
-_0205FDBC:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl MOD06_022446BC
- strh r0, [r4, #0x0]
- b _0205FDD2
-_0205FDC8:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl MOD06_022446E0
- strh r0, [r4, #0x0]
-_0205FDD2:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0205FDDC
-FUN_0205FDDC: ; 0x0205FDDC
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x4
- bl MI_CpuFill8
- strh r5, [r4, #0x0]
- strh r6, [r4, #0x2]
- ldr r0, [r7, #0x10]
- ldr r1, _0205FE0C ; =FUN_0205FD70
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0205FE0C: .word FUN_0205FD70
-
- thumb_func_start FUN_0205FE10
-FUN_0205FE10: ; 0x0205FE10
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x0]
- bl FUN_02029FC8
- mov r1, #0x35
- bl FUN_0202A150
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x10]
- cmp r0, #0x14
- bhs _0205FE30
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FE30:
- ldr r0, [sp, #0x0]
- bl FUN_0202A8D8
- mov r1, #0xd
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- mov r1, #0x0
- lsr r7, r0, #0x18
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r4, #0x0
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- cmp r7, #0x0
- beq _0205FEA2
- cmp r6, #0x0
- beq _0205FEA2
- cmp r5, #0x0
- beq _0205FEA2
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FEA2:
- ldr r0, [sp, #0x0]
- bl FUN_02026CC4
- cmp r7, #0x0
- bne _0205FEDC
- mov r1, #0x55
- bl FUN_02025D94
- cmp r0, #0x0
- beq _0205FEC6
- add r0, r4, #0x0
- mov r1, #0xd
- mov r2, #0x1
- bl FUN_0202A578
- add sp, #0x14
- mov r0, #0x1
- pop {r4-r7, pc}
-_0205FEC6:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- bne _0205FED6
- add r0, r4, #0x0
- mov r1, #0xe
- mov r2, #0x1
- bl FUN_0202A578
-_0205FED6:
- add sp, #0x14
- mov r0, #0x4
- pop {r4-r7, pc}
-_0205FEDC:
- ldr r1, [sp, #0x10]
- cmp r1, #0x32
- bhs _0205FEE8
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FEE8:
- cmp r6, #0x0
- bne _0205FF1C
- mov r1, #0x56
- bl FUN_02025D94
- cmp r0, #0x0
- beq _0205FF06
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_0202A578
- add sp, #0x14
- mov r0, #0x2
- pop {r4-r7, pc}
-_0205FF06:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0205FF16
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x1
- bl FUN_0202A578
-_0205FF16:
- add sp, #0x14
- mov r0, #0x4
- pop {r4-r7, pc}
-_0205FF1C:
- cmp r1, #0x64
- blo _0205FF24
- cmp r5, #0x0
- beq _0205FF2A
-_0205FF24:
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FF2A:
- mov r1, #0x57
- bl FUN_02025D94
- cmp r0, #0x0
- beq _0205FF44
- mov r1, #0x1
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_0202A578
- add sp, #0x14
- mov r0, #0x3
- pop {r4-r7, pc}
-_0205FF44:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _0205FF54
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x1
- bl FUN_0202A578
-_0205FF54:
- mov r0, #0x4
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0205FF5C
-FUN_0205FF5C: ; 0x0205FF5C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02029FC8
- mov r1, #0x35
- bl FUN_0202A150
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- cmp r7, #0x14
- bhs _0205FF7A
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FF7A:
- add r0, r4, #0x0
- bl FUN_0202A8D8
- mov r1, #0xd
- mov r2, #0x0
- str r0, [sp, #0x8]
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- mov r1, #0x0
- ldr r0, [sp, #0x8]
- add r2, r1, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x8]
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, [sp, #0x8]
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x8]
- mov r1, #0x2
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_0202A578
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r6, #0x0
- beq _0205FFEA
- cmp r4, #0x0
- beq _0205FFEA
- cmp r5, #0x0
- beq _0205FFEA
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0205FFEA:
- cmp r6, #0x0
- bne _02060000
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0205FFFA
- add sp, #0xc
- mov r0, #0x4
- pop {r4-r7, pc}
-_0205FFFA:
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02060000:
- cmp r7, #0x32
- bhs _0206000A
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206000A:
- cmp r4, #0x0
- bne _02060020
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0206001A
- add sp, #0xc
- mov r0, #0x5
- pop {r4-r7, pc}
-_0206001A:
- add sp, #0xc
- mov r0, #0x2
- pop {r4-r7, pc}
-_02060020:
- cmp r7, #0x64
- bhs _0206002A
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206002A:
- cmp r5, #0x0
- beq _02060034
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02060034:
- cmp r0, #0x0
- beq _0206003E
- add sp, #0xc
- mov r0, #0x6
- pop {r4-r7, pc}
-_0206003E:
- mov r0, #0x3
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02060044
-FUN_02060044: ; 0x02060044
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldrh r3, [r0, #0x24]
- add r2, r3, r2
- strh r2, [r0, #0x24]
- ldrh r3, [r0, #0x28]
- ldr r2, [r1, #0x4]
- add r2, r3, r2
- strh r2, [r0, #0x28]
- ldrh r2, [r0, #0x26]
- ldr r1, [r1, #0x8]
- add r1, r2, r1
- strh r1, [r0, #0x26]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02060064
-FUN_02060064: ; 0x02060064
- ldr r1, _0206006C ; =0x02E90EDD
- mul r1, r0
- add r0, r1, #0x1
- bx lr
- .balign 4
-_0206006C: .word 0x02E90EDD
-
- thumb_func_start FUN_02060070
-FUN_02060070: ; 0x02060070
- ldr r1, _02060078 ; =0x5D588B65
- mul r1, r0
- add r0, r1, #0x1
- bx lr
- .balign 4
-_02060078: .word 0x5D588B65
-
- thumb_func_start FUN_0206007C
-FUN_0206007C: ; 0x0206007C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0202881C
- bl FUN_020287A4
- bl FUN_02060070
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202A8D8
- add r1, r4, #0x0
- bl FUN_0202A5CC
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020600A0
-FUN_020600A0: ; 0x020600A0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0202A8D8
- add r6, r0, #0x0
- bl FUN_0202A5D0
- bl FUN_02060070
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202A5CC
- add r0, r4, #0x0
- bl FUN_02060064
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0202A8CC
- mov r1, #0xa
- add r2, sp, #0x0
- bl FUN_0202A2C4
- ldr r0, [sp, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020600DC
-FUN_020600DC: ; 0x020600DC
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r0, #0x0
- bl FUN_0202A8D8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A8CC
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A5D0
- bl FUN_02060064
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_0202A240
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- mov r2, #0x0
- bl FUN_0202A538
- mov r1, #0x18
- add r5, r0, #0x0
- mul r5, r1
- mov r4, #0x0
- cmp r5, #0x0
- ble _0206012E
- ldr r0, [sp, #0x0]
-_02060122:
- bl FUN_02060064
- add r4, r4, #0x1
- str r0, [sp, #0x0]
- cmp r4, r5
- blt _02060122
-_0206012E:
- add r0, r6, #0x0
- bl FUN_0202A8CC
- mov r1, #0xa
- add r2, sp, #0x0
- bl FUN_0202A2C4
- ldr r0, [sp, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02060144
-FUN_02060144: ; 0x02060144
- ldr r0, [r0, #0x1c]
- ldr r1, [r0, #0x0]
- ldr r0, _02060158 ; =0x000001ED
- cmp r1, r0
- bne _02060152
- mov r0, #0x1
- bx lr
-_02060152:
- mov r0, #0x0
- bx lr
- nop
-_02060158: .word 0x000001ED
-
- thumb_func_start FUN_0206015C
-FUN_0206015C: ; 0x0206015C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x10
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0xb
- bl MOD06_02244DB0
- str r0, [r4, #0x0]
- mov r0, #0xb
- add r1, r5, #0x0
- bl MOD06_02245114
- str r0, [r4, #0x4]
- mov r0, #0x0
- strb r0, [r4, #0xc]
- strb r0, [r4, #0xd]
- ldr r0, [r5, #0x10]
- ldr r1, _02060190 ; =FUN_02060194
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_02060190: .word FUN_02060194
-
- thumb_func_start FUN_02060194
-FUN_02060194: ; 0x02060194
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldrb r0, [r4, #0xc]
- cmp r0, #0x8
- bls _020601B0
- b _02060332
-_020601B0:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020601BC: ; jump table (using 16-bit offset)
- .short _020601CE - _020601BC - 2; case 0
- .short _020601F2 - _020601BC - 2; case 1
- .short _020601FE - _020601BC - 2; case 2
- .short _02060226 - _020601BC - 2; case 3
- .short _02060232 - _020601BC - 2; case 4
- .short _020602A2 - _020601BC - 2; case 5
- .short _020602F0 - _020601BC - 2; case 6
- .short _020602FC - _020601BC - 2; case 7
- .short _02060312 - _020601BC - 2; case 8
-_020601CE:
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_0206367C
- ldrb r0, [r4, #0xd]
- ldr r1, [r4, #0x4]
- bl MOD06_02245198
- ldr r0, [r4, #0x4]
- bl MOD06_022451F0
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_0204AFC8
- mov r0, #0x1
- strb r0, [r4, #0xc]
- b _02060332
-_020601F2:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- mov r0, #0x2
- strb r0, [r4, #0xc]
- b _02060332
-_020601FE:
- ldr r0, [r6, #0xc]
- bl FUN_020462AC
- ldrb r1, [r4, #0xd]
- cmp r1, #0x0
- bne _02060210
- bl FUN_0205F1C4
- b _02060218
-_02060210:
- cmp r1, #0x5
- bne _02060218
- bl FUN_0205F1D4
-_02060218:
- ldr r1, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02049160
- mov r0, #0x3
- strb r0, [r4, #0xc]
- b _02060332
-_02060226:
- add r0, r5, #0x0
- bl FUN_0204AF84
- mov r0, #0x4
- strb r0, [r4, #0xc]
- b _02060332
-_02060232:
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldrb r1, [r4, #0xd]
- add r7, r0, #0x0
- add r1, r1, #0x1
- strb r1, [r4, #0xd]
- ldrb r1, [r4, #0xd]
- cmp r1, #0x5
- bhi _02060290
- add r0, r6, #0x0
- bl MOD06_02245088
- add r6, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl MOD06_02244DC4
- ldr r0, [r4, #0x0]
- bl MOD06_02244EF8
- mov r0, #0x0
- strb r0, [r4, #0xe]
- ldr r0, _02060338 ; =0x00000679
- bl FUN_020054C8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0xb
- str r0, [sp, #0xc]
- ldr r3, _0206033C ; =0x0000FFFF
- add r0, r5, #0x0
- mov r1, #0x3
- mov r2, #0x11
- bl FUN_0204C1B4
- mov r0, #0x5
- strb r0, [r4, #0xc]
- b _02060332
-_02060290:
- mov r1, #0x0
- bl FUN_0205889C
- add r0, r5, #0x0
- bl FUN_0204B00C
- mov r0, #0x8
- strb r0, [r4, #0xc]
- b _02060332
-_020602A2:
- ldrb r0, [r4, #0xe]
- add r0, r0, #0x1
- strb r0, [r4, #0xe]
- ldrb r0, [r4, #0xe]
- cmp r0, #0x3c
- bhs _020602B8
- ldr r0, _02060340 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _02060332
-_020602B8:
- ldrb r0, [r4, #0xd]
- ldr r1, [r4, #0x4]
- bl MOD06_02245198
- ldr r0, [r4, #0x4]
- bl MOD06_022451F0
- str r0, [r4, #0x8]
- ldr r0, _02060338 ; =0x00000679
- bl FUN_020054C8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0xb
- str r0, [sp, #0xc]
- ldr r3, _0206033C ; =0x0000FFFF
- add r0, r5, #0x0
- mov r1, #0x3
- mov r2, #0x10
- bl FUN_0204C1B4
- mov r0, #0x6
- strb r0, [r4, #0xc]
- b _02060332
-_020602F0:
- ldr r0, [r4, #0x0]
- bl MOD06_02244F18
- mov r0, #0x7
- strb r0, [r4, #0xc]
- b _02060332
-_020602FC:
- ldr r0, [r4, #0x0]
- bl MOD06_02244F24
- cmp r0, #0x0
- beq _02060332
- ldr r0, [r4, #0x0]
- bl MOD06_02244F2C
- mov r0, #0x1
- strb r0, [r4, #0xc]
- b _02060332
-_02060312:
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0206367C
- ldr r0, [r4, #0x4]
- bl MOD06_02245190
- ldr r0, [r4, #0x0]
- bl MOD06_02244DBC
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_02060332:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02060338: .word 0x00000679
-_0206033C: .word 0x0000FFFF
-_02060340: .word 0x021C48B8
-
- thumb_func_start FUN_02060344
-FUN_02060344: ; 0x02060344
- push {r3-r7, lr}
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- cmp r1, #0x0
- ble _020603AE
- bl FUN_02029ABC
- bl FUN_02029ACC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020238F4
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0xa
- add r6, r0, #0x0
- mov r5, #0x0
- mul r6, r1
-_0206036A:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_020239D0
- cmp r0, #0x0
- beq _020603A4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029AD0
- add r1, r0, #0x0
- cmp r1, #0x0
- ble _0206038C
- cmp r1, #0xc8
- bge _0206038C
- sub r1, r1, r6
- b _02060396
-_0206038C:
- cmp r1, #0xc8
- blt _02060394
- bl ErrorHandling
-_02060394:
- mov r1, #0x0
-_02060396:
- cmp r1, #0x0
- bge _0206039C
- mov r1, #0x0
-_0206039C:
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02029AD8
-_020603A4:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0206036A
-_020603AE:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020603B0
-FUN_020603B0: ; 0x020603B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0202AA38
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02060588
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020603C8
-FUN_020603C8: ; 0x020603C8
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r5, #0x0
-_020603CE:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0202AA74
- cmp r0, #0x0
- beq _020603E2
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020603B0
-_020603E2:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x3
- blo _020603CE
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020603F0
-FUN_020603F0: ; 0x020603F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_020603F6:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202AA74
- cmp r0, #0x0
- beq _02060430
- bl rand_LC
- lsl r0, r0, #0x4
- lsr r6, r0, #0x10
- cmp r6, #0x10
- blo _02060412
- bl ErrorHandling
-_02060412:
- cmp r6, #0x0
- bne _02060420
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020603B0
- b _02060430
-_02060420:
- add r0, r5, #0x0
- bl FUN_0202AA38
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020605D8
-_02060430:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x3
- blo _020603F6
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206043C
-FUN_0206043C: ; 0x0206043C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x1d
- blo _02060448
- bl ErrorHandling
-_02060448:
- ldr r0, _02060450 ; =0x020F7460
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02060450: .word 0x020F7460
-
- thumb_func_start FUN_02060454
-FUN_02060454: ; 0x02060454
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r5, #0x0
-_0206045A:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0202AA74
- cmp r0, #0x0
- beq _0206046A
- mov r0, #0x1
- pop {r3-r5, pc}
-_0206046A:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x3
- blo _0206045A
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02060478
-FUN_02060478: ; 0x02060478
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02060454
- cmp r0, #0x0
- beq _0206048E
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202AA20
-_0206048E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02060490
-FUN_02060490: ; 0x02060490
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r1, #0x0
- str r0, [sp, #0x10]
- bl FUN_0202A9B0
- add r1, r5, #0x0
- str r0, [sp, #0x14]
- bl FUN_0202AAA0
- add r4, r0, #0x0
- cmp r5, #0x0
- beq _020604B4
- cmp r5, #0x1
- beq _020604BA
- cmp r5, #0x2
- beq _020604C2
- b _020604C8
-_020604B4:
- ldr r7, _02060580 ; =0x000001E1
- mov r6, #0x32
- b _020604D0
-_020604BA:
- mov r7, #0x7a
- lsl r7, r7, #0x2
- mov r6, #0x32
- b _020604D0
-_020604C2:
- ldr r7, _02060584 ; =0x000001EB
- mov r6, #0x28
- b _020604D0
-_020604C8:
- bl ErrorHandling
- add sp, #0x20
- pop {r3-r7, pc}
-_020604D0:
- add r0, r4, #0x0
- mov r1, #0x4
- add r2, r7, #0x0
- bl FUN_0202AAFC
- add r0, r4, #0x0
- mov r1, #0x6
- add r2, r6, #0x0
- bl FUN_0202AAFC
- ldr r0, [sp, #0x10]
- bl FUN_020238F4
- str r0, [sp, #0x18]
- mov r0, #0x4
- bl FUN_020669C0
- str r0, [sp, #0x1c]
- bl FUN_02066978
- ldr r0, [sp, #0x18]
- bl FUN_020239C0
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r1, #0x1
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x1c]
- add r1, r7, #0x0
- add r2, r6, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_0202AAFC
- add r0, r4, #0x0
- mov r1, #0x8
- mov r2, #0x1
- bl FUN_0202AAFC
- ldr r0, [sp, #0x1c]
- mov r1, #0xae
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0202AAFC
- mov r1, #0x0
- ldr r0, [sp, #0x1c]
- add r2, r1, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_0202AAFC
- ldr r0, [sp, #0x1c]
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x5
- bl FUN_0202AAFC
- ldr r0, [sp, #0x1c]
- bl FUN_02016A18
- ldr r0, [sp, #0x14]
- bl FUN_0202AA38
- add r2, r0, #0x0
- ldr r0, [sp, #0x14]
- add r1, r5, #0x0
- bl FUN_02060588
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_02060580: .word 0x000001E1
-_02060584: .word 0x000001EB
-
- thumb_func_start FUN_02060588
-FUN_02060588: ; 0x02060588
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r6, r2, #0x0
- bl FUN_0202AA40
- ldr r7, _020605D0 ; =0x020F7460
- lsl r0, r0, #0x2
- ldr r4, [r7, r0]
-_0206059C:
- bl rand_LC
- ldr r1, _020605D4 ; =0x000008D4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x1d
- blo _020605B2
- bl ErrorHandling
-_020605B2:
- lsl r0, r5, #0x18
- lsr r2, r0, #0x18
- lsl r0, r2, #0x2
- ldr r3, [r7, r0]
- cmp r3, r6
- beq _0206059C
- cmp r3, r4
- beq _0206059C
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_02060688
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_020605D0: .word 0x020F7460
-_020605D4: .word 0x000008D4
-
- thumb_func_start FUN_020605D8
-FUN_020605D8: ; 0x020605D8
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r7, r2, #0x0
- bl FUN_0202AA40
- mov r1, #0xc
- ldr r2, _0206067C ; =0x020F74D4
- mul r1, r0
- ldrh r0, [r2, r1]
- add r4, r2, r1
- cmp r0, #0x1
- bne _0206061E
- ldrh r0, [r4, #0x2]
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- ldr r0, _02060680 ; =0x020F7460
- lsl r1, r2, #0x2
- ldr r3, [r0, r1]
- cmp r3, r7
- bne _02060612
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r2, r7, #0x0
- bl FUN_02060588
- add sp, #0x8
- pop {r3-r7, pc}
-_02060612:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_02060688
- add sp, #0x8
- pop {r3-r7, pc}
-_0206061E:
- ldrh r5, [r4, #0x0]
- cmp r5, #0x0
- bne _02060628
- bl ErrorHandling
-_02060628:
- cmp r5, #0x1
- bhi _02060630
- mov r6, #0x0
- b _02060658
-_02060630:
- bl rand_LC
- add r6, r0, #0x0
- ldr r0, _02060684 ; =0x0000FFFF
- add r1, r5, #0x0
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- cmp r6, r5
- blo _02060658
- bl ErrorHandling
-_02060658:
- lsl r0, r6, #0x18
- lsr r0, r0, #0x17
- add r0, r4, r0
- ldrh r0, [r0, #0x2]
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- ldr r0, _02060680 ; =0x020F7460
- lsl r1, r2, #0x2
- ldr r3, [r0, r1]
- cmp r3, r7
- beq _0206061E
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_02060688
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0206067C: .word 0x020F74D4
-_02060680: .word 0x020F7460
-_02060684: .word 0x0000FFFF
-
- thumb_func_start FUN_02060688
-FUN_02060688: ; 0x02060688
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0202AAA0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0202AA58
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0202AAFC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020606B0
-FUN_020606B0: ; 0x020606B0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r0, r4, #0x0
- bl FUN_0204652C
- add r2, r0, #0x0
- ldr r1, _020606CC ; =0x020F7630
- add r0, r4, #0x0
- add r2, #0xc
- bl FUN_02046500
- pop {r4, pc}
- .balign 4
-_020606CC: .word 0x020F7630
-
- thumb_func_start FUN_020606D0
-FUN_020606D0: ; 0x020606D0
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x6
- bhi _0206078A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020606F6: ; jump table (using 16-bit offset)
- .short _02060704 - _020606F6 - 2; case 0
- .short _0206072C - _020606F6 - 2; case 1
- .short _0206073A - _020606F6 - 2; case 2
- .short _02060748 - _020606F6 - 2; case 3
- .short _02060756 - _020606F6 - 2; case 4
- .short _02060764 - _020606F6 - 2; case 5
- .short _02060772 - _020606F6 - 2; case 6
-_02060704:
- ldr r0, [r4, #0x24]
- add r3, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x28]
- add r3, #0xc
- str r0, [sp, #0x4]
- ldr r1, [r4, #0x0]
- ldr r2, [r4, #0x8]
- add r0, r6, #0x0
- bl MOD06_0224891C
- ldr r1, [r4, #0x0]
- ldr r2, [r4, #0x8]
- add r0, r6, #0x0
- bl MOD06_022488FC
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_0206072C:
- add r0, r5, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_0206073A:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_02060748:
- add r0, r5, #0x0
- bl FUN_020606B0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_02060756:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_02060764:
- add r0, r5, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206078A
-_02060772:
- ldr r0, [r4, #0x24]
- bl FUN_02016A18
- ldr r0, [r4, #0x28]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_0206078A:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02060790
-FUN_02060790: ; 0x02060790
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0x2c
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x2c
- add r4, r0, #0x0
- bl memset
- mov r0, #0x0
- str r0, [r4, #0x4]
- str r5, [r4, #0x0]
- ldr r0, [sp, #0x0]
- str r6, [r4, #0x8]
- bl FUN_020669C0
- str r0, [r4, #0x24]
- ldr r0, [sp, #0x0]
- bl FUN_020669C0
- str r0, [r4, #0x28]
- ldr r1, _020607D0 ; =FUN_020606D0
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_020607D0: .word FUN_020606D0
-
- thumb_func_start FUN_020607D4
-FUN_020607D4: ; 0x020607D4
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x80
- add r7, r2, #0x0
- str r3, [sp, #0xc]
- bl FUN_020169D8
- add r4, r0, #0x0
- strb r6, [r4, #0x1]
- strb r7, [r4, #0x4]
- ldr r0, [sp, #0xc]
- add r2, r4, #0x0
- str r0, [r4, #0x18]
- ldr r0, [sp, #0x40]
- add r2, #0x34
- str r0, [r4, #0x1c]
- ldr r0, [sp, #0x44]
- mov r7, #0x9
- str r0, [r4, #0x20]
- ldr r3, [r5, #0x40]
-_02060802:
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r7, r7, #0x1
- bne _02060802
- mov r7, #0x0
- sub r0, r7, #0x1
- str r0, [r4, #0x10]
- strb r7, [r4, #0x5]
- mov r0, #0x40
- add r1, r7, #0x0
- add r2, r7, #0x0
- str r7, [r4, #0x8]
- bl FUN_0200433C
- cmp r6, #0x3
- bne _0206085C
- mov r0, #0x22
- str r0, [sp, #0x14]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- mov r0, #0x3
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- add r0, sp, #0x18
- mov r2, #0x1
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- sub r3, r2, #0x4
- bl FUN_0204A840
- mov r0, #0x19
- lsl r0, r0, #0x10
- str r0, [sp, #0x10]
- mov r0, #0xe
- lsl r0, r0, #0x10
- mov r7, #0x1
- str r0, [r4, #0x10]
- b _02060892
-_0206085C:
- cmp r6, #0x2
- bne _02060892
- ldr r0, _02060918 ; =0x000001C1
- str r0, [sp, #0x14]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r2, #0x3
- str r2, [sp, #0x4]
- add r0, sp, #0x18
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- sub r2, r2, #0x5
- mov r3, #0x2
- bl FUN_0204A840
- mov r0, #0x3
- lsl r0, r0, #0x12
- mov r7, #0x1
- str r0, [sp, #0x10]
-_02060892:
- cmp r7, #0x0
- beq _02060906
- add r3, r4, #0x0
- ldr r1, [sp, #0x14]
- add r0, r5, #0x0
- add r2, sp, #0x18
- add r3, #0x30
- bl FUN_0204A8C4
- cmp r0, #0x0
- beq _020608F8
- ldr r0, [sp, #0x10]
- add r1, r4, #0x0
- str r0, [r4, #0xc]
- mov r0, #0x0
- str r0, [r4, #0x14]
- strb r0, [r4, #0x3]
- mov r0, #0x1
- lsl r0, r0, #0xa
- str r0, [r4, #0x7c]
- ldr r0, [r5, #0x38]
- add r1, #0x24
- bl FUN_02055350
- ldr r0, [r5, #0x20]
- bl FUN_0201EC88
- add r0, r4, #0x0
- ldr r1, [r5, #0x20]
- add r0, #0x24
- bl FUN_0201EC68
- mov r0, #0x0
- ldr r1, [r4, #0x10]
- mvn r0, r0
- cmp r1, r0
- beq _020608EC
- mov r0, #0x0
- strb r0, [r4, #0x2]
- mov r0, #0x1
- strb r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02060BDC
- b _020608F0
-_020608EC:
- mov r0, #0x0
- strb r0, [r4, #0x0]
-_020608F0:
- ldr r0, _0206091C ; =0x000006DD
- bl FUN_020054C8
- b _0206090A
-_020608F8:
- bl ErrorHandling
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x28
- pop {r3-r7, pc}
-_02060906:
- mov r0, #0x2
- strb r0, [r4, #0x0]
-_0206090A:
- ldr r0, [r5, #0x10]
- ldr r1, _02060920 ; =FUN_020609A0
- add r2, r4, #0x0
- bl FUN_0204640C
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_02060918: .word 0x000001C1
-_0206091C: .word 0x000006DD
-_02060920: .word FUN_020609A0
-
- thumb_func_start FUN_02060924
-FUN_02060924: ; 0x02060924
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x8
- add r6, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- str r6, [r2, #0x4]
- strb r4, [r2, #0x0]
- ldr r0, [r5, #0x10]
- ldr r1, _02060944 ; =FUN_02060948
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_02060944: .word FUN_02060948
-
- thumb_func_start FUN_02060948
-FUN_02060948: ; 0x02060948
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02060972
- cmp r0, #0x1
- beq _0206097C
- cmp r0, #0x2
- beq _0206098A
- b _02060994
-_02060972:
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0203888C
- b _02060994
-_0206097C:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02060994
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206098A:
- add r0, r6, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02060994:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020609A0
-FUN_020609A0: ; 0x020609A0
- push {r3-r6, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldrb r1, [r4, #0x0]
- cmp r1, #0x7
- bhi _020609E4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020609C6: ; jump table (using 16-bit offset)
- .short _020609D6 - _020609C6 - 2; case 0
- .short _020609EC - _020609C6 - 2; case 1
- .short _02060A4E - _020609C6 - 2; case 2
- .short _02060A74 - _020609C6 - 2; case 3
- .short _02060AB4 - _020609C6 - 2; case 4
- .short _02060AC6 - _020609C6 - 2; case 5
- .short _02060AE2 - _020609C6 - 2; case 6
- .short _02060AF6 - _020609C6 - 2; case 7
-_020609D6:
- bl FUN_02060C80
- add r0, r4, #0x0
- bl FUN_02060B0C
- cmp r0, #0x0
- bne _020609E6
-_020609E4:
- b _02060B00
-_020609E6:
- mov r0, #0x2
- strb r0, [r4, #0x0]
- b _02060B00
-_020609EC:
- bl FUN_02060C80
- add r0, r4, #0x0
- bl FUN_02060B0C
- add r6, r0, #0x0
- ldrb r0, [r4, #0x2]
- cmp r0, #0x0
- bne _02060A2C
- add r0, r4, #0x0
- add r1, r4, #0x0
- add r0, #0x10
- add r1, #0x14
- add r2, r4, #0x2
- bl FUN_02060BC8
- cmp r0, #0x0
- beq _02060B00
- ldr r0, [r5, #0x50]
- mov r1, #0x1
- mov r2, #0x0
- bl MOD05_021DA4EC
- ldr r0, [r5, #0x50]
- mov r1, #0x2
- mov r2, #0x0
- bl MOD05_021DA4EC
- ldr r0, _02060B08 ; =0x000006DE
- bl FUN_020054C8
- b _02060B00
-_02060A2C:
- ldr r0, [r5, #0x50]
- mov r1, #0x1
- bl MOD05_021DA58C
- cmp r0, #0x0
- beq _02060B00
- ldr r0, [r5, #0x50]
- mov r1, #0x2
- bl MOD05_021DA58C
- cmp r0, #0x0
- beq _02060B00
- cmp r6, #0x0
- beq _02060B00
- mov r0, #0x2
- strb r0, [r4, #0x0]
- b _02060B00
-_02060A4E:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0xb
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- mov r1, #0x6
- bl FUN_020053CC
- mov r0, #0x3
- strb r0, [r4, #0x0]
- b _02060B00
-_02060A74:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02060A84
- bl FUN_02005404
- cmp r0, #0x0
- beq _02060A8A
-_02060A84:
- add sp, #0xc
- mov r0, #0x0
- pop {r3-r6, pc}
-_02060A8A:
- mov r0, #0x0
- ldr r1, [r4, #0x10]
- mvn r0, r0
- cmp r1, r0
- beq _02060AA8
- ldr r0, [r5, #0x4c]
- ldr r1, [r5, #0x50]
- mov r2, #0x1
- bl MOD05_021DA54C
- ldr r0, [r5, #0x4c]
- ldr r1, [r5, #0x50]
- mov r2, #0x2
- bl MOD05_021DA54C
-_02060AA8:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- mov r0, #0x4
- strb r0, [r4, #0x0]
- b _02060B00
-_02060AB4:
- ldrb r1, [r4, #0x1]
- add r2, r4, #0x0
- add r0, r5, #0x0
- add r2, #0x34
- bl FUN_02060924
- mov r0, #0x5
- strb r0, [r4, #0x0]
- b _02060B00
-_02060AC6:
- ldr r0, [r4, #0x20]
- mov r2, #0x0
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- mvn r2, r2
- str r0, [sp, #0x4]
- ldr r1, [r4, #0x18]
- ldr r3, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_020491A8
- mov r0, #0x6
- strb r0, [r4, #0x0]
- b _02060B00
-_02060AE2:
- ldr r1, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_0204AD8C
- add r0, r6, #0x0
- bl FUN_0204B0E8
- mov r0, #0x7
- strb r0, [r4, #0x0]
- b _02060B00
-_02060AF6:
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r6, pc}
-_02060B00:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r6, pc}
- nop
-_02060B08: .word 0x000006DE
-
- thumb_func_start FUN_02060B0C
-FUN_02060B0C: ; 0x02060B0C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0x30]
- add r0, sp, #0x0
- bl MOD05_021E7EA0
- ldrb r0, [r4, #0x1]
- cmp r0, #0x3
- bhi _02060B7C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02060B2C: ; jump table (using 16-bit offset)
- .short _02060B34 - _02060B2C - 2; case 0
- .short _02060B6A - _02060B2C - 2; case 1
- .short _02060B58 - _02060B2C - 2; case 2
- .short _02060B46 - _02060B2C - 2; case 3
-_02060B34:
- ldr r1, [sp, #0x8]
- ldr r0, [r4, #0x7c]
- add r0, r1, r0
- str r0, [sp, #0x8]
- ldr r1, [r4, #0x2c]
- ldr r0, [r4, #0x7c]
- add r0, r1, r0
- str r0, [r4, #0x2c]
- b _02060B86
-_02060B46:
- ldr r1, [sp, #0x8]
- ldr r0, [r4, #0x7c]
- sub r0, r1, r0
- str r0, [sp, #0x8]
- ldr r1, [r4, #0x2c]
- ldr r0, [r4, #0x7c]
- sub r0, r1, r0
- str r0, [r4, #0x2c]
- b _02060B86
-_02060B58:
- ldr r1, [sp, #0x0]
- ldr r0, [r4, #0x7c]
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x24]
- ldr r0, [r4, #0x7c]
- add r0, r1, r0
- str r0, [r4, #0x24]
- b _02060B86
-_02060B6A:
- ldr r1, [sp, #0x0]
- ldr r0, [r4, #0x7c]
- sub r0, r1, r0
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x24]
- ldr r0, [r4, #0x7c]
- sub r0, r1, r0
- str r0, [r4, #0x24]
- b _02060B86
-_02060B7C:
- bl ErrorHandling
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_02060B86:
- mov r0, #0x1
- ldr r1, [r4, #0x7c]
- lsl r0, r0, #0xc
- cmp r1, r0
- bge _02060BA6
- ldrb r1, [r4, #0x3]
- add r1, r1, #0x1
- strb r1, [r4, #0x3]
- ldrb r1, [r4, #0x3]
- cmp r1, #0x18
- blo _02060BA6
- ldr r1, [r4, #0x7c]
- add r0, r1, r0
- str r0, [r4, #0x7c]
- mov r0, #0x0
- strb r0, [r4, #0x3]
-_02060BA6:
- ldr r0, [r4, #0x30]
- add r1, sp, #0x0
- bl MOD05_021E7EB0
- ldr r1, [r4, #0x14]
- ldr r0, [r4, #0x7c]
- add r1, r1, r0
- str r1, [r4, #0x14]
- ldr r0, [r4, #0xc]
- cmp r0, r1
- bgt _02060BC2
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_02060BC2:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02060BC8
-FUN_02060BC8: ; 0x02060BC8
- ldr r3, [r0, #0x0]
- ldr r0, [r1, #0x0]
- cmp r3, r0
- bgt _02060BD6
- mov r0, #0x1
- strb r0, [r2, #0x0]
- bx lr
-_02060BD6:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02060BDC
-FUN_02060BDC: ; 0x02060BDC
- push {r4-r7, lr}
- sub sp, #0x34
- add r5, r0, #0x0
- ldr r0, _02060C7C ; =0x020F7640
- mov r6, #0x0
- ldr r2, [r0, #0x0]
- ldr r1, [r0, #0x4]
- str r2, [sp, #0x2c]
- str r1, [sp, #0x30]
- ldr r1, [r0, #0x8]
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x24]
- str r0, [sp, #0x28]
-_02060BF6:
- lsl r7, r6, #0x2
- add r0, sp, #0x2c
- ldr r4, [r0, r7]
- mov r2, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r3, r2, #0x0
- bl FUN_0204A9F0
- cmp r0, #0x0
- beq _02060C6A
- ldr r1, [r5, #0x2c]
- add r0, r4, #0x0
- bl MOD05_021F4BD0
- ldr r0, [r0, #0x0]
- bl FUN_020BC13C
- ldrh r1, [r0, #0xe]
- add r2, sp, #0x20
- mov r3, #0x0
- add r1, r0, r1
- ldr r1, [r1, #0xc]
- add r0, r0, r1
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204A9F0
- cmp r0, #0x0
- bne _02060C38
- bl ErrorHandling
-_02060C38:
- ldr r0, [sp, #0x20]
- bl MOD05_021E7EC8
- str r0, [sp, #0x1c]
- ldr r0, [r5, #0x2c]
- bl MOD05_021F4C88
- ldr r1, [sp, #0x1c]
- add r2, sp, #0x24
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x18]
- ldr r2, [r2, r7]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
- ldr r0, [r5, #0x4c]
- ldr r1, [r5, #0x50]
- add r3, r4, #0x0
- bl MOD05_021DA464
- b _02060C6E
-_02060C6A:
- bl ErrorHandling
-_02060C6E:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x2
- blo _02060BF6
- add sp, #0x34
- pop {r4-r7, pc}
- .balign 4
-_02060C7C: .word 0x020F7640
-
- thumb_func_start FUN_02060C80
-FUN_02060C80: ; 0x02060C80
- push {r3, lr}
- ldrb r1, [r0, #0x1]
- cmp r1, #0x2
- beq _02060CA8
- cmp r1, #0x3
- bne _02060CC4
- mov r2, #0x2
- ldr r1, [r0, #0x8]
- lsl r2, r2, #0x10
- cmp r1, r2
- bge _02060CC8
- ldr r3, [r0, #0x24]
- lsr r1, r2, #0x5
- add r1, r3, r1
- str r1, [r0, #0x24]
- ldr r3, [r0, #0x8]
- lsr r1, r2, #0x5
- add r1, r3, r1
- str r1, [r0, #0x8]
- pop {r3, pc}
-_02060CA8:
- mov r1, #0x3
- ldr r2, [r0, #0x8]
- lsl r1, r1, #0x10
- cmp r2, r1
- bge _02060CC8
- mov r1, #0x2
- ldr r2, [r0, #0x2c]
- lsl r1, r1, #0xa
- add r2, r2, r1
- str r2, [r0, #0x2c]
- ldr r2, [r0, #0x8]
- add r1, r2, r1
- str r1, [r0, #0x8]
- pop {r3, pc}
-_02060CC4:
- bl ErrorHandling
-_02060CC8:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02060CCC
-FUN_02060CCC: ; 0x02060CCC
- push {r4-r6, lr}
- add r5, r0, #0x0
- cmp r5, #0x0
- ble _02060CD8
- cmp r5, #0x5
- blt _02060CDC
-_02060CD8:
- bl ErrorHandling
-_02060CDC:
- sub r1, r5, #0x1
- ldr r6, _02060CF4 ; =0x020F767C
- mov r0, #0xc
- add r4, r1, #0x0
- mul r4, r0
- ldr r0, [r6, r4]
- cmp r0, r5
- beq _02060CF0
- bl ErrorHandling
-_02060CF0:
- add r0, r6, r4
- pop {r4-r6, pc}
- .balign 4
-_02060CF4: .word 0x020F767C
-
- thumb_func_start FUN_02060CF8
-FUN_02060CF8: ; 0x02060CF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B6C
- add r4, r0, #0x0
- cmp r4, #0x0
- ble _02060D0E
- ldrh r0, [r5, #0x6]
- cmp r4, r0
- blt _02060D12
-_02060D0E:
- bl ErrorHandling
-_02060D12:
- sub r0, r4, #0x1
- ldr r1, [r5, #0x8]
- lsl r0, r0, #0x3
- add r0, r1, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02060D1C
-FUN_02060D1C: ; 0x02060D1C
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r5, r3, #0x0
- bl FUN_02060CCC
- ldrh r2, [r0, #0x4]
- ldr r1, [sp, #0x18]
- strh r2, [r1, #0x0]
- add r1, r5, #0x0
- bl FUN_02060CF8
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- bne _02060D3E
- bl ErrorHandling
-_02060D3E:
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, r5, #0x0
- blx r4
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02060D48
-FUN_02060D48: ; 0x02060D48
- push {r3-r5, lr}
- add r4, r2, #0x0
- add r5, r1, #0x0
- bl FUN_02060CCC
- add r1, r4, #0x0
- bl FUN_02060CF8
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _02060D62
- mov r0, #0x0
- pop {r3-r5, pc}
-_02060D62:
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- bne _02060D6C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02060D6C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx r2
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02060D74
-FUN_02060D74: ; 0x02060D74
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02022504
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0202B4B0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02060D90
-FUN_02060D90: ; 0x02060D90
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- mov r0, #0x40
- mov r1, #0x4
- str r3, [sp, #0x8]
- bl FUN_020219F4
- add r1, r7, #0x0
- add r4, r0, #0x0
- bl FUN_02021E28
- ldr r0, [sp, #0x24]
- ldr r3, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02060DCC
-FUN_02060DCC: ; 0x02060DCC
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r4, r1, #0x0
- bl MOD06_02248B5C
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B54
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- bl MOD06_02248B58
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_02060D90
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02060E04
-FUN_02060E04: ; 0x02060E04
- push {r4-r6, lr}
- add r3, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x40
- add r1, r3, #0x0
- add r6, r2, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x76
- add r2, r4, #0x0
- bl FUN_020671BC
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0xb
- bl FUN_02021EF0
- add r0, r4, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02060E34
-FUN_02060E34: ; 0x02060E34
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r5, r0, #0x0
- mov r1, #0x5
- mov r2, #0x0
- add r7, r3, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r6, #0x0]
- add r0, r5, #0x0
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r7, #0x0]
- add r0, r5, #0x0
- mov r1, #0x79
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x18]
- strb r0, [r1, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02060E70
-FUN_02060E70: ; 0x02060E70
- push {r4-r6, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x4
- add r2, sp, #0x8
- add r6, r3, #0x0
- bl FUN_0200A99C
- add r0, sp, #0x20
- ldrb r0, [r0, #0x10]
- add r1, r4, #0x0
- add r2, sp, #0x8
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r3, r6, #0x0
- bl FUN_02060D90
- add sp, #0x20
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02060EA0
-FUN_02060EA0: ; 0x02060EA0
- push {r3-r5, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x4
- add r2, sp, #0x8
- bl FUN_0200A99C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0x8
- mov r3, #0x0
- bl FUN_02060D90
- add sp, #0x20
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02060ECC
-FUN_02060ECC: ; 0x02060ECC
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, r2, #0x0
- add r0, r5, #0x0
- mov r1, #0x4d
- mov r2, #0x0
- add r7, r3, #0x0
- bl FUN_020671BC
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02060F0C
- mov r0, #0x40
- add r1, r6, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x76
- add r2, r4, #0x0
- bl FUN_020671BC
- add r0, r4, #0x0
- add r1, r7, #0x0
- mov r2, #0xb
- bl FUN_02021EF0
- add r0, r4, #0x0
- bl FUN_02021A20
-_02060F0C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02060F10
-FUN_02060F10: ; 0x02060F10
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0202B838
- add r4, r0, #0x0
- mov r0, #0x1
- strb r0, [r4, #0x0]
- add r0, r4, #0x6
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- add r1, r4, #0x2
- add r2, r4, #0x4
- add r3, r4, #0x5
- bl FUN_02060E34
- strb r5, [r4, #0x8]
- ldr r0, [sp, #0x18]
- strb r6, [r4, #0x7]
- strb r0, [r4, #0x9]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02060F3C
-FUN_02060F3C: ; 0x02060F3C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0202B844
- add r4, r0, #0x0
- mov r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x1f]
- add r0, r5, #0x0
- bl FUN_02068854
- strb r0, [r4, #0x1e]
- add r0, r4, #0x6
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x2
- add r2, r4, #0x4
- add r3, r4, #0x5
- bl FUN_02060E34
- add r0, r5, #0x0
- mov r1, #0x4d
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r4, #0x7]
- add r2, r4, #0x7
- add r4, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r3, r4, #0x0
- bl FUN_02060ECC
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02060F88
-FUN_02060F88: ; 0x02060F88
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0202B844
- mov r1, #0x2
- strb r1, [r0, #0x1f]
- add r0, #0x20
- strb r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02060F9C
-FUN_02060F9C: ; 0x02060F9C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0202B844
- mov r1, #0x1
- strb r1, [r0, #0x1f]
- strh r4, [r0, #0x22]
- pop {r4, pc}
-
- thumb_func_start FUN_02060FAC
-FUN_02060FAC: ; 0x02060FAC
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0202B850
- mov r1, #0x1
- strb r1, [r0, #0x0]
- strb r4, [r0, #0x1]
- pop {r4, pc}
-
- thumb_func_start FUN_02060FBC
-FUN_02060FBC: ; 0x02060FBC
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0202B85C
- mov r1, #0x1
- strb r1, [r0, #0x0]
- strb r5, [r0, #0x1]
- strh r4, [r0, #0x2]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02060FD0
-FUN_02060FD0: ; 0x02060FD0
- push {r3, lr}
- bl FUN_0202B868
- mov r1, #0x1
- strb r1, [r0, #0x0]
- mov r1, #0x0
- strb r1, [r0, #0x7]
- pop {r3, pc}
-
- thumb_func_start FUN_02060FE0
-FUN_02060FE0: ; 0x02060FE0
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_0202B868
- add r4, r0, #0x0
- ldrb r0, [r4, #0x7]
- cmp r0, #0x0
- bne _02061000
- add r0, r4, #0x6
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x2
- add r2, r4, #0x4
- add r3, r4, #0x5
- bl FUN_02060E34
-_02061000:
- ldrb r0, [r4, #0x7]
- add r0, r0, #0x1
- strb r0, [r4, #0x7]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02061008
-FUN_02061008: ; 0x02061008
- push {r4, lr}
- mov r1, #0x24
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x24
- bl MIi_CpuClearFast
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02061020
-FUN_02061020: ; 0x02061020
- ldr r3, _02061024 ; =FUN_02016A18
- bx r3
- .balign 4
-_02061024: .word FUN_02016A18
-
- thumb_func_start FUN_02061028
-FUN_02061028: ; 0x02061028
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x0
- add r1, r5, #0x0
- mov r2, #0x24
- add r7, r3, #0x0
- bl MIi_CpuClear32
- str r6, [r5, #0x0]
- add r0, r5, #0x0
- add r2, r5, #0x0
- add r3, r5, #0x0
- strh r7, [r5, #0x4]
- add r0, #0xa
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r5, #0x6
- add r2, #0x8
- add r3, #0x9
- bl FUN_02060E34
- add r0, r4, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x22]
- ldrh r0, [r5, #0x22]
- cmp r0, #0x0
- bne _0206106C
- bl ErrorHandling
-_0206106C:
- add r2, r5, #0x0
- add r5, #0xc
- ldr r0, [sp, #0x18]
- add r1, r4, #0x0
- add r2, #0xb
- add r3, r5, #0x0
- bl FUN_02060ECC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02061080
-FUN_02061080: ; 0x02061080
- push {r3-r7, lr}
- sub sp, #0x28
- add r7, sp, #0x0
- add r5, r2, #0x0
- add r6, r0, #0x0
- add r3, r1, #0x0
- add r4, r7, #0x0
- mov r2, #0x4
-_02061090:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _02061090
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- str r5, [sp, #0x0]
- add r0, sp, #0x0
- ldrh r0, [r0, #0x4]
- cmp r0, #0x0
- beq _020610F0
- ldrh r1, [r7, #0x4]
- ldr r0, _020610F4 ; =0x000003E7
- cmp r1, r0
- bls _020610B0
- strh r0, [r7, #0x4]
-_020610B0:
- cmp r5, #0x6
- bhi _020610F0
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020610C0: ; jump table (using 16-bit offset)
- .short _020610F0 - _020610C0 - 2; case 0
- .short _020610DE - _020610C0 - 2; case 1
- .short _020610F0 - _020610C0 - 2; case 2
- .short _020610F0 - _020610C0 - 2; case 3
- .short _020610CE - _020610C0 - 2; case 4
- .short _020610DE - _020610C0 - 2; case 5
- .short _020610DE - _020610C0 - 2; case 6
-_020610CE:
- add r0, r6, #0x0
- mov r1, #0x2
- mov r2, #0x1
- add r3, r7, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r7, pc}
-_020610DE:
- ldrh r0, [r7, #0x4]
- cmp r0, #0x2
- bls _020610F0
- mov r1, #0x2
- add r0, r6, #0x0
- add r2, r1, #0x0
- add r3, r7, #0x0
- bl FUN_02060D74
-_020610F0:
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_020610F4: .word 0x000003E7
-
- thumb_func_start FUN_020610F8
-FUN_020610F8: ; 0x020610F8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldrb r0, [r4, #0xb]
- cmp r0, #0x0
- beq _02061166
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x9]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0xa]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x6]
- ldrb r3, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrh r2, [r4, #0x22]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200AE38
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x3
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_0200AD38
- ldrb r0, [r4, #0x9]
- add r2, r4, #0x0
- mov r1, #0x4
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrb r3, [r4, #0x8]
- add r0, r5, #0x0
- add r2, #0xc
- bl FUN_02060D90
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02061166:
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x9]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0xa]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x6]
- ldrb r3, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrh r2, [r4, #0x22]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200AE38
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x3
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_0200AD38
- mov r0, #0x1
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020611A8
-FUN_020611A8: ; 0x020611A8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- mov r3, #0x3
- bl FUN_0200AD38
- ldr r0, [r4, #0x0]
- cmp r0, #0x1
- bne _020611E0
- add sp, #0x8
- mov r0, #0x2
- pop {r4-r6, pc}
-_020611E0:
- mov r0, #0x3
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020611E8
-FUN_020611E8: ; 0x020611E8
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl MOD06_02248B60
- add r1, r0, #0x0
- ldrh r1, [r1, #0x6]
- add r0, r4, #0x0
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061208
-FUN_02061208: ; 0x02061208
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r1, #0x0
- add r7, r0, #0x0
- add r4, r2, #0x0
- add r6, sp, #0x4
- cmp r5, #0x0
- beq _02061228
- add r0, r6, #0x4
- str r0, [sp, #0x0]
- add r0, r3, #0x0
- add r1, r6, #0x0
- add r2, r6, #0x2
- add r3, r6, #0x3
- bl FUN_02060E34
-_02061228:
- strh r4, [r6, #0x6]
- add r0, r7, #0x0
- mov r1, #0x2
- mov r2, #0x3
- add r3, r6, #0x0
- str r5, [r6, #0x8]
- bl FUN_02060D74
- add sp, #0x2c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206123C
-FUN_0206123C: ; 0x0206123C
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _02061280
- ldrh r2, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200AE38
- ldrb r0, [r4, #0x3]
- mov r1, #0x2
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- add sp, #0x8
- mov r0, #0x4
- pop {r4-r6, pc}
-_02061280:
- mov r0, #0x5
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061288
-FUN_02061288: ; 0x02061288
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0206129E
- mov r0, #0x1
- pop {r3-r5, pc}
-_0206129E:
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020612AC
-FUN_020612AC: ; 0x020612AC
- push {r4-r6, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_0202881C
- add r6, r0, #0x0
- mov r0, #0x0
- add r1, sp, #0x0
- mov r2, #0x28
- bl MIi_CpuClearFast
- add r0, r6, #0x0
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_020287A8
- add r1, r0, #0x0
- add r0, sp, #0x0
- mov r2, #0xb
- bl StringCopyN
- add r0, r5, #0x0
- mov r1, #0x2
- add r2, r4, #0x0
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020612EC
-FUN_020612EC: ; 0x020612EC
- ldr r3, _020612F4 ; =FUN_020612AC
- mov r1, #0x14
- bx r3
- nop
-_020612F4: .word FUN_020612AC
-
- thumb_func_start FUN_020612F8
-FUN_020612F8: ; 0x020612F8
- ldr r3, _02061300 ; =FUN_020612AC
- mov r1, #0x4
- bx r3
- nop
-_02061300: .word FUN_020612AC
-
- thumb_func_start FUN_02061304
-FUN_02061304: ; 0x02061304
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r2, #0x0
- add r0, r4, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl MOD06_02248B58
- str r0, [sp, #0x0]
- mov r1, #0x1
- add r0, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- str r1, [sp, #0x4]
- bl FUN_02060D90
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02060DCC
- mov r0, #0x6
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206133C
-FUN_0206133C: ; 0x0206133C
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r2, #0x0
- add r0, r4, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl MOD06_02248B58
- str r0, [sp, #0x0]
- mov r1, #0x1
- add r0, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- str r1, [sp, #0x4]
- bl FUN_02060D90
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02060DCC
- mov r0, #0x20
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061374
-FUN_02061374: ; 0x02061374
- push {r4, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r1, sp, #0x0
- strh r0, [r1, #0x2]
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x6
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206139C
-FUN_0206139C: ; 0x0206139C
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200AFF4
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200AE38
- mov r0, #0xa
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020613CC
-FUN_020613CC: ; 0x020613CC
- push {r3-r4, lr}
- sub sp, #0x2c
- add r4, r0, #0x0
- add r0, sp, #0x8
- add r2, sp, #0x4
- add r3, sp, #0x4
- str r0, [sp, #0x0]
- add r0, r1, #0x0
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- bl FUN_02060E34
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r1, sp, #0x4
- strh r0, [r1, #0x6]
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x8
- add r3, sp, #0x4
- bl FUN_02060D74
- add sp, #0x2c
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02061404
-FUN_02061404: ; 0x02061404
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldrh r2, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200AFF4
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x2
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- mov r0, #0xc
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061444
-FUN_02061444: ; 0x02061444
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061460
-FUN_02061460: ; 0x02061460
- push {r4-r5, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, sp, #0x8
- add r2, sp, #0x4
- add r3, sp, #0x4
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- bl FUN_02060E34
- add r1, sp, #0x8
- mov r0, #0x4
- add r1, #0x2
- add r2, r4, #0x0
- bl FUN_02060E04
- add r0, r5, #0x0
- mov r1, #0x2
- mov r2, #0xa
- add r3, sp, #0x4
- bl FUN_02060D74
- add sp, #0x2c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02061498
-FUN_02061498: ; 0x02061498
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrb r0, [r4, #0x3]
- mov r1, #0x2
- add r2, r4, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060D90
- bl rand_LC
- ldr r1, _020614F8 ; =0x00003334
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x5
- blo _020614F0
- bl ErrorHandling
-_020614F0:
- add r4, #0x11
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_020614F8: .word 0x00003334
-
- thumb_func_start FUN_020614FC
-FUN_020614FC: ; 0x020614FC
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl MOD06_02248B60
- add r1, r0, #0x0
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206151C
-FUN_0206151C: ; 0x0206151C
- push {r3, lr}
- sub sp, #0x28
- add r3, sp, #0x0
- strh r1, [r3, #0x0]
- strh r2, [r3, #0x2]
- mov r1, #0x2
- mov r2, #0xd
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3, pc}
-
- thumb_func_start FUN_02061534
-FUN_02061534: ; 0x02061534
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200B164
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r3, #0x3
- bl FUN_0200AD38
- mov r0, #0x18
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061574
-FUN_02061574: ; 0x02061574
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, sp, #0x0
- bl FUN_02022504
- bl FUN_0202B868
- ldrb r1, [r0, #0x7]
- cmp r1, #0x0
- beq _020615AC
- ldrh r1, [r0, #0x2]
- mov r2, #0xf
- add r3, r4, #0x0
- strh r1, [r4, #0x0]
- ldrb r1, [r0, #0x4]
- strb r1, [r4, #0x2]
- ldrb r1, [r0, #0x5]
- strb r1, [r4, #0x3]
- ldrb r1, [r0, #0x6]
- strb r1, [r4, #0x4]
- ldrb r0, [r0, #0x7]
- mov r1, #0x2
- strb r0, [r4, #0x5]
- add r0, r5, #0x0
- bl FUN_02060D74
-_020615AC:
- add sp, #0x28
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020615B0
-FUN_020615B0: ; 0x020615B0
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x2
- ldrb r2, [r4, #0x5]
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_0200AD38
- mov r0, #0x1a
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020615F8
-FUN_020615F8: ; 0x020615F8
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl MOD06_02248B60
- add r1, r0, #0x0
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061618
-FUN_02061618: ; 0x02061618
- push {r4-r5, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x8
- add r2, sp, #0x4
- add r3, sp, #0x4
- str r0, [sp, #0x0]
- add r0, r1, #0x0
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- bl FUN_02060E34
- add r0, sp, #0x4
- strh r4, [r0, #0x6]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r2, #0x11
- add r3, sp, #0x4
- bl FUN_0202B4B0
- add sp, #0x2c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02061648
-FUN_02061648: ; 0x02061648
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrh r2, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200AE38
- mov r0, #0x1d
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061688
-FUN_02061688: ; 0x02061688
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020616A4
-FUN_020616A4: ; 0x020616A4
- push {r3-r5, lr}
- sub sp, #0x28
- add r4, sp, #0x0
- strh r1, [r4, #0x0]
- strb r2, [r4, #0x2]
- add r5, sp, #0x0
- strh r3, [r4, #0x4]
- cmp r2, #0x5
- bne _020616C4
- mov r1, #0x3
- mov r2, #0x6
- add r3, r5, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
-_020616C4:
- cmp r2, #0x4
- bne _020616D6
- mov r1, #0x2
- mov r2, #0x12
- add r3, r5, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
-_020616D6:
- cmp r2, #0x0
- bne _020616E4
- mov r1, #0x2
- mov r2, #0x13
- add r3, r5, #0x0
- bl FUN_02060D74
-_020616E4:
- add sp, #0x28
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020616E8
-FUN_020616E8: ; 0x020616E8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200AE38
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x2
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_0200AD38
- mov r0, #0x1e
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061728
-FUN_02061728: ; 0x02061728
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200AE38
- mov r0, #0x1f
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061750
-FUN_02061750: ; 0x02061750
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r0, [r4, #0x0]
- mov r1, #0x4
- sub r0, #0x95
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_020852E8
- add r4, r0, #0x0
- mov r1, #0x1
- str r1, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x5
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061798
-FUN_02061798: ; 0x02061798
- push {r4-r5, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, sp, #0x4
- add r4, r1, #0x0
- strb r2, [r0, #0x6]
- bl rand_MT
- mov r1, #0x3
- bl _u32_div_f
- add r0, sp, #0x4
- strb r1, [r0, #0x5]
- add r0, sp, #0x8
- add r2, sp, #0x4
- add r3, sp, #0x4
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- bl FUN_02060E34
- add r0, r5, #0x0
- mov r1, #0x2
- mov r2, #0x15
- add r3, sp, #0x4
- bl FUN_0202B4B0
- add sp, #0x2c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020617D8
-FUN_020617D8: ; 0x020617D8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r2, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200B534
- ldrb r0, [r4, #0x3]
- mov r1, #0x2
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- bl rand_LC
- ldr r1, _02061830 ; =0x00005556
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x3
- blo _02061826
- bl ErrorHandling
-_02061826:
- add r4, #0x21
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02061830: .word 0x00005556
-
- thumb_func_start FUN_02061834
-FUN_02061834: ; 0x02061834
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061850
-FUN_02061850: ; 0x02061850
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02023924
- str r0, [r5, #0x0]
- add r0, r4, #0x0
- add r1, r5, #0x4
- bl FUN_0202393C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061868
-FUN_02061868: ; 0x02061868
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- bl FUN_02023924
- ldr r1, [r4, #0x0]
- cmp r1, r0
- beq _02061884
- bl ErrorHandling
-_02061884:
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x4
- bl FUN_0200ABC0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206189C
-FUN_0206189C: ; 0x0206189C
- push {r4, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_02061850
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x16
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4, pc}
-
- thumb_func_start FUN_020618B8
-FUN_020618B8: ; 0x020618B8
- push {r4, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_02061850
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x17
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4, pc}
-
- thumb_func_start FUN_020618D4
-FUN_020618D4: ; 0x020618D4
- push {r3, lr}
- bl FUN_02061868
- mov r0, #0x24
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020618E0
-FUN_020618E0: ; 0x020618E0
- push {r3, lr}
- bl FUN_02061868
- mov r0, #0x25
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020618EC
-FUN_020618EC: ; 0x020618EC
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- mov r1, #0x6b
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206EE50
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02061904
-FUN_02061904: ; 0x02061904
- push {r3-r6, lr}
- sub sp, #0x2c
- add r6, r0, #0x0
- add r0, sp, #0x8
- add r5, r1, #0x0
- add r4, r3, #0x0
- add r0, #0x2
- add r1, sp, #0x4
- add r3, sp, #0x8
- str r0, [sp, #0x0]
- add r0, r2, #0x0
- add r1, #0x2
- add r2, sp, #0x8
- add r3, #0x1
- bl FUN_02060E34
- add r0, sp, #0x4
- strh r5, [r0, #0x0]
- strb r4, [r0, #0x7]
- add r0, r6, #0x0
- mov r1, #0x3
- mov r2, #0x1
- add r3, sp, #0x4
- bl FUN_02060D74
- add sp, #0x2c
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206193C
-FUN_0206193C: ; 0x0206193C
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x5]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x6]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- ldrb r3, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02060E70
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r3, #0x4
- bl FUN_0200AD38
- ldrb r0, [r4, #0x7]
- cmp r0, #0x0
- bne _0206198A
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_0206198A:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061990
-FUN_02061990: ; 0x02061990
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x2]
- bl FUN_020245F0
- cmp r0, #0x0
- bne _020619B0
- mov r0, #0x0
- pop {r3-r5, pc}
-_020619B0:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- mov r2, #0x11
- bl FUN_0205F2E4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020619C0
-FUN_020619C0: ; 0x020619C0
- push {r4-r5, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, sp, #0x8
- str r0, [sp, #0x0]
- add r0, r2, #0x0
- add r2, sp, #0x4
- add r3, sp, #0x4
- add r4, r1, #0x0
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- bl FUN_02060E34
- mov r1, #0x3
- add r0, r5, #0x0
- add r2, r1, #0x0
- add r3, sp, #0x4
- str r4, [sp, #0xc]
- bl FUN_02060D74
- add sp, #0x2c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020619F0
-FUN_020619F0: ; 0x020619F0
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- mov r0, #0xfa
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- mul r0, r1
- mov r1, #0xfe
- bl _u32_div_f
- add r0, r0, #0x5
- mov r1, #0xa
- bl _u32_div_f
- mov r1, #0xa
- add r4, r0, #0x0
- bl _u32_div_f
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r3, #0x3
- bl FUN_0200AD38
- add r0, r4, #0x0
- mov r1, #0xa
- bl _u32_div_f
- mov r0, #0x0
- add r2, r1, #0x0
- str r0, [sp, #0x0]
- mov r3, #0x1
- add r0, r5, #0x0
- mov r1, #0x3
- str r3, [sp, #0x4]
- bl FUN_0200AD38
- mov r0, #0x2
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061A70
-FUN_02061A70: ; 0x02061A70
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061A8C
-FUN_02061A8C: ; 0x02061A8C
- push {r3-r5, lr}
- sub sp, #0x28
- mov r4, #0xfa
- lsl r4, r4, #0x2
- add r4, r1, r4
- add r5, sp, #0x0
- cmp r2, r4
- blo _02061AAC
- str r1, [r5, #0x0]
- str r2, [r5, #0x4]
- str r3, [r5, #0x8]
- mov r1, #0x3
- mov r2, #0x4
- add r3, r5, #0x0
- bl FUN_02060D74
-_02061AAC:
- add sp, #0x28
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02061AB0
-FUN_02061AB0: ; 0x02061AB0
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r5, #0x0
- mov r3, #0xa
- bl FUN_0200AD38
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r3, #0x6
- bl FUN_0200AD38
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, [r4, #0x4]
- add r0, r5, #0x0
- mov r1, #0x3
- mov r3, #0x6
- bl FUN_0200AD38
- mov r0, #0x3
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061B0C
-FUN_02061B0C: ; 0x02061B0C
- push {r3, lr}
- sub sp, #0x28
- add r3, sp, #0x0
- strh r1, [r3, #0x0]
- strh r2, [r3, #0x2]
- mov r1, #0x3
- mov r2, #0x8
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3, pc}
-
- thumb_func_start FUN_02061B24
-FUN_02061B24: ; 0x02061B24
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200B1D4
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- mov r1, #0x2
- mov r3, #0x3
- bl FUN_0200AD38
- mov r0, #0x7
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061B64
-FUN_02061B64: ; 0x02061B64
- push {r3, lr}
- sub sp, #0x28
- add r2, sp, #0x0
- add r3, sp, #0x0
- strh r1, [r2, #0x0]
- cmp r1, #0x1
- bls _02061B7A
- mov r1, #0x3
- mov r2, #0x9
- bl FUN_02060D74
-_02061B7A:
- add sp, #0x28
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02061B80
-FUN_02061B80: ; 0x02061B80
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r3, #0x3
- bl FUN_0200AD38
- mov r0, #0x8
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061BB4
-FUN_02061BB4: ; 0x02061BB4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- mov r1, #0x6b
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206EE50
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02061BCC
-FUN_02061BCC: ; 0x02061BCC
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B85C
- ldrh r2, [r0, #0x0]
- add r1, sp, #0x0
- add r3, sp, #0x0
- strh r2, [r1, #0x0]
- ldrh r2, [r0, #0x2]
- strh r2, [r1, #0x2]
- mov r2, #0x0
- strb r2, [r0, #0x0]
- strh r4, [r1, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x2
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061C00
-FUN_02061C00: ; 0x02061C00
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- mov r1, #0x0
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- mov r3, #0x4
- bl FUN_0200AD38
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200B518
- ldrb r0, [r4, #0x1]
- cmp r0, #0x1
- bne _02061C42
- add sp, #0x8
- mov r0, #0x8
- pop {r4-r6, pc}
-_02061C42:
- mov r0, #0x9
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061C48
-FUN_02061C48: ; 0x02061C48
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- mov r2, #0x11
- bl FUN_0205F2E4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02061C5C
-FUN_02061C5C: ; 0x02061C5C
- push {r3-r6, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_0206BB1C
- bl FUN_0204A20C
- add r1, sp, #0x8
- add r2, sp, #0x4
- add r3, sp, #0x4
- str r1, [sp, #0x0]
- add r1, sp, #0x4
- add r2, #0x2
- add r3, #0x3
- add r6, r0, #0x0
- bl FUN_02060E34
- add r2, sp, #0x8
- add r3, sp, #0x8
- mov r0, #0x20
- add r1, r6, #0x0
- add r2, #0x1
- add r3, #0x2
- bl FUN_02060ECC
- add r0, sp, #0x4
- strh r4, [r0, #0x1c]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x4
- add r3, sp, #0x4
- bl FUN_02060D74
- add sp, #0x2c
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061CA8
-FUN_02061CA8: ; 0x02061CA8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldrb r0, [r4, #0x5]
- cmp r0, #0x0
- beq _02061D00
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrb r0, [r4, #0x3]
- mov r1, #0x2
- add r2, r4, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060D90
- ldrh r2, [r4, #0x1c]
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0200B518
- add sp, #0x8
- mov r0, #0xa
- pop {r4-r6, pc}
-_02061D00:
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x3]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x0]
- ldrb r3, [r4, #0x2]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrh r2, [r4, #0x1c]
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0200B518
- mov r0, #0xb
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061D30
-FUN_02061D30: ; 0x02061D30
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061D4C
-FUN_02061D4C: ; 0x02061D4C
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- add r4, r1, #0x0
- ldr r0, [r0, #0x14]
- bl MOD20_02252538
- str r0, [sp, #0x0]
- add r0, sp, #0x0
- strh r4, [r0, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x6
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061D74
-FUN_02061D74: ; 0x02061D74
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200B02C
- ldrh r2, [r4, #0x4]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200B518
- mov r0, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061DA4
-FUN_02061DA4: ; 0x02061DA4
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B838
- ldrh r2, [r0, #0x0]
- add r1, sp, #0x0
- add r3, sp, #0x0
- strh r2, [r1, #0x0]
- ldrh r2, [r0, #0x2]
- strh r2, [r1, #0x2]
- ldrh r2, [r0, #0x4]
- strh r2, [r1, #0x4]
- ldrh r2, [r0, #0x6]
- strh r2, [r1, #0x6]
- ldrh r2, [r0, #0x8]
- strh r2, [r1, #0x8]
- mov r2, #0x0
- strb r2, [r0, #0x0]
- strh r4, [r1, #0xa]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x7
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061DE4
-FUN_02061DE4: ; 0x02061DE4
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r0, r6, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldrb r0, [r4, #0x5]
- mov r1, #0x0
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x6]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- ldrb r3, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrb r0, [r4, #0x8]
- bl FUN_02083298
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200B2AC
- ldrb r0, [r4, #0x7]
- bl FUN_02083268
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200B278
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- ldrb r2, [r4, #0x9]
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0200AD38
- add r0, r5, #0x0
- mov r1, #0x4
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0xa]
- add r0, r5, #0x0
- mov r1, #0x5
- bl FUN_0200B518
- ldrb r0, [r4, #0x9]
- cmp r0, #0x1
- bne _02061E5A
- add sp, #0x8
- mov r0, #0x12
- pop {r4-r6, pc}
-_02061E5A:
- mov r0, #0x11
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061E60
-FUN_02061E60: ; 0x02061E60
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x2]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061E7C
-FUN_02061E7C: ; 0x02061E7C
- push {r4, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- add r0, sp, #0x0
- strh r1, [r0, #0x2]
- ldr r0, [r4, #0xc]
- bl FUN_02027E24
- mov r1, #0x0
- bl FUN_02027008
- bl FUN_020275D8
- add r1, sp, #0x0
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x1
- mov r2, #0x9
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02061EAC
-FUN_02061EAC: ; 0x02061EAC
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrh r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02060EA0
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200B518
- mov r0, #0x14
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061EDC
-FUN_02061EDC: ; 0x02061EDC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- ldrh r1, [r4, #0x0]
- bl FUN_020245F0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061EF8
-FUN_02061EF8: ; 0x02061EF8
- push {r3, lr}
- sub sp, #0x28
- str r1, [sp, #0x0]
- mov r1, #0x1
- mov r2, #0xa
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r3, pc}
-
- thumb_func_start FUN_02061F0C
-FUN_02061F0C: ; 0x02061F0C
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldr r0, [r4, #0x0]
- add r0, #0x14
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02061F2C
-FUN_02061F2C: ; 0x02061F2C
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B850
- ldrb r2, [r0, #0x0]
- add r1, sp, #0x0
- add r3, sp, #0x0
- strb r2, [r1, #0x0]
- ldrb r2, [r0, #0x1]
- strb r2, [r1, #0x1]
- strh r4, [r1, #0x2]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0xb
- bl FUN_02060D74
- add sp, #0x28
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02061F60
-FUN_02061F60: ; 0x02061F60
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r0, r7, #0x0
- add r5, r1, #0x0
- bl MOD06_02248B60
- add r6, r0, #0x0
- ldrb r4, [r6, #0x1]
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r7, #0x0
- bl FUN_02060DCC
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0200B628
- ldrh r2, [r6, #0x2]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200B518
- sub r4, #0x19
- cmp r4, #0x3
- bhi _02061FB8
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02061FA0: ; jump table (using 16-bit offset)
- .short _02061FA8 - _02061FA0 - 2; case 0
- .short _02061FAC - _02061FA0 - 2; case 1
- .short _02061FB0 - _02061FA0 - 2; case 2
- .short _02061FB4 - _02061FA0 - 2; case 3
-_02061FA8:
- mov r0, #0x27
- pop {r3-r7, pc}
-_02061FAC:
- mov r0, #0x28
- pop {r3-r7, pc}
-_02061FB0:
- mov r0, #0x29
- pop {r3-r7, pc}
-_02061FB4:
- mov r0, #0x2a
- pop {r3-r7, pc}
-_02061FB8:
- mov r0, #0x26
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02061FBC
-FUN_02061FBC: ; 0x02061FBC
- push {r4-r6, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B844
- add r6, r0, #0x0
- add r3, sp, #0x0
- mov r2, #0x12
-_02061FD4:
- ldrh r1, [r6, #0x0]
- add r6, r6, #0x2
- strh r1, [r3, #0x0]
- add r3, r3, #0x2
- sub r2, r2, #0x1
- bne _02061FD4
- add r1, sp, #0x0
- strh r4, [r1, #0x24]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0xd
- add r3, sp, #0x0
- bl FUN_02060D74
- add sp, #0x28
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02061FF8
-FUN_02061FF8: ; 0x02061FF8
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r6, #0x0
- bl MOD06_02248B60
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02060DCC
- ldrb r0, [r4, #0x5]
- mov r1, #0x1
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x6]
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- ldrb r3, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02060E70
- ldrb r2, [r4, #0x1e]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0200AE04
- ldrh r2, [r4, #0x24]
- add r0, r5, #0x0
- mov r1, #0x5
- bl FUN_0200B518
- ldrb r0, [r4, #0x1f]
- cmp r0, #0x0
- beq _0206204A
- cmp r0, #0x1
- beq _02062062
- cmp r0, #0x2
- beq _02062050
- b _02062072
-_0206204A:
- add sp, #0x8
- mov r0, #0x2d
- pop {r4-r6, pc}
-_02062050:
- add r4, #0x20
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0200B660
- add sp, #0x8
- mov r0, #0x2c
- pop {r4-r6, pc}
-_02062062:
- ldrh r2, [r4, #0x22]
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0200AE38
- add sp, #0x8
- mov r0, #0x2e
- pop {r4-r6, pc}
-_02062072:
- mov r0, #0x2d
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02062078
-FUN_02062078: ; 0x02062078
- push {r3-r7, lr}
- mov r6, #0x0
- ldr r5, _0206209C ; =0x020F7650
- add r7, r0, #0x0
- add r4, r6, #0x0
-_02062082:
- ldrb r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_02028828
- cmp r0, #0x0
- beq _02062090
- add r4, r4, #0x1
-_02062090:
- add r6, r6, #0x1
- add r5, r5, #0x1
- cmp r6, #0x5
- blo _02062082
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0206209C: .word 0x020F7650
-
- thumb_func_start FUN_020620A0
-FUN_020620A0: ; 0x020620A0
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x8]
- bl FUN_0202881C
- add r7, r0, #0x0
- bl FUN_02062078
- add r4, r0, #0x0
- cmp r4, #0x0
- bgt _020620BE
- bl ErrorHandling
-_020620BE:
- cmp r4, #0x1
- ble _020620D0
- bl rand_MT
- add r1, r4, #0x0
- bl _u32_div_f
- add r5, r1, #0x0
- b _020620D2
-_020620D0:
- mov r5, #0x0
-_020620D2:
- ldr r4, _02062154 ; =0x020F7650
- mov r6, #0x0
-_020620D6:
- ldrb r1, [r4, #0x0]
- add r0, r7, #0x0
- bl FUN_02028828
- cmp r0, #0x0
- beq _020620F0
- cmp r5, #0x0
- bne _020620EE
- ldr r0, _02062154 ; =0x020F7650
- ldrb r0, [r0, r6]
- str r0, [sp, #0xc]
- b _020620F8
-_020620EE:
- sub r5, r5, #0x1
-_020620F0:
- add r6, r6, #0x1
- add r4, r4, #0x1
- cmp r6, #0x5
- blo _020620D6
-_020620F8:
- cmp r5, #0x0
- beq _02062100
- bl ErrorHandling
-_02062100:
- bl rand_LC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x11
- blo _02062118
- bl ErrorHandling
-_02062118:
- cmp r4, #0x9
- blt _0206211E
- add r4, r4, #0x1
-_0206211E:
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0xc]
- ldr r2, [sp, #0xc]
- mov r3, #0x0
- bl FUN_0200B708
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0xc]
- ldr r2, [sp, #0xc]
- mov r3, #0x1
- bl FUN_0200B708
- ldr r0, [sp, #0x8]
- mov r1, #0x2
- add r2, r4, #0x0
- bl FUN_0200AF18
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02062154: .word 0x020F7650
-
- thumb_func_start FUN_02062158
-FUN_02062158: ; 0x02062158
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0202881C
- bl FUN_02062078
- cmp r0, #0x0
- beq _0206216C
- mov r0, #0x1
- pop {r3, pc}
-_0206216C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02062170
-FUN_02062170: ; 0x02062170
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- bl rand_LC
- ldr r1, _02062234 ; =0x00003334
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x5
- blo _0206218C
- bl ErrorHandling
-_0206218C:
- ldr r0, _02062238 ; =0x02105FBC
- lsl r1, r4, #0x1
- ldrh r5, [r0, r1]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02034FE4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02034824
- add r2, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0200AFF4
- cmp r4, #0xb
- bhi _0206222C
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020621BC: ; jump table (using 16-bit offset)
- .short _020621D4 - _020621BC - 2; case 0
- .short _0206220C - _020621BC - 2; case 1
- .short _02062210 - _020621BC - 2; case 2
- .short _02062214 - _020621BC - 2; case 3
- .short _02062224 - _020621BC - 2; case 4
- .short _02062218 - _020621BC - 2; case 5
- .short _0206221C - _020621BC - 2; case 6
- .short _02062220 - _020621BC - 2; case 7
- .short _0206222C - _020621BC - 2; case 8
- .short _0206222C - _020621BC - 2; case 9
- .short _0206222C - _020621BC - 2; case 10
- .short _02062228 - _020621BC - 2; case 11
-_020621D4:
- bl rand_LC
- lsl r0, r0, #0x2
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _020621E4
- bl ErrorHandling
-_020621E4:
- cmp r4, #0x3
- bhi _0206220C
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020621F4: ; jump table (using 16-bit offset)
- .short _020621FC - _020621F4 - 2; case 0
- .short _02062200 - _020621F4 - 2; case 1
- .short _02062204 - _020621F4 - 2; case 2
- .short _02062208 - _020621F4 - 2; case 3
-_020621FC:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02062200:
- mov r0, #0x2
- pop {r3-r7, pc}
-_02062204:
- mov r0, #0x3
- pop {r3-r7, pc}
-_02062208:
- mov r0, #0x4
- pop {r3-r7, pc}
-_0206220C:
- mov r0, #0x5
- pop {r3-r7, pc}
-_02062210:
- mov r0, #0x6
- pop {r3-r7, pc}
-_02062214:
- mov r0, #0x7
- pop {r3-r7, pc}
-_02062218:
- mov r0, #0x8
- pop {r3-r7, pc}
-_0206221C:
- mov r0, #0x9
- pop {r3-r7, pc}
-_02062220:
- mov r0, #0xa
- pop {r3-r7, pc}
-_02062224:
- mov r0, #0xb
- pop {r3-r7, pc}
-_02062228:
- mov r0, #0xc
- pop {r3-r7, pc}
-_0206222C:
- bl ErrorHandling
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_02062234: .word 0x00003334
-_02062238: .word 0x02105FBC
-
- thumb_func_start FUN_0206223C
-FUN_0206223C: ; 0x0206223C
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02062240
-FUN_02062240: ; 0x02062240
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_0202A9B0
- mov r1, #0x2
- bl FUN_0202A990
- add r1, sp, #0x0
- add r1, #0x2
- add r2, sp, #0x0
- bl MOD06_02245910
- add r0, sp, #0x0
- ldrh r0, [r0, #0x2]
- bl FUN_02034824
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200AFF4
- add r2, sp, #0x0
- ldrh r2, [r2, #0x0]
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02060EA0
- mov r0, #0x1c
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02062280
-FUN_02062280: ; 0x02062280
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0202A9B0
- bl FUN_0202AA14
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02062290
-FUN_02062290: ; 0x02062290
- push {r3-r4}
- ldr r4, _020622BC ; =0x020F78A4
- mov r3, #0x0
-_02062296:
- ldrb r2, [r4, #0x0]
- cmp r0, r2
- bne _020622AE
- ldrb r2, [r4, #0x1]
- cmp r1, r2
- bne _020622AE
- lsl r0, r3, #0x1
- add r1, r3, r0
- ldr r0, _020622C0 ; =0x020F78A6
- ldrb r0, [r0, r1]
- pop {r3-r4}
- bx lr
-_020622AE:
- add r3, r3, #0x1
- add r4, r4, #0x3
- cmp r3, #0x6e
- blo _02062296
- mov r0, #0x3
- pop {r3-r4}
- bx lr
- .balign 4
-_020622BC: .word 0x020F78A4
-_020622C0: .word 0x020F78A6
-
- thumb_func_start FUN_020622C4
-FUN_020622C4: ; 0x020622C4
- push {r4-r6, lr}
- add r6, r1, #0x0
- bl rand_LC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x11
- blo _020622E0
- bl ErrorHandling
-_020622E0:
- cmp r5, #0x9
- blt _020622E6
- add r5, r5, #0x1
-_020622E6:
- bl rand_LC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x11
- blo _020622FE
- bl ErrorHandling
-_020622FE:
- cmp r4, #0x9
- blt _02062304
- add r4, r4, #0x1
-_02062304:
- add r0, r6, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- bl FUN_0200AF18
- add r0, r6, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0200AF18
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02062290
- cmp r0, #0x3
- bhi _0206233C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02062330: ; jump table (using 16-bit offset)
- .short _02062344 - _02062330 - 2; case 0
- .short _02062340 - _02062330 - 2; case 1
- .short _02062338 - _02062330 - 2; case 2
- .short _0206233C - _02062330 - 2; case 3
-_02062338:
- mov r0, #0x1e
- pop {r4-r6, pc}
-_0206233C:
- mov r0, #0x1f
- pop {r4-r6, pc}
-_02062340:
- mov r0, #0x20
- pop {r4-r6, pc}
-_02062344:
- mov r0, #0x21
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02062348
-FUN_02062348: ; 0x02062348
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206234C
-FUN_0206234C: ; 0x0206234C
- push {r3-r7, lr}
- sub sp, #0x88
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r4, _020623E8 ; =0x020F7658
- add r7, r0, #0x0
- mov r6, #0x0
- add r5, sp, #0x0
-_0206235E:
- ldrh r2, [r4, #0x0]
- add r0, r7, #0x0
- mov r1, #0x2
- bl FUN_0205F2E4
- strb r0, [r5, #0x0]
- add r6, r6, #0x1
- add r4, r4, #0x2
- add r5, r5, #0x1
- cmp r6, #0x12
- blo _0206235E
- mov r3, #0x0
- add r2, sp, #0x10
- ldr r0, _020623EC ; =0x020F79EE
- add r4, r3, #0x0
- add r1, r3, #0x0
- add r2, #0x2
- add r6, sp, #0x0
-_02062382:
- lsl r5, r1, #0x1
- ldrh r5, [r0, r5]
- ldrb r5, [r6, r5]
- cmp r5, #0x0
- beq _02062392
- strb r3, [r2, #0x0]
- add r2, r2, #0x1
- add r4, r4, #0x1
-_02062392:
- add r3, r3, #0x1
- add r1, r1, #0x2
- cmp r3, #0x76
- blo _02062382
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bne _020623A4
- bl ErrorHandling
-_020623A4:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x1
- bhi _020623B0
- mov r5, #0x0
- b _020623DE
-_020623B0:
- bl rand_LC
- add r5, r0, #0x0
- lsl r1, r4, #0x10
- ldr r0, _020623F0 ; =0x0000FFFF
- lsr r1, r1, #0x10
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- cmp r5, r0
- blo _020623DE
- bl ErrorHandling
-_020623DE:
- add r0, sp, #0x10
- add r0, #0x2
- ldrb r0, [r0, r5]
- add sp, #0x88
- pop {r3-r7, pc}
- .balign 4
-_020623E8: .word 0x020F7658
-_020623EC: .word 0x020F79EE
-_020623F0: .word 0x0000FFFF
-
- thumb_func_start FUN_020623F4
-FUN_020623F4: ; 0x020623F4
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0206234C
- add r4, r0, #0x0
- lsl r0, r4, #0x1
- add r0, r0, #0x1
- lsl r1, r0, #0x1
- ldr r0, _0206245C ; =0x020F79EE
- ldrh r0, [r0, r1]
- bl FUN_02034824
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200AFF4
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02025238
- cmp r0, #0x5
- bhi _02062456
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206243A: ; jump table (using 16-bit offset)
- .short _02062456 - _0206243A - 2; case 0
- .short _02062456 - _0206243A - 2; case 1
- .short _02062452 - _0206243A - 2; case 2
- .short _0206244E - _0206243A - 2; case 3
- .short _0206244A - _0206243A - 2; case 4
- .short _02062446 - _0206243A - 2; case 5
-_02062446:
- mov r0, #0x23
- pop {r4-r6, pc}
-_0206244A:
- mov r0, #0x24
- pop {r4-r6, pc}
-_0206244E:
- mov r0, #0x25
- pop {r4-r6, pc}
-_02062452:
- mov r0, #0x26
- pop {r4-r6, pc}
-_02062456:
- mov r0, #0x27
- pop {r4-r6, pc}
- nop
-_0206245C: .word 0x020F79EE
-
- thumb_func_start FUN_02062460
-FUN_02062460: ; 0x02062460
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- mov r2, #0x9
- bl FUN_0205F2E4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02062474
-FUN_02062474: ; 0x02062474
- push {r3-r6, lr}
- sub sp, #0xc
- mov r0, #0x4
- add r6, r1, #0x0
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- mov r1, #0x7e
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_02006548
- ldr r0, [sp, #0x8]
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- bne _02062496
- bl ErrorHandling
-_02062496:
- cmp r4, #0x1
- bhi _0206249E
- mov r5, #0x0
- b _020624C6
-_0206249E:
- bl rand_LC
- add r5, r0, #0x0
- ldr r0, _02062504 ; =0x0000FFFF
- add r1, r4, #0x0
- bl _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r4
- blo _020624C6
- bl ErrorHandling
-_020624C6:
- lsl r4, r5, #0x2
- add r0, sp, #0x4
- mov r2, #0x2
- add r0, #0x2
- mov r1, #0x7e
- add r3, r4, #0x4
- str r2, [sp, #0x0]
- bl FUN_02006548
- mov r2, #0x2
- add r0, sp, #0x4
- mov r1, #0x7e
- add r3, r4, #0x6
- str r2, [sp, #0x0]
- bl FUN_02006548
- add r2, sp, #0x4
- ldrh r2, [r2, #0x2]
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02060EA0
- add r2, sp, #0x4
- ldrh r2, [r2, #0x0]
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_0200AE38
- mov r0, #0x2a
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02062504: .word 0x0000FFFF
-
- thumb_func_start FUN_02062508
-FUN_02062508: ; 0x02062508
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206250C
-FUN_0206250C: ; 0x0206250C
- push {r4-r6, lr}
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r4, #0x0
-_02062514:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02027098
- cmp r0, #0x1
- bne _02062522
- add r5, r5, #0x1
-_02062522:
- add r4, r4, #0x1
- cmp r4, #0xb
- blt _02062514
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206252C
-FUN_0206252C: ; 0x0206252C
- push {r4-r7, lr}
- sub sp, #0xc
- ldr r0, [r0, #0xc]
- add r7, r1, #0x0
- bl FUN_02027E24
- add r6, r0, #0x0
- bl FUN_0206250C
- add r4, r0, #0x0
- cmp r4, #0x1
- ble _02062552
- bl rand_MT
- add r1, r4, #0x0
- bl _u32_div_f
- add r5, r1, #0x0
- b _02062554
-_02062552:
- mov r5, #0x0
-_02062554:
- mov r4, #0x0
-_02062556:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02027098
- cmp r0, #0x1
- bne _0206256C
- cmp r5, #0x0
- bne _0206256A
- str r4, [sp, #0x8]
- b _02062572
-_0206256A:
- sub r5, r5, #0x1
-_0206256C:
- add r4, r4, #0x1
- cmp r4, #0xb
- blt _02062556
-_02062572:
- cmp r4, #0xb
- blt _0206257A
- bl ErrorHandling
-_0206257A:
- ldr r1, [sp, #0x8]
- add r0, r6, #0x0
- bl FUN_02027008
- add r5, r0, #0x0
- mov r0, #0x8
- mov r1, #0x4
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202763C
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02027608
- add r0, r5, #0x0
- bl FUN_020276A8
- mov r1, #0x1
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add r0, r5, #0x0
- bl FUN_0202769C
- add r2, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0200B518
- mov r0, #0x32
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020625D4
-FUN_020625D4: ; 0x020625D4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0206250C
- cmp r0, #0x0
- beq _020625E8
- mov r0, #0x1
- pop {r3, pc}
-_020625E8:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020625EC
-FUN_020625EC: ; 0x020625EC
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x3
- mov r1, #0x50
- lsl r2, r0, #0xd
- ldr r6, [r5, #0xc]
- bl FUN_0201681C
- mov r1, #0x2d
- mov r0, #0x50
- lsl r1, r1, #0x4
- bl FUN_02016998
- mov r2, #0x2d
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x50
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- bl _s32_div_f
- strb r1, [r4, #0x16]
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- bl _s32_div_f
- strb r0, [r4, #0x17]
- ldrb r0, [r4, #0x16]
- bl FUN_0202B870
- strb r0, [r4, #0x18]
- ldrb r0, [r4, #0x16]
- bl FUN_0202B87C
- strb r0, [r4, #0x19]
- add r0, r4, #0x0
- add r0, #0xcc
- str r5, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r5, #0x8]
- add r0, #0xd0
- str r1, [r0, #0x0]
- add r0, r6, #0x0
- bl FUN_0202B8E4
- mov r1, #0x2a
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- bl FUN_02024FF4
- strh r0, [r4, #0x1a]
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- bl FUN_02025084
- strh r0, [r4, #0x1c]
- str r4, [r7, #0x8]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02062678
-FUN_02062678: ; 0x02062678
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r4, [r0, #0x8]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldrb r0, [r4, #0x18]
- cmp r0, #0x0
- ble _020626FE
- ldr r0, [sp, #0x4]
- str r0, [sp, #0x0]
-_0206268C:
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r2, [r4, r0]
- ldr r0, [sp, #0x0]
- mov r6, #0x0
- add r1, r2, r0
- ldr r0, [r2, r0]
- add r7, r6, #0x0
- cmp r0, #0x0
- ble _020626EC
- add r5, r6, #0x0
-_020626A2:
- add r0, r1, #0x4
- add r1, r0, r5
- ldrb r0, [r1, #0x6]
- mov r12, r0
- cmp r0, #0xff
- beq _020626D6
- ldrh r0, [r1, #0x4]
- cmp r0, #0x0
- bne _020626D6
- ldrb r2, [r4, #0x17]
- ldrb r3, [r4, #0x19]
- mov r1, #0xd
- mul r1, r2
- add r2, r3, r1
- ldr r1, [sp, #0x4]
- mov r0, #0x2a
- add r1, r1, r2
- mov r2, r12
- lsl r0, r0, #0x4
- sub r2, r2, r6
- lsl r2, r2, #0x18
- ldr r0, [r4, r0]
- lsr r2, r2, #0x18
- bl FUN_0202B8F0
- add r6, r6, #0x1
-_020626D6:
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x0]
- add r1, r1, r0
- ldr r0, [r2, r0]
- add r7, r7, #0x1
- add r5, #0x8
- cmp r7, r0
- blt _020626A2
-_020626EC:
- ldr r0, [sp, #0x0]
- ldrb r1, [r4, #0x18]
- add r0, #0x3c
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, r1
- blt _0206268C
-_020626FE:
- add r0, r4, #0x0
- ldr r5, [r4, #0x0]
- bl FUN_02016A18
- mov r2, #0x2d
- add r0, r4, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x4
- bl MI_CpuFill8
- add r0, r5, #0x0
- bl FUN_020168D0
- mov r0, #0xc
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02062720
-FUN_02062720: ; 0x02062720
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02062A70
- add r0, r4, #0x0
- bl FUN_02062C80
- add r0, r4, #0x0
- bl FUN_02062DB0
- add r0, r4, #0x0
- bl FUN_02062F3C
- mov r0, #0x2
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02062740
-FUN_02062740: ; 0x02062740
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02062FFC
- add r0, r4, #0x0
- bl FUN_02062EC4
- add r0, r4, #0x0
- bl FUN_02062D38
- add r0, r4, #0x0
- bl FUN_02062C4C
- mov r0, #0xb
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02062760
-FUN_02062760: ; 0x02062760
- push {r3, lr}
- ldrh r1, [r0, #0x22]
- ldrh r2, [r0, #0x24]
- bl FUN_02063028
- mov r0, #0x3
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02062770
-FUN_02062770: ; 0x02062770
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0xc0
- ldr r0, [r0, #0x0]
- bl FUN_02001204
- ldr r1, _020627C8 ; =0x021C48B8
- ldr r3, [r1, #0x48]
- mov r1, #0x2
- tst r1, r3
- beq _02062790
- add r0, r4, #0x0
- bl FUN_02063178
- mov r0, #0xa
- pop {r4, pc}
-_02062790:
- mov r2, #0x1
- add r1, r3, #0x0
- tst r1, r2
- bne _0206279C
- mov r0, #0x3
- pop {r4, pc}
-_0206279C:
- sub r1, r2, #0x3
- cmp r0, r1
- beq _020627AE
- sub r1, r2, #0x2
- cmp r0, r1
- beq _020627AE
- ldr r1, _020627CC ; =0x0000FFFF
- cmp r0, r1
- bne _020627B8
-_020627AE:
- add r0, r4, #0x0
- bl FUN_02063178
- mov r0, #0xa
- pop {r4, pc}
-_020627B8:
- strb r0, [r4, #0x1f]
- mov r0, #0x0
- strh r0, [r4, #0x28]
- add r0, r4, #0x0
- bl FUN_02063178
- mov r0, #0x4
- pop {r4, pc}
- .balign 4
-_020627C8: .word 0x021C48B8
-_020627CC: .word 0x0000FFFF
-
- thumb_func_start FUN_020627D0
-FUN_020627D0: ; 0x020627D0
- push {r3, lr}
- ldrh r1, [r0, #0x28]
- bl FUN_02063430
- mov r0, #0x5
- pop {r3, pc}
-
- thumb_func_start FUN_020627DC
-FUN_020627DC: ; 0x020627DC
- push {r3, lr}
- ldr r1, _02062804 ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- beq _020627F0
- bl FUN_020634DC
- mov r0, #0x2
- pop {r3, pc}
-_020627F0:
- mov r1, #0x4
- tst r1, r2
- beq _020627FE
- bl FUN_02063238
- mov r0, #0x6
- pop {r3, pc}
-_020627FE:
- mov r0, #0x5
- pop {r3, pc}
- nop
-_02062804: .word 0x021C48B8
-
- thumb_func_start FUN_02062808
-FUN_02062808: ; 0x02062808
- push {r4, lr}
- ldr r1, _020628B8 ; =0x021C48B8
- mov r2, #0x2
- ldr r1, [r1, #0x48]
- add r4, r0, #0x0
- tst r2, r1
- beq _0206281E
- bl FUN_02063264
- mov r0, #0x5
- pop {r4, pc}
-_0206281E:
- mov r0, #0x1
- tst r0, r1
- beq _0206285C
- mov r0, #0x0
- str r0, [r4, #0xc]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldrb r2, [r4, #0x1f]
- mov r1, #0x3c
- ldr r3, [r4, r0]
- mul r1, r2
- add r1, r3, r1
- add r3, r1, #0x4
- ldrh r1, [r4, #0x28]
- add r2, r4, r1
- add r1, r0, #0x0
- add r1, #0x8
- ldrb r1, [r2, r1]
- lsl r1, r1, #0x3
- add r2, r3, r1
- add r1, r0, #0x4
- str r2, [r4, r1]
- add r0, r0, #0x4
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x6]
- cmp r0, #0xff
- bne _02062858
- mov r0, #0x8
- pop {r4, pc}
-_02062858:
- mov r0, #0x7
- pop {r4, pc}
-_0206285C:
- mov r0, #0x40
- tst r0, r1
- beq _02062882
- ldrh r0, [r4, #0x28]
- cmp r0, #0x0
- beq _02062882
- sub r0, r0, #0x1
- strh r0, [r4, #0x28]
- ldrh r2, [r4, #0x28]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- lsl r2, r2, #0x4
- add r2, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r4, r0]
- mov r1, #0x7e
- asr r2, r2, #0x10
- bl FUN_0200C714
-_02062882:
- ldr r0, _020628B8 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x80
- tst r0, r1
- beq _020628B4
- add r0, r4, #0x0
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- ldrh r1, [r4, #0x28]
- sub r0, r0, #0x1
- cmp r1, r0
- bge _020628B4
- add r0, r1, #0x1
- strh r0, [r4, #0x28]
- ldrh r2, [r4, #0x28]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- lsl r2, r2, #0x4
- add r2, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r4, r0]
- mov r1, #0x7e
- asr r2, r2, #0x10
- bl FUN_0200C714
-_020628B4:
- mov r0, #0x6
- pop {r4, pc}
- .balign 4
-_020628B8: .word 0x021C48B8
-
- thumb_func_start FUN_020628BC
-FUN_020628BC: ; 0x020628BC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _020628E0 ; =0x020F7BC8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- ldr r2, _020628E4 ; =0x000003D9
- mov r3, #0xb
- bl FUN_02002198
- add r4, #0xc8
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_020628E0: .word 0x020F7BC8
-_020628E4: .word 0x000003D9
-
- thumb_func_start FUN_020628E8
-FUN_020628E8: ; 0x020628E8
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x3
- bgt _0206290C
- cmp r1, #0x0
- blt _020629CE
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02062904: ; jump table (using 16-bit offset)
- .short _02062912 - _02062904 - 2; case 0
- .short _0206294E - _02062904 - 2; case 1
- .short _02062966 - _02062904 - 2; case 2
- .short _0206298C - _02062904 - 2; case 3
-_0206290C:
- cmp r1, #0xff
- beq _020629B2
- b _020629CE
-_02062912:
- add r0, #0xe4
- mov r1, #0xff
- bl FUN_02019620
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldrh r0, [r4, #0x1a]
- add r2, r4, #0x0
- add r2, #0x98
- str r0, [sp, #0x4]
- ldr r0, _020629D4 ; =0x0001020F
- mov r1, #0x1
- str r0, [sp, #0x8]
- str r3, [sp, #0xc]
- add r0, r4, #0x0
- ldr r2, [r2, #0x0]
- add r0, #0xe4
- bl FUN_0201BDE0
- strb r0, [r4, #0x1e]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x2
- bl FUN_0200C66C
- ldr r0, [r4, #0xc]
- add r0, r0, #0x1
- str r0, [r4, #0xc]
- b _020629CE
-_0206294E:
- ldrb r0, [r4, #0x1e]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _020629CE
- add r0, r4, #0x0
- bl FUN_020628BC
- ldr r0, [r4, #0xc]
- add r0, r0, #0x1
- str r0, [r4, #0xc]
- b _020629CE
-_02062966:
- add r0, #0xc8
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0206297E
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _02062986
- b _020629CE
-_0206297E:
- ldr r0, [r4, #0xc]
- add r0, r0, #0x1
- str r0, [r4, #0xc]
- b _020629CE
-_02062986:
- mov r0, #0xff
- str r0, [r4, #0xc]
- b _020629CE
-_0206298C:
- mov r1, #0xb1
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r2, #0x0
- strh r2, [r1, #0x4]
- mov r1, #0x1
- bl FUN_020632A4
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C66C
- mov r0, #0x0
- str r0, [r4, #0xc]
- add sp, #0x10
- mov r0, #0x6
- pop {r4, pc}
-_020629B2:
- add r0, r4, #0x0
- bl FUN_02063208
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C66C
- mov r0, #0x0
- str r0, [r4, #0xc]
- add sp, #0x10
- mov r0, #0x6
- pop {r4, pc}
-_020629CE:
- mov r0, #0x7
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_020629D4: .word 0x0001020F
-
- thumb_func_start FUN_020629D8
-FUN_020629D8: ; 0x020629D8
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- beq _020629EE
- cmp r1, #0x1
- beq _02062A2A
- cmp r1, #0x2
- beq _02062A3C
- b _02062A60
-_020629EE:
- add r0, #0xe4
- mov r1, #0xff
- bl FUN_02019620
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldrh r0, [r4, #0x1a]
- add r2, r4, #0x0
- add r2, #0x9c
- str r0, [sp, #0x4]
- ldr r0, _02062A68 ; =0x0001020F
- mov r1, #0x1
- str r0, [sp, #0x8]
- str r3, [sp, #0xc]
- add r0, r4, #0x0
- ldr r2, [r2, #0x0]
- add r0, #0xe4
- bl FUN_0201BDE0
- strb r0, [r4, #0x1e]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x2
- bl FUN_0200C66C
- ldr r0, [r4, #0xc]
- add r0, r0, #0x1
- str r0, [r4, #0xc]
- b _02062A60
-_02062A2A:
- ldrb r0, [r4, #0x1e]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02062A60
- ldr r0, [r4, #0xc]
- add r0, r0, #0x1
- str r0, [r4, #0xc]
- b _02062A60
-_02062A3C:
- ldr r1, _02062A6C ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- beq _02062A60
- bl FUN_02063208
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C66C
- mov r0, #0x0
- str r0, [r4, #0xc]
- add sp, #0x10
- mov r0, #0x6
- pop {r4, pc}
-_02062A60:
- mov r0, #0x8
- add sp, #0x10
- pop {r4, pc}
- nop
-_02062A68: .word 0x0001020F
-_02062A6C: .word 0x021C48B8
-
- thumb_func_start FUN_02062A70
-FUN_02062A70: ; 0x02062A70
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldrb r2, [r4, #0x18]
- add r5, r1, #0x0
- mov r1, #0x3c
- ldr r0, [r4, #0x0]
- mul r1, r2
- bl FUN_02016998
- mov r1, #0xb
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- ldrb r3, [r4, #0x18]
- mov r2, #0x3c
- mov r1, #0x0
- mul r2, r3
- bl MI_CpuFill8
- ldrb r1, [r4, #0x16]
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_0202BD6C
- mov r1, #0xa9
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldrb r0, [r4, #0x18]
- cmp r0, #0x0
- bgt _02062AB4
- b _02062C48
-_02062AB4:
- ldr r0, [sp, #0x10]
- str r4, [sp, #0x8]
- str r0, [sp, #0x4]
- add r5, r0, #0x0
-_02062ABC:
- ldrb r2, [r4, #0x17]
- ldrb r3, [r4, #0x19]
- mov r1, #0xd
- mul r1, r2
- mov r0, #0x2a
- add r2, r3, r1
- ldr r1, [sp, #0x10]
- lsl r0, r0, #0x4
- add r1, r1, r2
- ldr r0, [r4, r0]
- ldr r2, [r4, #0x0]
- bl FUN_0202BDF0
- mov r1, #0xaa
- mov r3, #0x0
- ldr r2, [sp, #0x8]
- lsl r1, r1, #0x2
- str r0, [r2, r1]
- add r0, r2, #0x0
- ldr r0, [r0, r1]
- mov r12, r3
- str r0, [sp, #0xc]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02062B22
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- add r3, r1, #0x0
- add r2, r0, #0x4
- ldr r0, [sp, #0x4]
- add r3, #0x18
- add r2, r2, r0
- add r0, r1, #0x0
- add r0, #0x18
- ldr r0, [r4, r0]
- add r0, r0, r5
- str r2, [r0, #0x4]
- add r0, r1, #0x0
- add r0, #0x18
- ldr r0, [r4, r0]
- mov r2, #0x1
- add r0, r0, r5
- strh r2, [r0, #0x8]
- ldr r3, [r4, r3]
- mov r0, #0xff
- add r3, r3, r5
- add r1, #0x18
- strb r0, [r3, #0xa]
- ldr r0, [r4, r1]
- str r2, [r0, r5]
- b _02062C2C
-_02062B22:
- add r2, r3, #0x0
- cmp r0, #0x0
- ble _02062BE4
- ldr r0, [sp, #0xc]
- str r0, [sp, #0x0]
- add r7, r0, #0x4
-_02062B2E:
- mov r0, r12
- cmp r0, #0x0
- bne _02062BA8
- mov r0, #0xa9
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x4]
- add r1, r1, r0
- ldr r6, [r1, #0x8]
- ldr r1, [sp, #0x0]
- ldr r1, [r1, #0x8]
- cmp r6, r1
- blo _02062BA8
- add r6, r0, #0x4
- ldr r0, [sp, #0x4]
- lsl r1, r3, #0x3
- add r0, r6, r0
- mov r6, #0xb
- lsl r6, r6, #0x6
- ldr r6, [r4, r6]
- add r3, r3, #0x1
- add r6, r5, r6
- add r6, r1, r6
- str r0, [r6, #0x4]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r6, r1, r0
- mov r0, #0x1
- strh r0, [r6, #0x8]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- lsl r6, r3, #0x3
- add r0, r5, r0
- add r1, r1, r0
- mov r0, #0xff
- strb r0, [r1, #0xa]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r0, r6, r0
- str r7, [r0, #0x4]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r1, r6, r0
- mov r0, #0x1
- strh r0, [r1, #0x8]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r0, r6, r0
- strb r2, [r0, #0xa]
- mov r0, #0x1
- mov r12, r0
- b _02062BD0
-_02062BA8:
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- lsl r6, r3, #0x3
- add r0, r5, r0
- add r0, r6, r0
- str r7, [r0, #0x4]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r1, r6, r0
- mov r0, #0x1
- strh r0, [r1, #0x8]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- add r0, r5, r0
- add r0, r6, r0
- strb r2, [r0, #0xa]
-_02062BD0:
- ldr r0, [sp, #0x0]
- add r2, r2, #0x1
- add r0, #0xc
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- add r3, r3, #0x1
- ldr r0, [r0, #0x0]
- add r7, #0xc
- cmp r2, r0
- blt _02062B2E
-_02062BE4:
- mov r0, r12
- cmp r0, #0x0
- bne _02062C1E
- mov r0, #0xa9
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- lsl r2, r3, #0x3
- add r3, r1, #0x4
- ldr r1, [sp, #0x4]
- add r1, r3, r1
- add r3, r0, #0x0
- add r3, #0x1c
- ldr r3, [r4, r3]
- add r3, r3, r5
- add r3, r2, r3
- str r1, [r3, #0x4]
- add r3, r0, #0x0
- add r3, #0x1c
- ldr r3, [r4, r3]
- mov r1, #0x1
- add r3, r3, r5
- add r3, r2, r3
- strh r1, [r3, #0x8]
- add r0, #0x1c
- ldr r0, [r4, r0]
- mov r1, #0xff
- add r0, r0, r5
- add r0, r2, r0
- strb r1, [r0, #0xa]
-_02062C1E:
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0x0]
- add r1, r0, #0x1
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- str r1, [r0, r5]
-_02062C2C:
- ldr r0, [sp, #0x8]
- ldrb r1, [r4, #0x18]
- add r0, r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r5, #0x3c
- add r0, #0xc
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x10]
- add r0, r0, #0x1
- str r0, [sp, #0x10]
- cmp r0, r1
- bge _02062C48
- b _02062ABC
-_02062C48:
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02062C4C
-FUN_02062C4C: ; 0x02062C4C
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldrb r0, [r6, #0x18]
- mov r4, #0x0
- add r0, r0, #0x1
- cmp r0, #0x0
- ble _02062C72
- mov r7, #0xa9
- add r5, r6, #0x0
- lsl r7, r7, #0x2
-_02062C60:
- ldr r0, [r5, r7]
- bl FUN_0202BE6C
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- add r5, r5, #0x4
- add r0, r0, #0x1
- cmp r4, r0
- blt _02062C60
-_02062C72:
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldr r0, [r6, r0]
- bl FUN_02016A18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02062C80
-FUN_02062C80: ; 0x02062C80
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r2, _02062D34 ; =0x000001E1
- ldr r3, [r5, #0x0]
- mov r0, #0x0
- mov r1, #0x1a
- bl FUN_0200A86C
- str r0, [r5, #0x2c]
- ldr r2, [r5, #0x0]
- mov r0, #0x2
- mov r1, #0x4c
- bl FUN_0200AA90
- str r0, [r5, #0x30]
- ldr r1, [r5, #0x0]
- mov r0, #0x4c
- bl FUN_020219F4
- str r0, [r5, #0x34]
- ldr r0, [r5, #0x2c]
- mov r1, #0xd
- bl FUN_0200A914
- str r0, [r5, #0x38]
- ldr r0, [r5, #0x2c]
- mov r1, #0x16
- bl FUN_0200A914
- str r0, [r5, #0x3c]
- ldr r0, [r5, #0x2c]
- mov r1, #0x24
- bl FUN_0200A914
- str r0, [r5, #0x40]
- ldr r0, [r5, #0x2c]
- mov r1, #0xe
- bl FUN_0200A914
- str r0, [r5, #0x44]
- ldrb r0, [r5, #0x18]
- mov r4, #0x0
- cmp r0, #0x0
- ble _02062CFE
- add r6, r5, #0x0
-_02062CDA:
- ldrb r1, [r5, #0x19]
- ldr r0, [r5, #0x2c]
- add r1, r1, r4
- bl FUN_0200A914
- str r0, [r6, #0x64]
- ldrb r1, [r5, #0x19]
- ldr r0, [r5, #0x2c]
- add r1, #0x17
- add r1, r1, r4
- bl FUN_0200A914
- str r0, [r6, #0x7c]
- ldrb r0, [r5, #0x18]
- add r4, r4, #0x1
- add r6, r6, #0x4
- cmp r4, r0
- blt _02062CDA
-_02062CFE:
- mov r4, #0x0
- add r6, r5, #0x0
-_02062D02:
- add r1, r4, #0x0
- ldr r0, [r5, #0x2c]
- add r1, #0xf
- bl FUN_0200A914
- str r0, [r6, #0x48]
- add r4, r4, #0x1
- add r6, r6, #0x4
- cmp r4, #0x7
- blt _02062D02
- mov r4, #0x0
- add r6, r5, #0x0
-_02062D1A:
- add r1, r4, #0x0
- ldr r0, [r5, #0x2c]
- add r1, #0x25
- bl FUN_0200A914
- add r1, r6, #0x0
- add r1, #0x94
- add r4, r4, #0x1
- add r6, r6, #0x4
- str r0, [r1, #0x0]
- cmp r4, #0x3
- blt _02062D1A
- pop {r4-r6, pc}
- .balign 4
-_02062D34: .word 0x000001E1
-
- thumb_func_start FUN_02062D38
-FUN_02062D38: ; 0x02062D38
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
-_02062D40:
- add r0, r5, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_02021A20
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x3
- blt _02062D40
- mov r5, #0x0
- add r4, r6, #0x0
-_02062D56:
- ldr r0, [r4, #0x48]
- bl FUN_02021A20
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x7
- blt _02062D56
- ldrb r0, [r6, #0x18]
- mov r5, #0x0
- cmp r0, #0x0
- ble _02062D84
- add r4, r6, #0x0
-_02062D6E:
- ldr r0, [r4, #0x64]
- bl FUN_02021A20
- ldr r0, [r4, #0x7c]
- bl FUN_02021A20
- ldrb r0, [r6, #0x18]
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, r0
- blt _02062D6E
-_02062D84:
- ldr r0, [r6, #0x44]
- bl FUN_02021A20
- ldr r0, [r6, #0x40]
- bl FUN_02021A20
- ldr r0, [r6, #0x3c]
- bl FUN_02021A20
- ldr r0, [r6, #0x38]
- bl FUN_02021A20
- ldr r0, [r6, #0x34]
- bl FUN_02021A20
- ldr r0, [r6, #0x30]
- bl FUN_0200AB18
- ldr r0, [r6, #0x2c]
- bl FUN_0200A8B8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02062DB0
-FUN_02062DB0: ; 0x02062DB0
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- mov r1, #0xad
- ldr r3, [r4, #0x0]
- mov r0, #0x1
- lsl r1, r1, #0x6
- mov r2, #0x0
- bl FUN_02017F18
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x11
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_02018540
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_0201AC68
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201797C
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02018884
- strh r0, [r4, #0x10]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02018884
- strh r0, [r4, #0x12]
- mov r0, #0x0
- mov r1, #0x2
- bl FUN_020178BC
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020178BC
- ldrh r0, [r4, #0x1c]
- ldr r2, _02062EB8 ; =0x000003E2
- mov r1, #0x3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- mov r3, #0xa
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- bl FUN_0200CD68
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _02062EBC ; =0x000003D9
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _02062EBC ; =0x000003D9
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- mov r3, #0xb
- bl FUN_0200CB00
- mov r1, #0x1a
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x4
- bl FUN_02002ED0
- mov r1, #0x6
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x6
- bl FUN_02002EEC
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r0, _02062EC0 ; =0x0000036D
- add r1, r4, #0x0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- add r1, #0xe4
- mov r2, #0x3
- mov r3, #0x2
- bl FUN_02019064
- add r4, #0xe4
- add r0, r4, #0x0
- mov r1, #0xff
- bl FUN_02019620
- add sp, #0x14
- pop {r3-r4, pc}
- .balign 4
-_02062EB8: .word 0x000003E2
-_02062EBC: .word 0x000003D9
-_02062EC0: .word 0x0000036D
-
- thumb_func_start FUN_02062EC4
-FUN_02062EC4: ; 0x02062EC4
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0xe4
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0xe4
- bl FUN_02019570
- add r0, r4, #0x0
- add r0, #0xe4
- bl FUN_02019178
- mov r1, #0xad
- ldr r3, [r4, #0x0]
- mov r0, #0x1
- lsl r1, r1, #0x6
- mov r2, #0x0
- bl FUN_02017F18
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x11
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_02018540
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_0201AC68
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201797C
- ldrh r1, [r4, #0x10]
- mov r0, #0x0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_020178BC
- ldrh r1, [r4, #0x12]
- mov r0, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_020178BC
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02062F3C
-FUN_02062F3C: ; 0x02062F3C
- push {r4-r7, lr}
- sub sp, #0x24
- ldr r4, _02062FF0 ; =0x020F7BDC
- add r3, sp, #0xc
- add r6, r0, #0x0
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r1, r2, #0x0
- ldr r3, [r6, #0x0]
- add r0, r6, r0
- mov r2, #0x2
- bl MOD05_021D959C
- mov r0, #0x3
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _02062FF4 ; =0x000034D8
- mov r2, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r6, r0
- mov r1, #0x82
- add r3, r2, #0x0
- bl MOD05_021D967C
- ldr r0, _02062FF4 ; =0x000034D8
- mov r1, #0x82
- str r0, [sp, #0x0]
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r6, r0
- mov r2, #0x2
- mov r3, #0x0
- bl MOD05_021D96F4
- ldr r0, _02062FF4 ; =0x000034D8
- mov r1, #0x82
- str r0, [sp, #0x0]
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r6, r0
- mov r2, #0x3
- mov r3, #0x0
- bl MOD05_021D9708
- mov r2, #0x1
- ldr r0, _02062FF4 ; =0x000034D8
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r6, r0
- mov r1, #0x82
- mov r3, #0x0
- bl MOD05_021D971C
- ldr r4, _02062FF8 ; =0x020F7C7C
- mov r7, #0x0
- add r5, r6, #0x0
-_02062FC4:
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r6, r0
- add r1, r4, #0x0
- bl MOD05_021D9820
- mov r1, #0xa6
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r7, r7, #0x1
- add r4, #0x34
- add r5, r5, #0x4
- cmp r7, #0x2
- blt _02062FC4
- add r0, r1, #0x4
- ldr r0, [r6, r0]
- mov r1, #0x0
- bl FUN_0200C644
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_02062FF0: .word 0x020F7BDC
-_02062FF4: .word 0x000034D8
-_02062FF8: .word 0x020F7C7C
-
- thumb_func_start FUN_02062FFC
-FUN_02062FFC: ; 0x02062FFC
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r6, #0xa6
- mov r4, #0x0
- add r5, r7, #0x0
- lsl r6, r6, #0x2
-_02063008:
- ldr r0, [r5, r6]
- cmp r0, #0x0
- beq _02063012
- bl FUN_0200C3DC
-_02063012:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x2
- blt _02063008
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r7, r0
- bl MOD05_021D99F8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02063028
-FUN_02063028: ; 0x02063028
- push {r4-r7, lr}
- sub sp, #0x1c
- str r1, [sp, #0x14]
- add r5, r0, #0x0
- str r2, [sp, #0x18]
- ldrb r0, [r5, #0x18]
- ldr r1, [r5, #0x0]
- add r7, r0, #0x1
- add r0, r7, #0x0
- bl FUN_02012838
- add r1, r5, #0x0
- add r1, #0xc4
- str r0, [r1, #0x0]
- mov r2, #0x1
- add r1, r5, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x18
- str r0, [sp, #0x4]
- lsl r0, r7, #0x19
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- str r2, [sp, #0x10]
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- add r1, #0xd4
- mov r3, #0x4
- bl FUN_02019064
- add r0, r5, #0x0
- add r0, #0xd4
- mov r1, #0xff
- bl FUN_02019620
- ldrb r0, [r5, #0x18]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02063094
- add r4, r5, #0x0
-_0206307C:
- add r0, r5, #0x0
- add r0, #0xc4
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x64]
- add r2, r6, #0x0
- bl FUN_020128A0
- ldrb r0, [r5, #0x18]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _0206307C
-_02063094:
- add r0, r5, #0x0
- add r0, #0xc4
- ldr r0, [r0, #0x0]
- ldr r1, [r5, #0x38]
- ldr r2, _02063160 ; =0x0000FFFF
- bl FUN_020128A0
- add r1, r5, #0x0
- ldr r0, _02063164 ; =0x020F7C2C
- add r1, #0xa0
- mov r2, #0x20
- bl MI_CpuCopy8
- add r1, r5, #0x0
- add r0, r5, #0x0
- add r1, #0xd4
- add r0, #0xac
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xc4
- ldr r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xa0
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xbc
- str r5, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xb0
- strh r7, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xb7
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- bic r1, r0
- add r0, r5, #0x0
- add r0, #0xb7
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- ldr r1, _02063168 ; =FUN_020631C8
- add r0, #0xa4
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0xa8
- str r1, [r0, #0x0]
- ldr r3, [r5, #0x0]
- add r0, r5, #0x0
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x18]
- add r0, #0xa0
- lsr r3, r3, #0x18
- bl FUN_020010A8
- add r1, r5, #0x0
- add r1, #0xc0
- str r0, [r1, #0x0]
- add r0, r5, #0x0
- ldr r2, _0206316C ; =0x000003D9
- add r0, #0xd4
- mov r1, #0x0
- mov r3, #0xb
- bl FUN_0200CCA4
- add r0, r5, #0x0
- ldr r2, _02063170 ; =0x000003E2
- add r0, #0xe4
- mov r1, #0x1
- mov r3, #0xa
- bl FUN_0200D0BC
- add r0, r5, #0x0
- add r0, #0xe4
- mov r1, #0xff
- bl FUN_02019620
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, _02063174 ; =0x0001020F
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
- str r3, [sp, #0xc]
- add r0, r5, #0x0
- ldr r2, [r5, #0x3c]
- add r0, #0xe4
- mov r1, #0x1
- bl FUN_0201BDE0
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_0200C644
- add r5, #0xd0
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_02063160: .word 0x0000FFFF
-_02063164: .word 0x020F7C2C
-_02063168: .word FUN_020631C8
-_0206316C: .word 0x000003D9
-_02063170: .word 0x000003E2
-_02063174: .word 0x0001020F
-
- thumb_func_start FUN_02063178
-FUN_02063178: ; 0x02063178
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0xc0
- add r1, r4, #0x0
- add r2, r4, #0x0
- ldr r0, [r0, #0x0]
- add r1, #0x22
- add r2, #0x24
- bl FUN_02001300
- add r0, r4, #0x0
- add r0, #0xc4
- ldr r0, [r0, #0x0]
- bl FUN_02012870
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_02019570
- add r0, r4, #0x0
- add r0, #0xd4
- mov r1, #0x0
- bl FUN_0200CCF8
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_02019178
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C644
- add r4, #0xd0
- ldr r0, [r4, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- pop {r4, pc}
-
- thumb_func_start FUN_020631C8
-FUN_020631C8: ; 0x020631C8
- push {r3-r5, lr}
- mov r1, #0x13
- add r5, r0, #0x0
- bl FUN_02001470
- add r1, sp, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_02001448
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02001470
- add r2, sp, #0x0
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- add r2, r3, r2
- lsl r2, r2, #0x4
- add r2, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r4, r0]
- mov r1, #0x7e
- asr r2, r2, #0x10
- bl FUN_0200C714
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02063208
-FUN_02063208: ; 0x02063208
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0xe4
- mov r1, #0xff
- bl FUN_02019620
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, _02063234 ; =0x0001020F
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- str r3, [sp, #0xc]
- add r4, #0x94
- ldr r2, [r4, #0x0]
- add r0, #0xe4
- mov r1, #0x1
- bl FUN_0201BDE0
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_02063234: .word 0x0001020F
-
- thumb_func_start FUN_02063238
-FUN_02063238: ; 0x02063238
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02063208
- ldrh r2, [r4, #0x28]
- mov r0, #0xa6
- lsl r0, r0, #0x2
- lsl r2, r2, #0x4
- add r2, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r4, r0]
- mov r1, #0x7e
- asr r2, r2, #0x10
- bl FUN_0200C714
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C644
- pop {r4, pc}
-
- thumb_func_start FUN_02063264
-FUN_02063264: ; 0x02063264
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0xe4
- mov r1, #0xff
- bl FUN_02019620
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, _020632A0 ; =0x0001020F
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
- str r3, [sp, #0xc]
- ldrb r2, [r4, #0x1f]
- add r0, r4, #0x0
- add r0, #0xe4
- lsl r2, r2, #0x2
- add r2, r4, r2
- ldr r2, [r2, #0x7c]
- mov r1, #0x1
- bl FUN_0201BDE0
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C644
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_020632A0: .word 0x0001020F
-
- thumb_func_start FUN_020632A4
-FUN_020632A4: ; 0x020632A4
- push {r4-r7, lr}
- sub sp, #0x34
- str r1, [sp, #0x10]
- mov r1, #0xb
- add r4, r0, #0x0
- lsl r1, r1, #0x6
- ldr r1, [r4, r1]
- ldrb r0, [r4, #0x1f]
- str r1, [sp, #0x24]
- mov r1, #0x3c
- mul r1, r0
- str r1, [sp, #0x28]
- ldrb r1, [r4, #0x16]
- lsl r0, r0, #0x3
- lsl r2, r1, #0x2
- ldr r1, _02063428 ; =0x020F7BD0
- ldr r1, [r1, r2]
- add r0, r1, r0
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- add r0, #0xd4
- mov r1, #0xff
- bl FUN_02019620
- mov r0, #0x1
- str r0, [sp, #0x1c]
- mov r0, #0x0
- add r1, r0, #0x0
- str r1, [sp, #0x20]
- ldr r2, [sp, #0x24]
- ldr r1, [sp, #0x28]
- str r0, [sp, #0x18]
- ldr r1, [r2, r1]
- cmp r1, #0x0
- ble _020633EA
- ldr r1, [sp, #0x28]
- add r7, r2, r1
- add r1, r0, #0x0
- str r1, [sp, #0x30]
- add r1, r4, #0x0
- str r1, [sp, #0x2c]
- add r1, #0xd4
- str r1, [sp, #0x2c]
-_020632FA:
- ldrh r1, [r7, #0x8]
- cmp r1, #0x0
- beq _020633D6
- ldr r1, [r7, #0x4]
- ldr r5, [r1, #0x4]
- ldr r1, [sp, #0x14]
- ldr r1, [r1, #0x0]
- cmp r5, r1
- bls _0206330E
- add r5, r1, #0x0
-_0206330E:
- cmp r5, r0
- bge _02063318
- ldr r0, [sp, #0x1c]
- add r0, r0, #0x1
- str r0, [sp, #0x1c]
-_02063318:
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x30]
- ldr r2, [sp, #0x1c]
- mov r1, #0x0
- mov r3, #0x1
- bl FUN_0200AD38
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r2, [r7, #0x4]
- ldr r0, [r4, #0x30]
- ldr r2, [r2, #0x8]
- mov r1, #0x1
- mov r3, #0x2
- bl FUN_0200ABB4
- ldr r0, [r4, #0x30]
- ldr r1, [r4, #0x34]
- ldr r2, [r4, #0x44]
- bl FUN_0200B7B8
- ldr r0, [sp, #0x30]
- mov r1, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0206342C ; =0x0001020F
- mov r3, #0x8
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x2c]
- ldr r2, [r4, #0x34]
- bl FUN_0201BDE0
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x14]
- ldr r0, [r4, #0x30]
- ldrh r3, [r3, #0x4]
- mov r1, #0x0
- add r2, r5, #0x0
- bl FUN_0200AD38
- ldr r2, [sp, #0x14]
- ldr r0, [r4, #0x30]
- ldrh r2, [r2, #0x6]
- ldr r1, [r4, #0x34]
- lsl r2, r2, #0x2
- add r2, r4, r2
- ldr r2, [r2, #0xc]
- bl FUN_0200B7B8
- mov r0, #0x0
- ldr r1, [r4, #0x34]
- add r2, r0, #0x0
- bl FUN_02002E14
- mov r12, r0
- ldr r0, [sp, #0x30]
- mov r3, #0xb8
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0206342C ; =0x0001020F
- mov r6, r12
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x2c]
- ldr r2, [r4, #0x34]
- mov r1, #0x0
- sub r3, r3, r6
- bl FUN_0201BDE0
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x20]
- add r2, r4, r0
- mov r0, #0xb2
- lsl r0, r0, #0x2
- strb r1, [r2, r0]
- ldr r1, [sp, #0x30]
- add r0, r5, #0x0
- add r1, #0x10
- str r1, [sp, #0x30]
- ldr r1, [sp, #0x18]
- add r1, r1, #0x1
- str r1, [sp, #0x18]
- cmp r1, #0x6
- bge _020633EA
-_020633D6:
- ldr r1, [sp, #0x20]
- ldr r2, [sp, #0x24]
- add r1, r1, #0x1
- str r1, [sp, #0x20]
- ldr r1, [sp, #0x28]
- add r7, #0x8
- ldr r2, [r2, r1]
- ldr r1, [sp, #0x20]
- cmp r1, r2
- blt _020632FA
-_020633EA:
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_020191D0
- add r1, r4, #0x0
- ldr r0, [sp, #0x18]
- add r1, #0x21
- strb r0, [r1, #0x0]
- ldrh r1, [r4, #0x28]
- cmp r1, #0x0
- beq _0206340E
- add r0, r4, #0x0
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- blt _0206340E
- sub r0, r1, #0x1
- strh r0, [r4, #0x28]
-_0206340E:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- beq _0206341E
- add r0, r4, #0x0
- bl FUN_02063238
- add sp, #0x34
- pop {r4-r7, pc}
-_0206341E:
- add r0, r4, #0x0
- bl FUN_02063264
- add sp, #0x34
- pop {r4-r7, pc}
- .balign 4
-_02063428: .word 0x020F7BD0
-_0206342C: .word 0x0001020F
-
- thumb_func_start FUN_02063430
-FUN_02063430: ; 0x02063430
- push {r3-r4, lr}
- sub sp, #0x14
- mov r2, #0x1
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x18
- str r0, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r4, #0x0
- str r2, [sp, #0x10]
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- add r1, #0xd4
- mov r3, #0x4
- bl FUN_02019064
- add r0, r4, #0x0
- ldr r2, _020634D0 ; =0x000003D9
- add r0, #0xd4
- mov r1, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020632A4
- mov r0, #0xa7
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C644
- mov r0, #0xe
- str r0, [sp, #0x0]
- mov r3, #0x8
- add r1, r4, #0x0
- str r3, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- ldr r0, _020634D4 ; =0x00000345
- add r1, #0xf4
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- mov r2, #0x3
- bl FUN_02019064
- add r0, r4, #0x0
- add r0, #0xf4
- mov r1, #0x0
- bl FUN_02019620
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, _020634D8 ; =0x00010200
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r0, r4, #0x0
- ldr r2, [r4, #0x40]
- add r0, #0xf4
- add r3, r1, #0x0
- bl FUN_0201BDE0
- add r4, #0xd0
- ldr r0, [r4, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x14
- pop {r3-r4, pc}
- nop
-_020634D0: .word 0x000003D9
-_020634D4: .word 0x00000345
-_020634D8: .word 0x00010200
-
- thumb_func_start FUN_020634DC
-FUN_020634DC: ; 0x020634DC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0xd4
- bl FUN_02019570
- add r0, r4, #0x0
- add r0, #0xd4
- mov r1, #0x0
- bl FUN_0200CCF8
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_02019178
- add r0, r4, #0x0
- add r0, #0xf4
- bl FUN_02019570
- add r0, r4, #0x0
- add r0, #0xf4
- bl FUN_02019178
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C644
- mov r0, #0xa7
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C644
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063524
-FUN_02063524: ; 0x02063524
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r2, [r4, #0x0]
- ldr r1, [r4, #0x8]
- cmp r2, #0xc
- bls _02063540
- b _02063646
-_02063540:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206354C: ; jump table (using 16-bit offset)
- .short _02063566 - _0206354C - 2; case 0
- .short _02063572 - _0206354C - 2; case 1
- .short _0206357E - _0206354C - 2; case 2
- .short _02063594 - _0206354C - 2; case 3
- .short _020635AA - _0206354C - 2; case 4
- .short _020635C0 - _0206354C - 2; case 5
- .short _020635D6 - _0206354C - 2; case 6
- .short _020635EC - _0206354C - 2; case 7
- .short _02063602 - _0206354C - 2; case 8
- .short _02063618 - _0206354C - 2; case 9
- .short _0206362C - _0206354C - 2; case 10
- .short _02063636 - _0206354C - 2; case 11
- .short _0206363E - _0206354C - 2; case 12
-_02063566:
- ldrh r2, [r4, #0x4]
- add r1, r5, #0x0
- bl FUN_020625EC
- str r0, [r4, #0x0]
- b _02063646
-_02063572:
- add r0, r1, #0x0
- ldr r1, [r5, #0xc]
- bl FUN_02062720
- str r0, [r4, #0x0]
- b _02063646
-_0206357E:
- add r0, r1, #0x0
- bl FUN_02062760
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_02063594:
- add r0, r1, #0x0
- bl FUN_02062770
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_020635AA:
- add r0, r1, #0x0
- bl FUN_020627D0
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_020635C0:
- add r0, r1, #0x0
- bl FUN_020627DC
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_020635D6:
- add r0, r1, #0x0
- bl FUN_02062808
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_020635EC:
- add r0, r1, #0x0
- bl FUN_020628E8
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_02063602:
- add r0, r1, #0x0
- bl FUN_020629D8
- str r0, [r4, #0x0]
- mov r0, #0x4d
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_0201FDEC
- b _02063646
-_02063618:
- ldr r0, _0206364C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- bne _02063626
- mov r0, #0x0
- pop {r3-r5, pc}
-_02063626:
- mov r0, #0xa
- str r0, [r4, #0x0]
- b _02063646
-_0206362C:
- add r0, r1, #0x0
- bl FUN_02062740
- str r0, [r4, #0x0]
- b _02063646
-_02063636:
- bl FUN_02062678
- str r0, [r4, #0x0]
- b _02063646
-_0206363E:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_02063646:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0206364C: .word 0x021C48B8
-
- thumb_func_start FUN_02063650
-FUN_02063650: ; 0x02063650
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_02016998
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- strh r5, [r2, #0x4]
- str r0, [r2, #0x8]
- ldr r0, [r4, #0x10]
- ldr r1, _02063678 ; =FUN_02063524
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_02063678: .word FUN_02063524
-
- thumb_func_start FUN_0206367C
-FUN_0206367C: ; 0x0206367C
- add r0, #0xb4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02063684
-FUN_02063684: ; 0x02063684
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02063818
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- mov r1, #0x0
- bl FUN_0205F264
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_02034F88
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- mov r1, #0x0
- bl FUN_0202AB68
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x74
- strh r1, [r0, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- bne _020636DA
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- ldr r1, [r5, #0x1c]
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_02060478
- add r0, r4, #0x0
- bl FUN_020603F0
-_020636DA:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020636DC
-FUN_020636DC: ; 0x020636DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0xb4
- ldr r1, [r1, #0x0]
- cmp r1, #0x1
- beq _020637A6
- bl FUN_02063818
- cmp r0, #0x0
- bne _020636F8
- add r0, r5, #0x0
- bl FUN_0206384C
-_020636F8:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F254
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- mov r1, #0x0
- bl FUN_0205F264
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_02034F88
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- mov r1, #0x0
- bl FUN_0202AB68
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x74
- strh r1, [r0, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- ldr r1, [r5, #0x1c]
- ldr r1, [r1, #0x0]
- bl FUN_02060478
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034930
- cmp r0, #0x0
- bne _02063758
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- bl FUN_0205F284
- add r0, r4, #0x0
- bl FUN_0205F2B4
-_02063758:
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0206377C
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_020348B4
- cmp r0, #0x0
- bne _0206377C
- mov r0, #0x0
- str r0, [r4, #0x4]
- b _02063786
-_0206377C:
- ldr r0, [r4, #0x4]
- cmp r0, #0x2
- bne _02063786
- mov r0, #0x0
- str r0, [r4, #0x4]
-_02063786:
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034908
- cmp r0, #0x0
- beq _020637A6
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E0C
- ldr r2, [r5, #0x1c]
- ldr r1, [r2, #0x8]
- ldr r2, [r2, #0xc]
- bl FUN_0204AE04
-_020637A6:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020637A8
-FUN_020637A8: ; 0x020637A8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F204
- ldr r0, [r4, #0xc]
- bl FUN_0202A9B0
- bl FUN_020603C8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020637C4
-FUN_020637C4: ; 0x020637C4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F204
- ldr r0, [r4, #0xc]
- bl FUN_0202A9B0
- bl FUN_020603C8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020637E0
-FUN_020637E0: ; 0x020637E0
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F204
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020637F0
-FUN_020637F0: ; 0x020637F0
- push {r4, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- bl FUN_0205ED2C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205F358
- pop {r4, pc}
-
- thumb_func_start FUN_02063808
-FUN_02063808: ; 0x02063808
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0202A9B0
- bl FUN_020603C8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02063818
-FUN_02063818: ; 0x02063818
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034F1C
- add r1, r0, #0x0
- beq _02063846
- add r0, r4, #0x0
- bl FUN_02034FC0
- cmp r0, #0x0
- bne _02063846
- add r0, r4, #0x0
- ldr r1, [r4, #0x1c]
- add r0, #0x98
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- mov r2, #0x20
- bl FUN_020299C0
- mov r0, #0x1
- pop {r4, pc}
-_02063846:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206384C
-FUN_0206384C: ; 0x0206384C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DC8
- ldr r1, [r5, #0x1c]
- ldr r6, [r0, #0x0]
- ldr r4, [r1, #0x0]
- cmp r6, r4
- beq _02063882
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- mov r1, #0x20
- add r5, #0x98
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x0]
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02029880
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r6, pc}
-_02063882:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02063888
-FUN_02063888: ; 0x02063888
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r1, #0x18
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020169D8
- add r3, r0, #0x0
- mov r2, #0x18
- mov r1, #0x0
-_0206389C:
- strb r1, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _0206389C
- str r5, [r0, #0x0]
- str r4, [r0, #0x10]
- strh r6, [r0, #0x8]
- add r2, sp, #0x0
- mov r1, #0x10
- ldrsh r1, [r2, r1]
- strh r1, [r0, #0xa]
- mov r1, #0x14
- ldrsh r1, [r2, r1]
- strh r1, [r0, #0xc]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020638BC
-FUN_020638BC: ; 0x020638BC
- push {r3-r6, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020638DA
- cmp r0, #0x1
- beq _020638F8
- b _02063942
-_020638DA:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553E8
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r4, #0x10]
- mov r1, #0x1
- bl MOD06_0224666C
- str r0, [r4, #0x14]
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02063942
-_020638F8:
- ldr r0, [r4, #0x14]
- bl MOD06_022466A0
- cmp r0, #0x0
- beq _02063942
- ldr r0, [r4, #0x14]
- bl MOD06_022466AC
- mov r1, #0xa
- mov r2, #0xc
- ldrh r0, [r4, #0x8]
- ldrsh r1, [r4, r1]
- ldrsh r2, [r4, r2]
- bl FUN_02034F40
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- bne _02063920
- bl ErrorHandling
-_02063920:
- add r0, r6, #0x0
- add r1, sp, #0x8
- bl FUN_02034E90
- ldr r0, [sp, #0x14]
- mov r2, #0x1
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r1, [sp, #0x8]
- ldr r3, [sp, #0x10]
- add r0, r5, #0x0
- sub r2, r2, #0x2
- bl FUN_020492BC
- add r0, r4, #0x0
- bl FUN_02016A18
-_02063942:
- mov r0, #0x0
- add sp, #0x1c
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02063948
-FUN_02063948: ; 0x02063948
- cmp r0, #0x0
- bne _02063954
- ldr r0, _0206395C ; =0x020F7CE4
- lsl r1, r1, #0x3
- ldr r0, [r0, r1]
- bx lr
-_02063954:
- ldr r0, _02063960 ; =0x020F7CE8
- lsl r1, r1, #0x3
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_0206395C: .word 0x020F7CE4
-_02063960: .word 0x020F7CE8
-
- thumb_func_start FUN_02063964
-FUN_02063964: ; 0x02063964
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r5, [r4, #0x4]
- ldr r1, [r5, #0x1c]
- ldr r1, [r1, #0x0]
- str r1, [r4, #0x0]
- mov r1, #0x0
- strh r1, [r4, #0xc]
- add r1, sp, #0x8
- bl FUN_02037024
- ldr r0, [sp, #0x8]
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _020639B6
- bl FUN_02058458
- cmp r0, #0x54
- beq _0206399A
- cmp r0, #0x55
- beq _020639A4
- cmp r0, #0x56
- beq _020639AE
- b _020639B6
-_0206399A:
- ldrh r1, [r4, #0xc]
- mov r0, #0x8
- orr r0, r1
- strh r0, [r4, #0xc]
- b _020639B6
-_020639A4:
- ldrh r1, [r4, #0xc]
- mov r0, #0x20
- orr r0, r1
- strh r0, [r4, #0xc]
- b _020639B6
-_020639AE:
- ldrh r1, [r4, #0xc]
- mov r0, #0x1
- orr r0, r1
- strh r0, [r4, #0xc]
-_020639B6:
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- ldr r1, [sp, #0x4]
- str r2, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204A6E0
- add r7, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- add r2, sp, #0x0
- bl FUN_020572B8
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204A6E0
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl MOD05_021E643C
- cmp r0, #0x0
- beq _020639FE
- ldrh r1, [r4, #0xc]
- mov r0, #0x4
- orr r0, r1
- strh r0, [r4, #0xc]
-_020639FE:
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl MOD05_021E69BC
- cmp r0, #0x0
- beq _02063A18
- ldrh r1, [r4, #0xc]
- mov r0, #0x80
- orr r0, r1
- strh r0, [r4, #0xc]
-_02063A18:
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- bl FUN_02054A48
- cmp r0, #0x0
- beq _02063A2C
- ldrh r1, [r4, #0xc]
- mov r0, #0x40
- orr r0, r1
- strh r0, [r4, #0xc]
-_02063A2C:
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DEC
- cmp r0, #0xe
- beq _02063A42
- cmp r0, #0x10
- beq _02063A4E
- add sp, #0xc
- pop {r4-r7, pc}
-_02063A42:
- ldrh r1, [r4, #0xc]
- mov r0, #0x10
- add sp, #0xc
- orr r0, r1
- strh r0, [r4, #0xc]
- pop {r4-r7, pc}
-_02063A4E:
- ldrh r1, [r4, #0xc]
- mov r0, #0x1
- lsl r0, r0, #0x8
- orr r0, r1
- strh r0, [r4, #0xc]
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02063A5C
-FUN_02063A5C: ; 0x02063A5C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x20
- mov r1, #0x10
- bl FUN_02016998
- ldr r1, _02063A7C ; =0x19740205
- str r1, [r0, #0x0]
- ldr r1, [r4, #0x8]
- str r1, [r0, #0x4]
- ldr r2, [r5, #0x0]
- ldr r1, [r5, #0x4]
- str r2, [r0, #0x8]
- str r1, [r0, #0xc]
- pop {r3-r5, pc}
- .balign 4
-_02063A7C: .word 0x19740205
-
- thumb_func_start FUN_02063A80
-FUN_02063A80: ; 0x02063A80
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02063A98 ; =0x19740205
- cmp r1, r0
- beq _02063A90
- bl ErrorHandling
-_02063A90:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-_02063A98: .word 0x19740205
-
- thumb_func_start FUN_02063A9C
-FUN_02063A9C: ; 0x02063A9C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063AAE
- mov r0, #0x1
- pop {r4, pc}
-_02063AAE:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x1
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063AC2
- mov r0, #0x2
- pop {r4, pc}
-_02063AC2:
- ldrh r1, [r4, #0xc]
- mov r0, #0x1
- tst r1, r0
- beq _02063ACC
- mov r0, #0x0
-_02063ACC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063AD0
-FUN_02063AD0: ; 0x02063AD0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063B00 ; =FUN_02063B04
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063B00: .word FUN_02063B04
-
- thumb_func_start FUN_02063B04
-FUN_02063B04: ; 0x02063B04
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063B3C ; =0x00002718
- ldr r2, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063B3C: .word 0x00002718
-
- thumb_func_start FUN_02063B40
-FUN_02063B40: ; 0x02063B40
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063B52
- mov r0, #0x1
- pop {r4, pc}
-_02063B52:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x2
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063B66
- mov r0, #0x2
- pop {r4, pc}
-_02063B66:
- ldr r0, [r4, #0x0]
- bl FUN_02034898
- cmp r0, #0x0
- bne _02063B74
- mov r0, #0x1
- pop {r4, pc}
-_02063B74:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _02063B88
- mov r0, #0x3
- pop {r4, pc}
-_02063B88:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- beq _02063BA8
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _02063BAC
-_02063BA8:
- mov r0, #0x1
- b _02063BAE
-_02063BAC:
- mov r0, #0x0
-_02063BAE:
- cmp r0, #0x1
- bne _02063BB6
- mov r0, #0x1
- pop {r4, pc}
-_02063BB6:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063BBC
-FUN_02063BBC: ; 0x02063BBC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- ldrh r1, [r5, #0x4]
- str r1, [r0, #0x0]
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0xb
- sub r1, #0xbc
- bl FUN_02016998
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, [r4, r1]
- add r0, r6, #0x0
- mov r2, #0x1
- bl FUN_0205F7A0
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r6, #0x0
- bl FUN_02037E90
- ldr r1, _02063C10 ; =FUN_02036AB8
- add r0, r4, #0x0
- bl FUN_02035D04
- pop {r4-r6, pc}
- .balign 4
-_02063C10: .word FUN_02036AB8
-
- thumb_func_start FUN_02063C14
-FUN_02063C14: ; 0x02063C14
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063C26
- mov r0, #0x1
- pop {r4, pc}
-_02063C26:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x4
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063C3A
- mov r0, #0x2
- pop {r4, pc}
-_02063C3A:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x38]
- bl FUN_020553C4
- cmp r0, #0x2
- bne _02063C4A
- mov r0, #0x4
- pop {r4, pc}
-_02063C4A:
- ldrh r1, [r4, #0xc]
- mov r0, #0x4
- tst r0, r1
- bne _02063C56
- mov r0, #0x1
- pop {r4, pc}
-_02063C56:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _02063C6A
- mov r0, #0x3
- pop {r4, pc}
-_02063C6A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063C70
-FUN_02063C70: ; 0x02063C70
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063CA0 ; =FUN_02063CA4
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063CA0: .word FUN_02063CA4
-
- thumb_func_start FUN_02063CA4
-FUN_02063CA4: ; 0x02063CA4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063CDC ; =0x0000271C
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063CDC: .word 0x0000271C
-
- thumb_func_start FUN_02063CE0
-FUN_02063CE0: ; 0x02063CE0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063CF2
- mov r0, #0x1
- pop {r4, pc}
-_02063CF2:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x5
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063D06
- mov r0, #0x2
- pop {r4, pc}
-_02063D06:
- ldrh r1, [r4, #0xc]
- mov r0, #0x8
- tst r0, r1
- beq _02063D12
- mov r0, #0x0
- pop {r4, pc}
-_02063D12:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063D18
-FUN_02063D18: ; 0x02063D18
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063D48 ; =FUN_02063D4C
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063D48: .word FUN_02063D4C
-
- thumb_func_start FUN_02063D4C
-FUN_02063D4C: ; 0x02063D4C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063D84 ; =0x0000271A
- ldr r2, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063D84: .word 0x0000271A
-
- thumb_func_start FUN_02063D88
-FUN_02063D88: ; 0x02063D88
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063D9A
- mov r0, #0x1
- pop {r4, pc}
-_02063D9A:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x3
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063DAE
- mov r0, #0x2
- pop {r4, pc}
-_02063DAE:
- ldrh r1, [r4, #0xc]
- mov r0, #0x10
- tst r0, r1
- beq _02063DBA
- mov r0, #0x0
- pop {r4, pc}
-_02063DBA:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063DC0
-FUN_02063DC0: ; 0x02063DC0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063DF0 ; =FUN_02063DF4
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063DF0: .word FUN_02063DF4
-
- thumb_func_start FUN_02063DF4
-FUN_02063DF4: ; 0x02063DF4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063E2C ; =0x0000271E
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063E2C: .word 0x0000271E
-
- thumb_func_start FUN_02063E30
-FUN_02063E30: ; 0x02063E30
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063E42
- mov r0, #0x1
- pop {r4, pc}
-_02063E42:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x0
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063E56
- mov r0, #0x2
- pop {r4, pc}
-_02063E56:
- ldrh r1, [r4, #0xc]
- mov r0, #0x20
- tst r0, r1
- beq _02063E62
- mov r0, #0x0
- pop {r4, pc}
-_02063E62:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063E68
-FUN_02063E68: ; 0x02063E68
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063E98 ; =FUN_02063E9C
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063E98: .word FUN_02063E9C
-
- thumb_func_start FUN_02063E9C
-FUN_02063E9C: ; 0x02063E9C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063ED4 ; =0x00002719
- ldr r2, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063ED4: .word 0x00002719
-
- thumb_func_start FUN_02063ED8
-FUN_02063ED8: ; 0x02063ED8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063EEA
- mov r0, #0x1
- pop {r4, pc}
-_02063EEA:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x7
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063EFE
- mov r0, #0x2
- pop {r4, pc}
-_02063EFE:
- ldrh r1, [r4, #0xc]
- mov r0, #0x40
- tst r0, r1
- beq _02063F0A
- mov r0, #0x0
- pop {r4, pc}
-_02063F0A:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063F10
-FUN_02063F10: ; 0x02063F10
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063F40 ; =FUN_02063F44
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063F40: .word FUN_02063F44
-
- thumb_func_start FUN_02063F44
-FUN_02063F44: ; 0x02063F44
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02063F7C ; =0x0000271D
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02063F7C: .word 0x0000271D
-
- thumb_func_start FUN_02063F80
-FUN_02063F80: ; 0x02063F80
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02063F92
- mov r0, #0x1
- pop {r4, pc}
-_02063F92:
- ldr r0, [r1, #0xc]
- bl FUN_020238F4
- mov r1, #0x6
- bl FUN_020239D0
- cmp r0, #0x0
- bne _02063FA6
- mov r0, #0x2
- pop {r4, pc}
-_02063FA6:
- ldrh r1, [r4, #0xc]
- mov r0, #0x80
- tst r0, r1
- bne _02063FB2
- mov r0, #0x1
- pop {r4, pc}
-_02063FB2:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _02063FC6
- mov r0, #0x3
- pop {r4, pc}
-_02063FC6:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02063FCC
-FUN_02063FCC: ; 0x02063FCC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02063FFC ; =FUN_02064000
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_02063FFC: .word FUN_02064000
-
- thumb_func_start FUN_02064000
-FUN_02064000: ; 0x02064000
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02064038 ; =0x0000271B
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02064038: .word 0x0000271B
-
- thumb_func_start FUN_0206403C
-FUN_0206403C: ; 0x0206403C
- ldr r1, [r0, #0x4]
- ldr r1, [r1, #0x6c]
- sub r1, r1, #0x2
- cmp r1, #0x1
- bhi _0206404A
- mov r0, #0x1
- bx lr
-_0206404A:
- ldrh r1, [r0, #0xc]
- mov r0, #0x1
- lsl r0, r0, #0x8
- tst r0, r1
- beq _02064058
- mov r0, #0x0
- bx lr
-_02064058:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206405C
-FUN_0206405C: ; 0x0206405C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0206408C ; =FUN_02064090
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- .balign 4
-_0206408C: .word FUN_02064090
-
- thumb_func_start FUN_02064090
-FUN_02064090: ; 0x02064090
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _020640C8 ; =0x0000271F
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_020640C8: .word 0x0000271F
-
- thumb_func_start FUN_020640CC
-FUN_020640CC: ; 0x020640CC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _020640DE
- mov r0, #0x1
- pop {r4, pc}
-_020640DE:
- ldr r0, [r4, #0x0]
- bl FUN_020348E4
- cmp r0, #0x0
- bne _020640EC
- mov r0, #0x1
- pop {r4, pc}
-_020640EC:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _02064100
- mov r0, #0x3
- pop {r4, pc}
-_02064100:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- beq _02064120
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _02064124
-_02064120:
- mov r0, #0x1
- b _02064126
-_02064124:
- mov r0, #0x0
-_02064126:
- cmp r0, #0x1
- bne _0206412E
- mov r0, #0x1
- pop {r4, pc}
-_0206412E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02064134
-FUN_02064134: ; 0x02064134
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204649C
- ldrh r1, [r5, #0x4]
- ldr r2, [r6, #0xc]
- mov r0, #0xb
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0206439C
- mov r1, #0x72
- ldr r2, _02064170 ; =FUN_02064174
- lsl r1, r1, #0x2
- str r2, [r4, r1]
- add r1, #0x30
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- nop
-_02064170: .word FUN_02064174
-
- thumb_func_start FUN_02064174
-FUN_02064174: ; 0x02064174
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- mov r2, #0x4
- bl MOD06_0224CB30
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r1, _020641A8 ; =0x0224CB55
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020463EC
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_020641A8: .word 0x0224CB55
-
- thumb_func_start FUN_020641AC
-FUN_020641AC: ; 0x020641AC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _020641BE
- mov r0, #0x1
- pop {r4, pc}
-_020641BE:
- ldr r0, [r4, #0x0]
- bl FUN_02034930
- cmp r0, #0x1
- bne _020641D2
- ldr r0, [r4, #0x0]
- bl FUN_0203487C
- cmp r0, #0x1
- beq _020641D6
-_020641D2:
- mov r0, #0x1
- pop {r4, pc}
-_020641D6:
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _020641EA
- mov r0, #0x3
- pop {r4, pc}
-_020641EA:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020641F0
-FUN_020641F0: ; 0x020641F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204649C
- ldrh r1, [r5, #0x4]
- ldr r2, [r6, #0xc]
- mov r0, #0xb
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0206439C
- mov r1, #0x72
- ldr r2, _0206422C ; =FUN_02064230
- lsl r1, r1, #0x2
- str r2, [r4, r1]
- add r1, #0x30
- str r0, [r4, r1]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
- nop
-_0206422C: .word FUN_02064230
-
- thumb_func_start FUN_02064230
-FUN_02064230: ; 0x02064230
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- ldr r1, [r6, #0x0]
- add r0, r4, #0x0
- mov r2, #0xb
- bl MOD06_0224CA88
- ldr r1, [r4, #0x1c]
- add r7, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0xa
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x4
- bl FUN_0202914C
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x1
- bl FUN_02028AD4
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r1, _02064280 ; =0x0224CAAD
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_020463EC
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02064280: .word 0x0224CAAD
-
- thumb_func_start FUN_02064284
-FUN_02064284: ; 0x02064284
- push {r3, lr}
- ldr r1, [r0, #0x4]
- ldr r0, [r1, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _02064294
- mov r0, #0x1
- pop {r3, pc}
-_02064294:
- ldr r0, [r1, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _020642A6
- mov r0, #0x1
- b _020642A8
-_020642A6:
- mov r0, #0x0
-_020642A8:
- cmp r0, #0x1
- bne _020642B0
- mov r0, #0x1
- pop {r3, pc}
-_020642B0:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020642B4
-FUN_020642B4: ; 0x020642B4
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_0204652C
- ldrh r1, [r6, #0x4]
- add r4, r0, #0x0
- ldr r2, [r5, #0xc]
- lsl r1, r1, #0x18
- mov r0, #0xb
- lsr r1, r1, #0x18
- bl FUN_0206439C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0206430C ; =0x021F6361
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r6, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- ldr r1, [r5, #0x1c]
- mov r0, #0xb
- ldr r1, [r1, #0x0]
- add r2, r0, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0202914C
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x1
- bl FUN_02028AD4
- pop {r4-r6, pc}
- .balign 4
-_0206430C: .word 0x021F6361
-
- thumb_func_start FUN_02064310
-FUN_02064310: ; 0x02064310
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0x6c]
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _0206431E
- mov r0, #0x1
- bx lr
-_0206431E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064324
-FUN_02064324: ; 0x02064324
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02063A5C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _0206435C ; =FUN_02064360
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r5, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
- pop {r3-r7, pc}
- .balign 4
-_0206435C: .word FUN_02064360
-
- thumb_func_start FUN_02064360
-FUN_02064360: ; 0x02064360
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r1, _02064398 ; =0x000022C4
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldrh r1, [r4, #0xc]
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_020395BC
- add r0, r4, #0x0
- bl FUN_02063A80
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02064398: .word 0x000022C4
-
- thumb_func_start FUN_0206439C
-FUN_0206439C: ; 0x0206439C
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- mov r1, #0x8
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020643C0
-FUN_020643C0: ; 0x020643C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_020645DC
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0206460C
- str r0, [r4, #0xc]
- str r6, [r4, #0x0]
- str r5, [r4, #0x8]
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020643E0
-FUN_020643E0: ; 0x020643E0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064630
- add r0, r4, #0x0
- bl FUN_02064600
- pop {r4, pc}
-
- thumb_func_start FUN_020643F0
-FUN_020643F0: ; 0x020643F0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064558
- add r0, r4, #0x0
- bl FUN_020643E0
- pop {r4, pc}
-
- thumb_func_start FUN_02064400
-FUN_02064400: ; 0x02064400
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- add r7, r1, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r4, #0x0
- bl FUN_02064698
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_0206469C
- add r5, r0, #0x0
-_0206441C:
- add r0, r5, #0x0
- bl FUN_020646A0
- cmp r0, #0x0
- beq _0206442E
- add r4, r4, #0x1
- add r5, #0xc8
- cmp r4, r6
- blt _0206441C
-_0206442E:
- cmp r4, r6
- blt _02064438
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02064438:
- add r0, r5, #0x0
- bl FUN_020646AC
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_02064750
- ldr r1, [sp, #0x20]
- add r0, r5, #0x0
- bl FUN_02064758
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02064768
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0206476C
- ldr r1, [r7, #0x0]
- add r0, r5, #0x0
- bl FUN_0206473C
- ldr r1, [r7, #0x4]
- add r0, r5, #0x0
- bl FUN_020646B8
- ldr r1, [r7, #0x8]
- add r0, r5, #0x0
- bl FUN_0206470C
- ldr r1, [r7, #0xc]
- add r0, r5, #0x0
- bl FUN_020646D4
- ldr r1, [r7, #0x10]
- add r0, r5, #0x0
- bl FUN_020646F0
- ldr r1, [r7, #0x14]
- add r0, r5, #0x0
- bl FUN_02064728
- ldr r1, [r7, #0x18]
- add r0, r5, #0x0
- bl FUN_02064730
- ldr r1, [sp, #0x24]
- add r0, r5, #0x0
- bl FUN_020645B0
- add r4, r0, #0x0
- bne _020644AE
- add r0, r5, #0x0
- bl FUN_02064640
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_020644AE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02064760
- add r0, r5, #0x0
- bl FUN_020646C0
- cmp r0, #0x0
- bne _020644D2
- add r0, r4, #0x0
- bl FUN_0200CAB4
- add r0, r5, #0x0
- bl FUN_02064640
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_020644D2:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x4]
- add r1, r0, #0x1
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x4]
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020644E4
-FUN_020644E4: ; 0x020644E4
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, sp, #0x8
- ldmia r5!, {r0-r1}
- add r7, r4, #0x0
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- str r0, [r4, #0x0]
- ldr r0, _02064518 ; =FUN_0206479C
- str r0, [sp, #0x1c]
- ldr r0, _0206451C ; =FUN_020647A0
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x38]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x3c]
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_02064400
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02064518: .word FUN_0206479C
-_0206451C: .word FUN_020647A0
-
- thumb_func_start FUN_02064520
-FUN_02064520: ; 0x02064520
- push {r4, lr}
- add r4, r0, #0x0
- bne _0206452A
- bl ErrorHandling
-_0206452A:
- add r0, r4, #0x0
- bl FUN_020646A0
- cmp r0, #0x0
- beq _02064556
- add r0, r4, #0x0
- bl FUN_02064714
- ldr r1, [r4, #0x14]
- ldr r0, [r1, #0x4]
- sub r0, r0, #0x1
- str r0, [r1, #0x4]
- add r0, r4, #0x0
- bl FUN_02064764
- cmp r0, #0x0
- beq _02064550
- bl FUN_0200CAB4
-_02064550:
- add r0, r4, #0x0
- bl FUN_02064640
-_02064556:
- pop {r4, pc}
-
- thumb_func_start FUN_02064558
-FUN_02064558: ; 0x02064558
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02064698
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0206469C
- add r5, r0, #0x0
-_0206456A:
- add r0, r5, #0x0
- bl FUN_020646A0
- cmp r0, #0x1
- bne _0206457A
- add r0, r5, #0x0
- bl FUN_02064520
-_0206457A:
- add r5, #0xc8
- sub r4, r4, #0x1
- bne _0206456A
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02064584
-FUN_02064584: ; 0x02064584
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02064698
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0206469C
- add r5, r0, #0x0
-_02064596:
- add r0, r5, #0x0
- bl FUN_020646A0
- cmp r0, #0x1
- bne _020645A6
- add r0, r5, #0x0
- bl FUN_020646F8
-_020645A6:
- add r5, #0xc8
- sub r4, r4, #0x1
- bne _02064596
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020645B0
-FUN_020645B0: ; 0x020645B0
- push {r4, lr}
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, _020645CC ; =FUN_020645D0
- add r1, r3, #0x0
- bl FUN_0200CA44
- add r4, r0, #0x0
- bne _020645C6
- bl ErrorHandling
-_020645C6:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_020645CC: .word FUN_020645D0
-
- thumb_func_start FUN_020645D0
-FUN_020645D0: ; 0x020645D0
- ldr r3, _020645D8 ; =FUN_020646DC
- add r0, r1, #0x0
- bx r3
- nop
-_020645D8: .word FUN_020646DC
-
- thumb_func_start FUN_020645DC
-FUN_020645DC: ; 0x020645DC
- push {r4, lr}
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- bne _020645EC
- bl ErrorHandling
-_020645EC:
- add r2, r4, #0x0
- mov r1, #0x10
- mov r0, #0x0
-_020645F2:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _020645F2
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02064600
-FUN_02064600: ; 0x02064600
- ldr r3, _02064608 ; =FUN_02016A8C
- add r1, r0, #0x0
- ldr r0, [r1, #0x8]
- bx r3
- .balign 4
-_02064608: .word FUN_02016A8C
-
- thumb_func_start FUN_0206460C
-FUN_0206460C: ; 0x0206460C
- push {r3-r5, lr}
- mov r2, #0xc8
- add r5, r1, #0x0
- mul r5, r2
- add r1, r5, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02064622
- bl ErrorHandling
-_02064622:
- add r0, r4, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02064630
-FUN_02064630: ; 0x02064630
- ldr r3, _0206463C ; =FUN_02016A8C
- add r1, r0, #0x0
- ldr r0, [r1, #0x8]
- ldr r1, [r1, #0xc]
- bx r3
- nop
-_0206463C: .word FUN_02016A8C
-
- thumb_func_start FUN_02064640
-FUN_02064640: ; 0x02064640
- push {r4, lr}
- mov r1, #0x0
- mov r2, #0xc8
- add r4, r0, #0x0
- bl memset
- ldr r1, _02064680 ; =FUN_0206478C
- add r0, r4, #0x0
- bl FUN_020646B8
- ldr r1, _02064684 ; =FUN_02064798
- add r0, r4, #0x0
- bl FUN_0206470C
- ldr r1, _02064688 ; =FUN_02064790
- add r0, r4, #0x0
- bl FUN_020646D4
- ldr r1, _0206468C ; =FUN_02064794
- add r0, r4, #0x0
- bl FUN_020646F0
- ldr r1, _02064690 ; =FUN_0206479C
- add r0, r4, #0x0
- bl FUN_02064728
- ldr r1, _02064694 ; =FUN_020647A0
- add r0, r4, #0x0
- bl FUN_02064730
- pop {r4, pc}
- nop
-_02064680: .word FUN_0206478C
-_02064684: .word FUN_02064798
-_02064688: .word FUN_02064790
-_0206468C: .word FUN_02064794
-_02064690: .word FUN_0206479C
-_02064694: .word FUN_020647A0
-
- thumb_func_start FUN_02064698
-FUN_02064698: ; 0x02064698
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0206469C
-FUN_0206469C: ; 0x0206469C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_020646A0
-FUN_020646A0: ; 0x020646A0
- ldr r1, [r0, #0x0]
- mov r0, #0x1
- tst r1, r0
- bne _020646AA
- mov r0, #0x0
-_020646AA:
- bx lr
-
- thumb_func_start FUN_020646AC
-FUN_020646AC: ; 0x020646AC
- ldr r2, [r0, #0x0]
- mov r1, #0x1
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020646B8
-FUN_020646B8: ; 0x020646B8
- add r0, #0xb0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020646C0
-FUN_020646C0: ; 0x020646C0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064738
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r4, #0xb0
- ldr r2, [r4, #0x0]
- blx r2
- pop {r4, pc}
-
- thumb_func_start FUN_020646D4
-FUN_020646D4: ; 0x020646D4
- add r0, #0xb4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020646DC
-FUN_020646DC: ; 0x020646DC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064738
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r4, #0xb4
- ldr r2, [r4, #0x0]
- blx r2
- pop {r4, pc}
-
- thumb_func_start FUN_020646F0
-FUN_020646F0: ; 0x020646F0
- add r0, #0xb8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020646F8
-FUN_020646F8: ; 0x020646F8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064738
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r4, #0xb8
- ldr r2, [r4, #0x0]
- blx r2
- pop {r4, pc}
-
- thumb_func_start FUN_0206470C
-FUN_0206470C: ; 0x0206470C
- add r0, #0xbc
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064714
-FUN_02064714: ; 0x02064714
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02064738
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r4, #0xbc
- ldr r2, [r4, #0x0]
- blx r2
- pop {r4, pc}
-
- thumb_func_start FUN_02064728
-FUN_02064728: ; 0x02064728
- add r0, #0xc0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064730
-FUN_02064730: ; 0x02064730
- add r0, #0xc4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064738
-FUN_02064738: ; 0x02064738
- add r0, #0x30
- bx lr
-
- thumb_func_start FUN_0206473C
-FUN_0206473C: ; 0x0206473C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02064738
- mov r1, #0x0
- add r2, r4, #0x0
- bl memset
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02064750
-FUN_02064750: ; 0x02064750
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02064754
-FUN_02064754: ; 0x02064754
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02064758
-FUN_02064758: ; 0x02064758
- str r1, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_0206475C
-FUN_0206475C: ; 0x0206475C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02064760
-FUN_02064760: ; 0x02064760
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02064764
-FUN_02064764: ; 0x02064764
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02064768
-FUN_02064768: ; 0x02064768
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_0206476C
-FUN_0206476C: ; 0x0206476C
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x24
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0206477C
-FUN_0206477C: ; 0x0206477C
- add r2, r0, #0x0
- add r2, #0x24
- add r3, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_0206478C
-FUN_0206478C: ; 0x0206478C
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02064790
-FUN_02064790: ; 0x02064790
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064794
-FUN_02064794: ; 0x02064794
- bx lr
- .balign 4
-
- thumb_func_start FUN_02064798
-FUN_02064798: ; 0x02064798
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206479C
-FUN_0206479C: ; 0x0206479C
- bx lr
- .balign 4
-
- thumb_func_start FUN_020647A0
-FUN_020647A0: ; 0x020647A0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020647A4
-FUN_020647A4: ; 0x020647A4
- push {r3-r7, lr}
- sub sp, #0x30
- add r4, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- mov r1, #0x7
- bl FUN_020254A0
- ldrh r1, [r0, #0x2]
- ldrh r0, [r0, #0x0]
- ldr r3, _0206485C ; =0x020F7D70
- mov r7, #0x18
- add r2, r1, #0x0
- mul r2, r7
- add r6, r3, r2
- lsl r0, r0, #0x2
- ldr r5, [r6, r0]
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- beq _0206480A
- ldr r3, _02064860 ; =0x020F7D64
- add r2, sp, #0x24
- ldmia r3!, {r0-r1}
- mov r12, r2
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r7, #0xea
- str r0, [r2, #0x0]
- str r5, [sp, #0x28]
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x4c]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x2c]
- mov r3, r12
- bl MOD05_021E7FBC
- add r0, r4, #0x0
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- ldr r1, _02064864 ; =0x00000102
- bl MOD05_021E7ED8
- str r0, [sp, #0x14]
- b _0206482C
-_0206480A:
- ldr r0, _02064868 ; =0x020F7D4C
- add r1, sp, #0xc
- ldr r2, [r0, #0x8]
- ldr r0, [r0, #0xc]
- str r2, [sp, #0xc]
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r2, #0x2
- add r3, sp, #0x14
- bl FUN_0204AA5C
- cmp r0, #0x0
- bne _0206482C
- bl ErrorHandling
-_0206482C:
- ldr r1, [sp, #0x14]
- add r0, sp, #0x18
- bl MOD05_021E7EA0
- ldr r0, [sp, #0x14]
- add r1, sp, #0x18
- str r5, [sp, #0x1c]
- bl MOD05_021E7EB0
- mov r0, #0x2
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- add r4, #0x9c
- ldr r0, [r4, #0x0]
- mov r3, #0x3
- str r0, [sp, #0x8]
- ldr r1, [r6, #0x8]
- ldr r2, [r6, #0xc]
- mov r0, #0x0
- bl MOD05_021F44D8
- add sp, #0x30
- pop {r3-r7, pc}
- nop
-_0206485C: .word 0x020F7D70
-_02064860: .word 0x020F7D64
-_02064864: .word 0x00000102
-_02064868: .word 0x020F7D4C
-
- thumb_func_start FUN_0206486C
-FUN_0206486C: ; 0x0206486C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- add r5, r0, #0x0
- mov r1, #0x7
- bl FUN_02025490
- add r0, r5, #0x0
- mov r1, #0x7
- bl FUN_020254A0
- mov r3, #0x1
- str r3, [r0, #0x4]
- mov r2, #0x0
- str r2, [r0, #0x8]
- ldr r4, [r4, #0x1c]
- ldr r5, _020649A8 ; =0x00000123
- ldr r1, [r4, #0x0]
- cmp r1, r5
- bgt _020648C4
- bge _020648D6
- add r5, r1, #0x0
- sub r5, #0xb0
- cmp r5, #0x9
- bhi _020649A0
- add r5, r5, r5
- add r5, pc
- ldrh r5, [r5, #0x6]
- lsl r5, r5, #0x10
- asr r5, r5, #0x10
- add pc, r5
-_020648B0: ; jump table (using 16-bit offset)
- .short _02064910 - _020648B0 - 2; case 0
- .short _020649A0 - _020648B0 - 2; case 1
- .short _02064928 - _020648B0 - 2; case 2
- .short _020649A0 - _020648B0 - 2; case 3
- .short _02064940 - _020648B0 - 2; case 4
- .short _020649A0 - _020648B0 - 2; case 5
- .short _02064958 - _020648B0 - 2; case 6
- .short _020649A0 - _020648B0 - 2; case 7
- .short _02064970 - _020648B0 - 2; case 8
- .short _02064988 - _020648B0 - 2; case 9
-_020648C4:
- ldr r2, _020649AC ; =0x00000125
- cmp r1, r2
- bgt _020648CE
- beq _020648E8
- b _020649A0
-_020648CE:
- add r2, r2, #0x1
- cmp r1, r2
- beq _020648FC
- b _020649A0
-_020648D6:
- ldr r1, [r4, #0xc]
- cmp r1, #0x1a
- bne _020648E0
- strh r2, [r0, #0x0]
- b _020648E2
-_020648E0:
- strh r3, [r0, #0x0]
-_020648E2:
- mov r1, #0x0
- strh r1, [r0, #0x2]
- pop {r3-r5, pc}
-_020648E8:
- ldr r1, [r4, #0xc]
- cmp r1, #0x30
- bne _020648F2
- mov r1, #0x0
- b _020648F4
-_020648F2:
- mov r1, #0x1
-_020648F4:
- strh r1, [r0, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x2]
- pop {r3-r5, pc}
-_020648FC:
- ldr r1, [r4, #0xc]
- cmp r1, #0xf
- bne _02064906
- mov r1, #0x0
- b _02064908
-_02064906:
- mov r1, #0x1
-_02064908:
- strh r1, [r0, #0x0]
- mov r1, #0x2
- strh r1, [r0, #0x2]
- pop {r3-r5, pc}
-_02064910:
- ldr r1, [r4, #0xc]
- cmp r1, #0xf
- bne _0206491A
- strh r2, [r0, #0x0]
- b _0206491E
-_0206491A:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_0206491E:
- mov r1, #0x3
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02064928:
- ldr r1, [r4, #0xc]
- cmp r1, #0xf
- bne _02064932
- strh r2, [r0, #0x0]
- b _02064936
-_02064932:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_02064936:
- mov r1, #0x4
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02064940:
- ldr r1, [r4, #0xc]
- cmp r1, #0xf
- bne _0206494A
- strh r2, [r0, #0x0]
- b _0206494E
-_0206494A:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_0206494E:
- mov r1, #0x5
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02064958:
- ldr r1, [r4, #0xc]
- cmp r1, #0xf
- bne _02064962
- strh r2, [r0, #0x0]
- b _02064966
-_02064962:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_02064966:
- mov r1, #0x6
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02064970:
- ldr r1, [r4, #0xc]
- cmp r1, #0x17
- bne _0206497A
- strh r2, [r0, #0x0]
- b _0206497E
-_0206497A:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_0206497E:
- mov r1, #0x7
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02064988:
- ldr r1, [r4, #0xc]
- cmp r1, #0x12
- bne _02064992
- strh r2, [r0, #0x0]
- b _02064996
-_02064992:
- strh r3, [r0, #0x0]
- str r2, [r0, #0x4]
-_02064996:
- mov r1, #0x8
- strh r1, [r0, #0x2]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r3-r5, pc}
-_020649A0:
- bl ErrorHandling
- pop {r3-r5, pc}
- nop
-_020649A8: .word 0x00000123
-_020649AC: .word 0x00000125
-
- thumb_func_start FUN_020649B0
-FUN_020649B0: ; 0x020649B0
- push {r3, lr}
- bl FUN_020377AC
- bl FUN_02024ED8
- mov r1, #0x7
- bl FUN_020254A0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _020649CA
- mov r0, #0x1
- b _020649CC
-_020649CA:
- mov r0, #0x0
-_020649CC:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020649D4
-FUN_020649D4: ; 0x020649D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- mov r1, #0x7
- bl FUN_020254A0
- add r4, r0, #0x0
- ldrh r1, [r4, #0x2]
- mov r0, #0x18
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _02064A58 ; =0x020F7D80
- ldr r0, [r0, r2]
- cmp r0, #0x0
- beq _020649FE
- ldrh r0, [r4, #0x0]
- cmp r0, #0x1
- beq _02064A54
-_020649FE:
- mov r0, #0xb
- mov r1, #0x10
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldrh r1, [r4, #0x2]
- mov r0, #0x18
- add r3, r1, #0x0
- ldr r1, _02064A5C ; =0x020F7D84
- mul r3, r0
- ldr r1, [r1, r3]
- str r1, [r2, #0x8]
- ldr r1, [r4, #0x8]
- str r1, [r2, #0xc]
- ldrh r1, [r4, #0x0]
- cmp r1, #0x0
- ldrh r1, [r4, #0x2]
- bne _02064A3E
- add r3, r1, #0x0
- mul r3, r0
- ldr r0, _02064A60 ; =0x020F7D74
- ldr r1, _02064A64 ; =FUN_02064A70
- ldr r0, [r0, r3]
- str r0, [r2, #0x4]
- ldr r0, [r5, #0x10]
- bl FUN_0204640C
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
-_02064A3E:
- add r3, r1, #0x0
- mul r3, r0
- ldr r0, _02064A68 ; =0x020F7D70
- ldr r1, _02064A6C ; =FUN_02064B70
- ldr r0, [r0, r3]
- str r0, [r2, #0x4]
- ldr r0, [r5, #0x10]
- bl FUN_0204640C
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_02064A54:
- pop {r3-r5, pc}
- nop
-_02064A58: .word 0x020F7D80
-_02064A5C: .word 0x020F7D84
-_02064A60: .word 0x020F7D74
-_02064A64: .word FUN_02064A70
-_02064A68: .word 0x020F7D70
-_02064A6C: .word FUN_02064B70
-
- thumb_func_start FUN_02064A70
-FUN_02064A70: ; 0x02064A70
- push {r4-r5, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _02064B5C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02064A96: ; jump table (using 16-bit offset)
- .short _02064A9E - _02064A96 - 2; case 0
- .short _02064AB4 - _02064A96 - 2; case 1
- .short _02064B2E - _02064A96 - 2; case 2
- .short _02064B52 - _02064A96 - 2; case 3
-_02064A9E:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02055560
- ldr r0, [r4, #0xc]
- bl FUN_02064C64
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02064B5C
-_02064AB4:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _02064ACA
- add r0, r5, #0x0
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- ldr r1, _02064B64 ; =0x00000102
- bl MOD05_021E7ED8
- str r0, [sp, #0xc]
- b _02064AEC
-_02064ACA:
- ldr r0, _02064B68 ; =0x020F7D4C
- add r1, sp, #0x4
- ldr r2, [r0, #0x0]
- ldr r0, [r0, #0x4]
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x2
- add r3, sp, #0xc
- bl FUN_0204AA5C
- cmp r0, #0x0
- bne _02064AEC
- bl ErrorHandling
-_02064AEC:
- ldr r1, [sp, #0xc]
- add r0, sp, #0x10
- bl MOD05_021E7EA0
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- bne _02064AFE
- mov r1, #0x1
- b _02064B00
-_02064AFE:
- mov r1, #0x2
-_02064B00:
- ldr r0, [sp, #0x14]
- lsl r1, r1, #0xc
- add r1, r0, r1
- str r1, [sp, #0x14]
- ldr r0, [r4, #0x4]
- cmp r1, r0
- blt _02064B1C
- str r0, [sp, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_02064C84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_02064B1C:
- ldr r0, [r5, #0x38]
- ldr r1, [sp, #0x14]
- bl FUN_02055540
- ldr r0, [sp, #0xc]
- add r1, sp, #0x10
- bl MOD05_021E7EB0
- b _02064B5C
-_02064B2E:
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [r4, #0x4]
- ldr r2, [r2, #0x0]
- mov r0, #0x0
- bl MOD05_021F4594
- ldr r0, [r5, #0x38]
- mov r1, #0x1
- bl FUN_0205557C
- ldr r0, _02064B6C ; =0x0000061A
- bl FUN_020054C8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02064B5C
-_02064B52:
- bl FUN_02016A18
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r5, pc}
-_02064B5C:
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r5, pc}
- nop
-_02064B64: .word 0x00000102
-_02064B68: .word 0x020F7D4C
-_02064B6C: .word 0x0000061A
-
- thumb_func_start FUN_02064B70
-FUN_02064B70: ; 0x02064B70
- push {r4-r5, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _02064C52
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02064B96: ; jump table (using 16-bit offset)
- .short _02064B9E - _02064B96 - 2; case 0
- .short _02064BB4 - _02064B96 - 2; case 1
- .short _02064C24 - _02064B96 - 2; case 2
- .short _02064C48 - _02064B96 - 2; case 3
-_02064B9E:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02055560
- ldr r0, [r4, #0xc]
- bl FUN_02064C64
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02064C52
-_02064BB4:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _02064BCA
- add r0, r5, #0x0
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- ldr r1, _02064C58 ; =0x00000102
- bl MOD05_021E7ED8
- str r0, [sp, #0xc]
- b _02064BEC
-_02064BCA:
- ldr r0, _02064C5C ; =0x020F7D4C
- add r1, sp, #0x4
- ldr r2, [r0, #0x10]
- ldr r0, [r0, #0x14]
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x2
- add r3, sp, #0xc
- bl FUN_0204AA5C
- cmp r0, #0x0
- bne _02064BEC
- bl ErrorHandling
-_02064BEC:
- ldr r1, [sp, #0xc]
- add r0, sp, #0x10
- bl MOD05_021E7EA0
- mov r0, #0x1
- ldr r1, [sp, #0x14]
- lsl r0, r0, #0xc
- sub r1, r1, r0
- str r1, [sp, #0x14]
- ldr r0, [r4, #0x4]
- cmp r1, r0
- bgt _02064C12
- str r0, [sp, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_02064C84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_02064C12:
- ldr r0, [r5, #0x38]
- ldr r1, [sp, #0x14]
- bl FUN_02055540
- ldr r0, [sp, #0xc]
- add r1, sp, #0x10
- bl MOD05_021E7EB0
- b _02064C52
-_02064C24:
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [r4, #0x4]
- ldr r2, [r2, #0x0]
- mov r0, #0x0
- bl MOD05_021F4594
- ldr r0, [r5, #0x38]
- mov r1, #0x1
- bl FUN_0205557C
- ldr r0, _02064C60 ; =0x0000061A
- bl FUN_020054C8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02064C52
-_02064C48:
- bl FUN_02016A18
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r5, pc}
-_02064C52:
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r5, pc}
- .balign 4
-_02064C58: .word 0x00000102
-_02064C5C: .word 0x020F7D4C
-_02064C60: .word 0x0000061A
-
- thumb_func_start FUN_02064C64
-FUN_02064C64: ; 0x02064C64
- push {r3, lr}
- cmp r0, #0x0
- bne _02064C72
- ldr r0, _02064C7C ; =0x00000611
- bl FUN_020054C8
- pop {r3, pc}
-_02064C72:
- ldr r0, _02064C80 ; =0x00000614
- bl FUN_020054C8
- pop {r3, pc}
- nop
-_02064C7C: .word 0x00000611
-_02064C80: .word 0x00000614
-
- thumb_func_start FUN_02064C84
-FUN_02064C84: ; 0x02064C84
- push {r3, lr}
- cmp r0, #0x0
- bne _02064C94
- ldr r0, _02064CA0 ; =0x00000611
- mov r1, #0x0
- bl FUN_020054F0
- pop {r3, pc}
-_02064C94:
- ldr r0, _02064CA4 ; =0x00000614
- mov r1, #0x0
- bl FUN_020054F0
- pop {r3, pc}
- nop
-_02064CA0: .word 0x00000611
-_02064CA4: .word 0x00000614
-
- thumb_func_start FUN_02064CA8
-FUN_02064CA8: ; 0x02064CA8
- push {r4, lr}
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- mov r1, #0x1
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020254A0
- mov r1, #0x1
- strb r1, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02064CC8
-FUN_02064CC8: ; 0x02064CC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- mov r1, #0x2
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_020254A0
- add r4, r0, #0x0
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0xc]
- cmp r0, #0x16
- bne _02064D08
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECEC
- cmp r0, #0x0
- beq _02064D02
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-_02064D02:
- mov r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-_02064D08:
- mov r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02064D10
-FUN_02064D10: ; 0x02064D10
- push {r4-r6, lr}
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- mov r1, #0x3
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_020254A0
- ldr r5, _02064D48 ; =0x020F7E54
- add r6, r0, #0x0
- mov r4, #0x0
-_02064D30:
- ldrb r1, [r5, #0x0]
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r2, r6, #0x0
- bl FUN_02064DEC
- add r4, r4, #0x1
- add r5, r5, #0x1
- cmp r4, #0x18
- blt _02064D30
- pop {r4-r6, pc}
- nop
-_02064D48: .word 0x020F7E54
-
- thumb_func_start FUN_02064D4C
-FUN_02064D4C: ; 0x02064D4C
- push {r4-r6, lr}
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- mov r1, #0x4
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020254A0
- ldr r5, _02064D84 ; =0x020F7E48
- add r6, r0, #0x0
- mov r4, #0x0
-_02064D6C:
- ldrb r1, [r5, #0x0]
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r2, r6, #0x0
- bl FUN_02064DEC
- add r4, r4, #0x1
- add r5, r5, #0x1
- cmp r4, #0xc
- blt _02064D6C
- pop {r4-r6, pc}
- nop
-_02064D84: .word 0x020F7E48
-
- thumb_func_start FUN_02064D88
-FUN_02064D88: ; 0x02064D88
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r7, r0, #0x0
- cmp r5, #0x3
- blo _02064D96
- bl ErrorHandling
-_02064D96:
- add r0, r7, #0x0
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- mov r1, #0x5
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x5
- bl FUN_020254A0
- add r4, r0, #0x0
- str r5, [r4, #0x4]
- cmp r5, #0x0
- beq _02064DC2
- cmp r5, #0x1
- beq _02064DCA
- cmp r5, #0x2
- beq _02064DD2
- b _02064DDA
-_02064DC2:
- mov r0, #0x2
- str r0, [r4, #0x0]
- mov r6, #0xe
- b _02064DDE
-_02064DCA:
- mov r0, #0x1
- str r0, [r4, #0x0]
- mov r6, #0x15
- b _02064DDE
-_02064DD2:
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r6, #0x19
- b _02064DDE
-_02064DDA:
- bl ErrorHandling
-_02064DDE:
- ldr r0, [r7, #0x1c]
- ldr r0, [r0, #0xc]
- cmp r0, r6
- bne _02064DEA
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02064DEA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02064DEC
-FUN_02064DEC: ; 0x02064DEC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x1
- bls _02064DFC
- bl ErrorHandling
-_02064DFC:
- mov r0, #0x0
- mvn r0, r0
- mov r1, #0x20
- ldr r2, [r6, #0x0]
- sub r1, r1, r5
- add r3, r0, #0x0
- lsr r3, r1
- add r1, r2, #0x0
- and r1, r3
- add r3, r5, #0x1
- lsl r0, r3
- and r2, r0
- add r0, r4, #0x0
- lsl r0, r5
- orr r0, r2
- orr r0, r1
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02064E20
-FUN_02064E20: ; 0x02064E20
- push {r4, lr}
- bl FUN_020377AC
- bl FUN_02024ED8
- add r4, r0, #0x0
- bl FUN_020254B4
- cmp r0, #0x6
- beq _02064E48
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_02025490
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_020254A0
- mov r1, #0x2
- strh r1, [r0, #0x0]
-_02064E48:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02064E4C
-FUN_02064E4C: ; 0x02064E4C
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_0200A8E0
- mov r0, #0x0
- add r1, r4, #0x0
- add r2, r0, #0x0
- bl FUN_02002E14
- pop {r4, pc}
-
- thumb_func_start FUN_02064E60
-FUN_02064E60: ; 0x02064E60
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r3, r1, #0x0
- ldr r2, _02064E8C ; =0x0000017E
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02034824
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02064E4C
- add r0, r4, #0x0
- bl FUN_0200A8B8
- pop {r4-r6, pc}
- .balign 4
-_02064E8C: .word 0x0000017E
-
- thumb_func_start FUN_02064E90
-FUN_02064E90: ; 0x02064E90
- push {r3-r7, lr}
- sub sp, #0xa0
- str r0, [sp, #0x10]
- ldr r6, [sp, #0xb8]
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- add r0, r6, #0x0
- str r3, [sp, #0x1c]
- ldr r5, [sp, #0xbc]
- bl FUN_020377AC
- str r0, [sp, #0x20]
- bl FUN_020238F4
- add r7, r0, #0x0
- ldr r0, [sp, #0x20]
- bl FUN_02029FC8
- add r4, r0, #0x0
- ldr r0, [sp, #0x1c]
- strb r0, [r5, #0x5]
- add r0, r6, #0x0
- bl FUN_02065078
- str r0, [sp, #0x24]
- add r0, r7, #0x0
- bl FUN_02023A70
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x18]
- mov r1, #0xa
- bl FUN_02065154
- add r0, r7, #0x0
- bl FUN_020239C0
- str r0, [sp, #0x28]
- add r0, r7, #0x0
- bl FUN_020239CC
- str r0, [sp, #0x2c]
- add r0, r7, #0x0
- bl FUN_0202398C
- str r0, [sp, #0x30]
- add r0, r7, #0x0
- bl FUN_02023A10
- str r0, [sp, #0x34]
- ldr r0, [r6, #0xc]
- bl FUN_02024DA0
- bl FUN_02024440
- str r0, [sp, #0x38]
- ldr r0, [r6, #0xc]
- bl FUN_02024DA0
- bl FUN_02024D64
- str r0, [sp, #0x3c]
- add r0, r4, #0x0
- bl FUN_0202A1B8
- ldr r1, [sp, #0x38]
- ldr r2, [sp, #0x30]
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x3c]
- ldr r3, [sp, #0x34]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r1, [sp, #0x2c]
- ldr r0, [sp, #0x28]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r5, [sp, #0xc]
- bl FUN_02065178
- ldr r0, [sp, #0x20]
- bl FUN_02023918
- str r0, [sp, #0x40]
- add r0, r6, #0x0
- add r1, sp, #0x90
- add r2, sp, #0x74
- bl FUN_0204B2F0
- add r0, r6, #0x0
- add r1, sp, #0x80
- add r2, sp, #0x74
- bl FUN_0204B30C
- ldr r0, [r6, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED0C
- add r1, sp, #0x74
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x14]
- lsl r0, r0, #0x18
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x40]
- str r5, [sp, #0x8]
- lsr r0, r0, #0x18
- add r2, sp, #0x90
- add r3, sp, #0x80
- bl FUN_020651BC
- ldr r0, [r6, #0xc]
- bl FUN_02029ABC
- str r0, [sp, #0x44]
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0202A150
- str r0, [sp, #0x48]
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0202A150
- str r0, [sp, #0x4c]
- add r0, r4, #0x0
- mov r1, #0x14
- bl FUN_0202A150
- str r0, [sp, #0x50]
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_0202A150
- str r0, [sp, #0x54]
- add r0, r4, #0x0
- mov r1, #0x40
- bl FUN_0202A150
- str r0, [sp, #0x58]
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_0202A150
- ldr r1, [sp, #0x58]
- add r1, r1, r0
- ldr r0, [sp, #0x54]
- add r1, r0, r1
- ldr r0, [sp, #0x50]
- add r1, r0, r1
- ldr r0, [sp, #0x4c]
- add r0, r0, r1
- str r0, [sp, #0x5c]
- add r0, r4, #0x0
- mov r1, #0x15
- bl FUN_0202A150
- str r0, [sp, #0x60]
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_0202A150
- str r0, [sp, #0x64]
- add r0, r4, #0x0
- mov r1, #0x16
- bl FUN_0202A150
- str r0, [sp, #0x68]
- add r0, r4, #0x0
- mov r1, #0x1b
- bl FUN_0202A150
- str r0, [sp, #0x6c]
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_0202A150
- str r0, [sp, #0x70]
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_0202A150
- add r4, r0, #0x0
- ldr r0, [sp, #0x44]
- bl FUN_02029AC8
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x48]
- ldr r0, [sp, #0x5c]
- ldr r2, [sp, #0x60]
- add r0, r1, r0
- ldr r1, [sp, #0x64]
- ldr r3, [sp, #0x68]
- add r1, r2, r1
- ldr r2, [sp, #0x6c]
- str r5, [sp, #0x4]
- add r2, r3, r2
- ldr r3, [sp, #0x70]
- add r3, r3, r4
- bl FUN_02065260
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_020652AC
- mov r3, #0x0
- ldr r0, _0206504C ; =0x0000066C
- add r2, r3, #0x0
-_02065034:
- ldrb r1, [r5, r2]
- add r2, r2, #0x1
- eor r3, r1
- cmp r2, r0
- blo _02065034
- ldr r0, _02065050 ; =0x00000668
- mov r1, #0x0
- strh r3, [r5, r0]
- add r0, r0, #0x2
- strh r1, [r5, r0]
- add sp, #0xa0
- pop {r3-r7, pc}
- .balign 4
-_0206504C: .word 0x0000066C
-_02065050: .word 0x00000668
-
- thumb_func_start FUN_02065054
-FUN_02065054: ; 0x02065054
- push {r4, lr}
- ldr r1, _0206506C ; =0x0000066C
- bl FUN_02016998
- ldr r2, _0206506C ; =0x0000066C
- mov r1, #0x0
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0206506C: .word 0x0000066C
-
- thumb_func_start FUN_02065070
-FUN_02065070: ; 0x02065070
- ldr r3, _02065074 ; =FUN_02016A18
- bx r3
- .balign 4
-_02065074: .word FUN_02016A18
-
- thumb_func_start FUN_02065078
-FUN_02065078: ; 0x02065078
- push {r3-r7, lr}
- bl FUN_020377AC
- add r7, r0, #0x0
- bl FUN_02029FC8
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020462AC
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02026CB4
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r4, #0x0
- bl FUN_0205ED0C
- cmp r0, #0x0
- beq _020650A8
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_020650A8:
- add r0, r7, #0x0
- bl FUN_02024DA0
- bl FUN_020244EC
- cmp r0, #0x0
- beq _020650BC
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_020650BC:
- add r0, r6, #0x0
- mov r1, #0x35
- bl FUN_0202A150
- cmp r0, #0x64
- bhs _020650F8
- add r0, r6, #0x0
- mov r1, #0x37
- bl FUN_0202A150
- cmp r0, #0x64
- bhs _020650F8
- add r0, r6, #0x0
- mov r1, #0x39
- bl FUN_0202A150
- cmp r0, #0x64
- bhs _020650F8
- add r0, r6, #0x0
- mov r1, #0x3b
- bl FUN_0202A150
- cmp r0, #0x64
- bhs _020650F8
- add r0, r6, #0x0
- mov r1, #0x3d
- bl FUN_0202A150
- cmp r0, #0x64
- blo _020650FE
-_020650F8:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_020650FE:
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205EE60
- cmp r0, #0x0
- bne _0206513A
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205EE60
- cmp r0, #0x0
- bne _0206513A
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0205EE60
- cmp r0, #0x0
- bne _0206513A
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_0205EE60
- cmp r0, #0x0
- bne _0206513A
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0205EE60
- cmp r0, #0x0
- beq _02065140
-_0206513A:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02065140:
- ldr r0, [sp, #0x0]
- bl FUN_020268D4
- cmp r0, #0x1
- bne _02065150
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02065150:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02065154
-FUN_02065154: ; 0x02065154
- push {r3-r6}
- ldr r5, [sp, #0x14]
- mov r6, #0x1
- ldrb r4, [r5, #0x4]
- bic r4, r6
- mov r6, #0x1
- and r0, r6
- orr r0, r4
- strb r0, [r5, #0x4]
- strb r1, [r5, #0x0]
- strb r2, [r5, #0x3]
- add r0, sp, #0x0
- ldrb r0, [r0, #0x10]
- strb r0, [r5, #0x1]
- strb r3, [r5, #0x2]
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02065178
-FUN_02065178: ; 0x02065178
- push {r4-r6, lr}
- ldr r4, [sp, #0x1c]
- add r6, r1, #0x0
- strh r0, [r4, #0x28]
- ldrb r0, [r4, #0x4]
- add r1, r2, #0x0
- mov r2, #0x4
- bic r0, r2
- lsl r2, r6, #0x1f
- lsr r2, r2, #0x1d
- orr r0, r2
- strb r0, [r4, #0x4]
- add r0, r4, #0x0
- add r0, #0x8
- mov r2, #0x8
- add r5, r3, #0x0
- bl StringCopyN
- ldr r0, [sp, #0x10]
- str r5, [r4, #0x1c]
- str r0, [r4, #0x20]
- ldrb r0, [r4, #0x4]
- mov r1, #0x8
- bic r0, r1
- ldr r1, [sp, #0x14]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1c
- orr r0, r1
- strb r0, [r4, #0x4]
- ldr r0, [sp, #0x18]
- str r0, [r4, #0x24]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020651BC
-FUN_020651BC: ; 0x020651BC
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r4, [sp, #0x28]
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, r1, #0x0
- add r5, r2, #0x0
- add r6, r3, #0x0
- ldr r7, [sp, #0x20]
- bl FUN_02029EBC
- strh r0, [r4, #0x2a]
- ldr r0, [sp, #0x4]
- bl FUN_02029EC0
- add r1, r4, #0x0
- add r1, #0x2e
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- ldr r1, [r5, #0x0]
- add r0, #0x2f
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r5, #0x4]
- add r0, #0x30
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r5, #0x8]
- add r0, #0x31
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0206521E
- add r0, r4, #0x0
- ldr r1, [r6, #0x0]
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r6, #0x4]
- add r0, #0x33
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r6, #0x8]
- add r0, #0x34
- strb r1, [r0, #0x0]
- ldr r0, [r7, #0x0]
- strh r0, [r4, #0x2c]
- ldr r1, [r7, #0x4]
- b _02065234
-_0206521E:
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x33
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x34
- strb r1, [r0, #0x0]
- strh r1, [r4, #0x2c]
-_02065234:
- add r0, r4, #0x0
- add r0, #0x35
- strb r1, [r0, #0x0]
- ldrb r2, [r4, #0x4]
- mov r0, #0x2
- bic r2, r0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x14]
- lsl r1, r0, #0x1f
- lsr r1, r1, #0x1e
- orr r1, r2
- strb r1, [r4, #0x4]
- cmp r0, #0x0
- beq _02065258
- ldr r0, [sp, #0x4]
- add sp, #0x8
- str r0, [r4, #0x18]
- pop {r3-r7, pc}
-_02065258:
- mov r0, #0x0
- str r0, [r4, #0x18]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02065260
-FUN_02065260: ; 0x02065260
- push {r3-r5, lr}
- ldr r4, [sp, #0x14]
- ldr r5, _020652A0 ; =0x000F423F
- str r0, [r4, #0x38]
- cmp r0, r5
- bls _0206526E
- str r5, [r4, #0x38]
-_0206526E:
- str r1, [r4, #0x3c]
- str r2, [r4, #0x40]
- ldr r1, [r4, #0x3c]
- ldr r0, _020652A4 ; =0x0000270F
- cmp r1, r0
- bls _0206527C
- str r0, [r4, #0x3c]
-_0206527C:
- ldr r1, [r4, #0x40]
- ldr r0, _020652A4 ; =0x0000270F
- cmp r1, r0
- bls _02065286
- str r0, [r4, #0x40]
-_02065286:
- ldr r0, _020652A8 ; =0x0001869F
- str r3, [r4, #0x44]
- cmp r3, r0
- bls _02065290
- str r0, [r4, #0x44]
-_02065290:
- add r4, #0x68
- mov r2, #0x6
- ldr r0, [sp, #0x10]
- add r1, r4, #0x0
- lsl r2, r2, #0x8
- bl MI_CpuCopy8
- pop {r3-r5, pc}
- .balign 4
-_020652A0: .word 0x000F423F
-_020652A4: .word 0x0000270F
-_020652A8: .word 0x0001869F
-
- thumb_func_start FUN_020652AC
-FUN_020652AC: ; 0x020652AC
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r1, #0xc]
- add r5, r2, #0x0
- bl FUN_02029ABC
- bl FUN_02029ACC
- str r0, [sp, #0x4]
- mov r0, #0x1
- mov r4, #0x0
- add r5, #0x48
- str r0, [sp, #0x8]
- add r7, r0, #0x0
-_020652CA:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_020239D0
- cmp r0, #0x0
- beq _020652E6
- lsl r0, r4, #0x2
- ldr r2, [r5, r0]
- mov r1, #0x1
- bic r2, r7
- orr r1, r2
- add r6, r5, r0
- str r1, [r5, r0]
- b _020652F2
-_020652E6:
- lsl r2, r4, #0x2
- ldr r1, [r5, r2]
- ldr r0, [sp, #0x8]
- add r6, r5, r2
- bic r1, r0
- str r1, [r5, r2]
-_020652F2:
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02029AD0
- ldr r2, [r6, #0x0]
- mov r1, #0x1
- and r1, r2
- lsl r0, r0, #0x1
- orr r0, r1
- str r0, [r6, #0x0]
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x8
- blo _020652CA
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02065314
-FUN_02065314: ; 0x02065314
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02029ABC
- bl FUN_02029ACC
- add r6, r0, #0x0
- mov r4, #0x0
-_02065326:
- lsl r1, r4, #0x2
- add r1, r5, r1
- ldr r1, [r1, #0x48]
- add r0, r4, #0x0
- asr r1, r1, #0x1
- add r2, r6, #0x0
- bl FUN_02029AD8
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x8
- blo _02065326
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02065344
-FUN_02065344: ; 0x02065344
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x78]
- bl FUN_02052E38
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x10]
- ldr r1, _0206536C ; =FUN_02065370
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0206536C: .word FUN_02065370
-
- thumb_func_start FUN_02065370
-FUN_02065370: ; 0x02065370
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0xa
- bgt _0206539A
- bge _020653BA
- cmp r0, #0x1
- bgt _020653E2
- cmp r0, #0x0
- blt _020653E2
- beq _020653A0
- cmp r0, #0x1
- beq _020653AA
- b _020653E2
-_0206539A:
- cmp r0, #0xb
- beq _020653C8
- b _020653E2
-_020653A0:
- ldr r0, [r4, #0x78]
- bl FUN_02052ED0
- mov r0, #0x1
- str r0, [r5, #0x0]
-_020653AA:
- ldr r1, [r5, #0x4]
- ldr r0, _020653E8 ; =0x0000066A
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- beq _020653E2
- mov r0, #0xa
- str r0, [r5, #0x0]
- b _020653E2
-_020653BA:
- ldr r1, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_02038680
- mov r0, #0xb
- str r0, [r5, #0x0]
- b _020653E2
-_020653C8:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020653E2
- ldr r0, [r4, #0x78]
- bl FUN_02052EAC
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_020653E2:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_020653E8: .word 0x0000066A
-
- thumb_func_start FUN_020653EC
-FUN_020653EC: ; 0x020653EC
- push {r4-r6, lr}
- mov r2, #0x5
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x3
- mov r1, #0x2b
- lsl r2, r2, #0xc
- bl FUN_0201681C
- mov r1, #0x6e
- mov r0, #0x2b
- lsl r1, r1, #0x2
- bl FUN_02016998
- mov r2, #0x6e
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, r5, #0x0
- str r6, [r4, #0x4]
- bl FUN_020377AC
- mov r1, #0x5b
- lsl r1, r1, #0x2
- str r5, [r4, r1]
- mov r1, #0x2b
- str r1, [r4, #0x0]
- mov r1, #0x0
- strb r1, [r4, #0x19]
- mov r1, #0xff
- add r6, r0, #0x0
- strb r1, [r4, #0x1a]
- bl LoadPlayerDataAddress
- bl FUN_02024FF4
- strb r0, [r4, #0x16]
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- bl FUN_02025084
- strh r0, [r4, #0x14]
- add r0, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, #0x1c
- mov r1, #0x14
- bl FUN_02066010
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02066070
- add r0, r4, #0x0
- bl FUN_02066270
- ldr r0, _02065470 ; =FUN_020654B0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0200CA44
- str r0, [r4, #0x8]
- pop {r4-r6, pc}
- .balign 4
-_02065470: .word FUN_020654B0
-
- thumb_func_start FUN_02065474
-FUN_02065474: ; 0x02065474
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- bl FUN_0200CAB4
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_020662E4
- add r0, r4, #0x0
- add r0, #0x1c
- mov r1, #0x14
- bl FUN_02066044
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [r4, #0x0]
- bl FUN_020168D0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020654A4
-FUN_020654A4: ; 0x020654A4
- ldr r3, _020654AC ; =FUN_02065474
- add r0, r1, #0x0
- bx r3
- nop
-_020654AC: .word FUN_02065474
-
- thumb_func_start FUN_020654B0
-FUN_020654B0: ; 0x020654B0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02066334
- add r0, r4, #0x0
- bl FUN_02065AF4
- ldr r1, _020654CC ; =FUN_020654D0
- add r0, r5, #0x0
- bl FUN_0201B6C4
- pop {r3-r5, pc}
- .balign 4
-_020654CC: .word FUN_020654D0
-
- thumb_func_start FUN_020654D0
-FUN_020654D0: ; 0x020654D0
- push {r3-r5, lr}
- mov r0, #0x16
- add r5, r1, #0x0
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_02001204
- add r4, r0, #0x0
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- cmp r0, #0x0
- beq _020654EE
- bl FUN_0205EC18
-_020654EE:
- ldr r0, _02065544 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _0206550A
- ldr r1, _02065548 ; =FUN_02065658
- ldr r2, _0206554C ; =FUN_020654A4
- add r0, r5, #0x0
- bl FUN_02065FE4
- ldr r0, _02065550 ; =0x000005DC
- bl FUN_020054C8
- pop {r3-r5, pc}
-_0206550A:
- mov r0, #0x1
- tst r0, r1
- beq _02065542
- ldr r0, _02065550 ; =0x000005DC
- bl FUN_020054C8
- mov r1, #0x1
- mvn r1, r1
- cmp r4, r1
- beq _0206552A
- add r0, r1, #0x1
- cmp r4, r0
- beq _0206552A
- lsr r0, r1, #0x10
- cmp r4, r0
- bne _02065536
-_0206552A:
- ldr r1, _02065548 ; =FUN_02065658
- ldr r2, _0206554C ; =FUN_020654A4
- add r0, r5, #0x0
- bl FUN_02065FE4
- pop {r3-r5, pc}
-_02065536:
- ldr r1, _02065548 ; =FUN_02065658
- ldr r2, _02065554 ; =FUN_02065558
- add r0, r5, #0x0
- strb r4, [r5, #0x18]
- bl FUN_02065FE4
-_02065542:
- pop {r3-r5, pc}
- .balign 4
-_02065544: .word 0x021C48B8
-_02065548: .word FUN_02065658
-_0206554C: .word FUN_020654A4
-_02065550: .word 0x000005DC
-_02065554: .word FUN_02065558
-
- thumb_func_start FUN_02065558
-FUN_02065558: ; 0x02065558
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0206556A
- cmp r0, #0x1
- beq _02065592
- pop {r3-r5, pc}
-_0206556A:
- add r0, r4, #0x0
- bl FUN_02066334
- mov r1, #0x0
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_02065DD8
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r1, #0x0
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- add r3, r1, #0x0
- bl FUN_02066404
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
- pop {r3-r5, pc}
-_02065592:
- add r0, r4, #0x0
- bl FUN_020664F4
- cmp r0, #0x0
- beq _020655A8
- ldr r1, _020655AC ; =FUN_020655B0
- add r0, r5, #0x0
- bl FUN_0201B6C4
- mov r0, #0x0
- strh r0, [r4, #0x10]
-_020655A8:
- pop {r3-r5, pc}
- nop
-_020655AC: .word FUN_020655B0
-
- thumb_func_start FUN_020655B0
-FUN_020655B0: ; 0x020655B0
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r0, #0x16
- add r4, r1, #0x0
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02001204
- add r5, r0, #0x0
- ldr r0, _02065638 ; =0x021C48B8
- mov r1, #0x2
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _020655DE
- ldr r1, _0206563C ; =FUN_02065674
- ldr r2, _02065640 ; =FUN_020654B0
- add r0, r4, #0x0
- bl FUN_02065FE4
- ldr r0, _02065644 ; =0x000005DC
- bl FUN_020054C8
- pop {r4-r6, pc}
-_020655DE:
- mov r1, #0x1
- tst r0, r1
- beq _02065634
- ldr r0, _02065644 ; =0x000005DC
- bl FUN_020054C8
- add r0, r5, #0x2
- cmp r0, #0x5
- bhi _0206562C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020655FC: ; jump table (using 16-bit offset)
- .short _02065608 - _020655FC - 2; case 0
- .short _02065608 - _020655FC - 2; case 1
- .short _0206562C - _020655FC - 2; case 2
- .short _02065614 - _020655FC - 2; case 3
- .short _02065620 - _020655FC - 2; case 4
- .short _02065608 - _020655FC - 2; case 5
-_02065608:
- ldr r1, _0206563C ; =FUN_02065674
- ldr r2, _02065640 ; =FUN_020654B0
- add r0, r4, #0x0
- bl FUN_02065FE4
- pop {r4-r6, pc}
-_02065614:
- ldr r1, _02065648 ; =FUN_02065710
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02065FE4
- pop {r4-r6, pc}
-_02065620:
- ldr r1, _0206564C ; =FUN_02065894
- ldr r2, _02065650 ; =FUN_02065938
- add r0, r4, #0x0
- bl FUN_02065FE4
- pop {r4-r6, pc}
-_0206562C:
- ldr r1, _02065654 ; =FUN_02065690
- add r0, r6, #0x0
- bl FUN_0201B6C4
-_02065634:
- pop {r4-r6, pc}
- nop
-_02065638: .word 0x021C48B8
-_0206563C: .word FUN_02065674
-_02065640: .word FUN_020654B0
-_02065644: .word 0x000005DC
-_02065648: .word FUN_02065710
-_0206564C: .word FUN_02065894
-_02065650: .word FUN_02065938
-_02065654: .word FUN_02065690
-
- thumb_func_start FUN_02065658
-FUN_02065658: ; 0x02065658
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02065EF8
- add r0, r4, #0x0
- bl FUN_020663D4
- ldr r1, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_0201B6C4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02065674
-FUN_02065674: ; 0x02065674
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02065F8C
- add r0, r4, #0x0
- bl FUN_020663D4
- ldr r1, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_0201B6C4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02065690
-FUN_02065690: ; 0x02065690
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x3
- bhi _02065704
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020656A8: ; jump table (using 16-bit offset)
- .short _020656B0 - _020656A8 - 2; case 0
- .short _020656C6 - _020656A8 - 2; case 1
- .short _020656D2 - _020656A8 - 2; case 2
- .short _020656DE - _020656A8 - 2; case 3
-_020656B0:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02066578
- cmp r0, #0x0
- beq _0206570A
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066634
- b _02065704
-_020656C6:
- add r0, r4, #0x0
- bl FUN_02066728
- cmp r0, #0x0
- bne _02065704
- pop {r3-r5, pc}
-_020656D2:
- add r0, r4, #0x0
- bl FUN_020665C0
- cmp r0, #0x0
- bne _02065704
- pop {r3-r5, pc}
-_020656DE:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066578
- cmp r0, #0x0
- beq _0206570A
- add r0, r4, #0x0
- bl FUN_02066334
- add r0, r4, #0x0
- bl FUN_02065AF4
- mov r0, #0x0
- strh r0, [r4, #0x10]
- ldr r1, _0206570C ; =FUN_020654D0
- add r0, r5, #0x0
- bl FUN_0201B6C4
- pop {r3-r5, pc}
-_02065704:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_0206570A:
- pop {r3-r5, pc}
- .balign 4
-_0206570C: .word FUN_020654D0
-
- thumb_func_start FUN_02065710
-FUN_02065710: ; 0x02065710
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x5
- bhi _020657DA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02065728: ; jump table (using 16-bit offset)
- .short _02065734 - _02065728 - 2; case 0
- .short _02065744 - _02065728 - 2; case 1
- .short _02065756 - _02065728 - 2; case 2
- .short _02065780 - _02065728 - 2; case 3
- .short _02065798 - _02065728 - 2; case 4
- .short _020657AA - _02065728 - 2; case 5
-_02065734:
- mov r1, #0x1
- str r1, [sp, #0x0]
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02066404
- b _020657DA
-_02065744:
- add r0, r4, #0x0
- bl FUN_020664F4
- cmp r0, #0x0
- beq _020657E0
- add r0, r4, #0x0
- bl FUN_02066520
- b _020657DA
-_02065756:
- add r0, r4, #0x0
- bl FUN_0206654C
- cmp r0, #0x0
- blt _020657E0
- beq _02065778
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02066404
- mov r0, #0x4
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_02065778:
- mov r0, #0x3
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_02065780:
- add r0, r4, #0x0
- bl FUN_020664D8
- ldr r1, _020657E4 ; =FUN_02065674
- ldr r2, _020657E8 ; =FUN_020654B0
- add r0, r4, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_02065798:
- add r0, r4, #0x0
- bl FUN_020664F4
- cmp r0, #0x0
- beq _020657E0
- add r0, r4, #0x0
- bl FUN_02066520
- b _020657DA
-_020657AA:
- add r0, r4, #0x0
- bl FUN_0206654C
- cmp r0, #0x0
- blt _020657E0
- beq _020657C2
- ldr r1, _020657EC ; =FUN_020659B8
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02065FE4
- b _020657CC
-_020657C2:
- ldr r1, _020657F0 ; =FUN_020657F4
- ldr r2, _020657E4 ; =FUN_02065674
- add r0, r4, #0x0
- bl FUN_02065FE4
-_020657CC:
- add r0, r4, #0x0
- bl FUN_020664D8
- mov r0, #0x0
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_020657DA:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_020657E0:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_020657E4: .word FUN_02065674
-_020657E8: .word FUN_020654B0
-_020657EC: .word FUN_020659B8
-_020657F0: .word FUN_020657F4
-
- thumb_func_start FUN_020657F4
-FUN_020657F4: ; 0x020657F4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0206580A
- cmp r0, #0x1
- beq _0206584E
- cmp r0, #0x2
- beq _0206585C
- b _0206587E
-_0206580A:
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- bne _02065820
- add r0, r4, #0x0
- bl FUN_02066334
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_02065DD8
-_02065820:
- add r0, r4, #0x0
- bl FUN_020661A0
- cmp r0, #0x0
- beq _0206583C
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- mov r1, #0x3
- mov r3, #0x0
- bl FUN_02066404
- b _0206587E
-_0206583C:
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- mov r1, #0x4
- mov r3, #0x0
- bl FUN_02066404
- b _0206587E
-_0206584E:
- add r0, r4, #0x0
- bl FUN_020664F4
- cmp r0, #0x0
- bne _0206587E
- add sp, #0x4
- pop {r3-r4, pc}
-_0206585C:
- ldr r0, _02065888 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02065884
- add r0, r4, #0x0
- bl FUN_020664D8
- ldr r1, _0206588C ; =FUN_02065674
- ldr r2, _02065890 ; =FUN_020654B0
- add r0, r4, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_0206587E:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_02065884:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_02065888: .word 0x021C48B8
-_0206588C: .word FUN_02065674
-_02065890: .word FUN_020654B0
-
- thumb_func_start FUN_02065894
-FUN_02065894: ; 0x02065894
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x3
- bhi _0206592C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020658AA: ; jump table (using 16-bit offset)
- .short _020658B2 - _020658AA - 2; case 0
- .short _020658C8 - _020658AA - 2; case 1
- .short _020658D6 - _020658AA - 2; case 2
- .short _020658E2 - _020658AA - 2; case 3
-_020658B2:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02066578
- cmp r0, #0x0
- beq _02065932
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066634
- b _0206592C
-_020658C8:
- add r0, r4, #0x0
- mov r1, #0xe
- bl FUN_02066664
- cmp r0, #0x0
- bne _0206592C
- pop {r3-r5, pc}
-_020658D6:
- add r0, r4, #0x0
- bl FUN_020665C0
- cmp r0, #0x0
- bne _0206592C
- pop {r3-r5, pc}
-_020658E2:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066578
- cmp r0, #0x0
- beq _02065932
- mov r0, #0x6d
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, r0, #0x0
- add r1, #0x22
- ldrb r5, [r1, #0x0]
- bl FUN_02016A18
- cmp r5, #0x7
- bne _02065912
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- strh r0, [r4, #0x10]
- pop {r3-r5, pc}
-_02065912:
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020661F8
- ldr r1, _02065934 ; =FUN_020654B0
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- strh r0, [r4, #0x10]
- pop {r3-r5, pc}
-_0206592C:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_02065932:
- pop {r3-r5, pc}
- .balign 4
-_02065934: .word FUN_020654B0
-
- thumb_func_start FUN_02065938
-FUN_02065938: ; 0x02065938
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0206594E
- cmp r0, #0x1
- beq _02065970
- cmp r0, #0x2
- beq _0206597E
- b _020659A0
-_0206594E:
- add r0, r4, #0x0
- bl FUN_02066334
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl FUN_02065DD8
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldrb r2, [r4, #0x16]
- add r0, r4, #0x0
- mov r1, #0x5
- mov r3, #0x0
- bl FUN_02066404
- b _020659A0
-_02065970:
- add r0, r4, #0x0
- bl FUN_020664F4
- cmp r0, #0x0
- bne _020659A0
- add sp, #0x4
- pop {r3-r4, pc}
-_0206597E:
- ldr r0, _020659AC ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _020659A6
- add r0, r4, #0x0
- bl FUN_020664D8
- ldr r1, _020659B0 ; =FUN_02065674
- ldr r2, _020659B4 ; =FUN_020654B0
- add r0, r4, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- add sp, #0x4
- strh r0, [r4, #0x10]
- pop {r3-r4, pc}
-_020659A0:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_020659A6:
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_020659AC: .word 0x021C48B8
-_020659B0: .word FUN_02065674
-_020659B4: .word FUN_020654B0
-
- thumb_func_start FUN_020659B8
-FUN_020659B8: ; 0x020659B8
- push {r4-r6, lr}
- add r4, r1, #0x0
- ldrh r0, [r4, #0x10]
- cmp r0, #0x5
- bls _020659C4
- b _02065AE0
-_020659C4:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020659D0: ; jump table (using 16-bit offset)
- .short _020659DC - _020659D0 - 2; case 0
- .short _02065A24 - _020659D0 - 2; case 1
- .short _02065A68 - _020659D0 - 2; case 2
- .short _02065A86 - _020659D0 - 2; case 3
- .short _02065AB8 - _020659D0 - 2; case 4
- .short _02065AC4 - _020659D0 - 2; case 5
-_020659DC:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02066578
- cmp r0, #0x0
- beq _02065AE6
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066634
- mov r0, #0x1b
- lsl r0, r0, #0x4
- ldrb r2, [r4, #0x18]
- mov r1, #0xc
- ldr r0, [r4, r0]
- mul r1, r2
- add r1, r4, r1
- ldrh r1, [r1, #0x22]
- ldr r2, [r4, #0x0]
- bl FUN_0206EEF8
- cmp r0, #0x0
- ldr r1, _02065AE8 ; =0x0000013B
- beq _02065A1A
- ldrb r2, [r4, r1]
- mov r0, #0xc0
- bic r2, r0
- mov r0, #0x40
- orr r0, r2
- strb r0, [r4, r1]
- b _02065AE0
-_02065A1A:
- ldrb r2, [r4, r1]
- mov r0, #0xc0
- bic r2, r0
- strb r2, [r4, r1]
- b _02065AE0
-_02065A24:
- add r0, r4, #0x0
- mov r1, #0x9
- bl FUN_02066664
- cmp r0, #0x0
- beq _02065AE6
- mov r0, #0x6d
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, r0, #0x0
- add r1, #0x22
- ldrb r5, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x23
- ldrb r6, [r1, #0x0]
- bl FUN_02016A18
- cmp r6, #0x6
- bne _02065A4E
- cmp r5, #0x7
- bne _02065A58
-_02065A4E:
- ldr r0, _02065AEC ; =FUN_020657F4
- str r0, [r4, #0xc]
- mov r0, #0x4
- strh r0, [r4, #0x10]
- pop {r4-r6, pc}
-_02065A58:
- strb r5, [r4, #0x17]
- ldrb r1, [r4, #0x18]
- mov r0, #0xc
- mov r2, #0x0
- mul r0, r1
- add r0, r4, r0
- strb r2, [r0, #0x1d]
- b _02065AE0
-_02065A68:
- add r0, r4, #0x0
- bl FUN_02066728
- cmp r0, #0x0
- beq _02065AE6
- cmp r0, #0x1
- bne _02065A80
- ldr r0, _02065AEC ; =FUN_020657F4
- str r0, [r4, #0xc]
- mov r0, #0x4
- strh r0, [r4, #0x10]
- pop {r4-r6, pc}
-_02065A80:
- ldr r0, _02065AF0 ; =FUN_020654B0
- str r0, [r4, #0xc]
- b _02065AE0
-_02065A86:
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02066664
- cmp r0, #0x0
- beq _02065AE6
- mov r0, #0x6d
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldr r2, _02065AE8 ; =0x0000013B
- ldrb r1, [r4, #0x17]
- ldrb r2, [r4, r2]
- add r0, r4, #0x0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x1e
- bl FUN_020661F8
- ldr r1, _02065AE8 ; =0x0000013B
- mov r0, #0xc0
- ldrb r2, [r4, r1]
- bic r2, r0
- strb r2, [r4, r1]
- b _02065AE0
-_02065AB8:
- add r0, r4, #0x0
- bl FUN_020665C0
- cmp r0, #0x0
- bne _02065AE0
- pop {r4-r6, pc}
-_02065AC4:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02066578
- cmp r0, #0x0
- beq _02065AE6
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02065FE4
- mov r0, #0x0
- strh r0, [r4, #0x10]
- pop {r4-r6, pc}
-_02065AE0:
- ldrh r0, [r4, #0x10]
- add r0, r0, #0x1
- strh r0, [r4, #0x10]
-_02065AE6:
- pop {r4-r6, pc}
- .balign 4
-_02065AE8: .word 0x0000013B
-_02065AEC: .word FUN_020657F4
-_02065AF0: .word FUN_020654B0
-
- thumb_func_start FUN_02065AF4
-FUN_02065AF4: ; 0x02065AF4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r6, #0x0
- bl FUN_0205EB38
- mov r1, #0x69
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r5, r1]
- mov r1, #0xc8
- mov r2, #0xa
- mov r3, #0x8a
- bl FUN_0205EC48
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, r6, #0x0
- mov r2, #0x1
- bl FUN_0205EC6C
- mov r0, #0x69
- lsl r0, r0, #0x2
- mov r1, #0x1
- ldr r0, [r5, r0]
- add r2, r1, #0x0
- bl FUN_0205EC6C
- mov r1, #0x17
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r2, _02065CD8 ; =0x020F7E7C
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x17
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, #0x24
- ldr r2, _02065CDC ; =0x020F7E84
- add r1, r5, r1
- bl FUN_02019150
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xff
- bl FUN_02019620
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xff
- bl FUN_02019620
- ldrb r0, [r5, #0x1b]
- ldr r1, [r5, #0x0]
- add r0, r0, #0x1
- bl FUN_02012838
- mov r1, #0x59
- lsl r1, r1, #0x2
- add r7, r5, #0x0
- str r0, [r5, r1]
- add r4, r6, #0x0
- add r7, #0x1c
-_02065B7E:
- mov r0, #0xc
- mul r0, r4
- add r2, r7, r0
- ldrb r0, [r2, #0x1]
- cmp r0, #0x0
- beq _02065B9E
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r1, [r2, #0x8]
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, r0]
- bl FUN_020128A0
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_02065B9E:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x14
- blo _02065B7E
- mov r1, #0x59
- lsl r1, r1, #0x2
- ldr r0, [r5, r1]
- sub r1, #0x4c
- ldr r1, [r5, r1]
- ldr r2, _02065CE0 ; =0x0000FFFF
- bl FUN_020128A0
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- mov r1, #0x5
- lsr r6, r0, #0x18
- lsl r1, r1, #0x6
- ldr r0, _02065CE4 ; =0x020F7E8C
- add r1, r5, r1
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r1, #0x5d
- lsl r1, r1, #0x2
- add r0, r1, #0x0
- add r2, r5, r1
- sub r0, #0x28
- str r2, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x10
- ldr r2, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x34
- str r2, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x18
- str r5, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x24
- strh r6, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x1d
- ldrb r2, [r5, r0]
- mov r0, #0xf
- bic r2, r0
- mov r0, #0x6
- orr r2, r0
- add r0, r1, #0x0
- sub r0, #0x1d
- strb r2, [r5, r0]
- add r0, r1, #0x0
- ldr r2, _02065CE8 ; =FUN_02065D4C
- sub r0, #0x30
- str r2, [r5, r0]
- add r0, r1, #0x0
- ldr r2, _02065CEC ; =FUN_02065CFC
- sub r0, #0x2c
- str r2, [r5, r0]
- add r0, r1, #0x0
- sub r0, #0x39
- ldrb r0, [r5, r0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- beq _02065C64
- add r0, r1, #0x0
- sub r0, #0x38
- ldrh r0, [r5, r0]
- cmp r0, #0x0
- bne _02065C48
- add r0, r1, #0x0
- sub r0, #0x36
- ldrh r2, [r5, r0]
- cmp r2, #0x0
- beq _02065C5A
- sub r0, r6, #0x1
- cmp r2, r0
- blt _02065C5A
- add r0, r1, #0x0
- sub r0, #0x36
- ldrh r0, [r5, r0]
- sub r1, #0x36
- sub r0, r0, #0x1
- strh r0, [r5, r1]
- b _02065C5A
-_02065C48:
- add r0, r0, #0x7
- cmp r0, r6
- blt _02065C5A
- add r0, r1, #0x0
- sub r0, #0x38
- ldrh r0, [r5, r0]
- sub r1, #0x38
- sub r0, r0, #0x1
- strh r0, [r5, r1]
-_02065C5A:
- ldr r1, _02065CF0 ; =0x0000013B
- mov r0, #0x30
- ldrb r2, [r5, r1]
- bic r2, r0
- strb r2, [r5, r1]
-_02065C64:
- mov r2, #0x5
- lsl r2, r2, #0x6
- sub r1, r2, #0x4
- add r0, r5, r2
- sub r2, r2, #0x2
- ldr r3, [r5, #0x0]
- ldrh r1, [r5, r1]
- lsl r3, r3, #0x18
- ldrh r2, [r5, r2]
- lsr r3, r3, #0x18
- bl FUN_020010A8
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- add r1, #0x14
- add r0, r5, r1
- ldr r2, _02065CF4 ; =0x000003D9
- mov r1, #0x0
- mov r3, #0xb
- bl FUN_0200CCA4
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r2, #0x65
- ldr r0, _02065CF8 ; =0x0001020F
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- lsl r2, r2, #0x2
- add r0, r5, r2
- str r1, [sp, #0xc]
- sub r2, #0x78
- ldr r2, [r5, r2]
- mov r3, #0x2
- bl FUN_0201BDE0
- mov r0, #0x65
- lsl r0, r0, #0x2
- ldr r2, _02065CF4 ; =0x000003D9
- add r0, r5, r0
- mov r1, #0x0
- mov r3, #0xb
- bl FUN_0200CCA4
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x3
- bl FUN_0201AC68
- ldr r1, _02065CF0 ; =0x0000013B
- mov r0, #0xf
- ldrb r2, [r5, r1]
- bic r2, r0
- strb r2, [r5, r1]
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02065CD8: .word 0x020F7E7C
-_02065CDC: .word 0x020F7E84
-_02065CE0: .word 0x0000FFFF
-_02065CE4: .word 0x020F7E8C
-_02065CE8: .word FUN_02065D4C
-_02065CEC: .word FUN_02065CFC
-_02065CF0: .word 0x0000013B
-_02065CF4: .word 0x000003D9
-_02065CF8: .word 0x0001020F
-
- thumb_func_start FUN_02065CFC
-FUN_02065CFC: ; 0x02065CFC
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x13
- add r5, r0, #0x0
- bl FUN_02001470
- ldr r1, _02065D48 ; =0x0000FFFF
- cmp r4, r1
- bne _02065D1C
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0xf
- mov r3, #0x2
- bl FUN_020013E8
- pop {r3-r5, pc}
-_02065D1C:
- mov r1, #0xc
- mul r1, r4
- add r0, r0, r1
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02065D38
- add r0, r5, #0x0
- mov r1, #0x3
- mov r2, #0xf
- mov r3, #0x4
- bl FUN_020013E8
- pop {r3-r5, pc}
-_02065D38:
- add r0, r5, #0x0
- mov r1, #0x7
- mov r2, #0xf
- mov r3, #0x8
- bl FUN_020013E8
- pop {r3-r5, pc}
- nop
-_02065D48: .word 0x0000FFFF
-
- thumb_func_start FUN_02065D4C
-FUN_02065D4C: ; 0x02065D4C
- push {r3-r6, lr}
- sub sp, #0x4
- mov r1, #0x13
- add r4, r0, #0x0
- add r6, r2, #0x0
- bl FUN_02001470
- add r1, sp, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_02001448
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02001470
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r6, #0x0
- bne _02065D7E
- ldr r0, _02065DD4 ; =0x000005DC
- bl FUN_020054C8
-_02065D7E:
- add r0, sp, #0x0
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- bne _02065D96
- mov r0, #0x69
- lsl r0, r0, #0x2
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r2, r1, #0x0
- bl FUN_0205EC6C
- b _02065DA4
-_02065D96:
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_0205EC6C
-_02065DA4:
- add r0, sp, #0x0
- ldrh r1, [r0, #0x2]
- sub r0, r4, #0x7
- cmp r1, r0
- bge _02065DC0
- mov r0, #0x69
- lsl r0, r0, #0x2
- mov r1, #0x1
- ldr r0, [r5, r0]
- add r2, r1, #0x0
- bl FUN_0205EC6C
- add sp, #0x4
- pop {r3-r6, pc}
-_02065DC0:
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0205EC6C
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_02065DD4: .word 0x000005DC
-
- thumb_func_start FUN_02065DD8
-FUN_02065DD8: ; 0x02065DD8
- push {r3-r7, lr}
- sub sp, #0x8
- str r1, [sp, #0x0]
- add r5, r0, #0x0
- str r2, [sp, #0x4]
- ldr r1, [r5, #0x0]
- mov r0, #0x4
- bl FUN_02012838
- mov r1, #0x59
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r1, #0x0
- add r0, #0xc
- add r1, #0x10
- ldr r0, [r5, r0]
- ldr r2, _02065EC8 ; =0x020F7E74
- add r1, r5, r1
- bl FUN_02019150
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xff
- bl FUN_02019620
- mov r7, #0x43
- ldr r6, _02065ECC ; =0x020F7EAC
- mov r4, #0x0
- lsl r7, r7, #0x2
-_02065E14:
- lsl r2, r4, #0x3
- add r3, r6, r2
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r1, [r5, r7]
- ldr r2, [r6, r2]
- ldr r3, [r3, #0x4]
- bl FUN_02012880
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- blo _02065E14
- mov r1, #0x5
- lsl r1, r1, #0x6
- ldr r0, _02065ED0 ; =0x020F7E8C
- add r1, r5, r1
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r1, r0, #0x0
- add r2, r5, r0
- sub r1, #0x28
- str r2, [r5, r1]
- add r1, r0, #0x0
- sub r1, #0x10
- ldr r2, [r5, r1]
- add r1, r0, #0x0
- sub r1, #0x34
- str r2, [r5, r1]
- add r1, r0, #0x0
- sub r1, #0x18
- str r5, [r5, r1]
- add r1, r0, #0x0
- mov r2, #0x4
- sub r1, #0x24
- strh r2, [r5, r1]
- add r1, r0, #0x0
- sub r1, #0x22
- strh r2, [r5, r1]
- add r1, r0, #0x0
- sub r1, #0x1a
- ldrh r2, [r5, r1]
- ldr r1, _02065ED4 ; =0xFFFFFE7F
- and r2, r1
- add r1, r0, #0x0
- sub r1, #0x1a
- strh r2, [r5, r1]
- add r1, r0, #0x0
- sub r0, #0x34
- ldr r2, _02065ED8 ; =FUN_02065EE4
- sub r1, #0x30
- str r2, [r5, r1]
- ldr r3, [r5, #0x0]
- ldr r1, [sp, #0x0]
- lsl r3, r3, #0x18
- ldr r2, [sp, #0x4]
- add r0, r5, r0
- lsr r3, r3, #0x18
- bl FUN_020010A8
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- add r1, #0x14
- add r0, r5, r1
- ldr r2, _02065EDC ; =0x000003D9
- mov r1, #0x0
- mov r3, #0xb
- bl FUN_0200CCA4
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x3
- bl FUN_0201AC68
- ldr r1, _02065EE0 ; =0x0000013B
- mov r0, #0xf
- ldrb r2, [r5, r1]
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r5, r1]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02065EC8: .word 0x020F7E74
-_02065ECC: .word 0x020F7EAC
-_02065ED0: .word 0x020F7E8C
-_02065ED4: .word 0xFFFFFE7F
-_02065ED8: .word FUN_02065EE4
-_02065EDC: .word 0x000003D9
-_02065EE0: .word 0x0000013B
-
- thumb_func_start FUN_02065EE4
-FUN_02065EE4: ; 0x02065EE4
- push {r3, lr}
- cmp r2, #0x0
- bne _02065EF0
- ldr r0, _02065EF4 ; =0x000005DC
- bl FUN_020054C8
-_02065EF0:
- pop {r3, pc}
- nop
-_02065EF4: .word 0x000005DC
-
- thumb_func_start FUN_02065EF8
-FUN_02065EF8: ; 0x02065EF8
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x16
- lsl r0, r0, #0x4
- add r1, sp, #0x0
- ldr r0, [r4, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_02001300
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02012870
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019570
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_0200CCF8
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019570
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_0200CCF8
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- add r0, sp, #0x0
- mov r1, #0x4f
- ldrh r2, [r0, #0x2]
- lsl r1, r1, #0x2
- strh r2, [r4, r1]
- ldrh r2, [r0, #0x0]
- add r0, r1, #0x2
- add r1, #0x68
- strh r2, [r4, r0]
- ldr r0, [r4, r1]
- cmp r0, #0x0
- beq _02065F7C
- bl FUN_0205EBEC
- mov r0, #0x69
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
-_02065F7C:
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02065F8C
-FUN_02065F8C: ; 0x02065F8C
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019570
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_0200CCF8
- mov r0, #0x16
- lsl r0, r0, #0x4
- add r1, sp, #0x0
- ldr r0, [r4, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_02001300
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02012870
- mov r0, #0x5d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- add r0, r4, #0x0
- bl FUN_020664D8
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02065FE4
-FUN_02065FE4: ; 0x02065FE4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- add r4, r2, #0x0
- bl FUN_0201B6C4
- mov r0, #0x0
- strh r0, [r5, #0x10]
- str r4, [r5, #0xc]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02065FF8
-FUN_02065FF8: ; 0x02065FF8
- push {r3, lr}
- strb r1, [r0, #0x0]
- mov r1, #0x0
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0206600E
- bl FUN_02021A4C
-_0206600E:
- pop {r3, pc}
-
- thumb_func_start FUN_02066010
-FUN_02066010: ; 0x02066010
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- mov r4, #0x0
- cmp r6, #0x0
- bls _02066040
-_0206601E:
- mov r0, #0x8
- add r1, r7, #0x0
- bl FUN_020219F4
- mov r1, #0xc
- mul r1, r4
- add r1, r5, r1
- str r0, [r1, #0x8]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02065FF8
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, r6
- blo _0206601E
-_02066040:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02066044
-FUN_02066044: ; 0x02066044
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- ldr r4, _0206606C ; =0x00000000
- beq _0206606A
- mov r7, #0xc
-_02066050:
- add r0, r4, #0x0
- mul r0, r7
- add r0, r5, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _02066060
- bl FUN_02021A20
-_02066060:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, r6
- blo _02066050
-_0206606A:
- pop {r3-r7, pc}
- .balign 4
-_0206606C: .word 0x00000000
-
- thumb_func_start FUN_02066070
-FUN_02066070: ; 0x02066070
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r1, #0x0
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r5, r2, #0x0
- bl FUN_02025838
- mov r1, #0x6b
- lsl r1, r1, #0x2
- str r0, [sp, #0x4]
- str r0, [r6, r1]
- add r0, r4, #0x0
- bl FUN_0206F158
- mov r1, #0x1b
- lsl r1, r1, #0x4
- str r0, [r6, r1]
- add r0, r5, #0x0
- bl FUN_020256BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- str r0, [sp, #0x10]
- add r0, #0x1b
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- str r0, [sp, #0x8]
- add r0, #0x1c
- mov r4, #0x0
- str r0, [sp, #0x8]
-_020660AE:
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_020258D4
- mov r0, #0xc
- mul r0, r4
- ldr r1, [sp, #0x8]
- str r0, [sp, #0xc]
- add r5, r1, r0
- ldrb r1, [r6, #0x19]
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [sp, #0x8]
- add r1, r4, #0x0
- add r0, r0, r2
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02065FF8
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- strb r4, [r1, r0]
- add r0, r7, #0x0
- bl FUN_020256AC
- cmp r0, #0x0
- beq _02066134
- mov r0, #0x1
- strb r0, [r5, #0x1]
- add r0, r7, #0x0
- bl FUN_020257C8
- strb r0, [r5, #0x4]
- add r0, r7, #0x0
- bl FUN_020257CC
- strb r0, [r5, #0x5]
- ldrb r0, [r5, #0x5]
- bl FUN_0206EAD8
- strh r0, [r5, #0x6]
- add r0, r7, #0x0
- bl FUN_020257C4
- add r1, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_02021E28
- ldrb r0, [r6, #0x19]
- strb r0, [r5, #0x2]
- ldrb r1, [r5, #0x0]
- ldr r0, [sp, #0x0]
- strb r1, [r0, #0x3]
- ldrb r0, [r5, #0x0]
- strb r0, [r6, #0x19]
- ldr r0, [sp, #0x10]
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x1
- ldr r0, [sp, #0x10]
- strb r1, [r0, #0x0]
- ldrb r0, [r6, #0x1a]
- cmp r0, #0xff
- bne _02066134
- strb r4, [r6, #0x1a]
-_02066134:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x14
- blo _020660AE
- ldrb r1, [r6, #0x19]
- ldrb r3, [r6, #0x1a]
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- add r1, r6, r2
- strb r3, [r1, #0x1f]
- ldrb r1, [r6, #0x1a]
- ldrb r2, [r6, #0x19]
- mul r0, r1
- add r0, r6, r0
- strb r2, [r0, #0x1e]
- add r0, r7, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02066160
-FUN_02066160: ; 0x02066160
- push {r3-r6}
- add r2, r1, #0x0
- mov r3, #0xc
- add r1, r0, #0x0
- mul r2, r3
- add r1, #0x1c
- add r1, r1, r2
- ldrb r4, [r1, #0x2]
- ldrb r6, [r1, #0x3]
- add r5, r4, #0x0
- mul r5, r3
- add r4, r0, r5
- strb r6, [r4, #0x1f]
- ldrb r4, [r1, #0x2]
- ldrb r1, [r1, #0x3]
- mul r3, r1
- add r1, r0, r3
- strb r4, [r1, #0x1e]
- add r1, r0, r2
- mov r3, #0x0
- strb r3, [r1, #0x1d]
- ldr r2, _0206619C ; =0x0000013B
- mov r1, #0x30
- ldrb r3, [r0, r2]
- bic r3, r1
- mov r1, #0x10
- orr r1, r3
- strb r1, [r0, r2]
- pop {r3-r6}
- bx lr
- .balign 4
-_0206619C: .word 0x0000013B
-
- thumb_func_start FUN_020661A0
-FUN_020661A0: ; 0x020661A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrb r1, [r5, #0x18]
- add r2, r5, #0x0
- mov r0, #0xc
- add r2, #0x1c
- mul r0, r1
- add r4, r2, r0
- mov r0, #0x1b
- lsl r0, r0, #0x4
- ldrh r1, [r4, #0x6]
- ldr r0, [r5, r0]
- ldr r3, [r5, #0x0]
- mov r2, #0x1
- bl FUN_0206ED24
- add r6, r0, #0x0
- beq _020661D4
- mov r0, #0x1b
- lsl r0, r0, #0x4
- ldrh r1, [r4, #0x6]
- ldr r0, [r5, r0]
- ldr r3, [r5, #0x0]
- mov r2, #0x1
- bl FUN_0206ED38
-_020661D4:
- mov r0, #0x6b
- lsl r0, r0, #0x2
- ldrb r2, [r5, #0x18]
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02025878
- ldrb r1, [r5, #0x18]
- add r0, r5, #0x0
- bl FUN_02066160
- ldrb r1, [r5, #0x18]
- add r0, r4, #0x0
- bl FUN_02065FF8
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020661F8
-FUN_020661F8: ; 0x020661F8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- ldrb r1, [r5, #0x18]
- add r6, r2, #0x0
- add r2, r5, #0x0
- mov r0, #0xc
- add r2, #0x1c
- mul r0, r1
- add r4, r2, r0
- ldrb r0, [r4, #0x1]
- cmp r0, #0x0
- beq _0206626E
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020377AC
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- mov r0, #0x6b
- lsl r0, r0, #0x2
- ldrb r1, [r5, #0x18]
- ldr r0, [r5, r0]
- ldr r3, [r5, #0x0]
- bl FUN_020856A0
- cmp r6, #0x0
- beq _0206625E
- mov r0, #0x1b
- lsl r0, r0, #0x4
- ldrh r1, [r4, #0x6]
- ldr r0, [r5, r0]
- ldr r3, [r5, #0x0]
- mov r2, #0x1
- bl FUN_0206ED24
- cmp r0, #0x0
- beq _0206625E
- mov r0, #0x1b
- lsl r0, r0, #0x4
- ldrh r1, [r4, #0x6]
- ldr r0, [r5, r0]
- ldr r3, [r5, #0x0]
- mov r2, #0x1
- bl FUN_0206ED38
-_0206625E:
- ldrb r1, [r5, #0x18]
- add r0, r5, #0x0
- bl FUN_02066160
- ldrb r1, [r5, #0x18]
- add r0, r4, #0x0
- bl FUN_02065FF8
-_0206626E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02066270
-FUN_02066270: ; 0x02066270
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r2, #0x5a
- ldr r3, [r6, #0x0]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- mov r1, #0x43
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r2, [r6, #0x0]
- mov r0, #0x1
- mov r1, #0x80
- bl FUN_0200AA90
- mov r1, #0x11
- lsl r1, r1, #0x4
- str r0, [r6, r1]
- ldr r1, [r6, #0x0]
- mov r0, #0x80
- bl FUN_020219F4
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- sub r1, #0x8
- ldr r0, [r6, r1]
- mov r1, #0x4
- bl FUN_0200A914
- mov r1, #0x46
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- sub r1, #0xc
- ldr r0, [r6, r1]
- mov r1, #0x0
- bl FUN_0200A914
- mov r1, #0x47
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- mov r4, #0x0
- add r5, r6, #0x0
- add r7, r1, #0x4
-_020662CC:
- mov r0, #0x43
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r1, r4, #0x6
- bl FUN_0200A914
- str r0, [r5, r7]
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x6
- blt _020662CC
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020662E4
-FUN_020662E4: ; 0x020662E4
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r7, #0x12
- mov r4, #0x0
- add r5, r6, #0x0
- lsl r7, r7, #0x4
-_020662F0:
- ldr r0, [r5, r7]
- bl FUN_02021A20
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x6
- blt _020662F0
- mov r0, #0x47
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_02021A20
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_02021A20
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_02021A20
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- bl FUN_0200AB18
- mov r0, #0x43
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02066334
-FUN_02066334: ; 0x02066334
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020377A8
- mov r1, #0x17
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- ldrh r0, [r4, #0x14]
- ldr r2, _020663C8 ; =0x000003E2
- mov r3, #0xa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r4, r1]
- mov r1, #0x3
- bl FUN_0200CD68
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _020663CC ; =0x000003D9
- str r0, [sp, #0x4]
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_0200CB00
- mov r1, #0x1a
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x4
- bl FUN_02002ED0
- mov r1, #0x6
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x6
- bl FUN_02002EEC
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r0, _020663D0 ; =0x0000036D
- mov r1, #0x17
- lsl r1, r1, #0x4
- str r0, [sp, #0x10]
- ldr r0, [r4, r1]
- add r1, #0x14
- add r1, r4, r1
- mov r2, #0x3
- mov r3, #0x2
- bl FUN_02019064
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_02019620
- add sp, #0x14
- pop {r3-r4, pc}
- .balign 4
-_020663C8: .word 0x000003E2
-_020663CC: .word 0x000003D9
-_020663D0: .word 0x0000036D
-
- thumb_func_start FUN_020663D4
-FUN_020663D4: ; 0x020663D4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019570
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- mov r2, #0x10
- bl MI_CpuFill8
- mov r0, #0x17
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- pop {r4, pc}
-
- thumb_func_start FUN_02066404
-FUN_02066404: ; 0x02066404
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- beq _02066426
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r2, _020664CC ; =0x000003E2
- add r0, r5, r0
- mov r1, #0x1
- mov r3, #0xa
- bl FUN_0200D0BC
-_02066426:
- mov r1, #0xd8
- str r1, [sp, #0x0]
- mov r0, #0x20
- mov r2, #0x0
- add r1, #0xac
- str r0, [sp, #0x4]
- add r0, r5, r1
- mov r1, #0xff
- add r3, r2, #0x0
- bl FUN_020196F4
- mov r0, #0x1
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002B7C
- cmp r4, #0x0
- bne _02066494
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02021A4C
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldrb r3, [r5, #0x18]
- mov r2, #0xc
- ldr r0, [r5, r0]
- mul r2, r3
- add r2, r5, r2
- ldr r2, [r2, #0x24]
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200ABB4
- mov r2, #0x11
- lsl r2, r2, #0x4
- lsl r3, r4, #0x2
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r3, r5, r3
- add r2, #0x10
- ldr r1, [r5, r1]
- ldr r2, [r3, r2]
- bl FUN_0200B7B8
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldr r2, [r5, r0]
- b _0206649E
-_02066494:
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x12
- lsl r0, r0, #0x4
- ldr r2, [r1, r0]
-_0206649E:
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, _020664D0 ; =0x0001020F
- str r6, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- str r3, [sp, #0xc]
- bl FUN_0201BDE0
- mov r1, #0x4e
- lsl r1, r1, #0x2
- strb r0, [r5, r1]
- add r1, #0x4c
- add r0, r5, r1
- bl FUN_020191D0
- ldr r0, _020664D4 ; =0x00000139
- strb r7, [r5, r0]
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_020664CC: .word 0x000003E2
-_020664D0: .word 0x0001020F
-_020664D4: .word 0x00000139
-
- thumb_func_start FUN_020664D8
-FUN_020664D8: ; 0x020664D8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019570
- pop {r4, pc}
-
- thumb_func_start FUN_020664F4
-FUN_020664F4: ; 0x020664F4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x4e
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- beq _0206650A
- mov r0, #0x0
- pop {r4, pc}
-_0206650A:
- ldr r0, _0206651C ; =0x00000139
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- beq _02066518
- add r0, r4, #0x0
- bl FUN_020664D8
-_02066518:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0206651C: .word 0x00000139
-
- thumb_func_start FUN_02066520
-FUN_02066520: ; 0x02066520
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, _02066544 ; =0x020F7E6C
- str r0, [sp, #0x0]
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- ldr r2, _02066548 ; =0x000003D9
- mov r3, #0xb
- bl FUN_02002198
- mov r1, #0x5a
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_02066544: .word 0x020F7E6C
-_02066548: .word 0x000003D9
-
- thumb_func_start FUN_0206654C
-FUN_0206654C: ; 0x0206654C
- push {r3, lr}
- add r1, r0, #0x0
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- ldr r1, [r1, #0x0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0206656A
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _0206656E
- b _02066572
-_0206656A:
- mov r0, #0x1
- pop {r3, pc}
-_0206656E:
- mov r0, #0x0
- pop {r3, pc}
-_02066572:
- add r0, r1, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02066578
-FUN_02066578: ; 0x02066578
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldrh r0, [r4, #0x12]
- cmp r0, #0x0
- beq _0206658A
- cmp r0, #0x1
- beq _020665A8
- b _020665BA
-_0206658A:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r2, r1, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldrh r0, [r4, #0x12]
- add r0, r0, #0x1
- strh r0, [r4, #0x12]
- b _020665BA
-_020665A8:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020665BA
- mov r0, #0x0
- strh r0, [r4, #0x12]
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_020665BA:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020665C0
-FUN_020665C0: ; 0x020665C0
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x12]
- cmp r0, #0x0
- beq _020665D4
- cmp r0, #0x1
- beq _020665E6
- cmp r0, #0x2
- beq _02066614
- b _0206662E
-_020665D4:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0204649C
- ldrh r0, [r4, #0x12]
- add r0, r0, #0x1
- strh r0, [r4, #0x12]
- b _0206662E
-_020665E6:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0206662E
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x5a
- bl MOD06_0224C678
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x5a
- bl MOD06_0224C6E8
- ldrh r0, [r4, #0x12]
- add r0, r0, #0x1
- strh r0, [r4, #0x12]
- b _0206662E
-_02066614:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x5a
- ldr r0, [r0, #0x50]
- bl MOD05_021DA58C
- cmp r0, #0x0
- beq _0206662E
- mov r0, #0x0
- strh r0, [r4, #0x12]
- mov r0, #0x1
- pop {r4, pc}
-_0206662E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02066634
-FUN_02066634: ; 0x02066634
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x5b
- lsl r0, r0, #0x2
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x5a
- bl MOD05_021DAF98
- cmp r4, #0x0
- bne _02066652
- add r0, r5, #0x0
- bl FUN_02065EF8
- b _02066658
-_02066652:
- add r0, r5, #0x0
- bl FUN_02065F8C
-_02066658:
- add r0, r5, #0x0
- bl FUN_020663D4
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02066664
-FUN_02066664: ; 0x02066664
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x12]
- add r6, r1, #0x0
- cmp r0, #0x0
- beq _02066676
- cmp r0, #0x1
- beq _02066708
- b _0206671E
-_02066676:
- ldr r0, [r5, #0x0]
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020377AC
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020377AC
- bl FUN_0206F158
- str r0, [r4, #0x4]
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020377AC
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r0, [r0, #0xc]
- bl FUN_02025838
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x20
- strb r6, [r0, #0x0]
- ldrb r1, [r5, #0x18]
- mov r0, #0xc
- mul r0, r1
- add r0, r5, r0
- ldrh r0, [r0, #0x22]
- cmp r6, #0xb
- strh r0, [r4, #0x24]
- bne _020666EC
- ldrb r1, [r5, #0x17]
- add r0, r4, #0x0
- add r0, #0x22
- strb r1, [r0, #0x0]
-_020666EC:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r1, _02066724 ; =0x020F96DC
- add r2, r4, #0x0
- bl FUN_020373D4
- mov r0, #0x6d
- lsl r0, r0, #0x2
- str r4, [r5, r0]
- ldrh r0, [r5, #0x12]
- add r0, r0, #0x1
- strh r0, [r5, #0x12]
- b _0206671E
-_02066708:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_0204647C
- cmp r0, #0x0
- bne _0206671E
- mov r0, #0x0
- strh r0, [r5, #0x12]
- mov r0, #0x1
- pop {r4-r6, pc}
-_0206671E:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02066724: .word 0x020F96DC
-
- thumb_func_start FUN_02066728
-FUN_02066728: ; 0x02066728
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x12]
- cmp r0, #0x0
- beq _02066738
- cmp r0, #0x1
- beq _0206677A
- b _020667D0
-_02066738:
- ldrb r2, [r4, #0x18]
- mov r0, #0xc
- mul r0, r2
- add r3, r4, r0
- ldrb r0, [r3, #0x1d]
- cmp r0, #0x0
- beq _02066756
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r3, [r4, #0x0]
- mov r1, #0x0
- bl FUN_02037F58
- b _0206676C
-_02066756:
- ldr r0, [r4, #0x0]
- add r3, #0x21
- str r0, [sp, #0x0]
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldrb r2, [r4, #0x17]
- ldrb r3, [r3, #0x0]
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02037F2C
-_0206676C:
- mov r1, #0x6a
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldrh r0, [r4, #0x12]
- add r0, r0, #0x1
- strh r0, [r4, #0x12]
- b _020667D0
-_0206677A:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020667D0
- mov r0, #0x6a
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020855E4
- cmp r0, #0x0
- beq _020667BC
- ldrb r0, [r4, #0x18]
- mov r2, #0xc
- mov r3, #0x1
- add r1, r0, #0x0
- mul r1, r2
- add r0, r4, r1
- strb r3, [r0, #0x1d]
- ldrb r3, [r4, #0x18]
- mov r0, #0x6a
- lsl r0, r0, #0x2
- mul r2, r3
- add r2, r4, r2
- ldrb r2, [r2, #0x1c]
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020855E8
- mov r5, #0x2
- b _020667BE
-_020667BC:
- mov r5, #0x1
-_020667BE:
- mov r0, #0x6a
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0208562C
- mov r0, #0x0
- strh r0, [r4, #0x12]
- add r0, r5, #0x0
- pop {r3-r5, pc}
-_020667D0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020667D4
-FUN_020667D4: ; 0x020667D4
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _020667F2
- cmp r1, #0x1
- beq _02066802
- b _02066814
-_020667F2:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020653EC
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02066814
-_02066802:
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- bne _0206680C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0206680C:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_02066814:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02066818
-FUN_02066818: ; 0x02066818
- push {r4, lr}
- bl FUN_02046528
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- ldr r0, [r4, #0x10]
- ldr r1, _0206683C ; =FUN_020667D4
- bl FUN_0204640C
- pop {r4, pc}
- nop
-_0206683C: .word FUN_020667D4
-
- thumb_func_start FUN_02066840
-FUN_02066840: ; 0x02066840
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02029AFC
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A8D8
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r1, #0x0
- mov r2, #0xe4
- bl MI_CpuFill8
- add r0, r4, #0x0
- bl FUN_0202398C
- add r1, r7, #0x0
- add r1, #0xa8
- mov r2, #0x10
- bl MI_CpuCopy8
- add r0, r4, #0x0
- bl FUN_020239BC
- add r1, r7, #0x0
- add r1, #0xbc
- str r0, [r1, #0x0]
- ldr r0, _02066970 ; =0x020ECAC0
- ldrb r1, [r0, #0x0]
- add r0, r7, #0x0
- add r0, #0xb8
- strb r1, [r0, #0x0]
- ldr r0, _02066974 ; =0x020ECAC4
- ldrb r1, [r0, #0x0]
- add r0, r7, #0x0
- add r0, #0xb9
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_02029B38
- add r1, r7, #0x0
- add r1, #0xba
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- bl FUN_02029B3C
- add r1, r7, #0x0
- add r1, #0xbb
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020239CC
- add r1, r7, #0x0
- add r1, #0xc8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1f
- ldrb r1, [r1, #0x0]
- mov r2, #0x2
- lsr r0, r0, #0x1e
- bic r1, r2
- orr r1, r0
- add r0, r7, #0x0
- add r0, #0xc8
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_02023A28
- add r1, r0, #0x0
- add r0, r7, #0x0
- add r0, #0xc8
- ldrb r0, [r0, #0x0]
- mov r2, #0x1
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bl FUN_020536D0
- add r1, r7, #0x0
- add r1, #0xc9
- strb r0, [r1, #0x0]
- add r0, r7, #0x0
- mov r4, #0x0
- str r0, [sp, #0x8]
- add r0, #0xca
- add r5, r4, #0x0
- str r0, [sp, #0x8]
-_020668FC:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202A5F4
- ldr r1, [sp, #0x8]
- mov r2, #0x8
- add r1, r1, r5
- bl MI_CpuCopy8
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x3
- blt _020668FC
- add r0, r6, #0x0
- mov r1, #0x3
- bl FUN_0202A5F4
- add r1, r7, #0x0
- add r1, #0xc0
- mov r2, #0x8
- bl MI_CpuCopy8
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02066956
- ldr r0, [sp, #0x4]
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_0202A578
- add r1, r7, #0x0
- add r1, #0xe2
- strh r0, [r1, #0x0]
- add r0, r7, #0x0
- add r0, #0xe2
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206696C
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- add r2, r7, #0x0
- bl FUN_0202A498
- add sp, #0xc
- pop {r4-r7, pc}
-_02066956:
- ldr r0, [sp, #0x4]
- bl FUN_0202A520
- add r1, r7, #0x0
- add r1, #0xe2
- strh r0, [r1, #0x0]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- add r2, r7, #0x0
- bl FUN_0202A498
-_0206696C:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02066970: .word 0x020ECAC0
-_02066974: .word 0x020ECAC4
-
- thumb_func_start FUN_02066978
-FUN_02066978: ; 0x02066978
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0xec
- bl MIi_CpuClearFast
- add r0, r4, #0x0
- ldrh r2, [r4, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- add r0, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- pop {r4, pc}
-
- thumb_func_start FUN_020669A0
-FUN_020669A0: ; 0x020669A0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x88
- bl MIi_CpuClearFast
- add r0, r4, #0x0
- ldrh r2, [r4, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- pop {r4, pc}
-
- thumb_func_start FUN_020669BC
-FUN_020669BC: ; 0x020669BC
- mov r0, #0xec
- bx lr
-
- thumb_func_start FUN_020669C0
-FUN_020669C0: ; 0x020669C0
- push {r4, lr}
- mov r1, #0xec
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_02066978
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020669D4
-FUN_020669D4: ; 0x020669D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- mov r4, #0x0
- lsl r1, r0, #0x1f
- lsr r1, r1, #0x1f
- bne _02066A1A
- lsl r0, r0, #0x1e
- mov r4, #0x1
- lsr r0, r0, #0x1f
- beq _020669EE
- bl ErrorHandling
-_020669EE:
- ldrh r1, [r5, #0x4]
- mov r0, #0x1
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strh r0, [r5, #0x4]
- ldrh r1, [r5, #0x4]
- mov r0, #0x2
- orr r0, r1
- strh r0, [r5, #0x4]
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
-_02066A1A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02066A20
-FUN_02066A20: ; 0x02066A20
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrh r2, [r5, #0x4]
- mov r4, #0x0
- lsl r0, r2, #0x1f
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _02066A68
- cmp r1, #0x1
- bne _02066A68
- mov r0, #0x1
- bic r2, r0
- strh r2, [r5, #0x4]
- ldrh r1, [r5, #0x4]
- mov r0, #0x2
- mov r4, #0x1
- bic r1, r0
- strh r1, [r5, #0x4]
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_02066A68:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02066A6C
-FUN_02066A6C: ; 0x02066A6C
- push {r4, lr}
- add r2, r0, #0x0
- ldrh r1, [r2, #0x4]
- mov r4, #0x0
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1f
- bne _02066A8E
- mov r0, #0x2
- orr r0, r1
- strh r0, [r2, #0x4]
- add r0, r2, #0x0
- ldrh r2, [r2, #0x6]
- add r0, #0x8
- mov r1, #0x80
- mov r4, #0x1
- bl FUN_0206A3D0
-_02066A8E:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02066A94
-FUN_02066A94: ; 0x02066A94
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrh r2, [r5, #0x4]
- mov r4, #0x0
- lsl r0, r2, #0x1e
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _02066AC8
- cmp r1, #0x1
- bne _02066AC8
- mov r0, #0x2
- bic r2, r0
- add r0, r5, #0x0
- strh r2, [r5, #0x4]
- add r0, #0x8
- mov r1, #0x80
- mov r4, #0x1
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_02066AC8:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02066ACC
-FUN_02066ACC: ; 0x02066ACC
- push {r0-r3}
- push {r3-r6, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r3, #0x0
- bl FUN_02066978
- ldr r0, [sp, #0x50]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x54]
- add r3, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x58]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x5c]
- str r0, [sp, #0xc]
- ldr r2, [sp, #0x48]
- add r0, r5, #0x0
- bl FUN_02066B64
- add r0, r5, #0x0
- add r0, #0x88
- mov r1, #0x64
- mov r2, #0x0
- bl FUN_0206A3A4
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- add r0, r5, #0x0
- mov r1, #0xa0
- add r2, sp, #0x48
- bl FUN_02067830
- mov r0, #0x0
- bl FUN_020256BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa9
- add r2, r4, #0x0
- bl FUN_02067830
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- mov r1, #0xa1
- add r2, sp, #0x10
- bl FUN_02067830
- mov r0, #0x0
- add r1, sp, #0x14
- mov r2, #0x18
- bl MIi_CpuClearFast
- add r0, r5, #0x0
- mov r1, #0xaa
- add r2, sp, #0x14
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- add sp, #0x2c
- pop {r3-r6}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_02066B64
-FUN_02066B64: ; 0x02066B64
- push {r0-r3}
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_020669A0
- add r0, r5, #0x0
- bl FUN_02066A6C
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _02066B8E
- bl rand_LC
- add r4, r0, #0x0
- bl rand_LC
- lsl r0, r0, #0x10
- orr r0, r4
- str r0, [sp, #0x34]
-_02066B8E:
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, sp, #0x34
- bl FUN_02067960
- ldr r0, [sp, #0x38]
- cmp r0, #0x2
- bne _02066BD6
- ldr r7, _02066D84 ; =0xFFFF0000
- add r6, r7, #0x0
-_02066BA2:
- bl rand_LC
- add r4, r0, #0x0
- bl rand_LC
- ldr r1, [sp, #0x34]
- lsl r0, r0, #0x10
- add r3, r4, #0x0
- orr r3, r0
- lsl r0, r1, #0x10
- lsr r2, r0, #0x10
- add r0, r1, #0x0
- and r0, r7
- lsr r1, r0, #0x10
- add r0, r3, #0x0
- str r3, [sp, #0x3c]
- and r0, r6
- lsl r3, r3, #0x10
- lsr r0, r0, #0x10
- lsr r3, r3, #0x10
- eor r0, r3
- eor r0, r1
- eor r0, r2
- cmp r0, #0x8
- blo _02066BA2
- b _02066BDE
-_02066BD6:
- cmp r0, #0x1
- beq _02066BDE
- mov r0, #0x0
- str r0, [sp, #0x3c]
-_02066BDE:
- add r0, r5, #0x0
- mov r1, #0x7
- add r2, sp, #0x3c
- bl FUN_02067960
- ldr r2, _02066D88 ; =0x020ECAC4
- add r0, r5, #0x0
- mov r1, #0xc
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x5
- add r2, sp, #0x24
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0xb2
- mov r2, #0x0
- bl FUN_02067960
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x28]
- bl FUN_02068758
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x8
- add r2, sp, #0x8
- bl FUN_02067960
- ldr r0, [sp, #0x24]
- mov r1, #0x14
- bl FUN_02068678
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x8
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x9b
- add r2, sp, #0x28
- bl FUN_02067960
- ldr r2, _02066D8C ; =0x020ECAC0
- add r0, r5, #0x0
- mov r1, #0x79
- bl FUN_02067960
- mov r0, #0x4
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x9a
- add r2, sp, #0x8
- bl FUN_02067960
- ldr r0, [sp, #0x2c]
- cmp r0, #0x20
- bge _02066C94
- add r0, r5, #0x0
- mov r1, #0x46
- add r2, sp, #0x2c
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x47
- add r2, sp, #0x2c
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x48
- add r2, sp, #0x2c
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x49
- add r2, sp, #0x2c
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x4a
- add r2, sp, #0x2c
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x4b
- add r2, sp, #0x2c
- bl FUN_02067960
- b _02066D18
-_02066C94:
- bl rand_LC
- mov r1, #0x1f
- str r0, [sp, #0x8]
- and r0, r1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x46
- add r2, sp, #0x4
- bl FUN_02067960
- mov r0, #0x3e
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0x4
- and r0, r1
- lsr r0, r0, #0x5
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x47
- add r2, sp, #0x4
- bl FUN_02067960
- mov r0, #0x1f
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0xa
- and r0, r1
- lsr r0, r0, #0xa
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x48
- add r2, sp, #0x4
- bl FUN_02067960
- bl rand_LC
- mov r1, #0x1f
- str r0, [sp, #0x8]
- and r0, r1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x49
- add r2, sp, #0x4
- bl FUN_02067960
- mov r0, #0x3e
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0x4
- and r0, r1
- lsr r0, r0, #0x5
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x4a
- add r2, sp, #0x4
- bl FUN_02067960
- mov r0, #0x1f
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0xa
- and r0, r1
- lsr r0, r0, #0xa
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x4b
- add r2, sp, #0x4
- bl FUN_02067960
-_02066D18:
- ldr r0, [sp, #0x24]
- mov r1, #0x18
- bl FUN_02068678
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x24]
- mov r1, #0x19
- bl FUN_02068678
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02066D50
- ldr r1, [sp, #0x34]
- mov r0, #0x1
- tst r0, r1
- beq _02066D44
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x4
- bl FUN_02067960
- b _02066D5A
-_02066D44:
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x8
- bl FUN_02067960
- b _02066D5A
-_02066D50:
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x8
- bl FUN_02067960
-_02066D5A:
- add r0, r5, #0x0
- bl FUN_020689E8
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x6f
- add r2, sp, #0x8
- bl FUN_02067960
- add r0, r5, #0x0
- bl FUN_020695F4
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02066A94
- add sp, #0xc
- pop {r4-r7}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-_02066D84: .word 0xFFFF0000
-_02066D88: .word 0x020ECAC4
-_02066D8C: .word 0x020ECAC0
-
- thumb_func_start FUN_02066D90
-FUN_02066D90: ; 0x02066D90
- push {r3-r7, lr}
- sub sp, #0x18
- str r2, [sp, #0x10]
- str r3, [sp, #0x14]
- ldr r4, [sp, #0x30]
- add r6, r0, #0x0
- add r7, r1, #0x0
-_02066D9E:
- bl rand_LC
- add r5, r0, #0x0
- bl rand_LC
- lsl r0, r0, #0x10
- orr r5, r0
- add r0, r5, #0x0
- bl FUN_02068884
- cmp r4, r0
- bne _02066D9E
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02066ACC
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02066DD4
-FUN_02066DD4: ; 0x02066DD4
- push {r4-r7, lr}
- sub sp, #0x24
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- str r3, [sp, #0x1c]
- str r0, [sp, #0x10]
- add r0, sp, #0x28
- ldrb r0, [r0, #0x18]
- ldr r6, [sp, #0x38]
- ldr r7, [sp, #0x3c]
- cmp r0, #0x0
- beq _02066E4C
- cmp r0, #0x1d
- bhs _02066E4C
- sub r0, r0, #0x1
- str r0, [sp, #0x20]
-_02066DF4:
- bl rand_LC
- add r4, r0, #0x0
- bl rand_LC
- lsl r0, r0, #0x10
- orr r4, r0
- mov r3, #0x3
- lsl r3, r3, #0x10
- and r3, r4
- mov r0, #0x3
- add r2, r4, #0x0
- and r2, r0
- lsl r0, r0, #0x8
- and r0, r4
- lsr r1, r0, #0x6
- mov r0, #0x3
- lsl r0, r0, #0x18
- and r0, r4
- lsr r0, r0, #0x12
- lsr r3, r3, #0xc
- orr r0, r3
- orr r0, r1
- orr r0, r2
- mov r1, #0x1c
- bl _u32_div_f
- lsl r0, r1, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x0
- bl FUN_02068884
- cmp r7, r0
- bne _02066DF4
- ldr r0, [sp, #0x14]
- add r1, r4, #0x0
- bl FUN_02068A20
- cmp r6, r0
- bne _02066DF4
- ldr r0, [sp, #0x20]
- cmp r5, r0
- bne _02066DF4
- b _02066E58
-_02066E4C:
- ldr r0, [sp, #0x14]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02066E74
- add r4, r0, #0x0
-_02066E58:
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- bl FUN_02066ACC
- add sp, #0x24
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02066E74
-FUN_02066E74: ; 0x02066E74
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x12
- add r4, r2, #0x0
- bl FUN_02068678
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- beq _02066EA0
- cmp r0, #0xfe
- beq _02066EA0
- cmp r0, #0xff
- beq _02066EA0
- cmp r5, #0x0
- bne _02066EA0
- mov r1, #0x19
- bl _s32_div_f
- add r1, r0, #0x1
- mov r0, #0x19
- mul r0, r1
- add r4, r0, r4
-_02066EA0:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02066EA4
-FUN_02066EA4: ; 0x02066EA4
- push {r0-r3}
- push {r4, lr}
- sub sp, #0x10
- mov r3, #0x1
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x28]
- add r4, r0, #0x0
- str r3, [sp, #0x4]
- mov r3, #0x0
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- bl FUN_02066ACC
- add r0, r4, #0x0
- mov r1, #0xae
- add r2, sp, #0x24
- bl FUN_02067830
- add r0, r4, #0x0
- bl FUN_02066ED8
- add sp, #0x10
- pop {r4}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_02066ED8
-FUN_02066ED8: ; 0x02066ED8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020669D4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020687C0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0xa0
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066F04
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02066A20
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02066F04
-FUN_02066F04: ; 0x02066F04
- push {r3-r7, lr}
- sub sp, #0x58
- add r5, r0, #0x0
- bl FUN_020669D4
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x2c]
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x54]
- add r0, r5, #0x0
- mov r1, #0x46
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x30]
- add r0, r5, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x34]
- add r0, r5, #0x0
- mov r1, #0x47
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- mov r1, #0x48
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x24]
- add r0, r5, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- mov r1, #0x49
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x20]
- add r0, r5, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- mov r1, #0x4a
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x1c]
- add r0, r5, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x4b
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x38]
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- mov r0, #0x0
- mov r1, #0x2c
- bl FUN_02016998
- add r6, r0, #0x0
- ldr r1, [sp, #0x38]
- add r0, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0206A380
- mov r0, #0x49
- lsl r0, r0, #0x2
- cmp r7, r0
- bne _02066FFC
- mov r0, #0x1
- b _0206701E
-_02066FFC:
- ldr r0, [sp, #0x34]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x34]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x0]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x30]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r4, r0
- add r0, #0xa
-_0206701E:
- str r0, [sp, #0x50]
- add r0, r5, #0x0
- mov r1, #0xa3
- add r2, sp, #0x50
- bl FUN_02067830
- ldr r0, [sp, #0x14]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x14]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x1]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x28]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r0, #0x5
- str r0, [sp, #0x4c]
- add r0, r5, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x4c]
- mov r2, #0x1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02068894
- str r0, [sp, #0x4c]
- add r0, r5, #0x0
- mov r1, #0xa4
- add r2, sp, #0x4c
- bl FUN_02067830
- ldr r0, [sp, #0x10]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x2]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x24]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r0, #0x5
- str r0, [sp, #0x48]
- add r0, r5, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x48]
- mov r2, #0x2
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02068894
- str r0, [sp, #0x48]
- add r0, r5, #0x0
- mov r1, #0xa5
- add r2, sp, #0x48
- bl FUN_02067830
- ldr r0, [sp, #0xc]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x3]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x20]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r0, #0x5
- str r0, [sp, #0x44]
- add r0, r5, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x44]
- mov r2, #0x3
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02068894
- str r0, [sp, #0x44]
- add r0, r5, #0x0
- mov r1, #0xa6
- add r2, sp, #0x44
- bl FUN_02067830
- ldr r0, [sp, #0x8]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x8]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x4]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x1c]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r0, #0x5
- str r0, [sp, #0x40]
- add r0, r5, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x40]
- mov r2, #0x4
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02068894
- str r0, [sp, #0x40]
- add r0, r5, #0x0
- mov r1, #0xa7
- add r2, sp, #0x40
- bl FUN_02067830
- ldr r0, [sp, #0x4]
- asr r0, r0, #0x1
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x4]
- add r1, r0, r1
- asr r0, r1, #0x2
- ldrb r1, [r6, #0x5]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x18]
- add r1, r1, r2
- add r0, r0, r1
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- add r0, r0, #0x5
- str r0, [sp, #0x3c]
- add r0, r5, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x3c]
- mov r2, #0x5
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02068894
- str r0, [sp, #0x3c]
- add r0, r5, #0x0
- mov r1, #0xa8
- add r2, sp, #0x3c
- bl FUN_02067830
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r1, [sp, #0x54]
- cmp r1, #0x0
- bne _0206717C
- ldr r0, [sp, #0x2c]
- cmp r0, #0x0
- bne _020671A0
-_0206717C:
- mov r0, #0x49
- lsl r0, r0, #0x2
- cmp r7, r0
- bne _0206718A
- mov r0, #0x1
- str r0, [sp, #0x54]
- b _020671A0
-_0206718A:
- cmp r1, #0x0
- bne _02067194
- ldr r0, [sp, #0x50]
- str r0, [sp, #0x54]
- b _020671A0
-_02067194:
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x54]
- sub r0, r1, r0
- add r0, r2, r0
- str r0, [sp, #0x54]
-_020671A0:
- ldr r0, [sp, #0x54]
- cmp r0, #0x0
- beq _020671B0
- add r0, r5, #0x0
- mov r1, #0xa2
- add r2, sp, #0x54
- bl FUN_02067830
-_020671B0:
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02066A20
- add sp, #0x58
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020671BC
-FUN_020671BC: ; 0x020671BC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _02067204
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- ldrh r1, [r5, #0x6]
- cmp r0, r1
- beq _02067204
- cmp r0, r1
- beq _020671FC
- bl ErrorHandling
-_020671FC:
- ldrh r1, [r5, #0x4]
- mov r0, #0x4
- orr r0, r1
- strh r0, [r5, #0x4]
-_02067204:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02067234
- add r4, r0, #0x0
- ldrh r0, [r5, #0x4]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _02067230
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_02067230:
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02067234
-FUN_02067234: ; 0x02067234
- push {r3, lr}
- add r3, r1, #0x0
- sub r3, #0x9f
- cmp r3, #0xb
- bhi _020672B6
- add r3, r3, r3
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0206724A: ; jump table (using 16-bit offset)
- .short _02067262 - _0206724A - 2; case 0
- .short _02067268 - _0206724A - 2; case 1
- .short _0206726E - _0206724A - 2; case 2
- .short _02067274 - _0206724A - 2; case 3
- .short _0206727A - _0206724A - 2; case 4
- .short _02067280 - _0206724A - 2; case 5
- .short _02067286 - _0206724A - 2; case 6
- .short _0206728C - _0206724A - 2; case 7
- .short _02067292 - _0206724A - 2; case 8
- .short _02067298 - _0206724A - 2; case 9
- .short _0206729E - _0206724A - 2; case 10
- .short _020672AA - _0206724A - 2; case 11
-_02067262:
- add r0, #0x88
- ldr r0, [r0, #0x0]
- pop {r3, pc}
-_02067268:
- add r0, #0x8c
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_0206726E:
- add r0, #0x8d
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_02067274:
- add r0, #0x8e
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_0206727A:
- add r0, #0x90
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02067280:
- add r0, #0x92
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02067286:
- add r0, #0x94
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_0206728C:
- add r0, #0x96
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02067292:
- add r0, #0x98
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02067298:
- add r0, #0x9a
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_0206729E:
- add r0, #0x9c
- add r1, r2, #0x0
- bl FUN_020256D0
- mov r0, #0x1
- pop {r3, pc}
-_020672AA:
- add r0, #0xd4
- add r1, r2, #0x0
- bl FUN_02029C74
- mov r0, #0x1
- pop {r3, pc}
-_020672B6:
- bl FUN_0206731C
- pop {r3, pc}
-
- thumb_func_start FUN_020672BC
-FUN_020672BC: ; 0x020672BC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bne _020672F8
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- ldrh r1, [r5, #0x6]
- cmp r0, r1
- beq _020672F8
- cmp r0, r1
- beq _020672F0
- bl ErrorHandling
-_020672F0:
- ldrh r1, [r5, #0x4]
- mov r0, #0x4
- orr r0, r1
- strh r0, [r5, #0x4]
-_020672F8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0206731C
- add r4, r0, #0x0
- ldrh r0, [r5, #0x4]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bne _02067318
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_02067318:
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206731C
-FUN_0206731C: ; 0x0206731C
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x4]
- add r1, r0, #0x0
- mov r4, #0x0
- str r2, [sp, #0x8]
- ldr r1, [r1, #0x0]
- str r0, [sp, #0x0]
- add r2, r4, #0x0
- bl FUN_0206A418
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x1
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x2
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x3
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r0, #0xb2
- bls _02067366
- b _020674D8
-_02067366:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02067372: ; jump table (using 16-bit offset)
- .short _020674DC - _02067372 - 2; case 0
- .short _020674E2 - _02067372 - 2; case 1
- .short _020674EC - _02067372 - 2; case 2
- .short _020674F6 - _02067372 - 2; case 3
- .short _02067500 - _02067372 - 2; case 4
- .short _0206754C - _02067372 - 2; case 5
- .short _0206755E - _02067372 - 2; case 6
- .short _02067562 - _02067372 - 2; case 7
- .short _02067566 - _02067372 - 2; case 8
- .short _0206756A - _02067372 - 2; case 9
- .short _0206756E - _02067372 - 2; case 10
- .short _02067572 - _02067372 - 2; case 11
- .short _02067576 - _02067372 - 2; case 12
- .short _0206757A - _02067372 - 2; case 13
- .short _0206757E - _02067372 - 2; case 14
- .short _02067582 - _02067372 - 2; case 15
- .short _02067586 - _02067372 - 2; case 16
- .short _0206758A - _02067372 - 2; case 17
- .short _0206758E - _02067372 - 2; case 18
- .short _02067592 - _02067372 - 2; case 19
- .short _02067596 - _02067372 - 2; case 20
- .short _0206759A - _02067372 - 2; case 21
- .short _0206759E - _02067372 - 2; case 22
- .short _020675A2 - _02067372 - 2; case 23
- .short _020675A6 - _02067372 - 2; case 24
- .short _020675AA - _02067372 - 2; case 25
- .short _020675AA - _02067372 - 2; case 26
- .short _020675AA - _02067372 - 2; case 27
- .short _020675AA - _02067372 - 2; case 28
- .short _020675AA - _02067372 - 2; case 29
- .short _020675AA - _02067372 - 2; case 30
- .short _020675AA - _02067372 - 2; case 31
- .short _020675AA - _02067372 - 2; case 32
- .short _020675AA - _02067372 - 2; case 33
- .short _020675AA - _02067372 - 2; case 34
- .short _020675AA - _02067372 - 2; case 35
- .short _020675AA - _02067372 - 2; case 36
- .short _020675AA - _02067372 - 2; case 37
- .short _020675AA - _02067372 - 2; case 38
- .short _020675AA - _02067372 - 2; case 39
- .short _020675AA - _02067372 - 2; case 40
- .short _020675AA - _02067372 - 2; case 41
- .short _020675AA - _02067372 - 2; case 42
- .short _020675AA - _02067372 - 2; case 43
- .short _020675AA - _02067372 - 2; case 44
- .short _020675AA - _02067372 - 2; case 45
- .short _020675AA - _02067372 - 2; case 46
- .short _020675AA - _02067372 - 2; case 47
- .short _020675AA - _02067372 - 2; case 48
- .short _020675AA - _02067372 - 2; case 49
- .short _020675AA - _02067372 - 2; case 50
- .short _020675AA - _02067372 - 2; case 51
- .short _020675AA - _02067372 - 2; case 52
- .short _020675AA - _02067372 - 2; case 53
- .short _020675D0 - _02067372 - 2; case 54
- .short _020675D0 - _02067372 - 2; case 55
- .short _020675D0 - _02067372 - 2; case 56
- .short _020675D0 - _02067372 - 2; case 57
- .short _020675DC - _02067372 - 2; case 58
- .short _020675DC - _02067372 - 2; case 59
- .short _020675DC - _02067372 - 2; case 60
- .short _020675DC - _02067372 - 2; case 61
- .short _020675E8 - _02067372 - 2; case 62
- .short _020675E8 - _02067372 - 2; case 63
- .short _020675E8 - _02067372 - 2; case 64
- .short _020675E8 - _02067372 - 2; case 65
- .short _020675F4 - _02067372 - 2; case 66
- .short _020675F4 - _02067372 - 2; case 67
- .short _020675F4 - _02067372 - 2; case 68
- .short _020675F4 - _02067372 - 2; case 69
- .short _0206760C - _02067372 - 2; case 70
- .short _02067614 - _02067372 - 2; case 71
- .short _0206761C - _02067372 - 2; case 72
- .short _02067624 - _02067372 - 2; case 73
- .short _0206762C - _02067372 - 2; case 74
- .short _02067634 - _02067372 - 2; case 75
- .short _0206763C - _02067372 - 2; case 76
- .short _0206764E - _02067372 - 2; case 77
- .short _02067654 - _02067372 - 2; case 78
- .short _02067654 - _02067372 - 2; case 79
- .short _02067654 - _02067372 - 2; case 80
- .short _02067654 - _02067372 - 2; case 81
- .short _02067654 - _02067372 - 2; case 82
- .short _02067654 - _02067372 - 2; case 83
- .short _02067654 - _02067372 - 2; case 84
- .short _02067654 - _02067372 - 2; case 85
- .short _02067654 - _02067372 - 2; case 86
- .short _02067654 - _02067372 - 2; case 87
- .short _02067654 - _02067372 - 2; case 88
- .short _02067654 - _02067372 - 2; case 89
- .short _02067654 - _02067372 - 2; case 90
- .short _02067654 - _02067372 - 2; case 91
- .short _02067654 - _02067372 - 2; case 92
- .short _02067654 - _02067372 - 2; case 93
- .short _02067654 - _02067372 - 2; case 94
- .short _02067654 - _02067372 - 2; case 95
- .short _02067654 - _02067372 - 2; case 96
- .short _02067654 - _02067372 - 2; case 97
- .short _02067654 - _02067372 - 2; case 98
- .short _02067654 - _02067372 - 2; case 99
- .short _02067654 - _02067372 - 2; case 100
- .short _02067654 - _02067372 - 2; case 101
- .short _02067654 - _02067372 - 2; case 102
- .short _02067654 - _02067372 - 2; case 103
- .short _02067654 - _02067372 - 2; case 104
- .short _02067654 - _02067372 - 2; case 105
- .short _02067654 - _02067372 - 2; case 106
- .short _02067654 - _02067372 - 2; case 107
- .short _02067654 - _02067372 - 2; case 108
- .short _02067654 - _02067372 - 2; case 109
- .short _0206767C - _02067372 - 2; case 110
- .short _02067684 - _02067372 - 2; case 111
- .short _0206768C - _02067372 - 2; case 112
- .short _02067694 - _02067372 - 2; case 113
- .short _02067698 - _02067372 - 2; case 114
- .short _020674D8 - _02067372 - 2; case 115
- .short _0206769C - _02067372 - 2; case 116
- .short _020674D8 - _02067372 - 2; case 117
- .short _020676D0 - _02067372 - 2; case 118
- .short _020676CC - _02067372 - 2; case 119
- .short _020676FE - _02067372 - 2; case 120
- .short _02067702 - _02067372 - 2; case 121
- .short _02067706 - _02067372 - 2; case 122
- .short _02067706 - _02067372 - 2; case 123
- .short _02067706 - _02067372 - 2; case 124
- .short _02067706 - _02067372 - 2; case 125
- .short _02067706 - _02067372 - 2; case 126
- .short _02067706 - _02067372 - 2; case 127
- .short _02067706 - _02067372 - 2; case 128
- .short _02067706 - _02067372 - 2; case 129
- .short _02067706 - _02067372 - 2; case 130
- .short _02067706 - _02067372 - 2; case 131
- .short _02067706 - _02067372 - 2; case 132
- .short _02067706 - _02067372 - 2; case 133
- .short _02067706 - _02067372 - 2; case 134
- .short _02067706 - _02067372 - 2; case 135
- .short _02067706 - _02067372 - 2; case 136
- .short _02067706 - _02067372 - 2; case 137
- .short _02067706 - _02067372 - 2; case 138
- .short _02067706 - _02067372 - 2; case 139
- .short _02067706 - _02067372 - 2; case 140
- .short _02067706 - _02067372 - 2; case 141
- .short _02067706 - _02067372 - 2; case 142
- .short _0206772C - _02067372 - 2; case 143
- .short _02067746 - _02067372 - 2; case 144
- .short _0206774E - _02067372 - 2; case 145
- .short _02067752 - _02067372 - 2; case 146
- .short _02067756 - _02067372 - 2; case 147
- .short _0206775A - _02067372 - 2; case 148
- .short _0206775E - _02067372 - 2; case 149
- .short _02067762 - _02067372 - 2; case 150
- .short _02067766 - _02067372 - 2; case 151
- .short _0206776A - _02067372 - 2; case 152
- .short _0206776E - _02067372 - 2; case 153
- .short _02067772 - _02067372 - 2; case 154
- .short _02067776 - _02067372 - 2; case 155
- .short _0206777E - _02067372 - 2; case 156
- .short _02067786 - _02067372 - 2; case 157
- .short _0206778A - _02067372 - 2; case 158
- .short _020674D8 - _02067372 - 2; case 159
- .short _02067540 - _02067372 - 2; case 160
- .short _020674D8 - _02067372 - 2; case 161
- .short _020674D8 - _02067372 - 2; case 162
- .short _020674D8 - _02067372 - 2; case 163
- .short _020674D8 - _02067372 - 2; case 164
- .short _020674D8 - _02067372 - 2; case 165
- .short _020674D8 - _02067372 - 2; case 166
- .short _020674D8 - _02067372 - 2; case 167
- .short _020674D8 - _02067372 - 2; case 168
- .short _020674D8 - _02067372 - 2; case 169
- .short _020674D8 - _02067372 - 2; case 170
- .short _02067506 - _02067372 - 2; case 171
- .short _02067510 - _02067372 - 2; case 172
- .short _02067522 - _02067372 - 2; case 173
- .short _0206778E - _02067372 - 2; case 174
- .short _020677C0 - _02067372 - 2; case 175
- .short _020677D8 - _02067372 - 2; case 176
- .short _020677D8 - _02067372 - 2; case 177
- .short _02067810 - _02067372 - 2; case 178
-_020674D8:
- mov r4, #0x0
- b _0206781A
-_020674DC:
- ldr r0, [sp, #0x0]
- ldr r4, [r0, #0x0]
- b _0206781A
-_020674E2:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1f
- lsr r4, r0, #0x1f
- b _0206781A
-_020674EC:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1e
- lsr r4, r0, #0x1f
- b _0206781A
-_020674F6:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r4, r0, #0x1f
- b _0206781A
-_02067500:
- ldr r0, [sp, #0x0]
- ldrh r4, [r0, #0x6]
- b _0206781A
-_02067506:
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0206753A
- mov r4, #0x1
- b _0206781A
-_02067510:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r4, r0, #0x1f
- bne _0206753A
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x1
- lsr r4, r0, #0x1f
- b _0206781A
-_02067522:
- ldrh r4, [r5, #0x0]
- cmp r4, #0x0
- beq _0206753A
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x1
- lsr r0, r0, #0x1f
- bne _0206753C
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bne _0206753C
-_0206753A:
- b _0206781A
-_0206753C:
- ldr r4, _02067820 ; =0x000001EE
- b _0206781A
-_02067540:
- ldrh r0, [r5, #0x0]
- ldr r1, [r5, #0x8]
- bl FUN_02068800
- add r4, r0, #0x0
- b _0206781A
-_0206754C:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- beq _0206755A
- ldr r4, _02067820 ; =0x000001EE
- b _0206781A
-_0206755A:
- ldrh r4, [r5, #0x0]
- b _0206781A
-_0206755E:
- ldrh r4, [r5, #0x2]
- b _0206781A
-_02067562:
- ldr r4, [r5, #0x4]
- b _0206781A
-_02067566:
- ldr r4, [r5, #0x8]
- b _0206781A
-_0206756A:
- ldrb r4, [r5, #0xc]
- b _0206781A
-_0206756E:
- ldrb r4, [r5, #0xd]
- b _0206781A
-_02067572:
- ldrb r4, [r5, #0xe]
- b _0206781A
-_02067576:
- ldrb r4, [r5, #0xf]
- b _0206781A
-_0206757A:
- ldrb r4, [r5, #0x10]
- b _0206781A
-_0206757E:
- ldrb r4, [r5, #0x11]
- b _0206781A
-_02067582:
- ldrb r4, [r5, #0x12]
- b _0206781A
-_02067586:
- ldrb r4, [r5, #0x13]
- b _0206781A
-_0206758A:
- ldrb r4, [r5, #0x14]
- b _0206781A
-_0206758E:
- ldrb r4, [r5, #0x15]
- b _0206781A
-_02067592:
- ldrb r4, [r5, #0x16]
- b _0206781A
-_02067596:
- ldrb r4, [r5, #0x17]
- b _0206781A
-_0206759A:
- ldrb r4, [r5, #0x18]
- b _0206781A
-_0206759E:
- ldrb r4, [r5, #0x19]
- b _0206781A
-_020675A2:
- ldrb r4, [r5, #0x1a]
- b _0206781A
-_020675A6:
- ldrb r4, [r5, #0x1b]
- b _0206781A
-_020675AA:
- ldr r2, [sp, #0x4]
- mov r0, #0x1
- sub r2, #0x19
- add r1, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- ldr r2, [r5, #0x1c]
- add r3, r4, #0x0
- and r3, r1
- and r2, r0
- mov r1, #0x0
- mov r0, #0x0
- eor r1, r3
- eor r0, r2
- orr r0, r1
- beq _02067676
- mov r4, #0x1
- b _0206781A
-_020675D0:
- ldr r0, [sp, #0x4]
- sub r0, #0x36
- str r0, [sp, #0x4]
- lsl r0, r0, #0x1
- ldrh r4, [r6, r0]
- b _0206781A
-_020675DC:
- ldr r0, [sp, #0x4]
- sub r0, #0x3a
- str r0, [sp, #0x4]
- add r0, r6, r0
- ldrb r4, [r0, #0x8]
- b _0206781A
-_020675E8:
- ldr r0, [sp, #0x4]
- sub r0, #0x3e
- str r0, [sp, #0x4]
- add r0, r6, r0
- ldrb r4, [r0, #0xc]
- b _0206781A
-_020675F4:
- ldr r0, [sp, #0x4]
- sub r0, #0x42
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x1
- add r1, r6, r1
- ldrh r0, [r6, r0]
- ldrb r1, [r1, #0xc]
- bl FUN_0206AB30
- add r4, r0, #0x0
- b _0206781A
-_0206760C:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x1b
- lsr r4, r0, #0x1b
- b _0206781A
-_02067614:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x16
- lsr r4, r0, #0x1b
- b _0206781A
-_0206761C:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x11
- lsr r4, r0, #0x1b
- b _0206781A
-_02067624:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0xc
- lsr r4, r0, #0x1b
- b _0206781A
-_0206762C:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x7
- lsr r4, r0, #0x1b
- b _0206781A
-_02067634:
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x2
- lsr r4, r0, #0x1b
- b _0206781A
-_0206763C:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r4, r0, #0x1f
- bne _02067676
- ldr r0, [r6, #0x10]
- lsl r0, r0, #0x1
- lsr r4, r0, #0x1f
- b _0206781A
-_0206764E:
- ldr r0, [r6, #0x10]
- lsr r4, r0, #0x1f
- b _0206781A
-_02067654:
- ldr r2, [sp, #0x4]
- mov r0, #0x1
- sub r2, #0x4e
- add r1, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- ldr r2, [r6, #0x14]
- add r3, r4, #0x0
- and r3, r1
- and r2, r0
- mov r1, #0x0
- mov r0, #0x0
- eor r1, r3
- eor r0, r2
- orr r0, r1
- bne _02067678
-_02067676:
- b _0206781A
-_02067678:
- mov r4, #0x1
- b _0206781A
-_0206767C:
- ldrb r0, [r6, #0x18]
- lsl r0, r0, #0x1f
- lsr r4, r0, #0x1f
- b _0206781A
-_02067684:
- ldrb r0, [r6, #0x18]
- lsl r0, r0, #0x1d
- lsr r4, r0, #0x1e
- b _0206781A
-_0206768C:
- ldrb r0, [r6, #0x18]
- lsl r0, r0, #0x18
- lsr r4, r0, #0x1b
- b _0206781A
-_02067694:
- ldrb r4, [r6, #0x19]
- b _0206781A
-_02067698:
- ldrh r4, [r6, #0x1a]
- b _0206781A
-_0206769C:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- beq _020676B2
- ldr r0, _02067824 ; =0x000001EF
- ldr r2, [sp, #0x8]
- add r1, r4, #0x0
- bl FUN_0200A99C
- b _0206781A
-_020676B2:
- ldr r1, [sp, #0x8]
-_020676B4:
- ldrh r0, [r7, #0x0]
- add r4, r4, #0x1
- add r7, r7, #0x2
- strh r0, [r1, #0x0]
- add r1, r1, #0x2
- cmp r4, #0xa
- blo _020676B4
- ldr r2, _02067828 ; =0x0000FFFF
- ldr r0, [sp, #0x8]
- lsl r1, r4, #0x1
- strh r2, [r0, r1]
- b _0206781A
-_020676CC:
- ldr r0, [r6, #0x10]
- lsr r4, r0, #0x1f
-_020676D0:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- beq _020676F4
- ldr r0, _02067824 ; =0x000001EF
- mov r1, #0x0
- bl FUN_0200AA50
- add r5, r0, #0x0
- ldr r0, [sp, #0x8]
- add r1, r5, #0x0
- bl FUN_02021A74
- add r0, r5, #0x0
- bl FUN_02021A20
- b _0206781A
-_020676F4:
- ldr r0, [sp, #0x8]
- add r1, r7, #0x0
- bl FUN_02021E28
- b _0206781A
-_020676FE:
- ldrb r4, [r7, #0x16]
- b _0206781A
-_02067702:
- ldrb r4, [r7, #0x17]
- b _0206781A
-_02067706:
- ldr r2, [sp, #0x4]
- mov r0, #0x1
- sub r2, #0x7a
- add r1, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- ldr r3, [r7, #0x18]
- ldr r2, [r7, #0x1c]
- and r3, r0
- and r2, r1
- mov r1, #0x0
- mov r0, #0x0
- eor r1, r2
- eor r0, r3
- orr r0, r1
- beq _0206781A
- mov r4, #0x1
- b _0206781A
-_0206772C:
- ldr r2, [sp, #0x8]
-_0206772E:
- ldrh r0, [r1, #0x0]
- add r4, r4, #0x1
- add r1, r1, #0x2
- strh r0, [r2, #0x0]
- add r2, r2, #0x2
- cmp r4, #0x7
- blo _0206772E
- ldr r2, _02067828 ; =0x0000FFFF
- ldr r0, [sp, #0x8]
- lsl r1, r4, #0x1
- strh r2, [r0, r1]
- b _0206781A
-_02067746:
- ldr r0, [sp, #0x8]
- bl FUN_02021E28
- b _0206781A
-_0206774E:
- ldrb r4, [r1, #0x10]
- b _0206781A
-_02067752:
- ldrb r4, [r1, #0x11]
- b _0206781A
-_02067756:
- ldrb r4, [r1, #0x12]
- b _0206781A
-_0206775A:
- ldrb r4, [r1, #0x13]
- b _0206781A
-_0206775E:
- ldrb r4, [r1, #0x14]
- b _0206781A
-_02067762:
- ldrb r4, [r1, #0x15]
- b _0206781A
-_02067766:
- ldrh r4, [r1, #0x16]
- b _0206781A
-_0206776A:
- ldrh r4, [r1, #0x18]
- b _0206781A
-_0206776E:
- ldrb r4, [r1, #0x1a]
- b _0206781A
-_02067772:
- ldrb r4, [r1, #0x1b]
- b _0206781A
-_02067776:
- ldrb r0, [r1, #0x1c]
- lsl r0, r0, #0x19
- lsr r4, r0, #0x19
- b _0206781A
-_0206777E:
- ldrb r0, [r1, #0x1c]
- lsl r0, r0, #0x18
- lsr r4, r0, #0x1f
- b _0206781A
-_02067786:
- ldrb r4, [r1, #0x1d]
- b _0206781A
-_0206778A:
- ldrh r4, [r1, #0x1e]
- b _0206781A
-_0206778E:
- ldr r4, [r6, #0x10]
- lsl r0, r4, #0x2
- lsr r0, r0, #0x1b
- lsl r5, r0, #0x19
- lsl r0, r4, #0x7
- lsr r0, r0, #0x1b
- lsl r3, r0, #0x14
- lsl r0, r4, #0xc
- lsr r0, r0, #0x1b
- lsl r2, r0, #0xf
- lsl r0, r4, #0x11
- lsr r0, r0, #0x1b
- lsl r1, r0, #0xa
- lsl r0, r4, #0x1b
- lsl r4, r4, #0x16
- lsr r4, r4, #0x1b
- lsr r0, r0, #0x1b
- lsl r4, r4, #0x5
- orr r0, r4
- orr r0, r1
- orr r0, r2
- orr r0, r3
- add r4, r5, #0x0
- orr r4, r0
- b _0206781A
-_020677C0:
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1d
- beq _020677CA
- cmp r0, #0x20
- bne _020677D4
-_020677CA:
- ldr r0, [r6, #0x10]
- lsr r0, r0, #0x1f
- bne _020677D4
- mov r4, #0x0
- b _0206781A
-_020677D4:
- mov r4, #0x1
- b _0206781A
-_020677D8:
- ldrh r0, [r5, #0x0]
- ldr r1, _0206782C ; =0x000001ED
- cmp r0, r1
- bne _020677FC
- ldrb r1, [r5, #0xd]
- cmp r1, #0x79
- bne _020677FC
- ldrh r0, [r5, #0x2]
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0206E7B8
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069F24
- add r4, r0, #0x0
- b _0206781A
-_020677FC:
- ldrb r1, [r6, #0x18]
- ldr r2, [sp, #0x4]
- lsl r1, r1, #0x18
- sub r2, #0xaa
- lsr r1, r1, #0x1b
- str r2, [sp, #0x4]
- bl FUN_02068654
- add r4, r0, #0x0
- b _0206781A
-_02067810:
- ldrh r0, [r5, #0x0]
- ldr r2, [sp, #0x8]
- add r1, r4, #0x0
- bl FUN_0200A99C
-_0206781A:
- add r0, r4, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02067820: .word 0x000001EE
-_02067824: .word 0x000001EF
-_02067828: .word 0x0000FFFF
-_0206782C: .word 0x000001ED
-
- thumb_func_start FUN_02067830
-FUN_02067830: ; 0x02067830
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _02067886
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- ldrh r1, [r5, #0x6]
- cmp r0, r1
- beq _02067886
- cmp r0, r1
- beq _02067870
- bl ErrorHandling
-_02067870:
- ldrh r1, [r5, #0x4]
- mov r0, #0x4
- orr r0, r1
- strh r0, [r5, #0x4]
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- pop {r4-r6, pc}
-_02067886:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020678C0
- ldrh r0, [r5, #0x4]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _020678BC
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_020678BC:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020678C0
-FUN_020678C0: ; 0x020678C0
- push {r3, lr}
- add r3, r0, #0x0
- add r0, r1, #0x0
- sub r0, #0x9f
- cmp r0, #0xb
- bhi _02067958
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020678D8: ; jump table (using 16-bit offset)
- .short _020678F0 - _020678D8 - 2; case 0
- .short _020678F8 - _020678D8 - 2; case 1
- .short _02067900 - _020678D8 - 2; case 2
- .short _02067908 - _020678D8 - 2; case 3
- .short _02067910 - _020678D8 - 2; case 4
- .short _02067918 - _020678D8 - 2; case 5
- .short _02067920 - _020678D8 - 2; case 6
- .short _02067928 - _020678D8 - 2; case 7
- .short _02067930 - _020678D8 - 2; case 8
- .short _02067938 - _020678D8 - 2; case 9
- .short _02067940 - _020678D8 - 2; case 10
- .short _0206794C - _020678D8 - 2; case 11
-_020678F0:
- ldr r0, [r2, #0x0]
- add r3, #0x88
- str r0, [r3, #0x0]
- pop {r3, pc}
-_020678F8:
- ldrb r0, [r2, #0x0]
- add r3, #0x8c
- strb r0, [r3, #0x0]
- pop {r3, pc}
-_02067900:
- ldrb r0, [r2, #0x0]
- add r3, #0x8d
- strb r0, [r3, #0x0]
- pop {r3, pc}
-_02067908:
- ldrh r0, [r2, #0x0]
- add r3, #0x8e
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067910:
- ldrh r0, [r2, #0x0]
- add r3, #0x90
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067918:
- ldrh r0, [r2, #0x0]
- add r3, #0x92
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067920:
- ldrh r0, [r2, #0x0]
- add r3, #0x94
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067928:
- ldrh r0, [r2, #0x0]
- add r3, #0x96
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067930:
- ldrh r0, [r2, #0x0]
- add r3, #0x98
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067938:
- ldrh r0, [r2, #0x0]
- add r3, #0x9a
- strh r0, [r3, #0x0]
- pop {r3, pc}
-_02067940:
- add r3, #0x9c
- add r0, r2, #0x0
- add r1, r3, #0x0
- bl FUN_020256D0
- pop {r3, pc}
-_0206794C:
- add r3, #0xd4
- add r0, r2, #0x0
- add r1, r3, #0x0
- bl FUN_02029C74
- pop {r3, pc}
-_02067958:
- add r0, r3, #0x0
- bl FUN_020679D8
- pop {r3, pc}
-
- thumb_func_start FUN_02067960
-FUN_02067960: ; 0x02067960
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bne _020679AA
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- ldrh r1, [r5, #0x6]
- cmp r0, r1
- beq _020679AA
- cmp r0, r1
- beq _02067994
- bl ErrorHandling
-_02067994:
- ldrh r1, [r5, #0x4]
- mov r0, #0x4
- orr r0, r1
- strh r0, [r5, #0x4]
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- pop {r4-r6, pc}
-_020679AA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020679D8
- ldrh r0, [r5, #0x4]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bne _020679D4
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_020679D4:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020679D8
-FUN_020679D8: ; 0x020679D8
- push {r4-r7, lr}
- sub sp, #0x4c
- str r1, [sp, #0x4]
- add r1, r0, #0x0
- add r4, r2, #0x0
- ldr r1, [r1, #0x0]
- str r0, [sp, #0x0]
- mov r2, #0x0
- bl FUN_0206A418
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x1
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x2
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x3
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r0, #0xb2
- bls _02067A20
- b _02067FF6
-_02067A20:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02067A2C: ; jump table (using 16-bit offset)
- .short _02067B92 - _02067A2C - 2; case 0
- .short _02067B9C - _02067A2C - 2; case 1
- .short _02067BBA - _02067A2C - 2; case 2
- .short _02067BD6 - _02067A2C - 2; case 3
- .short _02067BEE - _02067A2C - 2; case 4
- .short _02067BF8 - _02067A2C - 2; case 5
- .short _02067C00 - _02067A2C - 2; case 6
- .short _02067C08 - _02067A2C - 2; case 7
- .short _02067C10 - _02067A2C - 2; case 8
- .short _02067C18 - _02067A2C - 2; case 9
- .short _02067C20 - _02067A2C - 2; case 10
- .short _02067C28 - _02067A2C - 2; case 11
- .short _02067C30 - _02067A2C - 2; case 12
- .short _02067C38 - _02067A2C - 2; case 13
- .short _02067C40 - _02067A2C - 2; case 14
- .short _02067C48 - _02067A2C - 2; case 15
- .short _02067C50 - _02067A2C - 2; case 16
- .short _02067C58 - _02067A2C - 2; case 17
- .short _02067C60 - _02067A2C - 2; case 18
- .short _02067C68 - _02067A2C - 2; case 19
- .short _02067C70 - _02067A2C - 2; case 20
- .short _02067C78 - _02067A2C - 2; case 21
- .short _02067C80 - _02067A2C - 2; case 22
- .short _02067C88 - _02067A2C - 2; case 23
- .short _02067C90 - _02067A2C - 2; case 24
- .short _02067C98 - _02067A2C - 2; case 25
- .short _02067C98 - _02067A2C - 2; case 26
- .short _02067C98 - _02067A2C - 2; case 27
- .short _02067C98 - _02067A2C - 2; case 28
- .short _02067C98 - _02067A2C - 2; case 29
- .short _02067C98 - _02067A2C - 2; case 30
- .short _02067C98 - _02067A2C - 2; case 31
- .short _02067C98 - _02067A2C - 2; case 32
- .short _02067C98 - _02067A2C - 2; case 33
- .short _02067C98 - _02067A2C - 2; case 34
- .short _02067C98 - _02067A2C - 2; case 35
- .short _02067C98 - _02067A2C - 2; case 36
- .short _02067C98 - _02067A2C - 2; case 37
- .short _02067C98 - _02067A2C - 2; case 38
- .short _02067C98 - _02067A2C - 2; case 39
- .short _02067C98 - _02067A2C - 2; case 40
- .short _02067C98 - _02067A2C - 2; case 41
- .short _02067C98 - _02067A2C - 2; case 42
- .short _02067C98 - _02067A2C - 2; case 43
- .short _02067C98 - _02067A2C - 2; case 44
- .short _02067C98 - _02067A2C - 2; case 45
- .short _02067C98 - _02067A2C - 2; case 46
- .short _02067C98 - _02067A2C - 2; case 47
- .short _02067C98 - _02067A2C - 2; case 48
- .short _02067C98 - _02067A2C - 2; case 49
- .short _02067C98 - _02067A2C - 2; case 50
- .short _02067C98 - _02067A2C - 2; case 51
- .short _02067C98 - _02067A2C - 2; case 52
- .short _02067C98 - _02067A2C - 2; case 53
- .short _02067CC6 - _02067A2C - 2; case 54
- .short _02067CC6 - _02067A2C - 2; case 55
- .short _02067CC6 - _02067A2C - 2; case 56
- .short _02067CC6 - _02067A2C - 2; case 57
- .short _02067CD6 - _02067A2C - 2; case 58
- .short _02067CD6 - _02067A2C - 2; case 59
- .short _02067CD6 - _02067A2C - 2; case 60
- .short _02067CD6 - _02067A2C - 2; case 61
- .short _02067CE6 - _02067A2C - 2; case 62
- .short _02067CE6 - _02067A2C - 2; case 63
- .short _02067CE6 - _02067A2C - 2; case 64
- .short _02067CE6 - _02067A2C - 2; case 65
- .short _02067FF6 - _02067A2C - 2; case 66
- .short _02067FF6 - _02067A2C - 2; case 67
- .short _02067FF6 - _02067A2C - 2; case 68
- .short _02067FF6 - _02067A2C - 2; case 69
- .short _02067CF6 - _02067A2C - 2; case 70
- .short _02067D0A - _02067A2C - 2; case 71
- .short _02067D1E - _02067A2C - 2; case 72
- .short _02067D32 - _02067A2C - 2; case 73
- .short _02067D46 - _02067A2C - 2; case 74
- .short _02067D5A - _02067A2C - 2; case 75
- .short _02067D6E - _02067A2C - 2; case 76
- .short _02067D82 - _02067A2C - 2; case 77
- .short _02067D94 - _02067A2C - 2; case 78
- .short _02067D94 - _02067A2C - 2; case 79
- .short _02067D94 - _02067A2C - 2; case 80
- .short _02067D94 - _02067A2C - 2; case 81
- .short _02067D94 - _02067A2C - 2; case 82
- .short _02067D94 - _02067A2C - 2; case 83
- .short _02067D94 - _02067A2C - 2; case 84
- .short _02067D94 - _02067A2C - 2; case 85
- .short _02067D94 - _02067A2C - 2; case 86
- .short _02067D94 - _02067A2C - 2; case 87
- .short _02067D94 - _02067A2C - 2; case 88
- .short _02067D94 - _02067A2C - 2; case 89
- .short _02067D94 - _02067A2C - 2; case 90
- .short _02067D94 - _02067A2C - 2; case 91
- .short _02067D94 - _02067A2C - 2; case 92
- .short _02067D94 - _02067A2C - 2; case 93
- .short _02067D94 - _02067A2C - 2; case 94
- .short _02067D94 - _02067A2C - 2; case 95
- .short _02067D94 - _02067A2C - 2; case 96
- .short _02067D94 - _02067A2C - 2; case 97
- .short _02067D94 - _02067A2C - 2; case 98
- .short _02067D94 - _02067A2C - 2; case 99
- .short _02067D94 - _02067A2C - 2; case 100
- .short _02067D94 - _02067A2C - 2; case 101
- .short _02067D94 - _02067A2C - 2; case 102
- .short _02067D94 - _02067A2C - 2; case 103
- .short _02067D94 - _02067A2C - 2; case 104
- .short _02067D94 - _02067A2C - 2; case 105
- .short _02067D94 - _02067A2C - 2; case 106
- .short _02067D94 - _02067A2C - 2; case 107
- .short _02067D94 - _02067A2C - 2; case 108
- .short _02067D94 - _02067A2C - 2; case 109
- .short _02067DC2 - _02067A2C - 2; case 110
- .short _02067DD6 - _02067A2C - 2; case 111
- .short _02067DEA - _02067A2C - 2; case 112
- .short _02067DFE - _02067A2C - 2; case 113
- .short _02067E06 - _02067A2C - 2; case 114
- .short _02067FF6 - _02067A2C - 2; case 115
- .short _02067E2C - _02067A2C - 2; case 116
- .short _02067E0E - _02067A2C - 2; case 117
- .short _02067E6C - _02067A2C - 2; case 118
- .short _02067E40 - _02067A2C - 2; case 119
- .short _02067E7A - _02067A2C - 2; case 120
- .short _02067E82 - _02067A2C - 2; case 121
- .short _02067E8A - _02067A2C - 2; case 122
- .short _02067E8A - _02067A2C - 2; case 123
- .short _02067E8A - _02067A2C - 2; case 124
- .short _02067E8A - _02067A2C - 2; case 125
- .short _02067E8A - _02067A2C - 2; case 126
- .short _02067E8A - _02067A2C - 2; case 127
- .short _02067E8A - _02067A2C - 2; case 128
- .short _02067E8A - _02067A2C - 2; case 129
- .short _02067E8A - _02067A2C - 2; case 130
- .short _02067E8A - _02067A2C - 2; case 131
- .short _02067E8A - _02067A2C - 2; case 132
- .short _02067E8A - _02067A2C - 2; case 133
- .short _02067E8A - _02067A2C - 2; case 134
- .short _02067E8A - _02067A2C - 2; case 135
- .short _02067E8A - _02067A2C - 2; case 136
- .short _02067E8A - _02067A2C - 2; case 137
- .short _02067E8A - _02067A2C - 2; case 138
- .short _02067E8A - _02067A2C - 2; case 139
- .short _02067E8A - _02067A2C - 2; case 140
- .short _02067E8A - _02067A2C - 2; case 141
- .short _02067E8A - _02067A2C - 2; case 142
- .short _02067ECE - _02067A2C - 2; case 143
- .short _02067EE2 - _02067A2C - 2; case 144
- .short _02067EEE - _02067A2C - 2; case 145
- .short _02067EF6 - _02067A2C - 2; case 146
- .short _02067EFE - _02067A2C - 2; case 147
- .short _02067F06 - _02067A2C - 2; case 148
- .short _02067F0E - _02067A2C - 2; case 149
- .short _02067F16 - _02067A2C - 2; case 150
- .short _02067F1E - _02067A2C - 2; case 151
- .short _02067F26 - _02067A2C - 2; case 152
- .short _02067F2E - _02067A2C - 2; case 153
- .short _02067F36 - _02067A2C - 2; case 154
- .short _02067F3E - _02067A2C - 2; case 155
- .short _02067F52 - _02067A2C - 2; case 156
- .short _02067F66 - _02067A2C - 2; case 157
- .short _02067F6E - _02067A2C - 2; case 158
- .short _02067FF6 - _02067A2C - 2; case 159
- .short _02067FF6 - _02067A2C - 2; case 160
- .short _02067FF6 - _02067A2C - 2; case 161
- .short _02067FF6 - _02067A2C - 2; case 162
- .short _02067FF6 - _02067A2C - 2; case 163
- .short _02067FF6 - _02067A2C - 2; case 164
- .short _02067FF6 - _02067A2C - 2; case 165
- .short _02067FF6 - _02067A2C - 2; case 166
- .short _02067FF6 - _02067A2C - 2; case 167
- .short _02067FF6 - _02067A2C - 2; case 168
- .short _02067FF6 - _02067A2C - 2; case 169
- .short _02067FF6 - _02067A2C - 2; case 170
- .short _02067FF6 - _02067A2C - 2; case 171
- .short _02067FF6 - _02067A2C - 2; case 172
- .short _02067FF6 - _02067A2C - 2; case 173
- .short _02067F76 - _02067A2C - 2; case 174
- .short _02067FF6 - _02067A2C - 2; case 175
- .short _02067FF6 - _02067A2C - 2; case 176
- .short _02067FF6 - _02067A2C - 2; case 177
- .short _02067FDE - _02067A2C - 2; case 178
-_02067B92:
- ldr r0, [sp, #0x0]
- ldr r1, [r4, #0x0]
- add sp, #0x4c
- str r1, [r0, #0x0]
- pop {r4-r7, pc}
-_02067B9C:
- bl ErrorHandling
- ldr r0, [sp, #0x0]
- ldrb r1, [r4, #0x0]
- ldrh r2, [r0, #0x4]
- mov r0, #0x1
- bic r2, r0
- mov r0, #0x1
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, [sp, #0x0]
- add sp, #0x4c
- strh r1, [r0, #0x4]
- pop {r4-r7, pc}
-_02067BBA:
- bl ErrorHandling
- ldr r0, [sp, #0x0]
- ldrh r1, [r0, #0x4]
- mov r0, #0x2
- bic r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1e
- orr r1, r0
- ldr r0, [sp, #0x0]
- add sp, #0x4c
- strh r1, [r0, #0x4]
- pop {r4-r7, pc}
-_02067BD6:
- ldr r0, [sp, #0x0]
- ldrh r1, [r0, #0x4]
- mov r0, #0x4
- bic r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1d
- orr r1, r0
- ldr r0, [sp, #0x0]
- add sp, #0x4c
- strh r1, [r0, #0x4]
- pop {r4-r7, pc}
-_02067BEE:
- ldrh r1, [r4, #0x0]
- ldr r0, [sp, #0x0]
- add sp, #0x4c
- strh r1, [r0, #0x6]
- pop {r4-r7, pc}
-_02067BF8:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r7, #0x0]
- pop {r4-r7, pc}
-_02067C00:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r7, #0x2]
- pop {r4-r7, pc}
-_02067C08:
- ldr r0, [r4, #0x0]
- add sp, #0x4c
- str r0, [r7, #0x4]
- pop {r4-r7, pc}
-_02067C10:
- ldr r0, [r4, #0x0]
- add sp, #0x4c
- str r0, [r7, #0x8]
- pop {r4-r7, pc}
-_02067C18:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0xc]
- pop {r4-r7, pc}
-_02067C20:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0xd]
- pop {r4-r7, pc}
-_02067C28:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0xe]
- pop {r4-r7, pc}
-_02067C30:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0xf]
- pop {r4-r7, pc}
-_02067C38:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x10]
- pop {r4-r7, pc}
-_02067C40:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x11]
- pop {r4-r7, pc}
-_02067C48:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x12]
- pop {r4-r7, pc}
-_02067C50:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x13]
- pop {r4-r7, pc}
-_02067C58:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x14]
- pop {r4-r7, pc}
-_02067C60:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x15]
- pop {r4-r7, pc}
-_02067C68:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x16]
- pop {r4-r7, pc}
-_02067C70:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x17]
- pop {r4-r7, pc}
-_02067C78:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x18]
- pop {r4-r7, pc}
-_02067C80:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x19]
- pop {r4-r7, pc}
-_02067C88:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x1a]
- pop {r4-r7, pc}
-_02067C90:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r7, #0x1b]
- pop {r4-r7, pc}
-_02067C98:
- ldrb r4, [r4, #0x0]
- ldr r2, [sp, #0x4]
- mov r1, #0x0
- sub r2, #0x19
- add r0, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- cmp r4, #0x0
- beq _02067CB6
- ldr r1, [r7, #0x1c]
- add sp, #0x4c
- orr r0, r1
- str r0, [r7, #0x1c]
- pop {r4-r7, pc}
-_02067CB6:
- mov r1, #0x0
- sub r1, r1, #0x1
- ldr r2, [r7, #0x1c]
- eor r0, r1
- and r0, r2
- add sp, #0x4c
- str r0, [r7, #0x1c]
- pop {r4-r7, pc}
-_02067CC6:
- ldr r0, [sp, #0x4]
- ldrh r1, [r4, #0x0]
- sub r0, #0x36
- str r0, [sp, #0x4]
- lsl r0, r0, #0x1
- add sp, #0x4c
- strh r1, [r5, r0]
- pop {r4-r7, pc}
-_02067CD6:
- ldr r0, [sp, #0x4]
- ldrb r1, [r4, #0x0]
- sub r0, #0x3a
- str r0, [sp, #0x4]
- add r0, r5, r0
- strb r1, [r0, #0x8]
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067CE6:
- ldr r0, [sp, #0x4]
- ldrb r1, [r4, #0x0]
- sub r0, #0x3e
- str r0, [sp, #0x4]
- add r0, r5, r0
- strb r1, [r0, #0xc]
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067CF6:
- ldr r2, [r5, #0x10]
- mov r0, #0x1f
- bic r2, r0
- ldrb r1, [r4, #0x0]
- mov r0, #0x1f
- add sp, #0x4c
- and r0, r1
- orr r0, r2
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D0A:
- ldr r1, [r5, #0x10]
- ldr r0, _02067FFC ; =0xFFFFFC1F
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x16
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D1E:
- ldr r1, [r5, #0x10]
- ldr r0, _02068000 ; =0xFFFF83FF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x11
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D32:
- ldr r1, [r5, #0x10]
- ldr r0, _02068004 ; =0xFFF07FFF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0xc
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D46:
- ldr r1, [r5, #0x10]
- ldr r0, _02068008 ; =0xFE0FFFFF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x7
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D5A:
- ldr r1, [r5, #0x10]
- ldr r0, _0206800C ; =0xC1FFFFFF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x2
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D6E:
- ldr r1, [r5, #0x10]
- ldr r0, _02068010 ; =0xBFFFFFFF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D82:
- ldr r1, [r5, #0x10]
- ldr r0, _02068014 ; =0x7FFFFFFF
- add sp, #0x4c
- and r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067D94:
- ldrb r4, [r4, #0x0]
- ldr r2, [sp, #0x4]
- mov r1, #0x0
- sub r2, #0x4e
- add r0, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- cmp r4, #0x0
- beq _02067DB2
- ldr r1, [r5, #0x14]
- add sp, #0x4c
- orr r0, r1
- str r0, [r5, #0x14]
- pop {r4-r7, pc}
-_02067DB2:
- mov r1, #0x0
- sub r1, r1, #0x1
- ldr r2, [r5, #0x14]
- eor r0, r1
- and r0, r2
- add sp, #0x4c
- str r0, [r5, #0x14]
- pop {r4-r7, pc}
-_02067DC2:
- ldrb r2, [r5, #0x18]
- ldrb r1, [r4, #0x0]
- mov r0, #0x1
- bic r2, r0
- mov r0, #0x1
- and r0, r1
- orr r0, r2
- add sp, #0x4c
- strb r0, [r5, #0x18]
- pop {r4-r7, pc}
-_02067DD6:
- ldrb r1, [r5, #0x18]
- mov r0, #0x6
- add sp, #0x4c
- bic r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1d
- orr r0, r1
- strb r0, [r5, #0x18]
- pop {r4-r7, pc}
-_02067DEA:
- ldrb r1, [r5, #0x18]
- mov r0, #0xf8
- add sp, #0x4c
- bic r1, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r5, #0x18]
- pop {r4-r7, pc}
-_02067DFE:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r5, #0x19]
- pop {r4-r7, pc}
-_02067E06:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r5, #0x1a]
- pop {r4-r7, pc}
-_02067E0E:
- ldrh r0, [r7, #0x0]
- mov r1, #0x0
- add r2, sp, #0x34
- bl FUN_0200A99C
- add r0, sp, #0x34
- add r1, r4, #0x0
- bl StringNotEqual
- ldr r2, [r5, #0x10]
- ldr r1, _02068014 ; =0x7FFFFFFF
- lsl r0, r0, #0x1f
- and r1, r2
- orr r0, r1
- str r0, [r5, #0x10]
-_02067E2C:
- mov r1, #0x0
-_02067E2E:
- ldrh r0, [r4, #0x0]
- add r1, r1, #0x1
- add r4, r4, #0x2
- strh r0, [r6, #0x0]
- add r6, r6, #0x2
- cmp r1, #0xb
- blo _02067E2E
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067E40:
- ldrh r0, [r7, #0x0]
- add r2, sp, #0x1c
- mov r1, #0x0
- add r2, #0x2
- bl FUN_0200A99C
- add r0, r4, #0x0
- add r1, sp, #0x8
- mov r2, #0xb
- bl FUN_02021EF0
- add r0, sp, #0x1c
- add r0, #0x2
- add r1, sp, #0x8
- bl StringNotEqual
- ldr r2, [r5, #0x10]
- ldr r1, _02068014 ; =0x7FFFFFFF
- lsl r0, r0, #0x1f
- and r1, r2
- orr r0, r1
- str r0, [r5, #0x10]
-_02067E6C:
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r2, #0xb
- bl FUN_02021EF0
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067E7A:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r6, #0x16]
- pop {r4-r7, pc}
-_02067E82:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r6, #0x17]
- pop {r4-r7, pc}
-_02067E8A:
- ldrb r4, [r4, #0x0]
- ldr r2, [sp, #0x4]
- mov r1, #0x0
- sub r2, #0x7a
- add r0, r4, #0x0
- str r2, [sp, #0x4]
- bl _ll_shl
- cmp r4, #0x0
- beq _02067EB2
- add r4, r6, #0x0
- add r4, #0x18
- ldr r3, [r6, #0x18]
- ldr r2, [r4, #0x4]
- orr r0, r3
- orr r1, r2
- str r0, [r6, #0x18]
- add sp, #0x4c
- str r1, [r4, #0x4]
- pop {r4-r7, pc}
-_02067EB2:
- add r4, r6, #0x0
- mov r5, #0x0
- mvn r5, r5
- add r4, #0x18
- ldr r3, [r6, #0x18]
- eor r0, r5
- ldr r2, [r4, #0x4]
- eor r1, r5
- and r0, r3
- and r1, r2
- str r0, [r6, #0x18]
- add sp, #0x4c
- str r1, [r4, #0x4]
- pop {r4-r7, pc}
-_02067ECE:
- mov r2, #0x0
-_02067ED0:
- ldrh r0, [r4, #0x0]
- add r2, r2, #0x1
- add r4, r4, #0x2
- strh r0, [r1, #0x0]
- add r1, r1, #0x2
- cmp r2, #0x8
- blo _02067ED0
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067EE2:
- add r0, r4, #0x0
- mov r2, #0x8
- bl FUN_02021EF0
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067EEE:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x10]
- pop {r4-r7, pc}
-_02067EF6:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x11]
- pop {r4-r7, pc}
-_02067EFE:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x12]
- pop {r4-r7, pc}
-_02067F06:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x13]
- pop {r4-r7, pc}
-_02067F0E:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x14]
- pop {r4-r7, pc}
-_02067F16:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x15]
- pop {r4-r7, pc}
-_02067F1E:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r1, #0x16]
- pop {r4-r7, pc}
-_02067F26:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r1, #0x18]
- pop {r4-r7, pc}
-_02067F2E:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x1a]
- pop {r4-r7, pc}
-_02067F36:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x1b]
- pop {r4-r7, pc}
-_02067F3E:
- ldrb r3, [r1, #0x1c]
- ldrb r2, [r4, #0x0]
- mov r0, #0x7f
- bic r3, r0
- mov r0, #0x7f
- and r0, r2
- orr r0, r3
- strb r0, [r1, #0x1c]
- add sp, #0x4c
- pop {r4-r7, pc}
-_02067F52:
- ldrb r2, [r1, #0x1c]
- mov r0, #0x80
- add sp, #0x4c
- bic r2, r0
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x18
- orr r0, r2
- strb r0, [r1, #0x1c]
- pop {r4-r7, pc}
-_02067F66:
- ldrb r0, [r4, #0x0]
- add sp, #0x4c
- strb r0, [r1, #0x1d]
- pop {r4-r7, pc}
-_02067F6E:
- ldrh r0, [r4, #0x0]
- add sp, #0x4c
- strh r0, [r1, #0x1e]
- pop {r4-r7, pc}
-_02067F76:
- ldr r2, [r5, #0x10]
- mov r0, #0x1f
- bic r2, r0
- ldr r1, [r4, #0x0]
- mov r0, #0x1f
- and r1, r0
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _02067FFC ; =0xFFFFFC1F
- str r1, [r5, #0x10]
- and r1, r0
- ldr r0, [r4, #0x0]
- add sp, #0x4c
- lsr r0, r0, #0x5
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x16
- orr r1, r0
- ldr r0, _02068000 ; =0xFFFF83FF
- str r1, [r5, #0x10]
- and r1, r0
- ldr r0, [r4, #0x0]
- lsr r0, r0, #0xa
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x11
- orr r1, r0
- ldr r0, _02068004 ; =0xFFF07FFF
- str r1, [r5, #0x10]
- and r1, r0
- ldr r0, [r4, #0x0]
- lsr r0, r0, #0xf
- lsl r0, r0, #0x1b
- lsr r0, r0, #0xc
- orr r1, r0
- ldr r0, _02068008 ; =0xFE0FFFFF
- str r1, [r5, #0x10]
- and r1, r0
- ldr r0, [r4, #0x0]
- lsr r0, r0, #0x14
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x7
- orr r1, r0
- ldr r0, _0206800C ; =0xC1FFFFFF
- str r1, [r5, #0x10]
- and r1, r0
- ldr r0, [r4, #0x0]
- lsr r0, r0, #0x19
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x2
- orr r0, r1
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02067FDE:
- ldrh r0, [r7, #0x0]
- mov r1, #0x0
- bl FUN_0200AA50
- add r4, r0, #0x0
- add r1, r6, #0x0
- mov r2, #0xb
- bl FUN_02021EF0
- add r0, r4, #0x0
- bl FUN_02021A20
-_02067FF6:
- add sp, #0x4c
- pop {r4-r7, pc}
- nop
-_02067FFC: .word 0xFFFFFC1F
-_02068000: .word 0xFFFF83FF
-_02068004: .word 0xFFF07FFF
-_02068008: .word 0xFE0FFFFF
-_0206800C: .word 0xC1FFFFFF
-_02068010: .word 0xBFFFFFFF
-_02068014: .word 0x7FFFFFFF
-
- thumb_func_start FUN_02068018
-FUN_02068018: ; 0x02068018
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _02068066
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- ldrh r1, [r5, #0x6]
- cmp r0, r1
- beq _02068066
- cmp r0, r1
- beq _02068058
- bl ErrorHandling
-_02068058:
- ldrh r2, [r5, #0x6]
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- pop {r4-r6, pc}
-_02068066:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020680A0
- ldrh r0, [r5, #0x4]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bne _0206809C
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
-_0206809C:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020680A0
-FUN_020680A0: ; 0x020680A0
- push {r3, lr}
- add r3, r1, #0x0
- sub r3, #0x9f
- cmp r3, #0xa
- bhi _020680F8
- add r3, r3, r3
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_020680B6: ; jump table (using 16-bit offset)
- .short _020680F2 - _020680B6 - 2; case 0
- .short _020680F2 - _020680B6 - 2; case 1
- .short _020680F2 - _020680B6 - 2; case 2
- .short _020680CC - _020680B6 - 2; case 3
- .short _020680F2 - _020680B6 - 2; case 4
- .short _020680F2 - _020680B6 - 2; case 5
- .short _020680F2 - _020680B6 - 2; case 6
- .short _020680F2 - _020680B6 - 2; case 7
- .short _020680F2 - _020680B6 - 2; case 8
- .short _020680F2 - _020680B6 - 2; case 9
- .short _020680F2 - _020680B6 - 2; case 10
-_020680CC:
- add r1, r0, #0x0
- add r1, #0x90
- ldrh r3, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x8e
- ldrh r1, [r1, #0x0]
- add r1, r1, r2
- cmp r1, r3
- ble _020680E4
- add r0, #0x8e
- strh r3, [r0, #0x0]
- pop {r3, pc}
-_020680E4:
- add r1, r0, #0x0
- add r1, #0x8e
- ldrh r1, [r1, #0x0]
- add r0, #0x8e
- add r1, r1, r2
- strh r1, [r0, #0x0]
- pop {r3, pc}
-_020680F2:
- bl ErrorHandling
- pop {r3, pc}
-_020680F8:
- bl FUN_02068100
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02068100
-FUN_02068100: ; 0x02068100
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r1, #0x0
- add r1, r0, #0x0
- add r6, r2, #0x0
- ldr r1, [r1, #0x0]
- str r0, [sp, #0x0]
- mov r2, #0x0
- bl FUN_0206A418
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x1
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x2
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- ldr r0, [sp, #0x0]
- mov r2, #0x3
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0206A418
- cmp r7, #0xb2
- bls _02068142
- b _02068500
-_02068142:
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206814E: ; jump table (using 16-bit offset)
- .short _02068500 - _0206814E - 2; case 0
- .short _02068500 - _0206814E - 2; case 1
- .short _02068500 - _0206814E - 2; case 2
- .short _02068500 - _0206814E - 2; case 3
- .short _02068500 - _0206814E - 2; case 4
- .short _02068500 - _0206814E - 2; case 5
- .short _02068500 - _0206814E - 2; case 6
- .short _02068500 - _0206814E - 2; case 7
- .short _020682B4 - _0206814E - 2; case 8
- .short _020682D8 - _0206814E - 2; case 9
- .short _02068500 - _0206814E - 2; case 10
- .short _02068500 - _0206814E - 2; case 11
- .short _02068500 - _0206814E - 2; case 12
- .short _020682EE - _0206814E - 2; case 13
- .short _020682F8 - _0206814E - 2; case 14
- .short _02068302 - _0206814E - 2; case 15
- .short _0206830C - _0206814E - 2; case 16
- .short _02068316 - _0206814E - 2; case 17
- .short _02068320 - _0206814E - 2; case 18
- .short _0206832A - _0206814E - 2; case 19
- .short _02068340 - _0206814E - 2; case 20
- .short _02068356 - _0206814E - 2; case 21
- .short _0206836C - _0206814E - 2; case 22
- .short _02068382 - _0206814E - 2; case 23
- .short _02068398 - _0206814E - 2; case 24
- .short _02068500 - _0206814E - 2; case 25
- .short _02068500 - _0206814E - 2; case 26
- .short _02068500 - _0206814E - 2; case 27
- .short _02068500 - _0206814E - 2; case 28
- .short _02068500 - _0206814E - 2; case 29
- .short _02068500 - _0206814E - 2; case 30
- .short _02068500 - _0206814E - 2; case 31
- .short _02068500 - _0206814E - 2; case 32
- .short _02068500 - _0206814E - 2; case 33
- .short _02068500 - _0206814E - 2; case 34
- .short _02068500 - _0206814E - 2; case 35
- .short _02068500 - _0206814E - 2; case 36
- .short _02068500 - _0206814E - 2; case 37
- .short _02068500 - _0206814E - 2; case 38
- .short _02068500 - _0206814E - 2; case 39
- .short _02068500 - _0206814E - 2; case 40
- .short _02068500 - _0206814E - 2; case 41
- .short _02068500 - _0206814E - 2; case 42
- .short _02068500 - _0206814E - 2; case 43
- .short _02068500 - _0206814E - 2; case 44
- .short _02068500 - _0206814E - 2; case 45
- .short _02068500 - _0206814E - 2; case 46
- .short _02068500 - _0206814E - 2; case 47
- .short _02068500 - _0206814E - 2; case 48
- .short _02068500 - _0206814E - 2; case 49
- .short _02068500 - _0206814E - 2; case 50
- .short _02068500 - _0206814E - 2; case 51
- .short _02068500 - _0206814E - 2; case 52
- .short _02068500 - _0206814E - 2; case 53
- .short _02068500 - _0206814E - 2; case 54
- .short _02068500 - _0206814E - 2; case 55
- .short _02068500 - _0206814E - 2; case 56
- .short _02068500 - _0206814E - 2; case 57
- .short _020683AE - _0206814E - 2; case 58
- .short _020683AE - _0206814E - 2; case 59
- .short _020683AE - _0206814E - 2; case 60
- .short _020683AE - _0206814E - 2; case 61
- .short _020683EA - _0206814E - 2; case 62
- .short _020683EA - _0206814E - 2; case 63
- .short _020683EA - _0206814E - 2; case 64
- .short _020683EA - _0206814E - 2; case 65
- .short _02068504 - _0206814E - 2; case 66
- .short _02068504 - _0206814E - 2; case 67
- .short _02068504 - _0206814E - 2; case 68
- .short _02068504 - _0206814E - 2; case 69
- .short _02068404 - _0206814E - 2; case 70
- .short _0206842E - _0206814E - 2; case 71
- .short _02068458 - _0206814E - 2; case 72
- .short _02068482 - _0206814E - 2; case 73
- .short _020684AC - _0206814E - 2; case 74
- .short _020684D6 - _0206814E - 2; case 75
- .short _02068500 - _0206814E - 2; case 76
- .short _02068500 - _0206814E - 2; case 77
- .short _02068500 - _0206814E - 2; case 78
- .short _02068500 - _0206814E - 2; case 79
- .short _02068500 - _0206814E - 2; case 80
- .short _02068500 - _0206814E - 2; case 81
- .short _02068500 - _0206814E - 2; case 82
- .short _02068500 - _0206814E - 2; case 83
- .short _02068500 - _0206814E - 2; case 84
- .short _02068500 - _0206814E - 2; case 85
- .short _02068500 - _0206814E - 2; case 86
- .short _02068500 - _0206814E - 2; case 87
- .short _02068500 - _0206814E - 2; case 88
- .short _02068500 - _0206814E - 2; case 89
- .short _02068500 - _0206814E - 2; case 90
- .short _02068500 - _0206814E - 2; case 91
- .short _02068500 - _0206814E - 2; case 92
- .short _02068500 - _0206814E - 2; case 93
- .short _02068500 - _0206814E - 2; case 94
- .short _02068500 - _0206814E - 2; case 95
- .short _02068500 - _0206814E - 2; case 96
- .short _02068500 - _0206814E - 2; case 97
- .short _02068500 - _0206814E - 2; case 98
- .short _02068500 - _0206814E - 2; case 99
- .short _02068500 - _0206814E - 2; case 100
- .short _02068500 - _0206814E - 2; case 101
- .short _02068500 - _0206814E - 2; case 102
- .short _02068500 - _0206814E - 2; case 103
- .short _02068500 - _0206814E - 2; case 104
- .short _02068500 - _0206814E - 2; case 105
- .short _02068500 - _0206814E - 2; case 106
- .short _02068500 - _0206814E - 2; case 107
- .short _02068500 - _0206814E - 2; case 108
- .short _02068500 - _0206814E - 2; case 109
- .short _02068500 - _0206814E - 2; case 110
- .short _02068500 - _0206814E - 2; case 111
- .short _02068500 - _0206814E - 2; case 112
- .short _02068500 - _0206814E - 2; case 113
- .short _02068500 - _0206814E - 2; case 114
- .short _02068500 - _0206814E - 2; case 115
- .short _02068500 - _0206814E - 2; case 116
- .short _02068500 - _0206814E - 2; case 117
- .short _02068500 - _0206814E - 2; case 118
- .short _02068500 - _0206814E - 2; case 119
- .short _02068500 - _0206814E - 2; case 120
- .short _02068500 - _0206814E - 2; case 121
- .short _02068500 - _0206814E - 2; case 122
- .short _02068500 - _0206814E - 2; case 123
- .short _02068500 - _0206814E - 2; case 124
- .short _02068500 - _0206814E - 2; case 125
- .short _02068500 - _0206814E - 2; case 126
- .short _02068500 - _0206814E - 2; case 127
- .short _02068500 - _0206814E - 2; case 128
- .short _02068500 - _0206814E - 2; case 129
- .short _02068500 - _0206814E - 2; case 130
- .short _02068500 - _0206814E - 2; case 131
- .short _02068500 - _0206814E - 2; case 132
- .short _02068500 - _0206814E - 2; case 133
- .short _02068500 - _0206814E - 2; case 134
- .short _02068500 - _0206814E - 2; case 135
- .short _02068500 - _0206814E - 2; case 136
- .short _02068500 - _0206814E - 2; case 137
- .short _02068500 - _0206814E - 2; case 138
- .short _02068500 - _0206814E - 2; case 139
- .short _02068500 - _0206814E - 2; case 140
- .short _02068500 - _0206814E - 2; case 141
- .short _02068500 - _0206814E - 2; case 142
- .short _02068500 - _0206814E - 2; case 143
- .short _02068500 - _0206814E - 2; case 144
- .short _02068500 - _0206814E - 2; case 145
- .short _02068500 - _0206814E - 2; case 146
- .short _02068500 - _0206814E - 2; case 147
- .short _02068500 - _0206814E - 2; case 148
- .short _02068500 - _0206814E - 2; case 149
- .short _02068500 - _0206814E - 2; case 150
- .short _02068500 - _0206814E - 2; case 151
- .short _02068500 - _0206814E - 2; case 152
- .short _02068500 - _0206814E - 2; case 153
- .short _02068500 - _0206814E - 2; case 154
- .short _02068500 - _0206814E - 2; case 155
- .short _02068500 - _0206814E - 2; case 156
- .short _02068500 - _0206814E - 2; case 157
- .short _02068500 - _0206814E - 2; case 158
- .short _02068500 - _0206814E - 2; case 159
- .short _02068500 - _0206814E - 2; case 160
- .short _02068500 - _0206814E - 2; case 161
- .short _02068500 - _0206814E - 2; case 162
- .short _02068500 - _0206814E - 2; case 163
- .short _02068500 - _0206814E - 2; case 164
- .short _02068500 - _0206814E - 2; case 165
- .short _02068500 - _0206814E - 2; case 166
- .short _02068500 - _0206814E - 2; case 167
- .short _02068500 - _0206814E - 2; case 168
- .short _02068500 - _0206814E - 2; case 169
- .short _02068500 - _0206814E - 2; case 170
- .short _02068500 - _0206814E - 2; case 171
- .short _02068500 - _0206814E - 2; case 172
- .short _02068500 - _0206814E - 2; case 173
- .short _02068500 - _0206814E - 2; case 174
- .short _02068500 - _0206814E - 2; case 175
- .short _02068500 - _0206814E - 2; case 176
- .short _02068500 - _0206814E - 2; case 177
- .short _02068500 - _0206814E - 2; case 178
-_020682B4:
- ldrh r0, [r4, #0x0]
- mov r1, #0x64
- bl FUN_02068758
- ldr r1, [r4, #0x8]
- add r1, r1, r6
- cmp r1, r0
- bls _020682D2
- ldrh r0, [r4, #0x0]
- mov r1, #0x64
- bl FUN_02068758
- add sp, #0xc
- str r0, [r4, #0x8]
- pop {r4-r7, pc}
-_020682D2:
- add sp, #0xc
- str r1, [r4, #0x8]
- pop {r4-r7, pc}
-_020682D8:
- ldrb r0, [r4, #0xc]
- add r0, r0, r6
- cmp r0, #0xff
- ble _020682E8
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0xc]
- pop {r4-r7, pc}
-_020682E8:
- add sp, #0xc
- strb r0, [r4, #0xc]
- pop {r4-r7, pc}
-_020682EE:
- ldrb r0, [r4, #0x10]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x10]
- pop {r4-r7, pc}
-_020682F8:
- ldrb r0, [r4, #0x11]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x11]
- pop {r4-r7, pc}
-_02068302:
- ldrb r0, [r4, #0x12]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x12]
- pop {r4-r7, pc}
-_0206830C:
- ldrb r0, [r4, #0x13]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x13]
- pop {r4-r7, pc}
-_02068316:
- ldrb r0, [r4, #0x14]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x14]
- pop {r4-r7, pc}
-_02068320:
- ldrb r0, [r4, #0x15]
- add sp, #0xc
- add r0, r0, r6
- strb r0, [r4, #0x15]
- pop {r4-r7, pc}
-_0206832A:
- ldrb r0, [r4, #0x16]
- add r0, r0, r6
- cmp r0, #0xff
- ble _0206833A
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x16]
- pop {r4-r7, pc}
-_0206833A:
- add sp, #0xc
- strb r0, [r4, #0x16]
- pop {r4-r7, pc}
-_02068340:
- ldrb r0, [r4, #0x17]
- add r0, r0, r6
- cmp r0, #0xff
- ble _02068350
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x17]
- pop {r4-r7, pc}
-_02068350:
- add sp, #0xc
- strb r0, [r4, #0x17]
- pop {r4-r7, pc}
-_02068356:
- ldrb r0, [r4, #0x18]
- add r0, r0, r6
- cmp r0, #0xff
- ble _02068366
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x18]
- pop {r4-r7, pc}
-_02068366:
- add sp, #0xc
- strb r0, [r4, #0x18]
- pop {r4-r7, pc}
-_0206836C:
- ldrb r0, [r4, #0x19]
- add r0, r0, r6
- cmp r0, #0xff
- ble _0206837C
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x19]
- pop {r4-r7, pc}
-_0206837C:
- add sp, #0xc
- strb r0, [r4, #0x19]
- pop {r4-r7, pc}
-_02068382:
- ldrb r0, [r4, #0x1a]
- add r0, r0, r6
- cmp r0, #0xff
- ble _02068392
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x1a]
- pop {r4-r7, pc}
-_02068392:
- add sp, #0xc
- strb r0, [r4, #0x1a]
- pop {r4-r7, pc}
-_02068398:
- ldrb r0, [r4, #0x1b]
- add r0, r0, r6
- cmp r0, #0xff
- ble _020683A8
- mov r0, #0xff
- add sp, #0xc
- strb r0, [r4, #0x1b]
- pop {r4-r7, pc}
-_020683A8:
- add sp, #0xc
- strb r0, [r4, #0x1b]
- pop {r4-r7, pc}
-_020683AE:
- add r0, r5, #0x0
- str r0, [sp, #0x4]
- add r0, #0xc
- str r0, [sp, #0x4]
- sub r7, #0x3a
- ldr r1, [sp, #0x4]
- lsl r0, r7, #0x1
- str r0, [sp, #0x8]
- add r4, r5, #0x0
- ldrh r0, [r5, r0]
- ldrb r1, [r1, r7]
- add r4, #0x8
- bl FUN_0206AB30
- ldrb r1, [r4, r7]
- add r1, r6, r1
- cmp r1, r0
- ble _020683E4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- ldrh r0, [r5, r0]
- ldrb r1, [r1, r7]
- bl FUN_0206AB30
- add sp, #0xc
- strb r0, [r4, r7]
- pop {r4-r7, pc}
-_020683E4:
- add sp, #0xc
- strb r1, [r4, r7]
- pop {r4-r7, pc}
-_020683EA:
- add r5, #0xc
- sub r7, #0x3e
- ldrb r0, [r5, r7]
- add r0, r6, r0
- cmp r0, #0x3
- ble _020683FE
- mov r0, #0x3
- add sp, #0xc
- strb r0, [r5, r7]
- pop {r4-r7, pc}
-_020683FE:
- add sp, #0xc
- strb r0, [r5, r7]
- pop {r4-r7, pc}
-_02068404:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0x1b
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- bls _0206841E
- mov r0, #0x1f
- bic r1, r0
- mov r0, #0x1f
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_0206841E:
- mov r0, #0x1f
- bic r1, r0
- mov r0, #0x1f
- and r0, r2
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_0206842E:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0x16
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- ldr r0, _02068508 ; =0xFFFFFC1F
- bls _0206844A
- and r1, r0
- mov r0, #0x3e
- lsl r0, r0, #0x4
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_0206844A:
- and r1, r0
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x16
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02068458:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0x11
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- ldr r0, _0206850C ; =0xFFFF83FF
- bls _02068474
- and r1, r0
- mov r0, #0x1f
- lsl r0, r0, #0xa
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02068474:
- and r1, r0
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x11
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02068482:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0xc
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- ldr r0, _02068510 ; =0xFFF07FFF
- bls _0206849E
- and r1, r0
- mov r0, #0x3e
- lsl r0, r0, #0xe
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_0206849E:
- and r1, r0
- lsl r0, r2, #0x1b
- lsr r0, r0, #0xc
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_020684AC:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0x7
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- ldr r0, _02068514 ; =0xFE0FFFFF
- bls _020684C8
- and r1, r0
- mov r0, #0x1f
- lsl r0, r0, #0x14
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_020684C8:
- and r1, r0
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x7
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_020684D6:
- ldr r1, [r5, #0x10]
- lsl r0, r1, #0x2
- lsr r0, r0, #0x1b
- add r2, r0, r6
- cmp r2, #0x1f
- ldr r0, _02068518 ; =0xC1FFFFFF
- bls _020684F2
- and r1, r0
- mov r0, #0x3e
- lsl r0, r0, #0x18
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_020684F2:
- and r1, r0
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x2
- orr r0, r1
- add sp, #0xc
- str r0, [r5, #0x10]
- pop {r4-r7, pc}
-_02068500:
- bl ErrorHandling
-_02068504:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02068508: .word 0xFFFFFC1F
-_0206850C: .word 0xFFFF83FF
-_02068510: .word 0xFFF07FFF
-_02068514: .word 0xFE0FFFFF
-_02068518: .word 0xC1FFFFFF
-
- thumb_func_start FUN_0206851C
-FUN_0206851C: ; 0x0206851C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x2c
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0206A370
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068538
-FUN_02068538: ; 0x02068538
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x0
- bne _02068546
- bl ErrorHandling
-_02068546:
- cmp r6, #0x20
- bhi _0206863A
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02068556: ; jump table (using 16-bit offset)
- .short _02068598 - _02068556 - 2; case 0
- .short _0206859C - _02068556 - 2; case 1
- .short _020685A0 - _02068556 - 2; case 2
- .short _020685A4 - _02068556 - 2; case 3
- .short _020685A8 - _02068556 - 2; case 4
- .short _020685AC - _02068556 - 2; case 5
- .short _020685B0 - _02068556 - 2; case 6
- .short _020685B4 - _02068556 - 2; case 7
- .short _020685B8 - _02068556 - 2; case 8
- .short _020685BC - _02068556 - 2; case 9
- .short _020685C0 - _02068556 - 2; case 10
- .short _020685C8 - _02068556 - 2; case 11
- .short _020685D0 - _02068556 - 2; case 12
- .short _020685D8 - _02068556 - 2; case 13
- .short _020685E0 - _02068556 - 2; case 14
- .short _020685E8 - _02068556 - 2; case 15
- .short _020685F0 - _02068556 - 2; case 16
- .short _020685F4 - _02068556 - 2; case 17
- .short _020685F8 - _02068556 - 2; case 18
- .short _020685FC - _02068556 - 2; case 19
- .short _02068600 - _02068556 - 2; case 20
- .short _02068604 - _02068556 - 2; case 21
- .short _02068608 - _02068556 - 2; case 22
- .short _0206860C - _02068556 - 2; case 23
- .short _02068610 - _02068556 - 2; case 24
- .short _02068614 - _02068556 - 2; case 25
- .short _02068618 - _02068556 - 2; case 26
- .short _0206861C - _02068556 - 2; case 27
- .short _02068624 - _02068556 - 2; case 28
- .short _0206862C - _02068556 - 2; case 29
- .short _02068630 - _02068556 - 2; case 30
- .short _02068634 - _02068556 - 2; case 31
- .short _02068638 - _02068556 - 2; case 32
-_02068598:
- ldrb r5, [r4, #0x0]
- b _0206863A
-_0206859C:
- ldrb r5, [r4, #0x1]
- b _0206863A
-_020685A0:
- ldrb r5, [r4, #0x2]
- b _0206863A
-_020685A4:
- ldrb r5, [r4, #0x3]
- b _0206863A
-_020685A8:
- ldrb r5, [r4, #0x4]
- b _0206863A
-_020685AC:
- ldrb r5, [r4, #0x5]
- b _0206863A
-_020685B0:
- ldrb r5, [r4, #0x6]
- b _0206863A
-_020685B4:
- ldrb r5, [r4, #0x7]
- b _0206863A
-_020685B8:
- ldrb r5, [r4, #0x8]
- b _0206863A
-_020685BC:
- ldrb r5, [r4, #0x9]
- b _0206863A
-_020685C0:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x1e
- lsr r5, r0, #0x1e
- b _0206863A
-_020685C8:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x1c
- lsr r5, r0, #0x1e
- b _0206863A
-_020685D0:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x1a
- lsr r5, r0, #0x1e
- b _0206863A
-_020685D8:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x18
- lsr r5, r0, #0x1e
- b _0206863A
-_020685E0:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x16
- lsr r5, r0, #0x1e
- b _0206863A
-_020685E8:
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x14
- lsr r5, r0, #0x1e
- b _0206863A
-_020685F0:
- ldrh r5, [r4, #0xc]
- b _0206863A
-_020685F4:
- ldrh r5, [r4, #0xe]
- b _0206863A
-_020685F8:
- ldrb r5, [r4, #0x10]
- b _0206863A
-_020685FC:
- ldrb r5, [r4, #0x11]
- b _0206863A
-_02068600:
- ldrb r5, [r4, #0x12]
- b _0206863A
-_02068604:
- ldrb r5, [r4, #0x13]
- b _0206863A
-_02068608:
- ldrb r5, [r4, #0x14]
- b _0206863A
-_0206860C:
- ldrb r5, [r4, #0x15]
- b _0206863A
-_02068610:
- ldrb r5, [r4, #0x16]
- b _0206863A
-_02068614:
- ldrb r5, [r4, #0x17]
- b _0206863A
-_02068618:
- ldrb r5, [r4, #0x18]
- b _0206863A
-_0206861C:
- ldrb r0, [r4, #0x19]
- lsl r0, r0, #0x19
- lsr r5, r0, #0x19
- b _0206863A
-_02068624:
- ldrb r0, [r4, #0x19]
- lsl r0, r0, #0x18
- lsr r5, r0, #0x1f
- b _0206863A
-_0206862C:
- ldr r5, [r4, #0x1c]
- b _0206863A
-_02068630:
- ldr r5, [r4, #0x20]
- b _0206863A
-_02068634:
- ldr r5, [r4, #0x24]
- b _0206863A
-_02068638:
- ldr r5, [r4, #0x28]
-_0206863A:
- add r0, r5, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02068640
-FUN_02068640: ; 0x02068640
- push {r4, lr}
- add r4, r0, #0x0
- bne _0206864A
- bl ErrorHandling
-_0206864A:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02068654
-FUN_02068654: ; 0x02068654
- push {r3-r5, lr}
- add r4, r2, #0x0
- bl FUN_0206A8FC
- mov r1, #0x0
- bl FUN_0206851C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_02068538
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02068640
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068678
-FUN_02068678: ; 0x02068678
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- bl FUN_0206851C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_02068538
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02068640
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068698
-FUN_02068698: ; 0x02068698
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020669D4
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02068758
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r7, #0x1
- bl FUN_02068758
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02066A20
- sub r1, r7, r4
- mov r0, #0x64
- mul r0, r1
- sub r1, r6, r4
- bl _u32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020686F8
-FUN_020686F8: ; 0x020686F8
- ldr r3, _020686FC ; =FUN_02068700
- bx r3
- .balign 4
-_020686FC: .word FUN_02068700
-
- thumb_func_start FUN_02068700
-FUN_02068700: ; 0x02068700
- push {r4-r6, lr}
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r4, #0x0
- bl FUN_020687C8
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x0
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_020672BC
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02068758
- sub r0, r0, r4
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02068734
-FUN_02068734: ; 0x02068734
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02068758
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068758
-FUN_02068758: ; 0x02068758
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x15
- bl FUN_02068678
- add r1, r4, #0x0
- bl FUN_02068788
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206876C
-FUN_0206876C: ; 0x0206876C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x8
- blt _0206877A
- bl ErrorHandling
-_0206877A:
- add r0, r4, #0x0
- mov r1, #0x3
- add r2, r5, #0x0
- bl LoadFromNARC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068788
-FUN_02068788: ; 0x02068788
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- cmp r6, #0x8
- blt _02068796
- bl ErrorHandling
-_02068796:
- cmp r5, #0x65
- ble _0206879E
- bl ErrorHandling
-_0206879E:
- mov r1, #0x65
- mov r0, #0x0
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206876C
- lsl r0, r5, #0x2
- ldr r5, [r4, r0]
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020687C0
-FUN_020687C0: ; 0x020687C0
- ldr r3, _020687C4 ; =FUN_020687C8
- bx r3
- .balign 4
-_020687C4: .word FUN_020687C8
-
- thumb_func_start FUN_020687C8
-FUN_020687C8: ; 0x020687C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02066A6C
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_020672BC
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02066A94
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- add r1, r7, #0x0
- bl FUN_02068800
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02068800
-FUN_02068800: ; 0x02068800
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x0
- bl FUN_0206851C
- add r6, r0, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02068824
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02068640
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02068824
-FUN_02068824: ; 0x02068824
- push {r4, lr}
- mov r1, #0x15
- add r4, r2, #0x0
- bl FUN_02068538
- ldr r1, _0206884C ; =0x021C5AC0
- bl FUN_0206876C
- ldr r2, _02068850 ; =0x021C5AC4
- mov r1, #0x1
-_02068838:
- ldr r0, [r2, #0x0]
- cmp r0, r4
- bhi _02068846
- add r1, r1, #0x1
- add r2, r2, #0x4
- cmp r1, #0x65
- blt _02068838
-_02068846:
- sub r0, r1, #0x1
- pop {r4, pc}
- nop
-_0206884C: .word 0x021C5AC0
-_02068850: .word 0x021C5AC4
-
- thumb_func_start FUN_02068854
-FUN_02068854: ; 0x02068854
- ldr r3, _02068858 ; =FUN_0206885C
- bx r3
- .balign 4
-_02068858: .word FUN_0206885C
-
- thumb_func_start FUN_0206885C
-FUN_0206885C: ; 0x0206885C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02066A6C
- mov r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02066A94
- add r0, r6, #0x0
- bl FUN_02068884
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02068884
-FUN_02068884: ; 0x02068884
- push {r3, lr}
- mov r1, #0x19
- bl _u32_div_f
- lsl r0, r1, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02068894
-FUN_02068894: ; 0x02068894
- push {r3, lr}
- cmp r2, #0x1
- blo _0206889E
- cmp r2, #0x5
- bls _020688A2
-_0206889E:
- add r0, r1, #0x0
- pop {r3, pc}
-_020688A2:
- lsl r3, r0, #0x2
- add r3, r0, r3
- ldr r0, _020688E4 ; =0x020F7F93
- sub r2, r2, #0x1
- add r0, r0, r3
- ldrsb r2, [r2, r0]
- mov r0, #0x0
- mvn r0, r0
- cmp r2, r0
- beq _020688CE
- cmp r2, #0x1
- bne _020688E0
- mov r0, #0x6e
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x64
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- b _020688E0
-_020688CE:
- mov r0, #0x5a
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x64
- bl _s32_div_f
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
-_020688E0:
- add r0, r1, #0x0
- pop {r3, pc}
- .balign 4
-_020688E4: .word 0x020F7F93
-
- thumb_func_start FUN_020688E8
-FUN_020688E8: ; 0x020688E8
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- add r5, r0, #0x0
- str r2, [sp, #0x0]
- cmp r6, #0x5
- bne _02068900
- bl rand_LC
- mov r1, #0x1
- tst r0, r1
- bne _020689D4
-_02068900:
- add r0, r5, #0x0
- mov r1, #0xad
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- beq _020689D4
- ldr r0, _020689D8 ; =0x000001EE
- cmp r1, r0
- beq _020689D4
- add r0, r5, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0206E7B8
- lsl r0, r0, #0x18
- mov r4, #0x0
- lsr r7, r0, #0x18
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, r4, #0x0
- bl FUN_020671BC
- add r1, sp, #0x4
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- ldrsh r1, [r1, r0]
- cmp r1, #0x64
- blt _0206894E
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_0206894E:
- cmp r1, #0xc8
- blt _02068958
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02068958:
- lsl r0, r6, #0x1
- add r1, r6, r0
- ldr r0, _020689DC ; =0x020F7ED4
- add r0, r0, r1
- ldrsb r4, [r4, r0]
- cmp r4, #0x0
- ble _0206897A
- add r0, r5, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xb
- bne _0206897A
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
-_0206897A:
- cmp r4, #0x0
- ble _02068994
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x0]
- cmp r1, r0
- bne _02068994
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
-_02068994:
- cmp r4, #0x0
- ble _020689AA
- cmp r7, #0x34
- bne _020689AA
- mov r0, #0x96
- mul r0, r4
- mov r1, #0x64
- bl _s32_div_f
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
-_020689AA:
- add r0, sp, #0x4
- mov r1, #0x0
- ldrsh r2, [r0, r1]
- add r2, r2, r4
- strh r2, [r0, #0x0]
- ldrsh r2, [r0, r1]
- cmp r2, #0x0
- bge _020689BC
- strh r1, [r0, #0x0]
-_020689BC:
- add r1, sp, #0x4
- mov r0, #0x0
- ldrsh r0, [r1, r0]
- cmp r0, #0xff
- ble _020689CA
- mov r0, #0xff
- strh r0, [r1, #0x0]
-_020689CA:
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x4
- bl FUN_02067830
-_020689D4:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020689D8: .word 0x000001EE
-_020689DC: .word 0x020F7ED4
-
- thumb_func_start FUN_020689E0
-FUN_020689E0: ; 0x020689E0
- ldr r3, _020689E4 ; =FUN_020689E8
- bx r3
- .balign 4
-_020689E4: .word FUN_020689E8
-
- thumb_func_start FUN_020689E8
-FUN_020689E8: ; 0x020689E8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02066A6C
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- mov r1, #0x0
- lsr r4, r0, #0x10
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02066A94
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02068A20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02068A20
-FUN_02068A20: ; 0x02068A20
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x0
- bl FUN_0206851C
- add r6, r0, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02068A44
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02068640
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02068A44
-FUN_02068A44: ; 0x02068A44
- push {r4, lr}
- mov r1, #0x12
- add r4, r2, #0x0
- bl FUN_02068538
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- beq _02068A5E
- cmp r1, #0xfe
- beq _02068A62
- cmp r1, #0xff
- beq _02068A66
- b _02068A6A
-_02068A5E:
- mov r0, #0x0
- pop {r4, pc}
-_02068A62:
- mov r0, #0x1
- pop {r4, pc}
-_02068A66:
- mov r0, #0x2
- pop {r4, pc}
-_02068A6A:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- cmp r1, r0
- bls _02068A76
- mov r0, #0x1
- b _02068A78
-_02068A76:
- mov r0, #0x0
-_02068A78:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02068A80
-FUN_02068A80: ; 0x02068A80
- ldr r3, _02068A84 ; =FUN_02068A88
- bx r3
- .balign 4
-_02068A84: .word FUN_02068A88
-
- thumb_func_start FUN_02068A88
-FUN_02068A88: ; 0x02068A88
- push {r3-r5, lr}
- mov r1, #0x7
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020672BC
- mov r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02068AAC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02068AAC
-FUN_02068AAC: ; 0x02068AAC
- ldr r3, _02068AD4 ; =0xFFFF0000
- lsl r2, r1, #0x10
- and r1, r3
- and r3, r0
- lsl r0, r0, #0x10
- lsr r3, r3, #0x10
- lsr r0, r0, #0x10
- lsr r1, r1, #0x10
- eor r0, r3
- lsr r2, r2, #0x10
- eor r0, r1
- eor r0, r2
- cmp r0, #0x8
- bhs _02068ACC
- mov r0, #0x1
- b _02068ACE
-_02068ACC:
- mov r0, #0x0
-_02068ACE:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
- .balign 4
-_02068AD4: .word 0xFFFF0000
-
- thumb_func_start FUN_02068AD8
-FUN_02068AD8: ; 0x02068AD8
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _02068B64 ; =0xFFFF0000
- and r0, r7
- lsr r1, r0, #0x10
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- eor r0, r1
- lsr r7, r0, #0x3
- bl rand_LC
- mov r1, #0x7
- and r0, r1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- bl rand_LC
- mov r1, #0x7
- and r0, r1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- mov r4, #0x0
-_02068B04:
- add r0, r4, #0x0
- bl FUN_0206A92C
- tst r0, r7
- beq _02068B34
- bl rand_LC
- mov r1, #0x1
- tst r0, r1
- beq _02068B26
- add r0, r4, #0x3
- bl FUN_0206A92C
- orr r0, r6
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- b _02068B56
-_02068B26:
- add r0, r4, #0x3
- bl FUN_0206A92C
- orr r0, r5
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- b _02068B56
-_02068B34:
- bl rand_LC
- mov r1, #0x1
- tst r0, r1
- beq _02068B56
- add r0, r4, #0x3
- bl FUN_0206A92C
- orr r0, r6
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r4, #0x3
- bl FUN_0206A92C
- orr r0, r5
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02068B56:
- add r4, r4, #0x1
- cmp r4, #0xd
- blt _02068B04
- lsl r0, r5, #0x10
- orr r0, r6
- pop {r3-r7, pc}
- nop
-_02068B64: .word 0xFFFF0000
-
- thumb_func_start FUN_02068B68
-FUN_02068B68: ; 0x02068B68
- ldr r3, _02068B6C ; =FUN_02068B70
- bx r3
- .balign 4
-_02068B6C: .word FUN_02068B70
-
- thumb_func_start FUN_02068B70
-FUN_02068B70: ; 0x02068B70
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r1, #0x0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- str r2, [sp, #0x10]
- bl FUN_02066A6C
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- mov r1, #0xad
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r5, #0x0
- bl FUN_020689E8
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_02068A88
- mov r1, #0x0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- ldr r0, _02068BF8 ; =0x000001EE
- cmp r4, r0
- bne _02068BCA
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- ldr r1, _02068BFC ; =0x000001EA
- cmp r0, r1
- bne _02068BC6
- mov r0, #0x1
- b _02068BD8
-_02068BC6:
- mov r0, #0x0
- b _02068BD8
-_02068BCA:
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
-_02068BD8:
- str r7, [sp, #0x0]
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r0, [sp, #0xc]
- ldr r2, [sp, #0x14]
- ldr r3, [sp, #0x10]
- add r1, r4, #0x0
- bl FUN_02068C00
- ldr r1, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_02066A94
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_02068BF8: .word 0x000001EE
-_02068BFC: .word 0x000001EA
-
- thumb_func_start FUN_02068C00
-FUN_02068C00: ; 0x02068C00
- push {r4-r7}
- add r7, r2, #0x0
- add r5, r3, #0x0
- add r4, r0, #0x0
- add r0, r1, #0x0
- ldr r3, [sp, #0x10]
- ldr r2, [sp, #0x14]
- mov r1, #0x0
- strh r1, [r4, #0x6]
- strb r1, [r4, #0x8]
- str r1, [r4, #0xc]
- ldr r1, _02068E0C ; =0x000001A5
- cmp r0, r1
- bgt _02068C68
- bge _02068D1E
- add r6, r1, #0x0
- sub r6, #0x46
- cmp r0, r6
- bgt _02068C36
- sub r1, #0x46
- cmp r0, r1
- blt _02068C2E
- b _02068D58
-_02068C2E:
- cmp r0, #0xc9
- bne _02068C34
- b _02068D90
-_02068C34:
- b _02068DD4
-_02068C36:
- add r6, r1, #0x0
- sub r6, #0x23
- cmp r0, r6
- bgt _02068C48
- sub r1, #0x23
- cmp r0, r1
- bne _02068C46
- b _02068D76
-_02068C46:
- b _02068DD4
-_02068C48:
- add r6, r1, #0x0
- sub r6, #0x8
- cmp r0, r6
- bgt _02068C66
- add r6, r1, #0x0
- sub r6, #0x9
- cmp r0, r6
- blt _02068C66
- add r6, r1, #0x0
- sub r6, #0x9
- cmp r0, r6
- beq _02068CAA
- sub r1, #0x8
- cmp r0, r1
- beq _02068CC8
-_02068C66:
- b _02068DD4
-_02068C68:
- add r6, r1, #0x0
- add r6, #0x48
- cmp r0, r6
- bgt _02068C8E
- add r6, r1, #0x0
- add r6, #0x48
- cmp r0, r6
- bge _02068D3A
- add r6, r1, #0x2
- cmp r0, r6
- bgt _02068C8C
- add r6, r1, #0x1
- cmp r0, r6
- blt _02068C8C
- beq _02068CE6
- add r1, r1, #0x2
- cmp r0, r1
- beq _02068D02
-_02068C8C:
- b _02068DD4
-_02068C8E:
- add r6, r1, #0x0
- add r6, #0x49
- cmp r0, r6
- bgt _02068CA0
- add r1, #0x49
- cmp r0, r1
- bne _02068C9E
- b _02068DAC
-_02068C9E:
- b _02068DD4
-_02068CA0:
- add r1, #0x4a
- cmp r0, r1
- bne _02068CA8
- b _02068DC4
-_02068CA8:
- b _02068DD4
-_02068CAA:
- cmp r2, #0x2
- bls _02068CB0
- mov r2, #0x0
-_02068CB0:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- lsr r0, r5, #0x1
- lsl r1, r2, #0x1
- add r0, #0x48
- add r0, r0, r1
- add r3, #0x92
- strh r0, [r4, #0x2]
- add r0, r3, r1
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068CC8:
- cmp r2, #0x2
- bls _02068CCE
- mov r2, #0x0
-_02068CCE:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- lsr r0, r5, #0x1
- lsl r1, r2, #0x1
- add r0, #0x4e
- add r0, r0, r1
- add r3, #0x98
- strh r0, [r4, #0x2]
- add r0, r3, r1
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068CE6:
- cmp r2, #0x1
- bls _02068CEC
- mov r2, #0x0
-_02068CEC:
- mov r0, #0x75
- add r5, #0x54
- strh r0, [r4, #0x0]
- add r0, r5, r2
- strh r0, [r4, #0x2]
- add r3, #0x9e
- lsl r0, r2, #0x1
- add r0, r3, r0
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D02:
- cmp r2, #0x1
- bls _02068D08
- mov r2, #0x0
-_02068D08:
- mov r0, #0x75
- add r5, #0x58
- strh r0, [r4, #0x0]
- add r0, r5, r2
- strh r0, [r4, #0x2]
- add r3, #0xa2
- lsl r0, r2, #0x1
- add r0, r3, r0
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D1E:
- cmp r2, #0x1
- bls _02068D24
- mov r2, #0x0
-_02068D24:
- mov r0, #0x75
- add r5, #0x5c
- strh r0, [r4, #0x0]
- add r0, r5, r2
- strh r0, [r4, #0x2]
- lsl r0, r3, #0x1
- add r0, #0xa6
- add r0, r2, r0
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D3A:
- cmp r2, #0x11
- bls _02068D40
- mov r2, #0x0
-_02068D40:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- lsr r0, r5, #0x1
- lsl r1, r2, #0x1
- add r0, #0x60
- add r0, r0, r1
- add r3, #0xaa
- strh r0, [r4, #0x2]
- add r0, r3, r1
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D58:
- cmp r2, #0x3
- bls _02068D5E
- mov r2, #0x0
-_02068D5E:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- lsl r0, r5, #0x1
- add r0, #0x40
- add r0, r2, r0
- strh r0, [r4, #0x2]
- lsl r0, r3, #0x2
- add r0, #0x8a
- add r0, r2, r0
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D76:
- cmp r2, #0x3
- bls _02068D7C
- mov r2, #0x0
-_02068D7C:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- lsr r1, r5, #0x1
- lsl r0, r2, #0x1
- add r0, r1, r0
- strh r0, [r4, #0x2]
- add r3, #0x86
- strh r3, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068D90:
- cmp r2, #0x1c
- blo _02068D96
- mov r2, #0x0
-_02068D96:
- mov r0, #0x75
- lsr r1, r5, #0x1
- strh r0, [r4, #0x0]
- add r1, #0x8
- lsl r0, r2, #0x1
- add r0, r1, r0
- strh r0, [r4, #0x2]
- add r3, #0x88
- strh r3, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068DAC:
- cmp r2, #0x1
- bls _02068DB2
- mov r2, #0x0
-_02068DB2:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- add r0, r2, #0x0
- add r0, #0x84
- strh r0, [r4, #0x2]
- add r2, #0xce
- strh r2, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068DC4:
- mov r0, #0x75
- strh r0, [r4, #0x0]
- mov r0, #0x84
- strh r0, [r4, #0x2]
- mov r0, #0xce
- strh r0, [r4, #0x4]
- pop {r4-r7}
- bx lr
-_02068DD4:
- mov r1, #0x4
- strh r1, [r4, #0x0]
- cmp r7, #0x1
- beq _02068DE0
- mov r2, #0x1
- b _02068DE2
-_02068DE0:
- mov r2, #0x0
-_02068DE2:
- mov r1, #0x6
- mul r1, r0
- add r6, r5, r1
- add r2, r6, r2
- add r1, r1, #0x4
- strh r2, [r4, #0x2]
- add r1, r3, r1
- strh r1, [r4, #0x4]
- ldr r1, _02068E10 ; =0x00000147
- cmp r0, r1
- bne _02068E06
- cmp r5, #0x2
- bne _02068E06
- strh r1, [r4, #0x6]
- mov r0, #0x0
- strb r0, [r4, #0x8]
- ldr r0, [sp, #0x18]
- str r0, [r4, #0xc]
-_02068E06:
- pop {r4-r7}
- bx lr
- nop
-_02068E0C: .word 0x000001A5
-_02068E10: .word 0x00000147
-
- thumb_func_start FUN_02068E14
-FUN_02068E14: ; 0x02068E14
- ldr r3, _02068E18 ; =FUN_02068E1C
- bx r3
- .balign 4
-_02068E18: .word FUN_02068E1C
-
- thumb_func_start FUN_02068E1C
-FUN_02068E1C: ; 0x02068E1C
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r1, #0x0
- mov r1, #0xad
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r5, #0x0
- bl FUN_020689E8
- mov r1, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- ldr r0, _02068E80 ; =0x000001EE
- cmp r4, r0
- bne _02068E62
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- ldr r1, _02068E84 ; =0x000001EA
- cmp r0, r1
- bne _02068E5E
- mov r3, #0x1
- b _02068E70
-_02068E5E:
- mov r3, #0x0
- b _02068E70
-_02068E62:
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
-_02068E70:
- str r6, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- add r2, r7, #0x0
- bl FUN_02068E88
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02068E80: .word 0x000001EE
-_02068E84: .word 0x000001EA
-
- thumb_func_start FUN_02068E88
-FUN_02068E88: ; 0x02068E88
- push {r3-r5, lr}
- ldr r4, _02068FDC ; =0x000001A5
- cmp r0, r4
- bgt _02068ED6
- bge _02068F54
- add r5, r4, #0x0
- sub r5, #0x46
- cmp r0, r5
- bgt _02068EA6
- sub r4, #0x46
- cmp r0, r4
- bge _02068F74
- cmp r0, #0xc9
- beq _02068F94
- b _02068FB8
-_02068EA6:
- add r5, r4, #0x0
- sub r5, #0x23
- cmp r0, r5
- bgt _02068EB6
- sub r4, #0x23
- cmp r0, r4
- beq _02068F84
- b _02068FB8
-_02068EB6:
- add r5, r4, #0x0
- sub r5, #0x8
- cmp r0, r5
- bgt _02068FB8
- add r5, r4, #0x0
- sub r5, #0x9
- cmp r0, r5
- blt _02068FB8
- add r5, r4, #0x0
- sub r5, #0x9
- cmp r0, r5
- beq _02068F14
- sub r4, #0x8
- cmp r0, r4
- beq _02068F26
- b _02068FB8
-_02068ED6:
- add r5, r4, #0x0
- add r5, #0x48
- cmp r0, r5
- bgt _02068EFC
- add r5, r4, #0x0
- add r5, #0x48
- cmp r0, r5
- bge _02068F62
- add r5, r4, #0x2
- cmp r0, r5
- bgt _02068FB8
- add r5, r4, #0x1
- cmp r0, r5
- blt _02068FB8
- beq _02068F38
- add r4, r4, #0x2
- cmp r0, r4
- beq _02068F46
- b _02068FB8
-_02068EFC:
- add r5, r4, #0x0
- add r5, #0x49
- cmp r0, r5
- bgt _02068F0C
- add r4, #0x49
- cmp r0, r4
- beq _02068FA6
- b _02068FB8
-_02068F0C:
- add r4, #0x4a
- cmp r0, r4
- beq _02068FB2
- b _02068FB8
-_02068F14:
- cmp r3, #0x2
- bls _02068F1A
- mov r3, #0x0
-_02068F1A:
- lsr r1, r2, #0x1
- add r1, #0x48
- lsl r0, r3, #0x1
- mov r4, #0x79
- add r3, r1, r0
- b _02068FCA
-_02068F26:
- cmp r3, #0x2
- bls _02068F2C
- mov r3, #0x0
-_02068F2C:
- lsr r1, r2, #0x1
- add r1, #0x4e
- lsl r0, r3, #0x1
- mov r4, #0x79
- add r3, r1, r0
- b _02068FCA
-_02068F38:
- cmp r3, #0x1
- bls _02068F3E
- mov r3, #0x0
-_02068F3E:
- add r2, #0x54
- mov r4, #0x79
- add r3, r2, r3
- b _02068FCA
-_02068F46:
- cmp r3, #0x1
- bls _02068F4C
- mov r3, #0x0
-_02068F4C:
- add r2, #0x58
- mov r4, #0x79
- add r3, r2, r3
- b _02068FCA
-_02068F54:
- cmp r3, #0x1
- bls _02068F5A
- mov r3, #0x0
-_02068F5A:
- add r2, #0x5c
- mov r4, #0x79
- add r3, r2, r3
- b _02068FCA
-_02068F62:
- cmp r3, #0x11
- bls _02068F68
- mov r3, #0x0
-_02068F68:
- lsr r1, r2, #0x1
- add r1, #0x60
- lsl r0, r3, #0x1
- mov r4, #0x79
- add r3, r1, r0
- b _02068FCA
-_02068F74:
- cmp r3, #0x3
- bls _02068F7A
- mov r3, #0x0
-_02068F7A:
- lsl r0, r2, #0x1
- add r0, #0x40
- mov r4, #0x79
- add r3, r3, r0
- b _02068FCA
-_02068F84:
- cmp r3, #0x3
- bls _02068F8A
- mov r3, #0x0
-_02068F8A:
- lsr r1, r2, #0x1
- lsl r0, r3, #0x1
- mov r4, #0x79
- add r3, r1, r0
- b _02068FCA
-_02068F94:
- cmp r3, #0x1c
- blo _02068F9A
- mov r3, #0x0
-_02068F9A:
- lsr r1, r2, #0x1
- add r1, #0x8
- lsl r0, r3, #0x1
- mov r4, #0x79
- add r3, r1, r0
- b _02068FCA
-_02068FA6:
- cmp r3, #0x1
- bls _02068FAC
- mov r3, #0x0
-_02068FAC:
- mov r4, #0x79
- add r3, #0x84
- b _02068FCA
-_02068FB2:
- mov r4, #0x79
- mov r3, #0x84
- b _02068FCA
-_02068FB8:
- mov r4, #0x5
- cmp r1, #0x1
- beq _02068FC2
- mov r1, #0x1
- b _02068FC4
-_02068FC2:
- mov r1, #0x0
-_02068FC4:
- lsl r0, r0, #0x2
- add r0, r2, r0
- add r3, r0, r1
-_02068FCA:
- add r0, sp, #0x0
- add r1, r4, #0x0
- add r2, r3, #0x0
- bl LoadFromNARC
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- pop {r3-r5, pc}
- nop
-_02068FDC: .word 0x000001A5
-
- thumb_func_start FUN_02068FE0
-FUN_02068FE0: ; 0x02068FE0
- push {r4, lr}
- add r4, r0, #0x0
- cmp r2, #0x2
- bne _02068FEE
- mov r0, #0x3c
- strh r0, [r4, #0x0]
- b _02068FFC
-_02068FEE:
- mov r0, #0x6
- strh r0, [r4, #0x0]
- add r0, r1, #0x0
- bl FUN_0206AA30
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
-_02068FFC:
- lsl r0, r1, #0x1
- strh r0, [r4, #0x2]
- add r0, r0, #0x1
- strh r0, [r4, #0x4]
- mov r0, #0x0
- strh r0, [r4, #0x6]
- strb r0, [r4, #0x8]
- str r0, [r4, #0xc]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02069010
-FUN_02069010: ; 0x02069010
- push {r3-r5, lr}
- sub sp, #0x20
- add r5, r1, #0x0
- mov r3, #0x1c
- add r4, r0, #0x0
- str r3, [sp, #0x0]
- add r0, sp, #0x4
- mov r1, #0x72
- mov r2, #0x0
- mul r3, r5
- bl FUN_02006548
- add r0, sp, #0xc
- add r1, r4, #0x0
- mov r2, #0x14
- bl MI_CpuCopy8
- add sp, #0x20
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02069038
-FUN_02069038: ; 0x02069038
- push {r3-r7, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- add r6, r2, #0x0
- add r5, r3, #0x0
- mov r3, #0x1c
- add r0, sp, #0x8
- add r7, r1, #0x0
- str r3, [sp, #0x0]
- add r0, #0x2
- mov r1, #0x72
- mov r2, #0x0
- mul r3, r6
- bl FUN_02006548
- cmp r5, #0x2
- bne _0206906C
- add r1, sp, #0x4
- mov r0, #0x6
- ldrsb r0, [r1, r0]
- strh r0, [r1, #0x0]
- ldrb r0, [r1, #0x7]
- strh r0, [r1, #0x2]
- ldr r0, [sp, #0x44]
- strb r0, [r1, #0x4]
- b _02069096
-_0206906C:
- ldr r0, [sp, #0x40]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02014C3C
- add r5, r0, #0x0
- cmp r5, #0x3
- blt _02069080
- bl ErrorHandling
-_02069080:
- lsl r2, r5, #0x1
- add r0, sp, #0xc
- ldrsb r1, [r0, r2]
- add r0, sp, #0x4
- strh r1, [r0, #0x0]
- add r1, sp, #0xc
- add r1, #0x1
- ldrb r1, [r1, r2]
- strh r1, [r0, #0x2]
- ldr r1, [sp, #0x44]
- strb r1, [r0, #0x4]
-_02069096:
- ldr r3, [sp, #0x48]
- add r0, r4, #0x0
- lsl r3, r3, #0x18
- add r1, r7, #0x0
- add r2, sp, #0x4
- lsr r3, r3, #0x18
- bl FUN_02014C54
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020690AC
-FUN_020690AC: ; 0x020690AC
- mov r2, #0x3c
- strh r2, [r0, #0x0]
- lsl r1, r1, #0x1
- strh r1, [r0, #0x2]
- add r1, r1, #0x1
- strh r1, [r0, #0x4]
- mov r1, #0x0
- strh r1, [r0, #0x6]
- strb r1, [r0, #0x8]
- str r1, [r0, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020690C4
-FUN_020690C4: ; 0x020690C4
- mov r0, #0xec
- bx lr
-
- thumb_func_start FUN_020690C8
-FUN_020690C8: ; 0x020690C8
- mov r0, #0x88
- bx lr
-
- thumb_func_start FUN_020690CC
-FUN_020690CC: ; 0x020690CC
- ldr r3, _020690D0 ; =FUN_020690D4
- bx r3
- .balign 4
-_020690D0: .word FUN_020690D4
-
- thumb_func_start FUN_020690D4
-FUN_020690D4: ; 0x020690D4
- push {r3, lr}
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
-
- thumb_func_start FUN_020690E4
-FUN_020690E4: ; 0x020690E4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020690E8
-FUN_020690E8: ; 0x020690E8
- push {r3-r5, lr}
- sub sp, #0x8
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x1
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x15
- bl FUN_02068678
- mov r1, #0x64
- add r5, r0, #0x0
- bl FUN_02068788
- ldr r1, [sp, #0x4]
- cmp r1, r0
- bls _02069138
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x8
- add r2, sp, #0x4
- bl FUN_02067830
-_02069138:
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- cmp r1, #0x64
- bls _02069146
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_02069146:
- add r0, r5, #0x0
- bl FUN_02068788
- ldr r1, [sp, #0x4]
- cmp r1, r0
- blo _02069162
- add r0, r4, #0x0
- mov r1, #0xa0
- add r2, sp, #0x0
- bl FUN_02067830
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r5, pc}
-_02069162:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02069168
-FUN_02069168: ; 0x02069168
- push {r4-r7, lr}
- sub sp, #0x44
- add r7, r1, #0x0
- str r0, [sp, #0x0]
- mov r6, #0x0
- add r4, r2, #0x0
- add r0, r7, #0x0
- mov r1, #0x5
- add r2, r6, #0x0
- str r3, [sp, #0x4]
- ldr r5, [sp, #0x58]
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x2c]
- add r0, r7, #0x0
- mov r1, #0x6
- add r2, r6, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- add r1, r6, #0x0
- str r0, [sp, #0x28]
- add r0, r7, #0x0
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x30]
- add r0, r7, #0x0
- mov r1, #0x14
- add r2, r6, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x10]
- ldr r1, _020694A0 ; =0xFFFF0000
- ldr r0, [sp, #0x30]
- add r2, r6, #0x0
- and r0, r1
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x28]
- mov r1, #0x1
- bl FUN_0206E7B8
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r0, [sp, #0x2c]
- cmp r0, #0x40
- beq _020691E4
- cmp r1, #0x3f
- bne _020691E4
- cmp r4, #0x3
- beq _020691E4
- add sp, #0x44
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_020691E4:
- cmp r5, #0x0
- bne _020691EA
- add r5, sp, #0x40
-_020691EA:
- mov r0, #0x0
- mov r1, #0x2a
- bl FUN_02016998
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x2c]
- ldr r1, [sp, #0x18]
- bl FUN_0206A394
- cmp r4, #0x3
- bls _02069202
- b _0206954A
-_02069202:
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206920E: ; jump table (using 16-bit offset)
- .short _02069216 - _0206920E - 2; case 0
- .short _02069486 - _0206920E - 2; case 1
- .short _020694BE - _0206920E - 2; case 2
- .short _020694BE - _0206920E - 2; case 3
-_02069216:
- add r0, r7, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x14]
- add r0, r7, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x20]
- mov r0, #0x0
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x1c]
- mov r1, #0xa
- ldr r4, [sp, #0x18]
- bl _s32_div_f
- str r1, [sp, #0x8]
-_02069246:
- ldrh r0, [r4, #0x0]
- cmp r0, #0x1a
- bls _0206924E
- b _02069472
-_0206924E:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206925A: ; jump table (using 16-bit offset)
- .short _02069472 - _0206925A - 2; case 0
- .short _02069290 - _0206925A - 2; case 1
- .short _0206929E - _0206925A - 2; case 2
- .short _020692B4 - _0206925A - 2; case 3
- .short _020692CA - _0206925A - 2; case 4
- .short _02069472 - _0206925A - 2; case 5
- .short _02069472 - _0206925A - 2; case 6
- .short _02069472 - _0206925A - 2; case 7
- .short _020692DA - _0206925A - 2; case 8
- .short _02069306 - _0206925A - 2; case 9
- .short _02069332 - _0206925A - 2; case 10
- .short _0206935E - _0206925A - 2; case 11
- .short _02069376 - _0206925A - 2; case 12
- .short _0206938C - _0206925A - 2; case 13
- .short _0206939C - _0206925A - 2; case 14
- .short _020693A2 - _0206925A - 2; case 15
- .short _02069472 - _0206925A - 2; case 16
- .short _02069472 - _0206925A - 2; case 17
- .short _020693B2 - _0206925A - 2; case 18
- .short _020693CA - _0206925A - 2; case 19
- .short _020693E2 - _0206925A - 2; case 20
- .short _020693F6 - _0206925A - 2; case 21
- .short _0206940E - _0206925A - 2; case 22
- .short _0206942C - _0206925A - 2; case 23
- .short _0206944A - _0206925A - 2; case 24
- .short _02069458 - _0206925A - 2; case 25
- .short _02069466 - _0206925A - 2; case 26
-_02069290:
- ldr r0, [sp, #0x20]
- cmp r0, #0xdc
- blo _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _02069472
-_0206929E:
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0206936C
- ldr r0, [sp, #0x20]
- cmp r0, #0xdc
- blo _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02069472
-_020692B4:
- bl FUN_0201277C
- cmp r0, #0x1
- bne _0206936C
- ldr r0, [sp, #0x20]
- cmp r0, #0xdc
- blo _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _02069472
-_020692CA:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02069472
-_020692DA:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _0206936C
- add r0, r7, #0x0
- mov r1, #0xa4
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x34]
- add r0, r7, #0x0
- mov r1, #0xa5
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x34]
- cmp r1, r0
- bls _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x8
- str r0, [r5, #0x0]
- b _02069472
-_02069306:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _0206936C
- add r0, r7, #0x0
- mov r1, #0xa4
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x38]
- add r0, r7, #0x0
- mov r1, #0xa5
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x38]
- cmp r1, r0
- bne _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0x9
- str r0, [r5, #0x0]
- b _02069472
-_02069332:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _0206936C
- add r0, r7, #0x0
- mov r1, #0xa4
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x3c]
- add r0, r7, #0x0
- mov r1, #0xa5
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x3c]
- cmp r1, r0
- bhs _0206936C
- ldrh r6, [r4, #0x4]
- mov r0, #0xa
- str r0, [r5, #0x0]
- b _02069472
-_0206935E:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _0206936C
- ldr r0, [sp, #0x8]
- cmp r0, #0x5
- blt _0206936E
-_0206936C:
- b _02069472
-_0206936E:
- ldrh r6, [r4, #0x4]
- mov r0, #0xb
- str r0, [r5, #0x0]
- b _02069472
-_02069376:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _02069472
- ldr r0, [sp, #0x8]
- cmp r0, #0x5
- blt _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0xc
- str r0, [r5, #0x0]
- b _02069472
-_0206938C:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0xd
- str r0, [r5, #0x0]
- b _02069472
-_0206939C:
- mov r0, #0xe
- str r0, [r5, #0x0]
- b _02069472
-_020693A2:
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- bgt _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0xf
- str r0, [r5, #0x0]
- b _02069472
-_020693B2:
- bl FUN_0201277C
- cmp r0, #0x0
- bne _02069472
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x28]
- cmp r0, r1
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x12
- str r0, [r5, #0x0]
- b _02069472
-_020693CA:
- bl FUN_0201277C
- cmp r0, #0x1
- bne _02069472
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x28]
- cmp r0, r1
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x13
- str r0, [r5, #0x0]
- b _02069472
-_020693E2:
- ldrh r1, [r4, #0x2]
- add r0, r7, #0x0
- bl FUN_02069A38
- cmp r0, #0x1
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x14
- str r0, [r5, #0x0]
- b _02069472
-_020693F6:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02069472
- ldrh r1, [r4, #0x2]
- bl FUN_0206BAE4
- cmp r0, #0x1
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x15
- str r0, [r5, #0x0]
- b _02069472
-_0206940E:
- add r0, r7, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02069472
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x16
- str r0, [r5, #0x0]
- b _02069472
-_0206942C:
- add r0, r7, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _02069472
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bgt _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x17
- str r0, [r5, #0x0]
- b _02069472
-_0206944A:
- ldr r1, [sp, #0x4]
- cmp r1, r0
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x18
- str r0, [r5, #0x0]
- b _02069472
-_02069458:
- ldr r1, [sp, #0x4]
- cmp r1, r0
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x19
- str r0, [r5, #0x0]
- b _02069472
-_02069466:
- ldr r1, [sp, #0x4]
- cmp r1, r0
- bne _02069472
- ldrh r6, [r4, #0x4]
- mov r0, #0x1a
- str r0, [r5, #0x0]
-_02069472:
- cmp r6, #0x0
- bne _0206954A
- ldr r0, [sp, #0x24]
- add r4, r4, #0x6
- add r0, r0, #0x1
- str r0, [sp, #0x24]
- cmp r0, #0x7
- bge _02069484
- b _02069246
-_02069484:
- b _0206954A
-_02069486:
- ldr r3, [sp, #0x18]
- mov r4, #0x0
- mov r7, #0x6
- mov r2, #0x5
-_0206948E:
- ldrh r0, [r3, #0x0]
- cmp r0, #0x5
- beq _0206949A
- cmp r0, #0x6
- beq _020694A4
- b _020694B0
-_0206949A:
- ldrh r6, [r3, #0x4]
- str r2, [r5, #0x0]
- b _020694B0
- .balign 4
-_020694A0: .word 0xFFFF0000
-_020694A4:
- ldrh r1, [r3, #0x2]
- ldr r0, [sp, #0x28]
- cmp r0, r1
- bne _020694B0
- ldrh r6, [r3, #0x4]
- str r7, [r5, #0x0]
-_020694B0:
- cmp r6, #0x0
- bne _0206954A
- add r4, r4, #0x1
- add r3, r3, #0x6
- cmp r4, #0x7
- blt _0206948E
- b _0206954A
-_020694BE:
- mov r0, #0x0
- ldr r4, [sp, #0x18]
- str r0, [sp, #0xc]
-_020694C4:
- ldrh r2, [r4, #0x0]
- cmp r2, #0x7
- bne _020694E4
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x4]
- cmp r0, r1
- bne _020694E4
- ldr r0, [sp, #0xc]
- mov r1, #0x6
- mul r1, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- ldrh r6, [r0, #0x4]
- mov r0, #0x0
- str r0, [r5, #0x0]
- b _0206954A
-_020694E4:
- cmp r2, #0x10
- bne _02069510
- add r0, r7, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02069510
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x4]
- cmp r0, r1
- bne _02069510
- ldr r0, [sp, #0xc]
- mov r1, #0x6
- mul r1, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- ldrh r6, [r0, #0x4]
- mov r0, #0x0
- str r0, [r5, #0x0]
- b _0206954A
-_02069510:
- ldrh r0, [r4, #0x0]
- cmp r0, #0x11
- bne _0206953E
- add r0, r7, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _0206953E
- ldrh r1, [r4, #0x2]
- ldr r0, [sp, #0x4]
- cmp r0, r1
- bne _0206953E
- ldr r0, [sp, #0xc]
- mov r1, #0x6
- mul r1, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- ldrh r6, [r0, #0x4]
- mov r0, #0x0
- str r0, [r5, #0x0]
- b _0206954A
-_0206953E:
- ldr r0, [sp, #0xc]
- add r4, r4, #0x6
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- cmp r0, #0x7
- blt _020694C4
-_0206954A:
- ldr r0, [sp, #0x18]
- bl FUN_02016A18
- add r0, r6, #0x0
- add sp, #0x44
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02069558
-FUN_02069558: ; 0x02069558
- push {r3-r4, lr}
- sub sp, #0x4c
- add r4, r0, #0x0
- mov r1, #0x0
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- ldr r0, _020695A0 ; =0x000001EE
- cmp r4, r0
- blo _0206956E
- bl ErrorHandling
-_0206956E:
- add r0, sp, #0x4
- bl FS_InitFile
- ldr r1, _020695A4 ; =0x02105FC8
- add r0, sp, #0x4
- bl FS_OpenFile
- add r0, sp, #0x4
- lsl r1, r4, #0x1
- mov r2, #0x0
- bl FS_SeekFile
- add r0, sp, #0x4
- add r1, sp, #0x0
- mov r2, #0x2
- bl FS_ReadFile
- add r0, sp, #0x4
- bl FS_CloseFile
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- add sp, #0x4c
- pop {r3-r4, pc}
- nop
-_020695A0: .word 0x000001EE
-_020695A4: .word 0x02105FC8
-
- thumb_func_start FUN_020695A8
-FUN_020695A8: ; 0x020695A8
- push {r3, lr}
- cmp r0, #0xb9
- bgt _020695CC
- cmp r0, #0xb7
- blt _020695BA
- beq _020695EC
- cmp r0, #0xb9
- beq _020695EC
- b _020695E8
-_020695BA:
- cmp r0, #0x7a
- bgt _020695C6
- bge _020695EC
- cmp r0, #0x71
- beq _020695EC
- b _020695E8
-_020695C6:
- cmp r0, #0x8f
- beq _020695EC
- b _020695E8
-_020695CC:
- cmp r0, #0xe2
- bgt _020695D8
- bge _020695EC
- cmp r0, #0xca
- beq _020695EC
- b _020695E8
-_020695D8:
- ldr r1, _020695F0 ; =0x0000013B
- cmp r0, r1
- bgt _020695E2
- beq _020695EC
- b _020695E8
-_020695E2:
- add r1, #0x2b
- cmp r0, r1
- beq _020695EC
-_020695E8:
- bl FUN_02069558
-_020695EC:
- pop {r3, pc}
- nop
-_020695F0: .word 0x0000013B
-
- thumb_func_start FUN_020695F4
-FUN_020695F4: ; 0x020695F4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x0
- mov r1, #0x2c
- bl FUN_02016998
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02066A6C
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020687C8
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r2, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02069F9C
- ldr r0, [sp, #0x0]
- ldrh r1, [r0, #0x0]
- ldr r0, _02069690 ; =0x0000FFFF
- cmp r1, r0
- beq _0206967C
- ldr r4, [sp, #0x0]
- lsl r7, r6, #0x9
-_02069648:
- ldrh r1, [r4, #0x0]
- mov r0, #0xfe
- lsl r0, r0, #0x8
- and r0, r1
- cmp r0, r7
- bgt _0206967C
- ldr r0, _02069694 ; =0x000001FF
- and r0, r1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020696A8
- ldr r1, _02069690 ; =0x0000FFFF
- cmp r0, r1
- bne _02069672
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02069718
-_02069672:
- add r4, r4, #0x2
- ldrh r1, [r4, #0x0]
- ldr r0, _02069690 ; =0x0000FFFF
- cmp r1, r0
- bne _02069648
-_0206967C:
- ldr r0, [sp, #0x0]
- bl FUN_02016A18
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02066A94
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02069690: .word 0x0000FFFF
-_02069694: .word 0x000001FF
-
- thumb_func_start FUN_02069698
-FUN_02069698: ; 0x02069698
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020690E4
- add r1, r4, #0x0
- bl FUN_020696A8
- pop {r4, pc}
-
- thumb_func_start FUN_020696A8
-FUN_020696A8: ; 0x020696A8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- ldr r1, _02069700 ; =0x0000FFFF
- add r6, r0, #0x0
- str r1, [sp, #0x4]
- bl FUN_02066A6C
- mov r4, #0x0
- str r0, [sp, #0x0]
- add r7, r4, #0x0
-_020696BE:
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x36
- add r2, r7, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _020696E0
- lsl r2, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_020697D4
- str r5, [sp, #0x4]
- b _020696F0
-_020696E0:
- cmp r0, r5
- bne _020696EA
- ldr r0, _02069704 ; =0x0000FFFE
- str r0, [sp, #0x4]
- b _020696F0
-_020696EA:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _020696BE
-_020696F0:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_02066A94
- ldr r0, [sp, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02069700: .word 0x0000FFFF
-_02069704: .word 0x0000FFFE
-
- thumb_func_start FUN_02069708
-FUN_02069708: ; 0x02069708
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020690E4
- add r1, r4, #0x0
- bl FUN_02069718
- pop {r4, pc}
-
- thumb_func_start FUN_02069718
-FUN_02069718: ; 0x02069718
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_02066A6C
- str r0, [sp, #0xc]
- add r0, sp, #0x18
- mov r4, #0x0
- str r0, [sp, #0x4]
- add r7, sp, #0x14
- add r6, sp, #0x10
-_02069730:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x37
- mov r2, #0x0
- bl FUN_020672BC
- ldr r1, [sp, #0x4]
- mov r2, #0x0
- strh r0, [r1, #0x0]
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3b
- bl FUN_020672BC
- add r1, r4, #0x0
- strb r0, [r7, #0x0]
- add r0, r5, #0x0
- add r1, #0x3f
- mov r2, #0x0
- bl FUN_020672BC
- strb r0, [r6, #0x0]
- ldr r0, [sp, #0x4]
- add r4, r4, #0x1
- add r0, r0, #0x2
- str r0, [sp, #0x4]
- add r7, r7, #0x1
- add r6, r6, #0x1
- cmp r4, #0x3
- blt _02069730
- ldr r0, [sp, #0x0]
- add r1, sp, #0x10
- strh r0, [r1, #0xe]
- ldr r0, [sp, #0x0]
- mov r1, #0x5
- bl FUN_0206AB18
- add r1, sp, #0x10
- strb r0, [r1, #0x7]
- mov r4, #0x0
- add r0, sp, #0x18
- strb r4, [r1, #0x3]
- str r0, [sp, #0x8]
- add r7, sp, #0x14
- add r6, sp, #0x10
-_0206978A:
- add r1, r4, #0x0
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- add r1, #0x36
- bl FUN_02067960
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- add r2, r7, #0x0
- bl FUN_02067960
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3e
- add r2, r6, #0x0
- bl FUN_02067960
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r0, r0, #0x2
- str r0, [sp, #0x8]
- add r7, r7, #0x1
- add r6, r6, #0x1
- cmp r4, #0x4
- blt _0206978A
- ldr r1, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_02066A94
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020697CC
-FUN_020697CC: ; 0x020697CC
- ldr r3, _020697D0 ; =FUN_020697D4
- bx r3
- .balign 4
-_020697D0: .word FUN_020697D4
-
- thumb_func_start FUN_020697D4
-FUN_020697D4: ; 0x020697D4
- push {r0-r3}
- push {r3-r5, lr}
- add r4, r2, #0x0
- add r1, r4, #0x0
- add r1, #0x36
- add r2, sp, #0x14
- add r5, r0, #0x0
- bl FUN_02067960
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3e
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- add r0, sp, #0x10
- ldrh r0, [r0, #0x4]
- bl FUN_0206AB30
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- add r4, #0x3a
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0x0
- bl FUN_02067960
- pop {r3-r5}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-
- thumb_func_start FUN_02069818
-FUN_02069818: ; 0x02069818
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x0
- mov r1, #0x2c
- str r2, [sp, #0x0]
- str r0, [sp, #0x8]
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- add r0, r7, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0xc]
- add r2, r4, #0x0
- bl FUN_02069F9C
- ldr r0, [r5, #0x0]
- lsl r0, r0, #0x1
- ldrh r2, [r4, r0]
- ldr r0, _020698D8 ; =0x0000FFFF
- cmp r2, r0
- bne _0206987A
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206987A:
- mov r0, #0xfe
- lsl r0, r0, #0x8
- add r3, r2, #0x0
- and r3, r0
- lsl r6, r6, #0x9
- cmp r6, r3
- beq _020698AC
- ldr r1, _020698D8 ; =0x0000FFFF
-_0206988A:
- ldr r2, [r5, #0x0]
- add r2, r2, #0x1
- str r2, [r5, #0x0]
- lsl r2, r2, #0x1
- ldrh r2, [r4, r2]
- cmp r2, r1
- bne _020698A4
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_020698A4:
- add r3, r2, #0x0
- and r3, r0
- cmp r6, r3
- bne _0206988A
-_020698AC:
- cmp r6, r3
- bne _020698CC
- ldr r0, _020698DC ; =0x000001FF
- add r1, r2, #0x0
- and r1, r0
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- ldrh r1, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02069698
- str r0, [sp, #0x8]
-_020698CC:
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x8]
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_020698D8: .word 0x0000FFFF
-_020698DC: .word 0x000001FF
-
- thumb_func_start FUN_020698E0
-FUN_020698E0: ; 0x020698E0
- ldr r3, _020698E4 ; =FUN_020698E8
- bx r3
- .balign 4
-_020698E4: .word FUN_020698E8
-
- thumb_func_start FUN_020698E8
-FUN_020698E8: ; 0x020698E8
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r1, #0x36
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strh r0, [r1, #0x4]
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- mov r2, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strb r0, [r1, #0x2]
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3e
- mov r2, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- add r1, r6, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strh r0, [r1, #0x6]
- add r1, r6, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- mov r2, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strb r0, [r1, #0x3]
- add r1, r6, #0x0
- add r0, r5, #0x0
- add r1, #0x3e
- mov r2, #0x0
- bl FUN_020672BC
- add r1, sp, #0x0
- strb r0, [r1, #0x1]
- add r1, r4, #0x0
- add r2, sp, #0x4
- add r0, r5, #0x0
- add r1, #0x36
- add r2, #0x2
- bl FUN_02067960
- add r1, r4, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- add r2, #0x3
- bl FUN_02067960
- add r4, #0x3e
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, #0x1
- bl FUN_02067960
- add r1, r6, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- add r2, sp, #0x4
- bl FUN_02067960
- add r1, r6, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- add r2, #0x2
- bl FUN_02067960
- add r6, #0x3e
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, sp, #0x0
- bl FUN_02067960
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020699A4
-FUN_020699A4: ; 0x020699A4
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- bhs _02069A0A
- mov r7, #0x0
- add r6, sp, #0x0
-_020699B2:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x37
- add r2, r7, #0x0
- bl FUN_020671BC
- add r1, r4, #0x0
- strh r0, [r6, #0x2]
- add r0, r5, #0x0
- add r1, #0x3b
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r4, #0x0
- strb r0, [r6, #0x1]
- add r0, r5, #0x0
- add r1, #0x3f
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r4, #0x0
- add r2, sp, #0x0
- strb r0, [r6, #0x0]
- add r0, r5, #0x0
- add r1, #0x36
- add r2, #0x2
- bl FUN_02067830
- add r1, r4, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- add r2, #0x1
- bl FUN_02067830
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x3e
- add r2, sp, #0x0
- bl FUN_02067830
- add r4, r4, #0x1
- cmp r4, #0x3
- blo _020699B2
-_02069A0A:
- mov r1, #0x0
- add r0, sp, #0x0
- strh r1, [r0, #0x2]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x0]
- add r2, sp, #0x0
- add r0, r5, #0x0
- mov r1, #0x39
- add r2, #0x2
- bl FUN_02067830
- add r2, sp, #0x0
- add r0, r5, #0x0
- mov r1, #0x3d
- add r2, #0x1
- bl FUN_02067830
- add r0, r5, #0x0
- mov r1, #0x41
- add r2, sp, #0x0
- bl FUN_02067830
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02069A38
-FUN_02069A38: ; 0x02069A38
- push {r3-r7, lr}
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r7, r4, #0x0
-_02069A42:
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x36
- add r2, r7, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02069A58
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _02069A42
-_02069A58:
- cmp r4, #0x4
- beq _02069A60
- mov r0, #0x1
- pop {r3-r7, pc}
-_02069A60:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02069A64
-FUN_02069A64: ; 0x02069A64
- push {r4-r5, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r3, r4, #0x0
- mov r2, #0x11
-_02069A74:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02069A74
- ldrh r1, [r4, #0x4]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1f
- beq _02069A8E
- mov r0, #0x1
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strh r0, [r4, #0x4]
-_02069A8E:
- add r0, r4, #0x0
- mov r1, #0x9f
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r4, #0x0
- mov r1, #0xa2
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r4, #0x0
- mov r1, #0xa3
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- bl FUN_020256BC
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xa9
- add r2, r5, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- mov r1, #0xa1
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add r1, sp, #0x4
- mov r2, #0x18
- bl MIi_CpuClearFast
- add r0, r4, #0x0
- mov r1, #0xaa
- add r2, sp, #0x4
- bl FUN_02067830
- add r0, r4, #0x0
- bl FUN_02066ED8
- add sp, #0x1c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02069AEC
-FUN_02069AEC: ; 0x02069AEC
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_0206B9AC
- add r7, r0, #0x0
- mov r6, #0x1
- mov r5, #0x0
- cmp r7, #0x0
- ble _02069B3C
-_02069AFE:
- ldr r0, [sp, #0x0]
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069B36
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02069B36
- add r0, r4, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r6
- bls _02069B36
- add r6, r0, #0x0
-_02069B36:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02069AFE
-_02069B3C:
- add r0, r6, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02069B40
-FUN_02069B40: ; 0x02069B40
- push {r3, lr}
- sub sp, #0x8
- add r3, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0x4
- mov r1, #0x6d
- mov r2, #0x0
- lsl r3, r3, #0x1
- bl FUN_02006548
- add r0, sp, #0x4
- ldrh r0, [r0, #0x0]
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02069B60
-FUN_02069B60: ; 0x02069B60
- push {r3, lr}
- sub sp, #0x8
- add r3, r0, #0x0
- mov r2, #0x0
- add r0, sp, #0x4
- strh r2, [r0, #0x0]
- cmp r3, #0x97
- bhi _02069B7E
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0x4
- mov r1, #0x91
- lsl r3, r3, #0x1
- bl FUN_02006548
-_02069B7E:
- add r0, sp, #0x4
- ldrh r0, [r0, #0x0]
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02069B88
-FUN_02069B88: ; 0x02069B88
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0x1d
-_02069B90:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02069B90
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02069BA0
-FUN_02069BA0: ; 0x02069BA0
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0x11
-_02069BA8:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02069BA8
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02069BB4
-FUN_02069BB4: ; 0x02069BB4
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0x11
-_02069BBC:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02069BBC
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02069BC8
-FUN_02069BC8: ; 0x02069BC8
- ldr r3, _02069BCC ; =FUN_02069BD0
- bx r3
- .balign 4
-_02069BCC: .word FUN_02069BD0
-
- thumb_func_start FUN_02069BD0
-FUN_02069BD0: ; 0x02069BD0
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r1, r4, #0x0
- bl FUN_02069BE4
- pop {r4, pc}
-
- thumb_func_start FUN_02069BE4
-FUN_02069BE4: ; 0x02069BE4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02068884
- lsl r1, r0, #0x2
- add r1, r0, r1
- ldr r0, _02069BF8 ; =0x020F7F16
- add r0, r0, r1
- ldrsb r0, [r4, r0]
- pop {r4, pc}
- .balign 4
-_02069BF8: .word 0x020F7F16
-
- thumb_func_start FUN_02069BFC
-FUN_02069BFC: ; 0x02069BFC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r7, r1, #0x0
- mov r0, #0x0
- mov r1, #0x2c
- add r5, r2, #0x0
- bl FUN_02016998
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02069F9C
- ldrh r1, [r6, #0x0]
- ldr r0, _02069C44 ; =0x0000FFFF
- mov r4, #0x0
- cmp r1, r0
- beq _02069C3A
- ldr r1, _02069C48 ; =0x000001FF
- ldr r2, _02069C44 ; =0x0000FFFF
- add r0, r6, #0x0
-_02069C28:
- ldrh r3, [r0, #0x0]
- add r0, r0, #0x2
- add r4, r4, #0x1
- and r3, r1
- strh r3, [r5, #0x0]
- ldrh r3, [r0, #0x0]
- add r5, r5, #0x2
- cmp r3, r2
- bne _02069C28
-_02069C3A:
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02069C44: .word 0x0000FFFF
-_02069C48: .word 0x000001FF
-
- thumb_func_start FUN_02069C4C
-FUN_02069C4C: ; 0x02069C4C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_0206B9AC
- add r6, r0, #0x0
- bl rand_LC
- mov r1, #0x1
- lsl r1, r1, #0xe
- cmp r0, r1
- beq _02069C70
- lsl r1, r1, #0x1
- cmp r0, r1
- beq _02069C70
- mov r1, #0x3
- lsl r1, r1, #0xe
- cmp r0, r1
- bne _02069CF2
-_02069C70:
- bl rand_LC
- add r1, r6, #0x0
- bl _s32_div_f
- add r0, r5, #0x0
- add r7, r1, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069C70
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02069C70
- add r0, r7, #0x0
- bl FUN_0206A92C
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_02069CF4
- cmp r0, #0x0
- bne _02069CF2
- add r5, sp, #0x0
- mov r6, #0x7
-_02069CB8:
- bl rand_LC
- strb r0, [r5, #0x0]
- ldrb r2, [r5, #0x0]
- add r1, r2, #0x0
- and r1, r6
- beq _02069CB8
- mov r0, #0xf0
- tst r0, r2
- beq _02069CD0
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
-_02069CD0:
- add r1, sp, #0x0
- ldrb r2, [r1, #0x0]
- lsl r0, r2, #0x4
- orr r0, r2
- strb r0, [r1, #0x0]
- ldrb r2, [r1, #0x0]
- mov r0, #0xf3
- and r0, r2
- strb r0, [r1, #0x0]
- ldrb r0, [r1, #0x0]
- add r2, sp, #0x0
- add r0, r0, #0x1
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x99
- bl FUN_02067830
-_02069CF2:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02069CF4
-FUN_02069CF4: ; 0x02069CF4
- push {r3-r7, lr}
- mov r6, #0x0
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- mov r4, #0x1
- add r7, r6, #0x0
- cmp r5, #0x0
- beq _02069D32
-_02069D04:
- mov r0, #0x1
- tst r0, r5
- beq _02069D26
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x99
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069D26
- add r0, r7, #0x0
- orr r0, r4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-_02069D26:
- lsl r0, r5, #0x17
- add r6, r6, #0x1
- lsl r4, r4, #0x1
- lsr r5, r0, #0x18
- bne _02069D04
- b _02069D4A
-_02069D32:
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x99
- add r2, r6, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069D4A
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-_02069D4A:
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02069D50
-FUN_02069D50: ; 0x02069D50
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- bl FUN_0206B9AC
- mov r6, #0x0
- str r0, [sp, #0x4]
- cmp r0, #0x0
- ble _02069DC2
- add r4, sp, #0x8
-_02069D66:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r7, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069DBA
- add r0, r7, #0x0
- mov r1, #0x99
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r4, #0x0]
- ldrb r1, [r4, #0x0]
- mov r0, #0xf
- and r0, r1
- beq _02069DBA
- cmp r0, r5
- blt _02069D98
- cmp r5, #0x4
- ble _02069DA2
-_02069D98:
- ldrb r1, [r4, #0x0]
- mov r0, #0xf0
- and r0, r1
- strb r0, [r4, #0x0]
- b _02069DA6
-_02069DA2:
- sub r0, r1, r5
- strb r0, [r4, #0x0]
-_02069DA6:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02069DB0
- mov r0, #0x10
- strb r0, [r4, #0x0]
-_02069DB0:
- add r0, r7, #0x0
- mov r1, #0x99
- add r2, sp, #0x8
- bl FUN_02067830
-_02069DBA:
- ldr r0, [sp, #0x4]
- add r6, r6, #0x1
- cmp r6, r0
- blt _02069D66
-_02069DC2:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02069DC8
-FUN_02069DC8: ; 0x02069DC8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_0206B9AC
- add r7, r0, #0x0
- bl rand_LC
- mov r1, #0x3
- bl _s32_div_f
- cmp r1, #0x0
- bne _02069E70
- mov r4, #0x0
- cmp r7, #0x0
- ble _02069E70
- sub r0, r7, #0x1
- str r0, [sp, #0x0]
-_02069DEC:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02069E6A
- add r0, r6, #0x0
- mov r1, #0x99
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x4
- strb r0, [r1, #0x0]
- add r0, r1, #0x0
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- tst r0, r1
- beq _02069E6A
- cmp r4, #0x0
- beq _02069E40
- add r0, r5, #0x0
- sub r1, r4, #0x1
- bl FUN_0206B9B0
- mov r1, #0x99
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- mov r1, #0xf0
- tst r0, r1
- bne _02069E40
- add r0, r6, #0x0
- mov r1, #0x99
- add r2, sp, #0x4
- bl FUN_02067830
-_02069E40:
- ldr r0, [sp, #0x0]
- cmp r4, r0
- bge _02069E6A
- add r0, r5, #0x0
- add r1, r4, #0x1
- bl FUN_0206B9B0
- mov r1, #0x99
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- mov r1, #0xf0
- tst r0, r1
- bne _02069E6A
- add r0, r6, #0x0
- mov r1, #0x99
- add r2, sp, #0x4
- bl FUN_02067830
- add r4, r4, #0x1
-_02069E6A:
- add r4, r4, #0x1
- cmp r4, r7
- blt _02069DEC
-_02069E70:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02069E74
-FUN_02069E74: ; 0x02069E74
- ldr r3, _02069E78 ; =FUN_02069E7C
- bx r3
- .balign 4
-_02069E78: .word FUN_02069E7C
-
- thumb_func_start FUN_02069E7C
-FUN_02069E7C: ; 0x02069E7C
- push {r3, lr}
- mov r1, #0x99
- mov r2, #0x0
- bl FUN_020672BC
- mov r1, #0xf
- tst r0, r1
- beq _02069E90
- mov r0, #0x1
- pop {r3, pc}
-_02069E90:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02069E94
-FUN_02069E94: ; 0x02069E94
- ldr r3, _02069E98 ; =FUN_02069E9C
- bx r3
- .balign 4
-_02069E98: .word FUN_02069E9C
-
- thumb_func_start FUN_02069E9C
-FUN_02069E9C: ; 0x02069E9C
- push {r3, lr}
- mov r1, #0x99
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0xf
- tst r0, r1
- beq _02069EB4
- mov r0, #0x0
- pop {r3, pc}
-_02069EB4:
- mov r0, #0xf0
- tst r0, r1
- beq _02069EBE
- mov r0, #0x1
- pop {r3, pc}
-_02069EBE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02069EC4
-FUN_02069EC4: ; 0x02069EC4
- ldr r3, _02069EC8 ; =FUN_02069ECC
- bx r3
- .balign 4
-_02069EC8: .word FUN_02069ECC
-
- thumb_func_start FUN_02069ECC
-FUN_02069ECC: ; 0x02069ECC
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa
- mov r2, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020672BC
- ldr r1, _02069F20 ; =0x000001ED
- cmp r4, r1
- bne _02069F1C
- cmp r6, #0x79
- bne _02069F1C
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0206E7B8
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069F24
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x70
- add r2, sp, #0x0
- bl FUN_02067960
-_02069F1C:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02069F20: .word 0x000001ED
-
- thumb_func_start FUN_02069F24
-FUN_02069F24: ; 0x02069F24
- sub r0, #0x7d
- cmp r0, #0xf
- bhi _02069F96
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02069F36: ; jump table (using 16-bit offset)
- .short _02069F56 - _02069F36 - 2; case 0
- .short _02069F5A - _02069F36 - 2; case 1
- .short _02069F5E - _02069F36 - 2; case 2
- .short _02069F62 - _02069F36 - 2; case 3
- .short _02069F66 - _02069F36 - 2; case 4
- .short _02069F6A - _02069F36 - 2; case 5
- .short _02069F6E - _02069F36 - 2; case 6
- .short _02069F72 - _02069F36 - 2; case 7
- .short _02069F76 - _02069F36 - 2; case 8
- .short _02069F7A - _02069F36 - 2; case 9
- .short _02069F7E - _02069F36 - 2; case 10
- .short _02069F82 - _02069F36 - 2; case 11
- .short _02069F86 - _02069F36 - 2; case 12
- .short _02069F8A - _02069F36 - 2; case 13
- .short _02069F8E - _02069F36 - 2; case 14
- .short _02069F92 - _02069F36 - 2; case 15
-_02069F56:
- mov r0, #0xa
- bx lr
-_02069F5A:
- mov r0, #0xb
- bx lr
-_02069F5E:
- mov r0, #0xd
- bx lr
-_02069F62:
- mov r0, #0xc
- bx lr
-_02069F66:
- mov r0, #0xf
- bx lr
-_02069F6A:
- mov r0, #0x1
- bx lr
-_02069F6E:
- mov r0, #0x3
- bx lr
-_02069F72:
- mov r0, #0x4
- bx lr
-_02069F76:
- mov r0, #0x2
- bx lr
-_02069F7A:
- mov r0, #0xe
- bx lr
-_02069F7E:
- mov r0, #0x6
- bx lr
-_02069F82:
- mov r0, #0x5
- bx lr
-_02069F86:
- mov r0, #0x7
- bx lr
-_02069F8A:
- mov r0, #0x10
- bx lr
-_02069F8E:
- mov r0, #0x11
- bx lr
-_02069F92:
- mov r0, #0x8
- bx lr
-_02069F96:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02069F9C
-FUN_02069F9C: ; 0x02069F9C
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_0206A8FC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x21
- bl LoadFromNARC
- pop {r4, pc}
-
- thumb_func_start FUN_02069FB0
-FUN_02069FB0: ; 0x02069FB0
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _0206A010 ; =0x000001B9
- add r4, r2, #0x0
- add r5, r1, #0x0
- add r6, r3, #0x0
- cmp r4, r0
- bne _02069FFC
- add r0, r5, #0x0
- bl FUN_02005F14
- cmp r0, #0x0
- bne _02069FE2
- mov r0, #0x1
- bl FUN_02005E80
- ldr r0, [sp, #0x20]
- ldr r3, [sp, #0x18]
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020056AC
- pop {r3-r7, pc}
-_02069FE2:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- beq _02069FEE
- mov r0, #0x1
- bl FUN_02005E80
-_02069FEE:
- ldr r2, [sp, #0x18]
- add r0, r7, #0x0
- mov r1, #0x0
- add r3, r6, #0x0
- bl FUN_02005E90
- pop {r3-r7, pc}
-_02069FFC:
- ldr r0, [sp, #0x20]
- ldr r3, [sp, #0x18]
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020056AC
- pop {r3-r7, pc}
- nop
-_0206A010: .word 0x000001B9
-
- thumb_func_start FUN_0206A014
-FUN_0206A014: ; 0x0206A014
- push {r3-r6, lr}
- sub sp, #0xc
- ldr r6, [sp, #0x20]
- add r5, r0, #0x0
- str r6, [sp, #0x0]
- ldr r6, [sp, #0x24]
- add r4, r2, #0x0
- str r6, [sp, #0x4]
- bl FUN_0206A054
- cmp r4, #0xe
- bne _0206A050
- add r0, r5, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0xa2
- add r2, sp, #0x8
- bl FUN_02067830
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x9f
- add r2, sp, #0x8
- bl FUN_02067830
-_0206A050:
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_0206A054
-FUN_0206A054: ; 0x0206A054
- push {r0-r3}
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r2, [sp, #0x24]
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x0
- bl FUN_020808AC
- ldr r2, _0206A090 ; =0x020ECAC0
- add r0, r4, #0x0
- mov r1, #0x79
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x9a
- add r2, sp, #0x18
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x9d
- add r2, sp, #0x20
- bl FUN_02067960
- add sp, #0x4
- pop {r3-r4}
- pop {r3}
- add sp, #0x10
- bx r3
- nop
-_0206A090: .word 0x020ECAC0
-
- thumb_func_start FUN_0206A094
-FUN_0206A094: ; 0x0206A094
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x81
- add r7, r2, #0x0
- tst r0, r1
- bne _0206A12E
- bl rand_LC
- mov r1, #0x64
- bl _s32_div_f
- add r4, r1, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- mov r2, #0x10
- bl FUN_02068654
- add r1, sp, #0x4
- strh r0, [r1, #0x2]
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- mov r2, #0x11
- bl FUN_02068654
- add r1, sp, #0x4
- strh r0, [r1, #0x0]
- ldrh r2, [r1, #0x2]
- ldrh r0, [r1, #0x0]
- cmp r2, r0
- bne _0206A104
- cmp r2, #0x0
- beq _0206A104
- add r2, sp, #0x4
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, #0x2
- bl FUN_02067830
- add sp, #0x8
- pop {r3-r7, pc}
-_0206A104:
- ldr r0, _0206A134 ; =0x020F7ECC
- lsl r1, r7, #0x2
- ldrh r0, [r0, r1]
- cmp r4, r0
- blo _0206A12E
- ldr r0, _0206A138 ; =0x020F7ECE
- ldrh r0, [r0, r1]
- cmp r4, r0
- add r2, sp, #0x4
- bhs _0206A126
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, #0x2
- bl FUN_02067830
- add sp, #0x8
- pop {r3-r7, pc}
-_0206A126:
- add r0, r5, #0x0
- mov r1, #0x6
- bl FUN_02067830
-_0206A12E:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0206A134: .word 0x020F7ECC
-_0206A138: .word 0x020F7ECE
-
- thumb_func_start FUN_0206A13C
-FUN_0206A13C: ; 0x0206A13C
- ldr r3, _0206A140 ; =FUN_0206A144
- bx r3
- .balign 4
-_0206A140: .word FUN_0206A144
-
- thumb_func_start FUN_0206A144
-FUN_0206A144: ; 0x0206A144
- push {r4-r6, lr}
- add r6, r1, #0x0
- mov r1, #0xad
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0206A16C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206A16C
-FUN_0206A16C: ; 0x0206A16C
- push {r4, lr}
- ldr r3, _0206A1C0 ; =0x000001EE
- cmp r0, r3
- bne _0206A178
- mov r0, #0x0
- pop {r4, pc}
-_0206A178:
- cmp r2, #0x20
- bhs _0206A186
- mov r3, #0x1
- add r4, r3, #0x0
- lsl r4, r2
- mov r2, #0x1d
- b _0206A1B0
-_0206A186:
- cmp r2, #0x40
- bhs _0206A196
- mov r3, #0x1
- sub r2, #0x20
- add r4, r3, #0x0
- lsl r4, r2
- mov r2, #0x1e
- b _0206A1B0
-_0206A196:
- cmp r2, #0x60
- bhs _0206A1A6
- mov r3, #0x1
- sub r2, #0x40
- add r4, r3, #0x0
- lsl r4, r2
- mov r2, #0x1f
- b _0206A1B0
-_0206A1A6:
- mov r3, #0x1
- sub r2, #0x60
- add r4, r3, #0x0
- lsl r4, r2
- mov r2, #0x20
-_0206A1B0:
- bl FUN_02068654
- tst r0, r4
- beq _0206A1BC
- mov r0, #0x1
- pop {r4, pc}
-_0206A1BC:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0206A1C0: .word 0x000001EE
-
- thumb_func_start FUN_0206A1C4
-FUN_0206A1C4: ; 0x0206A1C4
- ldr r3, _0206A1C8 ; =FUN_0206A1CC
- bx r3
- .balign 4
-_0206A1C8: .word FUN_0206A1CC
-
- thumb_func_start FUN_0206A1CC
-FUN_0206A1CC: ; 0x0206A1CC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02066A6C
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- mov r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_02068678
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_02068678
- str r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0206A226
- mov r0, #0x1
- tst r0, r6
- beq _0206A21A
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x0
- bl FUN_02067960
- b _0206A230
-_0206A21A:
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x4
- bl FUN_02067960
- b _0206A230
-_0206A226:
- add r0, r5, #0x0
- mov r1, #0xa
- add r2, sp, #0x4
- bl FUN_02067960
-_0206A230:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02066A94
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206A23C
-FUN_0206A23C: ; 0x0206A23C
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- mov r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_020669C0
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02069B88
- ldr r0, [sp, #0x4]
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- bl FUN_0206A418
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r1, [r5, #0x0]
- mov r2, #0x1
- bl FUN_0206A418
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r1, [r5, #0x0]
- mov r2, #0x2
- bl FUN_0206A418
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r1, [r5, #0x0]
- mov r2, #0x3
- bl FUN_0206A418
- str r0, [sp, #0x8]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_0206A418
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_0206A418
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x2
- bl FUN_0206A418
- str r0, [sp, #0x14]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x3
- bl FUN_0206A418
- ldr r2, [sp, #0x4]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x4]
- ldrh r2, [r2, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3D0
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3D0
- ldr r0, [sp, #0x0]
- str r0, [r5, #0x0]
- ldr r2, [sp, #0xc]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0xc]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0xc]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0xc]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0xc]
- ldr r2, [sp, #0x10]
- ldmia r6!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x10]
- ldmia r6!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x10]
- ldmia r6!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x10]
- ldmia r6!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x10]
- ldr r2, [sp, #0x14]
- ldmia r7!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x14]
- ldmia r7!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x14]
- ldmia r7!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x14]
- ldmia r7!, {r0-r1}
- stmia r2!, {r0-r1}
- str r2, [sp, #0x14]
- mov r0, #0x10
-_0206A32E:
- ldr r1, [sp, #0x8]
- ldrh r2, [r1, #0x0]
- add r1, r1, #0x2
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x18]
- strh r2, [r1, #0x0]
- add r1, r1, #0x2
- str r1, [sp, #0x18]
- sub r0, r0, #0x1
- bne _0206A32E
- add r0, r5, #0x0
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3F8
- strh r0, [r5, #0x6]
- add r0, r5, #0x0
- ldrh r2, [r5, #0x6]
- add r0, #0x8
- mov r1, #0x80
- bl FUN_0206A3A4
- add r0, r5, #0x0
- ldr r2, [r5, #0x0]
- add r0, #0x88
- mov r1, #0x64
- bl FUN_0206A3A4
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206A370
-FUN_0206A370: ; 0x0206A370
- ldr r3, _0206A37C ; =LoadFromNARC
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x2
- bx r3
- nop
-_0206A37C: .word LoadFromNARC
-
- thumb_func_start FUN_0206A380
-FUN_0206A380: ; 0x0206A380
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_0206A8FC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2
- bl LoadFromNARC
- pop {r4, pc}
-
- thumb_func_start FUN_0206A394
-FUN_0206A394: ; 0x0206A394
- ldr r3, _0206A3A0 ; =LoadFromNARC
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x22
- bx r3
- nop
-_0206A3A0: .word LoadFromNARC
-
- thumb_func_start FUN_0206A3A4
-FUN_0206A3A4: ; 0x0206A3A4
- push {r0-r3}
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- lsr r6, r1, #0x1
- beq _0206A3C6
- add r7, sp, #0x20
-_0206A3B2:
- add r0, r7, #0x0
- bl FUN_0206A3D8
- ldrh r1, [r5, #0x0]
- add r4, r4, #0x1
- eor r0, r1
- strh r0, [r5, #0x0]
- add r5, r5, #0x2
- cmp r4, r6
- blo _0206A3B2
-_0206A3C6:
- pop {r3-r7}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-
- thumb_func_start FUN_0206A3D0
-FUN_0206A3D0: ; 0x0206A3D0
- ldr r3, _0206A3D4 ; =FUN_0206A3A4
- bx r3
- .balign 4
-_0206A3D4: .word FUN_0206A3A4
-
- thumb_func_start FUN_0206A3D8
-FUN_0206A3D8: ; 0x0206A3D8
- ldr r2, [r0, #0x0]
- ldr r1, _0206A3F0 ; =0x41C64E6D
- add r3, r2, #0x0
- mul r3, r1
- ldr r1, _0206A3F4 ; =0x00006073
- add r1, r3, r1
- str r1, [r0, #0x0]
- lsr r0, r1, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
- nop
-_0206A3F0: .word 0x41C64E6D
-_0206A3F4: .word 0x00006073
-
- thumb_func_start FUN_0206A3F8
-FUN_0206A3F8: ; 0x0206A3F8
- push {r3-r4}
- mov r3, #0x0
- add r2, r3, #0x0
- lsr r4, r1, #0x1
- beq _0206A412
-_0206A402:
- ldrh r1, [r0, #0x0]
- add r2, r2, #0x1
- add r0, r0, #0x2
- add r1, r3, r1
- lsl r1, r1, #0x10
- lsr r3, r1, #0x10
- cmp r2, r4
- blo _0206A402
-_0206A412:
- add r0, r3, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206A418
-FUN_0206A418: ; 0x0206A418
- push {r3, lr}
- mov r3, #0x3e
- lsl r3, r3, #0xc
- and r3, r1
- lsr r3, r3, #0xd
- cmp r3, #0x1f
- bhi _0206A478
- add r3, r3, r3
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0206A432: ; jump table (using 16-bit offset)
- .short _0206A472 - _0206A432 - 2; case 0
- .short _0206A4A4 - _0206A432 - 2; case 1
- .short _0206A4D4 - _0206A432 - 2; case 2
- .short _0206A504 - _0206A432 - 2; case 3
- .short _0206A534 - _0206A432 - 2; case 4
- .short _0206A564 - _0206A432 - 2; case 5
- .short _0206A594 - _0206A432 - 2; case 6
- .short _0206A5C6 - _0206A432 - 2; case 7
- .short _0206A5F6 - _0206A432 - 2; case 8
- .short _0206A626 - _0206A432 - 2; case 9
- .short _0206A656 - _0206A432 - 2; case 10
- .short _0206A686 - _0206A432 - 2; case 11
- .short _0206A6B6 - _0206A432 - 2; case 12
- .short _0206A6E8 - _0206A432 - 2; case 13
- .short _0206A718 - _0206A432 - 2; case 14
- .short _0206A748 - _0206A432 - 2; case 15
- .short _0206A778 - _0206A432 - 2; case 16
- .short _0206A7A8 - _0206A432 - 2; case 17
- .short _0206A7D8 - _0206A432 - 2; case 18
- .short _0206A80A - _0206A432 - 2; case 19
- .short _0206A83A - _0206A432 - 2; case 20
- .short _0206A86A - _0206A432 - 2; case 21
- .short _0206A89A - _0206A432 - 2; case 22
- .short _0206A8CA - _0206A432 - 2; case 23
- .short _0206A472 - _0206A432 - 2; case 24
- .short _0206A4A4 - _0206A432 - 2; case 25
- .short _0206A4D4 - _0206A432 - 2; case 26
- .short _0206A504 - _0206A432 - 2; case 27
- .short _0206A534 - _0206A432 - 2; case 28
- .short _0206A564 - _0206A432 - 2; case 29
- .short _0206A594 - _0206A432 - 2; case 30
- .short _0206A5C6 - _0206A432 - 2; case 31
-_0206A472:
- add r0, #0x8
- cmp r2, #0x3
- bls _0206A47A
-_0206A478:
- b _0206A8F8
-_0206A47A:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A486: ; jump table (using 16-bit offset)
- .short _0206A48E - _0206A486 - 2; case 0
- .short _0206A492 - _0206A486 - 2; case 1
- .short _0206A498 - _0206A486 - 2; case 2
- .short _0206A49E - _0206A486 - 2; case 3
-_0206A48E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A492:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A498:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A49E:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A4A4:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A59A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A4B6: ; jump table (using 16-bit offset)
- .short _0206A4BE - _0206A4B6 - 2; case 0
- .short _0206A4C2 - _0206A4B6 - 2; case 1
- .short _0206A4C8 - _0206A4B6 - 2; case 2
- .short _0206A4CE - _0206A4B6 - 2; case 3
-_0206A4BE:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A4C2:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A4C8:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A4CE:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A4D4:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A59A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A4E6: ; jump table (using 16-bit offset)
- .short _0206A4EE - _0206A4E6 - 2; case 0
- .short _0206A4F2 - _0206A4E6 - 2; case 1
- .short _0206A4F8 - _0206A4E6 - 2; case 2
- .short _0206A4FE - _0206A4E6 - 2; case 3
-_0206A4EE:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A4F2:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A4F8:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A4FE:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A504:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A59A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A516: ; jump table (using 16-bit offset)
- .short _0206A51E - _0206A516 - 2; case 0
- .short _0206A522 - _0206A516 - 2; case 1
- .short _0206A528 - _0206A516 - 2; case 2
- .short _0206A52E - _0206A516 - 2; case 3
-_0206A51E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A522:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A528:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A52E:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A534:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A59A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A546: ; jump table (using 16-bit offset)
- .short _0206A54E - _0206A546 - 2; case 0
- .short _0206A552 - _0206A546 - 2; case 1
- .short _0206A558 - _0206A546 - 2; case 2
- .short _0206A55E - _0206A546 - 2; case 3
-_0206A54E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A552:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A558:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A55E:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A564:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A59A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A576: ; jump table (using 16-bit offset)
- .short _0206A57E - _0206A576 - 2; case 0
- .short _0206A582 - _0206A576 - 2; case 1
- .short _0206A588 - _0206A576 - 2; case 2
- .short _0206A58E - _0206A576 - 2; case 3
-_0206A57E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A582:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A588:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A58E:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A594:
- add r0, #0x8
- cmp r2, #0x3
- bls _0206A59C
-_0206A59A:
- b _0206A8F8
-_0206A59C:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A5A8: ; jump table (using 16-bit offset)
- .short _0206A5B0 - _0206A5A8 - 2; case 0
- .short _0206A5B6 - _0206A5A8 - 2; case 1
- .short _0206A5BA - _0206A5A8 - 2; case 2
- .short _0206A5C0 - _0206A5A8 - 2; case 3
-_0206A5B0:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A5B6:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A5BA:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A5C0:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A5C6:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A6BC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A5D8: ; jump table (using 16-bit offset)
- .short _0206A5E0 - _0206A5D8 - 2; case 0
- .short _0206A5E6 - _0206A5D8 - 2; case 1
- .short _0206A5EA - _0206A5D8 - 2; case 2
- .short _0206A5F0 - _0206A5D8 - 2; case 3
-_0206A5E0:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A5E6:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A5EA:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A5F0:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A5F6:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A6BC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A608: ; jump table (using 16-bit offset)
- .short _0206A610 - _0206A608 - 2; case 0
- .short _0206A616 - _0206A608 - 2; case 1
- .short _0206A61A - _0206A608 - 2; case 2
- .short _0206A620 - _0206A608 - 2; case 3
-_0206A610:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A616:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A61A:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A620:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A626:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A6BC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A638: ; jump table (using 16-bit offset)
- .short _0206A640 - _0206A638 - 2; case 0
- .short _0206A646 - _0206A638 - 2; case 1
- .short _0206A64A - _0206A638 - 2; case 2
- .short _0206A650 - _0206A638 - 2; case 3
-_0206A640:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A646:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A64A:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A650:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A656:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A6BC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A668: ; jump table (using 16-bit offset)
- .short _0206A670 - _0206A668 - 2; case 0
- .short _0206A676 - _0206A668 - 2; case 1
- .short _0206A67A - _0206A668 - 2; case 2
- .short _0206A680 - _0206A668 - 2; case 3
-_0206A670:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A676:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A67A:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A680:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A686:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A6BC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A698: ; jump table (using 16-bit offset)
- .short _0206A6A0 - _0206A698 - 2; case 0
- .short _0206A6A6 - _0206A698 - 2; case 1
- .short _0206A6AA - _0206A698 - 2; case 2
- .short _0206A6B0 - _0206A698 - 2; case 3
-_0206A6A0:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A6A6:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A6AA:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A6B0:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A6B6:
- add r0, #0x8
- cmp r2, #0x3
- bls _0206A6BE
-_0206A6BC:
- b _0206A8F8
-_0206A6BE:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A6CA: ; jump table (using 16-bit offset)
- .short _0206A6D2 - _0206A6CA - 2; case 0
- .short _0206A6D8 - _0206A6CA - 2; case 1
- .short _0206A6DE - _0206A6CA - 2; case 2
- .short _0206A6E2 - _0206A6CA - 2; case 3
-_0206A6D2:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A6D8:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A6DE:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A6E2:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A6E8:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A7DE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A6FA: ; jump table (using 16-bit offset)
- .short _0206A702 - _0206A6FA - 2; case 0
- .short _0206A708 - _0206A6FA - 2; case 1
- .short _0206A70E - _0206A6FA - 2; case 2
- .short _0206A712 - _0206A6FA - 2; case 3
-_0206A702:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A708:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A70E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A712:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A718:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A7DE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A72A: ; jump table (using 16-bit offset)
- .short _0206A732 - _0206A72A - 2; case 0
- .short _0206A738 - _0206A72A - 2; case 1
- .short _0206A73E - _0206A72A - 2; case 2
- .short _0206A742 - _0206A72A - 2; case 3
-_0206A732:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A738:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A73E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A742:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A748:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A7DE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A75A: ; jump table (using 16-bit offset)
- .short _0206A762 - _0206A75A - 2; case 0
- .short _0206A768 - _0206A75A - 2; case 1
- .short _0206A76E - _0206A75A - 2; case 2
- .short _0206A772 - _0206A75A - 2; case 3
-_0206A762:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A768:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A76E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A772:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A778:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A7DE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A78A: ; jump table (using 16-bit offset)
- .short _0206A792 - _0206A78A - 2; case 0
- .short _0206A798 - _0206A78A - 2; case 1
- .short _0206A79E - _0206A78A - 2; case 2
- .short _0206A7A2 - _0206A78A - 2; case 3
-_0206A792:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A798:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A79E:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A7A2:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A7A8:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A7DE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A7BA: ; jump table (using 16-bit offset)
- .short _0206A7C2 - _0206A7BA - 2; case 0
- .short _0206A7C8 - _0206A7BA - 2; case 1
- .short _0206A7CE - _0206A7BA - 2; case 2
- .short _0206A7D2 - _0206A7BA - 2; case 3
-_0206A7C2:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A7C8:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A7CE:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A7D2:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A7D8:
- add r0, #0x8
- cmp r2, #0x3
- bls _0206A7E0
-_0206A7DE:
- b _0206A8F8
-_0206A7E0:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A7EC: ; jump table (using 16-bit offset)
- .short _0206A7F4 - _0206A7EC - 2; case 0
- .short _0206A7FA - _0206A7EC - 2; case 1
- .short _0206A800 - _0206A7EC - 2; case 2
- .short _0206A806 - _0206A7EC - 2; case 3
-_0206A7F4:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A7FA:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A800:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A806:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A80A:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A8F8
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A81C: ; jump table (using 16-bit offset)
- .short _0206A824 - _0206A81C - 2; case 0
- .short _0206A82A - _0206A81C - 2; case 1
- .short _0206A830 - _0206A81C - 2; case 2
- .short _0206A836 - _0206A81C - 2; case 3
-_0206A824:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A82A:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A830:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A836:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A83A:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A8F8
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A84C: ; jump table (using 16-bit offset)
- .short _0206A854 - _0206A84C - 2; case 0
- .short _0206A85A - _0206A84C - 2; case 1
- .short _0206A860 - _0206A84C - 2; case 2
- .short _0206A866 - _0206A84C - 2; case 3
-_0206A854:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A85A:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A860:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A866:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A86A:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A8F8
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A87C: ; jump table (using 16-bit offset)
- .short _0206A884 - _0206A87C - 2; case 0
- .short _0206A88A - _0206A87C - 2; case 1
- .short _0206A890 - _0206A87C - 2; case 2
- .short _0206A896 - _0206A87C - 2; case 3
-_0206A884:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A88A:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A890:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A896:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A89A:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A8F8
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A8AC: ; jump table (using 16-bit offset)
- .short _0206A8B4 - _0206A8AC - 2; case 0
- .short _0206A8BA - _0206A8AC - 2; case 1
- .short _0206A8C0 - _0206A8AC - 2; case 2
- .short _0206A8C6 - _0206A8AC - 2; case 3
-_0206A8B4:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A8BA:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A8C0:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A8C6:
- add r1, r0, #0x0
- b _0206A8F8
-_0206A8CA:
- add r0, #0x8
- cmp r2, #0x3
- bhi _0206A8F8
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206A8DC: ; jump table (using 16-bit offset)
- .short _0206A8E4 - _0206A8DC - 2; case 0
- .short _0206A8EA - _0206A8DC - 2; case 1
- .short _0206A8F0 - _0206A8DC - 2; case 2
- .short _0206A8F6 - _0206A8DC - 2; case 3
-_0206A8E4:
- add r1, r0, #0x0
- add r1, #0x60
- b _0206A8F8
-_0206A8EA:
- add r1, r0, #0x0
- add r1, #0x40
- b _0206A8F8
-_0206A8F0:
- add r1, r0, #0x0
- add r1, #0x20
- b _0206A8F8
-_0206A8F6:
- add r1, r0, #0x0
-_0206A8F8:
- add r0, r1, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0206A8FC
-FUN_0206A8FC: ; 0x0206A8FC
- ldr r3, _0206A928 ; =0x00000182
- cmp r0, r3
- beq _0206A90C
- add r2, r3, #0x0
- add r2, #0x1b
- cmp r0, r2
- beq _0206A91A
- bx lr
-_0206A90C:
- cmp r1, #0x0
- beq _0206A926
- cmp r1, #0x3
- bgt _0206A926
- add r3, #0x6d
- add r0, r1, r3
- bx lr
-_0206A91A:
- cmp r1, #0x0
- beq _0206A926
- cmp r1, #0x2
- bgt _0206A926
- add r3, #0x70
- add r0, r1, r3
-_0206A926:
- bx lr
- .balign 4
-_0206A928: .word 0x00000182
-
- thumb_func_start FUN_0206A92C
-FUN_0206A92C: ; 0x0206A92C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x1
- cmp r5, #0x20
- blt _0206A93A
- bl ErrorHandling
-_0206A93A:
- mov r0, #0x0
- cmp r5, #0x0
- ble _0206A948
-_0206A940:
- add r0, r0, #0x1
- lsl r4, r4, #0x1
- cmp r0, r5
- blt _0206A940
-_0206A948:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206A94C
-FUN_0206A94C: ; 0x0206A94C
- mov r3, #0x1
- mov r2, #0x0
-_0206A950:
- add r1, r0, #0x0
- tst r1, r3
- bne _0206A95E
- add r2, r2, #0x1
- lsl r3, r3, #0x1
- cmp r2, #0x20
- blt _0206A950
-_0206A95E:
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206A964
-FUN_0206A964: ; 0x0206A964
- ldr r3, _0206A980 ; =0x020F7EF2
- mov r2, #0x0
-_0206A968:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _0206A972
- mov r0, #0x1
- bx lr
-_0206A972:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0x12
- blo _0206A968
- mov r0, #0x0
- bx lr
- nop
-_0206A980: .word 0x020F7EF2
-
- thumb_func_start FUN_0206A984
-FUN_0206A984: ; 0x0206A984
- cmp r0, #0x12
- blo _0206A98A
- mov r0, #0x0
-_0206A98A:
- lsl r1, r0, #0x1
- ldr r0, _0206A994 ; =0x020F7EF2
- ldrh r0, [r0, r1]
- bx lr
- nop
-_0206A994: .word 0x020F7EF2
-
- thumb_func_start FUN_0206A998
-FUN_0206A998: ; 0x0206A998
- push {r3, lr}
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0206A964
- pop {r3, pc}
-
- thumb_func_start FUN_0206A9AC
-FUN_0206A9AC: ; 0x0206A9AC
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r6, r2, #0x0
- bl FUN_020239BC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_020239CC
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x9c
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020239A0
- add r7, r0, #0x0
- mov r0, #0x8
- add r1, r6, #0x0
- bl FUN_020219F4
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x90
- add r2, r6, #0x0
- mov r4, #0x0
- bl FUN_020672BC
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- cmp r1, r0
- bne _0206AA1C
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- cmp r1, r0
- bne _0206AA1C
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_02021CE0
- cmp r0, #0x0
- bne _0206AA1C
- mov r4, #0x1
-_0206AA1C:
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r7, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206AA30
-FUN_0206AA30: ; 0x0206AA30
- push {r3, lr}
- cmp r0, #0x3f
- bgt _0206AA48
- bge _0206AA6C
- cmp r0, #0x1
- bgt _0206AA74
- cmp r0, #0x0
- blt _0206AA74
- beq _0206AA82
- cmp r0, #0x1
- beq _0206AA82
- b _0206AA74
-_0206AA48:
- cmp r0, #0x5a
- bgt _0206AA50
- beq _0206AA70
- b _0206AA74
-_0206AA50:
- add r1, r0, #0x0
- sub r1, #0x5b
- cmp r1, #0x3
- bhi _0206AA74
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206AA64: ; jump table (using 16-bit offset)
- .short _0206AA70 - _0206AA64 - 2; case 0
- .short _0206AA70 - _0206AA64 - 2; case 1
- .short _0206AA70 - _0206AA64 - 2; case 2
- .short _0206AA70 - _0206AA64 - 2; case 3
-_0206AA6C:
- mov r0, #0x2
- pop {r3, pc}
-_0206AA70:
- sub r0, #0x57
- pop {r3, pc}
-_0206AA74:
- bl FUN_0206AE00
- cmp r0, #0x1
- bne _0206AA80
- mov r0, #0x1
- pop {r3, pc}
-_0206AA80:
- mov r0, #0x0
-_0206AA82:
- pop {r3, pc}
-
- thumb_func_start FUN_0206AA84
-FUN_0206AA84: ; 0x0206AA84
- push {r3-r4, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- add r1, sp, #0x0
- add r1, #0x1
- mov r2, #0x18
- bl MIi_CpuClearFast
- add r0, r4, #0x0
- mov r1, #0xa1
- add r2, sp, #0x0
- bl FUN_02067830
- add r2, sp, #0x0
- add r0, r4, #0x0
- mov r1, #0xaa
- add r2, #0x1
- bl FUN_02067830
- add sp, #0x1c
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0206AAB4
-FUN_0206AAB4: ; 0x0206AAB4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02066A6C
- mov r4, #0x0
- str r0, [sp, #0x0]
- add r7, r4, #0x0
- add r6, sp, #0x4
-_0206AAC6:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- add r2, r7, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0206AAF0
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x42
- mov r2, #0x0
- bl FUN_020672BC
- add r1, r4, #0x0
- strb r0, [r6, #0x0]
- add r0, r5, #0x0
- add r1, #0x3a
- add r2, sp, #0x4
- bl FUN_02067960
-_0206AAF0:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _0206AAC6
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02066A94
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206AB04
-FUN_0206AB04: ; 0x0206AB04
- push {r3, lr}
- mov r1, #0x75
- lsl r1, r1, #0x6
- mov r2, #0x0
- str r1, [sp, #0x0]
- mov r1, #0x9
- add r3, r2, #0x0
- bl FUN_02006548
- pop {r3, pc}
-
- thumb_func_start FUN_0206AB18
-FUN_0206AB18: ; 0x0206AB18
- push {r4, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r1, sp, #0x0
- bl FUN_0206ABB4
- add r0, sp, #0x0
- add r1, r4, #0x0
- bl FUN_0206AB58
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_0206AB30
-FUN_0206AB30: ; 0x0206AB30
- push {r3-r5, lr}
- add r5, r1, #0x0
- cmp r5, #0x3
- bls _0206AB3A
- mov r5, #0x3
-_0206AB3A:
- mov r1, #0x5
- bl FUN_0206AB18
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- mov r0, #0x14
- mul r0, r4
- mul r0, r5
- mov r1, #0x64
- bl _s32_div_f
- add r0, r4, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206AB58
-FUN_0206AB58: ; 0x0206AB58
- cmp r1, #0xb
- bhi _0206ABB0
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206AB68: ; jump table (using 16-bit offset)
- .short _0206AB80 - _0206AB68 - 2; case 0
- .short _0206AB84 - _0206AB68 - 2; case 1
- .short _0206AB88 - _0206AB68 - 2; case 2
- .short _0206AB8C - _0206AB68 - 2; case 3
- .short _0206AB90 - _0206AB68 - 2; case 4
- .short _0206AB94 - _0206AB68 - 2; case 5
- .short _0206AB98 - _0206AB68 - 2; case 6
- .short _0206AB9C - _0206AB68 - 2; case 7
- .short _0206ABA0 - _0206AB68 - 2; case 8
- .short _0206ABA6 - _0206AB68 - 2; case 9
- .short _0206ABAA - _0206AB68 - 2; case 10
- .short _0206ABAE - _0206AB68 - 2; case 11
-_0206AB80:
- ldrh r0, [r0, #0x0]
- bx lr
-_0206AB84:
- ldrb r0, [r0, #0x2]
- bx lr
-_0206AB88:
- ldrb r0, [r0, #0x3]
- bx lr
-_0206AB8C:
- ldrb r0, [r0, #0x4]
- bx lr
-_0206AB90:
- ldrb r0, [r0, #0x5]
- bx lr
-_0206AB94:
- ldrb r0, [r0, #0x6]
- bx lr
-_0206AB98:
- ldrb r0, [r0, #0x7]
- bx lr
-_0206AB9C:
- ldrh r0, [r0, #0x8]
- bx lr
-_0206ABA0:
- mov r1, #0xa
- ldrsb r0, [r0, r1]
- bx lr
-_0206ABA6:
- ldrb r0, [r0, #0xb]
- bx lr
-_0206ABAA:
- ldrb r0, [r0, #0xc]
- bx lr
-_0206ABAE:
- ldrb r0, [r0, #0xd]
-_0206ABB0:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206ABB4
-FUN_0206ABB4: ; 0x0206ABB4
- ldr r3, _0206ABC0 ; =LoadFromNARC
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x9
- bx r3
- nop
-_0206ABC0: .word LoadFromNARC
-
- thumb_func_start FUN_0206ABC4
-FUN_0206ABC4: ; 0x0206ABC4
- push {r3-r7, lr}
- sub sp, #0x48
- str r2, [sp, #0x4]
- ldr r2, _0206AC70 ; =0x0000022F
- str r0, [sp, #0x0]
- add r4, r1, #0x0
- ldr r3, [sp, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_02024EC0
- bl FUN_02024EE8
- ldr r4, [sp, #0x0]
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r5, r4, #0x0
- mov r7, #0x0
- str r0, [sp, #0x8]
- add r5, #0x3c
-_0206ABF4:
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _0206AC48
- add r1, sp, #0x14
- bl FUN_0206ADE0
- ldr r3, [sp, #0x8]
- add r6, sp, #0x14
- add r3, #0x28
- mov r2, #0x6
-_0206AC08:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206AC08
- ldr r0, [r6, #0x0]
- str r0, [r3, #0x0]
- add r0, sp, #0x14
- ldrb r0, [r0, #0x1]
- cmp r0, #0x3f
- bne _0206AC26
- ldr r1, [sp, #0xc]
- add r0, r5, #0x0
- bl StringCopy
- b _0206AC3E
-_0206AC26:
- ldr r0, [sp, #0x10]
- ldr r1, [r4, #0x18]
- bl FUN_0200A914
- add r6, r0, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl FUN_02021EF0
- add r0, r6, #0x0
- bl FUN_02021A20
-_0206AC3E:
- ldr r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r1, r7, #0x0
- bl FUN_0206AE0C
-_0206AC48:
- ldr r0, [sp, #0x8]
- add r7, r7, #0x1
- add r0, #0x34
- add r4, r4, #0x4
- add r5, #0x34
- str r0, [sp, #0x8]
- cmp r7, #0x4
- blt _0206ABF4
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0x0]
- ldr r0, [sp, #0x24]
- orr r1, r0
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x10]
- bl FUN_0200A8B8
- add sp, #0x48
- pop {r3-r7, pc}
- nop
-_0206AC70: .word 0x0000022F
-
- thumb_func_start FUN_0206AC74
-FUN_0206AC74: ; 0x0206AC74
- push {r4-r5, lr}
- sub sp, #0x34
- add r5, r1, #0x0
- add r1, sp, #0x0
- bl FUN_0206ADE0
- cmp r5, #0x9
- bhi _0206ACCC
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206AC90: ; jump table (using 16-bit offset)
- .short _0206ACA4 - _0206AC90 - 2; case 0
- .short _0206ACAA - _0206AC90 - 2; case 1
- .short _0206ACB0 - _0206AC90 - 2; case 2
- .short _0206ACB6 - _0206AC90 - 2; case 3
- .short _0206ACBC - _0206AC90 - 2; case 4
- .short _0206ACBC - _0206AC90 - 2; case 5
- .short _0206ACBC - _0206AC90 - 2; case 6
- .short _0206ACBC - _0206AC90 - 2; case 7
- .short _0206ACC6 - _0206AC90 - 2; case 8
- .short _0206ACCA - _0206AC90 - 2; case 9
-_0206ACA4:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x0]
- b _0206ACCC
-_0206ACAA:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x1]
- b _0206ACCC
-_0206ACB0:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x2]
- b _0206ACCC
-_0206ACB6:
- add r0, sp, #0x0
- ldrb r4, [r0, #0x3]
- b _0206ACCC
-_0206ACBC:
- sub r0, r5, #0x4
- lsl r1, r0, #0x1
- add r0, sp, #0x4
- ldrh r4, [r0, r1]
- b _0206ACCC
-_0206ACC6:
- ldr r4, [sp, #0xc]
- b _0206ACCC
-_0206ACCA:
- ldr r4, [sp, #0x10]
-_0206ACCC:
- add r0, r4, #0x0
- add sp, #0x34
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206ACD4
-FUN_0206ACD4: ; 0x0206ACD4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r7, r1, #0x0
- ldr r1, [sp, #0x4]
- mov r0, #0x3b
- add r4, r2, #0x0
- bl LoadFromNARC_7
- add r6, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0xc
- mov r1, #0x89
- mov r2, #0x0
- lsl r3, r5, #0x1
- bl FUN_02006548
- mov r0, #0x3b
- add r1, r4, #0x0
- bl FUN_02006670
- add r4, sp, #0xc
- ldrh r2, [r4, #0x0]
- str r0, [sp, #0x8]
- cmp r2, r6
- beq _0206AD40
-_0206AD0E:
- add r0, sp, #0xc
- add r0, #0x2
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- mov r3, #0x4
- bl FUN_02006814
- ldrh r1, [r4, #0x2]
- cmp r1, r5
- bne _0206AD30
- ldrh r0, [r4, #0x4]
- cmp r0, r7
- bne _0206AD30
- mov r0, #0x1
- str r0, [sp, #0x4]
- b _0206AD40
-_0206AD30:
- cmp r1, r5
- bne _0206AD40
- ldrh r0, [r4, #0x0]
- add r0, r0, #0x4
- strh r0, [r4, #0x0]
- ldrh r2, [r4, #0x0]
- cmp r2, r6
- bne _0206AD0E
-_0206AD40:
- ldr r0, [sp, #0x8]
- bl FUN_020066F4
- ldr r0, [sp, #0x4]
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206AD4C
-FUN_0206AD4C: ; 0x0206AD4C
- push {r3-r7, lr}
- sub sp, #0x18
- add r6, r0, #0x0
- add r7, r1, #0x0
- mov r0, #0x3b
- mov r1, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl LoadFromNARC_7
- add r5, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, sp, #0x10
- mov r1, #0x89
- mov r2, #0x0
- lsl r3, r6, #0x1
- bl FUN_02006548
- ldr r1, [sp, #0x8]
- mov r0, #0x3b
- bl FUN_02006670
- add r4, sp, #0x10
- ldrh r2, [r4, #0x0]
- str r0, [sp, #0xc]
- cmp r2, r5
- beq _0206ADC2
-_0206AD84:
- add r0, sp, #0x10
- add r0, #0x2
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r1, #0x0
- mov r3, #0x4
- bl FUN_02006814
- ldrh r0, [r4, #0x2]
- cmp r0, r6
- bne _0206ADB6
- ldrh r0, [r4, #0x4]
- cmp r0, r7
- bne _0206ADB6
- ldr r0, [sp, #0x4]
- add r2, sp, #0x10
- str r0, [sp, #0x0]
- ldrh r2, [r2, #0x0]
- ldr r1, _0206ADDC ; =0x0000022E
- ldr r3, [sp, #0x8]
- mov r0, #0x1a
- lsr r2, r2, #0x2
- bl FUN_0200A648
- b _0206ADC2
-_0206ADB6:
- ldrh r0, [r4, #0x0]
- add r0, r0, #0x4
- strh r0, [r4, #0x0]
- ldrh r2, [r4, #0x0]
- cmp r2, r5
- bne _0206AD84
-_0206ADC2:
- ldr r0, [sp, #0xc]
- bl FUN_020066F4
- add r0, sp, #0x10
- ldrh r0, [r0, #0x0]
- cmp r0, r5
- bne _0206ADD6
- ldr r0, [sp, #0x4]
- bl FUN_02021A4C
-_0206ADD6:
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_0206ADDC: .word 0x0000022E
-
- thumb_func_start FUN_0206ADE0
-FUN_0206ADE0: ; 0x0206ADE0
- ldr r3, _0206ADEC ; =LoadFromNARC
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x39
- bx r3
- nop
-_0206ADEC: .word LoadFromNARC
-
- thumb_func_start FUN_0206ADF0
-FUN_0206ADF0: ; 0x0206ADF0
- ldr r3, _0206ADFC ; =LoadFromNARC
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x3a
- bx r3
- nop
-_0206ADFC: .word LoadFromNARC
-
- thumb_func_start FUN_0206AE00
-FUN_0206AE00: ; 0x0206AE00
- ldr r1, _0206AE08 ; =0x020F8010
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0206AE08: .word 0x020F8010
-
- thumb_func_start FUN_0206AE0C
-FUN_0206AE0C: ; 0x0206AE0C
- push {r3-r7, lr}
- sub sp, #0x50
- add r7, r1, #0x0
- add r4, r0, #0x0
- add r5, r2, #0x0
- bl getseed_LC
- lsl r6, r7, #0x2
- str r0, [sp, #0x44]
- add r0, r4, r6
- ldr r0, [r0, #0x4]
- mov r1, #0x6
- bl FUN_0206B8CC
- add r0, r5, #0x0
- mov r1, #0x60
- bl FUN_02016998
- str r0, [sp, #0x4c]
- add r0, r5, #0x0
- bl FUN_020669C0
- str r0, [sp, #0x40]
- add r0, r4, r6
- ldr r0, [r0, #0x18]
- ldr r1, [sp, #0x4c]
- bl FUN_0206ADF0
- mov r0, #0x34
- add r5, r7, #0x0
- mul r5, r0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- bl FUN_0206AE00
- cmp r0, #0x1
- bne _0206AE5E
- mov r0, #0x78
- str r0, [sp, #0x10]
- b _0206AE62
-_0206AE5E:
- mov r0, #0x88
- str r0, [sp, #0x10]
-_0206AE62:
- add r0, r4, r5
- add r0, #0x28
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bhi _0206AF26
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206AE78: ; jump table (using 16-bit offset)
- .short _0206AE80 - _0206AE78 - 2; case 0
- .short _0206AF28 - _0206AE78 - 2; case 1
- .short _0206AFE8 - _0206AE78 - 2; case 2
- .short _0206B08C - _0206AE78 - 2; case 3
-_0206AE80:
- mov r0, #0x0
- str r0, [sp, #0x48]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206AF26
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x28]
- add r0, r4, r6
- str r0, [sp, #0x24]
-_0206AE96:
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x28]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x28]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl seedr_LC
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AECE
-_0206AEBC:
- bl rand_LC
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206AEBC
-_0206AECE:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x28]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x28]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl FUN_02066ACC
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl FUN_0206B900
- ldr r0, [sp, #0x28]
- add r0, r0, #0x6
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x48]
- cmp r0, r1
- blt _0206AE96
-_0206AF26:
- b _0206B156
-_0206AF28:
- mov r0, #0x0
- str r0, [sp, #0x18]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206AFE6
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x30]
- add r0, r4, r6
- str r0, [sp, #0x2c]
-_0206AF3E:
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x30]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x30]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl seedr_LC
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AF76
-_0206AF64:
- bl rand_LC
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206AF64
-_0206AF76:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x30]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x30]
- ldr r2, [sp, #0x30]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl FUN_02066ACC
- ldr r7, [sp, #0x30]
- mov r6, #0x0
-_0206AFB0:
- ldrh r1, [r7, #0x6]
- lsl r2, r6, #0x18
- ldr r0, [sp, #0x40]
- lsr r2, r2, #0x18
- bl FUN_020697CC
- add r6, r6, #0x1
- add r7, r7, #0x2
- cmp r6, #0x4
- blt _0206AFB0
- ldr r0, [sp, #0x2c]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl FUN_0206B900
- ldr r0, [sp, #0x30]
- add r0, #0xe
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x18]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x18]
- cmp r0, r1
- blt _0206AF3E
-_0206AFE6:
- b _0206B156
-_0206AFE8:
- mov r0, #0x0
- str r0, [sp, #0x1c]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206B08A
- add r0, r4, r6
- ldr r7, [sp, #0x4c]
- str r0, [sp, #0x34]
-_0206AFFC:
- ldr r0, [sp, #0x34]
- ldrh r3, [r7, #0x0]
- ldrh r2, [r7, #0x2]
- ldr r1, [r0, #0x18]
- ldrh r0, [r7, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r0, r1, r0
- str r0, [sp, #0x14]
- bl seedr_LC
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B030
-_0206B01E:
- bl rand_LC
- str r0, [sp, #0x14]
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206B01E
-_0206B030:
- ldr r0, [sp, #0x14]
- lsl r1, r0, #0x8
- ldr r0, [sp, #0x10]
- add r6, r1, r0
- ldrh r1, [r7, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldrh r1, [r7, #0x4]
- ldrh r2, [r7, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl FUN_02066ACC
- ldr r0, [sp, #0x40]
- mov r1, #0x6
- add r2, r7, #0x6
- bl FUN_02067830
- ldr r0, [sp, #0x34]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl FUN_0206B900
- ldr r0, [sp, #0x1c]
- add r7, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x1c]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x1c]
- cmp r0, r1
- blt _0206AFFC
-_0206B08A:
- b _0206B156
-_0206B08C:
- mov r0, #0x0
- str r0, [sp, #0x20]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _0206B156
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x3c]
- add r0, r4, r6
- str r0, [sp, #0x38]
-_0206B0A2:
- ldr r0, [sp, #0x38]
- ldr r2, [sp, #0x3c]
- ldr r1, [r0, #0x18]
- ldr r0, [sp, #0x3c]
- ldrh r3, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldrh r0, [r0, #0x4]
- add r2, r3, r2
- add r0, r0, r2
- add r7, r1, r0
- add r0, r7, #0x0
- bl seedr_LC
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B0DA
-_0206B0C8:
- bl rand_LC
- add r7, r0, #0x0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- add r6, r6, #0x1
- cmp r6, r0
- blt _0206B0C8
-_0206B0DA:
- ldr r0, [sp, #0x10]
- lsl r1, r7, #0x8
- add r6, r1, r0
- ldr r0, [sp, #0x3c]
- ldrh r1, [r0, #0x0]
- mov r0, #0x1f
- mul r0, r1
- mov r1, #0xff
- bl _s32_div_f
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r3, r3, #0x18
- str r6, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x3c]
- ldr r2, [sp, #0x3c]
- ldrh r1, [r1, #0x4]
- ldrh r2, [r2, #0x2]
- ldr r0, [sp, #0x40]
- lsr r3, r3, #0x18
- bl FUN_02066ACC
- ldr r2, [sp, #0x3c]
- ldr r0, [sp, #0x40]
- mov r1, #0x6
- add r2, r2, #0x6
- bl FUN_02067830
- ldr r7, [sp, #0x3c]
- mov r6, #0x0
-_0206B120:
- ldrh r1, [r7, #0x8]
- lsl r2, r6, #0x18
- ldr r0, [sp, #0x40]
- lsr r2, r2, #0x18
- bl FUN_020697CC
- add r6, r6, #0x1
- add r7, r7, #0x2
- cmp r6, #0x4
- blt _0206B120
- ldr r0, [sp, #0x38]
- ldr r1, [sp, #0x40]
- ldr r0, [r0, #0x4]
- bl FUN_0206B900
- ldr r0, [sp, #0x3c]
- add r0, #0x10
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x20]
- add r0, r0, #0x1
- str r0, [sp, #0x20]
- add r0, r4, r5
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x20]
- cmp r0, r1
- blt _0206B0A2
-_0206B156:
- ldr r0, [sp, #0x4c]
- bl FUN_02016A18
- ldr r0, [sp, #0x40]
- bl FUN_02016A18
- ldr r0, [sp, #0x44]
- bl seedr_LC
- add sp, #0x50
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B16C
-FUN_0206B16C: ; 0x0206B16C
- push {r3, lr}
- bl FUN_0206B180
- bl FUN_02022830
- pop {r3, pc}
-
- thumb_func_start FUN_0206B178
-FUN_0206B178: ; 0x0206B178
- ldr r0, _0206B17C ; =0x000121C8
- bx lr
- .balign 4
-_0206B17C: .word 0x000121C8
-
- thumb_func_start FUN_0206B180
-FUN_0206B180: ; 0x0206B180
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- mov r7, #0x0
- add r6, r0, #0x4
-_0206B188:
- mov r4, #0x0
- add r5, r6, #0x0
-_0206B18C:
- add r0, r5, #0x0
- bl FUN_020669A0
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x1e
- blo _0206B18C
- mov r0, #0xff
- lsl r0, r0, #0x4
- add r7, r7, #0x1
- add r6, r6, r0
- cmp r7, #0x12
- blo _0206B188
- mov r3, #0x0
- ldr r1, _0206B200 ; =0x000121B4
- add r4, r3, #0x0
- add r2, r3, #0x0
-_0206B1AE:
- ldr r0, [sp, #0x0]
- add r0, r0, r3
- strb r4, [r0, r1]
- add r4, r4, #0x1
- cmp r4, #0x10
- blo _0206B1BC
- add r4, r2, #0x0
-_0206B1BC:
- add r3, r3, #0x1
- cmp r3, #0x12
- blo _0206B1AE
- ldr r1, _0206B204 ; =0x000121C6
- ldr r0, [sp, #0x0]
- mov r3, #0x0
- strb r3, [r0, r1]
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xe
- bl FUN_0200A86C
- add r6, r0, #0x0
- beq _0206B1F8
- ldr r1, _0206B208 ; =0x00011EE4
- ldr r0, [sp, #0x0]
- mov r5, #0x0
- add r4, r0, r1
-_0206B1E0:
- add r0, r6, #0x0
- add r1, r5, #0x6
- add r2, r4, #0x0
- bl FUN_0200A968
- add r5, r5, #0x1
- add r4, #0x28
- cmp r5, #0x12
- blo _0206B1E0
- add r0, r6, #0x0
- bl FUN_0200A8B8
-_0206B1F8:
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-_0206B200: .word 0x000121B4
-_0206B204: .word 0x000121C6
-_0206B208: .word 0x00011EE4
-
- thumb_func_start FUN_0206B20C
-FUN_0206B20C: ; 0x0206B20C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r4, [r5, #0x0]
- add r6, r1, #0x0
- mov r7, #0x0
-_0206B216:
- add r0, r6, #0x0
- bl FUN_0206AAB4
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0206B244
- cmp r0, #0x0
- beq _0206B232
- bl FUN_02022830
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206B232:
- add r4, r4, #0x1
- cmp r4, #0x12
- blo _0206B23A
- add r4, r7, #0x0
-_0206B23A:
- ldr r0, [r5, #0x0]
- cmp r4, r0
- bne _0206B216
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B244
-FUN_0206B244: ; 0x0206B244
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- add r0, r2, #0x0
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- bl FUN_0206AAB4
- mov r0, #0x0
- mvn r0, r0
- cmp r5, r0
- bne _0206B25E
- ldr r5, [r6, #0x0]
-_0206B25E:
- mov r0, #0xff
- lsl r0, r0, #0x4
- add r1, r6, #0x4
- mul r0, r5
- mov r4, #0x0
- add r5, r1, r0
- str r5, [sp, #0x4]
- mov r6, #0x5
- add r7, r4, #0x0
-_0206B270:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _0206B2A0
- mov r0, #0x88
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, [sp, #0x4]
- mov r3, #0x11
- add r4, r0, r1
-_0206B28A:
- ldr r2, [sp, #0x0]
- sub r3, r3, #0x1
- ldmia r2!, {r0-r1}
- str r2, [sp, #0x0]
- stmia r4!, {r0-r1}
- bne _0206B28A
- bl FUN_02022830
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206B2A0:
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x1e
- blo _0206B270
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B2B0
-FUN_0206B2B0: ; 0x0206B2B0
- push {r3-r7, lr}
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r0, r7, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0206AAB4
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _0206B2CA
- ldr r4, [r5, #0x0]
-_0206B2CA:
- cmp r4, #0x12
- bhs _0206B2F4
- cmp r6, #0x1e
- bhs _0206B2F4
- mov r0, #0xff
- lsl r0, r0, #0x4
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x88
- mul r0, r6
- add r0, r1, r0
- add r3, r0, #0x4
- mov r2, #0x11
-_0206B2E4:
- ldmia r7!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206B2E4
- bl FUN_02022830
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206B2F4:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B2FC
-FUN_0206B2FC: ; 0x0206B2FC
- push {r3, lr}
- mov r3, #0x0
- mvn r3, r3
- cmp r1, r3
- bne _0206B308
- ldr r1, [r0, #0x0]
-_0206B308:
- cmp r2, #0x1e
- bhs _0206B32A
- cmp r1, #0x12
- bhs _0206B32A
- add r3, r0, #0x4
- mov r0, #0xff
- lsl r0, r0, #0x4
- mul r0, r1
- add r1, r3, r0
- mov r0, #0x88
- mul r0, r2
- add r0, r1, r0
- bl FUN_020669A0
- bl FUN_02022830
- pop {r3, pc}
-_0206B32A:
- bl ErrorHandling
- pop {r3, pc}
-
- thumb_func_start FUN_0206B330
-FUN_0206B330: ; 0x0206B330
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0206B334
-FUN_0206B334: ; 0x0206B334
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- ldr r6, [r0, #0x0]
- add r0, r0, #0x4
- mov r7, #0xab
- str r0, [sp, #0x4]
-_0206B342:
- mov r0, #0xff
- lsl r0, r0, #0x4
- add r1, r6, #0x0
- mul r1, r0
- ldr r0, [sp, #0x4]
- mov r4, #0x0
- add r5, r0, r1
-_0206B350:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _0206B364
- add sp, #0x8
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0206B364:
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x1e
- blt _0206B350
- add r6, r6, #0x1
- cmp r6, #0x12
- blt _0206B374
- mov r6, #0x0
-_0206B374:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- cmp r6, r0
- bne _0206B342
- mov r0, #0x12
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B384
-FUN_0206B384: ; 0x0206B384
- push {r3-r7, lr}
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- mov r1, #0x0
- ldr r2, [r6, #0x0]
- mvn r1, r1
- cmp r2, r1
- bne _0206B398
- ldr r1, [r0, #0x0]
- str r1, [r6, #0x0]
-_0206B398:
- ldr r1, [sp, #0x0]
- ldr r4, [r6, #0x0]
- ldr r5, [r1, #0x0]
- add r7, r0, #0x4
- b _0206B3C8
-_0206B3A2:
- mov r0, #0xff
- lsl r0, r0, #0x4
- mul r0, r4
- add r1, r7, r0
- mov r0, #0x88
- mul r0, r5
- add r0, r1, r0
- mov r1, #0xab
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _0206B3C6
- ldr r0, [sp, #0x0]
- str r4, [r6, #0x0]
- str r5, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206B3C6:
- add r5, r5, #0x1
-_0206B3C8:
- cmp r5, #0x1e
- blt _0206B3A2
- add r4, r4, #0x1
- cmp r4, #0x12
- blt _0206B3D4
- mov r4, #0x0
-_0206B3D4:
- ldr r0, [r6, #0x0]
- cmp r4, r0
- beq _0206B3DE
- mov r5, #0x0
- b _0206B3C8
-_0206B3DE:
- mov r0, #0x12
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B3E4
-FUN_0206B3E4: ; 0x0206B3E4
- push {r3-r7, lr}
- sub sp, #0x8
- mov r6, #0x0
- add r0, r0, #0x4
- str r6, [sp, #0x4]
- str r0, [sp, #0x0]
- mov r7, #0xab
-_0206B3F2:
- ldr r5, [sp, #0x0]
- mov r4, #0x0
-_0206B3F6:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0206B406
- add r6, r6, #0x1
-_0206B406:
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x1e
- blt _0206B3F6
- mov r0, #0xff
- ldr r1, [sp, #0x0]
- lsl r0, r0, #0x4
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, #0x12
- blt _0206B3F2
- add r0, r6, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B428
-FUN_0206B428: ; 0x0206B428
- push {r3, lr}
- cmp r1, #0x12
- bhs _0206B436
- str r1, [r0, #0x0]
- bl FUN_02022830
- pop {r3, pc}
-_0206B436:
- bl ErrorHandling
- pop {r3, pc}
-
- thumb_func_start FUN_0206B43C
-FUN_0206B43C: ; 0x0206B43C
- push {r3, lr}
- cmp r1, #0x12
- bhs _0206B44A
- add r1, r0, r1
- ldr r0, _0206B454 ; =0x000121B4
- ldrb r0, [r1, r0]
- pop {r3, pc}
-_0206B44A:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0206B454: .word 0x000121B4
-
- thumb_func_start FUN_0206B458
-FUN_0206B458: ; 0x0206B458
- push {r3, lr}
- mov r3, #0x0
- mvn r3, r3
- cmp r1, r3
- bne _0206B464
- ldr r1, [r0, #0x0]
-_0206B464:
- cmp r1, #0x12
- bhs _0206B478
- cmp r2, #0x18
- bhs _0206B478
- add r1, r0, r1
- ldr r0, _0206B480 ; =0x000121B4
- strb r2, [r1, r0]
- bl FUN_02022830
- pop {r3, pc}
-_0206B478:
- bl ErrorHandling
- pop {r3, pc}
- nop
-_0206B480: .word 0x000121B4
-
- thumb_func_start FUN_0206B484
-FUN_0206B484: ; 0x0206B484
- push {r3, lr}
- add r3, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0206B492
- ldr r1, [r3, #0x0]
-_0206B492:
- cmp r1, #0x12
- bhs _0206B4A8
- add r0, r2, #0x0
- ldr r2, _0206B4B0 ; =0x00011EE4
- add r3, r3, r2
- mov r2, #0x28
- mul r2, r1
- add r1, r3, r2
- bl FUN_02021E28
- pop {r3, pc}
-_0206B4A8:
- bl ErrorHandling
- pop {r3, pc}
- nop
-_0206B4B0: .word 0x00011EE4
-
- thumb_func_start FUN_0206B4B4
-FUN_0206B4B4: ; 0x0206B4B4
- push {r3, lr}
- add r3, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0206B4C2
- ldr r1, [r3, #0x0]
-_0206B4C2:
- cmp r1, #0x12
- bhs _0206B4DC
- add r0, r2, #0x0
- ldr r2, _0206B4E0 ; =0x00011EE4
- add r3, r3, r2
- mov r2, #0x28
- mul r2, r1
- add r1, r3, r2
- mov r2, #0x14
- bl FUN_02021EF0
- bl FUN_02022830
-_0206B4DC:
- pop {r3, pc}
- nop
-_0206B4E0: .word 0x00011EE4
-
- thumb_func_start FUN_0206B4E4
-FUN_0206B4E4: ; 0x0206B4E4
- push {r3-r7, lr}
- mov r2, #0x0
- mvn r2, r2
- cmp r1, r2
- bne _0206B4F0
- ldr r1, [r0, #0x0]
-_0206B4F0:
- cmp r1, #0x12
- bhs _0206B520
- add r2, r0, #0x4
- mov r0, #0xff
- lsl r0, r0, #0x4
- mov r4, #0x0
- mul r0, r1
- add r6, r4, #0x0
- add r5, r2, r0
- mov r7, #0xab
-_0206B504:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0206B514
- add r4, r4, #0x1
-_0206B514:
- add r6, r6, #0x1
- add r5, #0x88
- cmp r6, #0x1e
- blt _0206B504
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0206B520:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B528
-FUN_0206B528: ; 0x0206B528
- push {r3-r7, lr}
- mov r2, #0x0
- mvn r2, r2
- cmp r1, r2
- bne _0206B534
- ldr r1, [r0, #0x0]
-_0206B534:
- cmp r1, #0x12
- bhs _0206B572
- add r2, r0, #0x4
- mov r0, #0xff
- lsl r0, r0, #0x4
- mov r4, #0x0
- mul r0, r1
- add r6, r4, #0x0
- add r5, r2, r0
- mov r7, #0xab
-_0206B548:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0206B566
- add r0, r5, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _0206B566
- add r4, r4, #0x1
-_0206B566:
- add r6, r6, #0x1
- add r5, #0x88
- cmp r6, #0x1e
- blt _0206B548
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0206B572:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B57C
-FUN_0206B57C: ; 0x0206B57C
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_0206B584:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0206B528
- add r5, r5, #0x1
- add r4, r4, r0
- cmp r5, #0x12
- blo _0206B584
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206B598
-FUN_0206B598: ; 0x0206B598
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x12
- blo _0206B5B2
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _0206B5B2
- bl ErrorHandling
-_0206B5B2:
- cmp r6, #0x1e
- blo _0206B5BA
- bl ErrorHandling
-_0206B5BA:
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _0206B5C4
- ldr r4, [r5, #0x0]
-_0206B5C4:
- mov r0, #0xff
- lsl r0, r0, #0x4
- add r1, r5, #0x4
- mul r0, r4
- add r1, r1, r0
- mov r0, #0x88
- mul r0, r6
- add r0, r1, r0
- ldr r2, [sp, #0x18]
- add r1, r7, #0x0
- bl FUN_02067960
- bl FUN_02022830
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B5E4
-FUN_0206B5E4: ; 0x0206B5E4
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x12
- blo _0206B5FC
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _0206B5FC
- bl ErrorHandling
-_0206B5FC:
- cmp r6, #0x1e
- blo _0206B604
- bl ErrorHandling
-_0206B604:
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _0206B60E
- ldr r4, [r5, #0x0]
-_0206B60E:
- mov r0, #0xff
- lsl r0, r0, #0x4
- add r1, r5, #0x4
- mul r0, r4
- add r1, r1, r0
- mov r0, #0x88
- mul r0, r6
- add r0, r1, r0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206B620
-FUN_0206B620: ; 0x0206B620
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blo _0206B62E
- bl ErrorHandling
-_0206B62E:
- ldr r0, _0206B640 ; =0x000121C6
- mov r1, #0x1
- ldrb r2, [r5, r0]
- lsl r1, r4
- orr r1, r2
- strb r1, [r5, r0]
- bl FUN_02022830
- pop {r3-r5, pc}
- .balign 4
-_0206B640: .word 0x000121C6
-
- thumb_func_start FUN_0206B644
-FUN_0206B644: ; 0x0206B644
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blo _0206B652
- bl ErrorHandling
-_0206B652:
- ldr r0, _0206B664 ; =0x000121C6
- ldrb r2, [r5, r0]
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r1, r4
- tst r1, r2
- bne _0206B662
- mov r0, #0x0
-_0206B662:
- pop {r3-r5, pc}
- .balign 4
-_0206B664: .word 0x000121C6
-
- thumb_func_start FUN_0206B668
-FUN_0206B668: ; 0x0206B668
- push {r4-r6, lr}
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r4, #0x0
-_0206B670:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B644
- cmp r0, #0x0
- beq _0206B67E
- add r5, r5, #0x1
-_0206B67E:
- add r4, r4, #0x1
- cmp r4, #0x8
- blo _0206B670
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206B688
-FUN_0206B688: ; 0x0206B688
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02066A6C
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0206B754
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0206B6D4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02066A94
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206B6C8
-FUN_0206B6C8: ; 0x0206B6C8
- push {r3, lr}
- bl FUN_020690E4
- bl FUN_0206B688
- pop {r3, pc}
-
- thumb_func_start FUN_0206B6D4
-FUN_0206B6D4: ; 0x0206B6D4
- cmp r1, #0x1
- bne _0206B6E8
- ldr r1, _0206B748 ; =0x000001EA
- cmp r0, r1
- bne _0206B6E2
- add r1, #0xc
- b _0206B6E4
-_0206B6E2:
- add r1, #0xb
-_0206B6E4:
- add r0, r1, #0x0
- bx lr
-_0206B6E8:
- cmp r2, #0x0
- beq _0206B73A
- ldr r3, _0206B74C ; =0x00000182
- cmp r0, r3
- bne _0206B6F8
- add r3, #0x74
- add r0, r2, r3
- bx lr
-_0206B6F8:
- cmp r0, #0xc9
- bne _0206B702
- add r3, #0x78
- add r0, r2, r3
- bx lr
-_0206B702:
- add r1, r3, #0x0
- add r1, #0x1a
- cmp r0, r1
- bne _0206B710
- add r3, #0x93
- add r0, r2, r3
- bx lr
-_0206B710:
- add r1, r3, #0x0
- add r1, #0x1b
- cmp r0, r1
- bne _0206B71E
- add r3, #0x95
- add r0, r2, r3
- bx lr
-_0206B71E:
- add r1, r3, #0x0
- add r1, #0x24
- cmp r0, r1
- bne _0206B72C
- add r3, #0x97
- add r0, r2, r3
- bx lr
-_0206B72C:
- add r1, r3, #0x0
- add r1, #0x25
- cmp r0, r1
- bne _0206B73A
- add r3, #0x98
- add r0, r2, r3
- bx lr
-_0206B73A:
- ldr r1, _0206B750 ; =0x000001ED
- cmp r0, r1
- bls _0206B742
- mov r0, #0x0
-_0206B742:
- add r0, r0, #0x7
- bx lr
- nop
-_0206B748: .word 0x000001EA
-_0206B74C: .word 0x00000182
-_0206B750: .word 0x000001ED
-
- thumb_func_start FUN_0206B754
-FUN_0206B754: ; 0x0206B754
- push {r4, lr}
- mov r1, #0xad
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020672BC
- ldr r2, _0206B7B8 ; =0x0000019D
- cmp r0, r2
- bhi _0206B784
- sub r1, r2, #0x1
- cmp r0, r1
- blo _0206B774
- beq _0206B7A4
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B774:
- cmp r0, #0xc9
- bhi _0206B77C
- beq _0206B79C
- b _0206B7B4
-_0206B77C:
- sub r2, #0x1b
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B784:
- add r1, r2, #0x0
- add r1, #0x9
- cmp r0, r1
- bhi _0206B794
- add r2, #0x9
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B794:
- add r2, #0xa
- cmp r0, r2
- beq _0206B7A4
- b _0206B7B4
-_0206B79C:
- add r0, r4, #0x0
- bl FUN_020690D4
- pop {r4, pc}
-_0206B7A4:
- add r0, r4, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r4, pc}
-_0206B7B4:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0206B7B8: .word 0x0000019D
-
- thumb_func_start FUN_0206B7BC
-FUN_0206B7BC: ; 0x0206B7BC
- cmp r2, #0x1
- bne _0206B7CE
- ldr r1, _0206B830 ; =0x000001EA
- cmp r0, r1
- bne _0206B7CA
- add r0, r1, #0x5
- b _0206B82A
-_0206B7CA:
- add r0, r1, #0x4
- b _0206B82A
-_0206B7CE:
- ldr r3, _0206B834 ; =0x000001ED
- cmp r0, r3
- bls _0206B7D8
- mov r0, #0x0
- b _0206B82A
-_0206B7D8:
- cmp r1, #0x0
- beq _0206B82A
- add r2, r3, #0x0
- sub r2, #0x6b
- cmp r0, r2
- bne _0206B7EA
- add r0, r3, #0x2
- add r0, r1, r0
- b _0206B82A
-_0206B7EA:
- cmp r0, #0xc9
- bne _0206B7F4
- add r0, r3, #0x5
- add r0, r1, r0
- b _0206B82A
-_0206B7F4:
- add r2, r3, #0x0
- sub r2, #0x51
- cmp r0, r2
- bne _0206B802
- add r3, #0x21
- add r0, r1, r3
- b _0206B82A
-_0206B802:
- add r2, r3, #0x0
- sub r2, #0x50
- cmp r0, r2
- bne _0206B810
- add r3, #0x23
- add r0, r1, r3
- b _0206B82A
-_0206B810:
- add r2, r3, #0x0
- sub r2, #0x47
- cmp r0, r2
- bne _0206B81E
- add r3, #0x25
- add r0, r1, r3
- b _0206B82A
-_0206B81E:
- add r2, r3, #0x0
- sub r2, #0x46
- cmp r0, r2
- bne _0206B82A
- add r3, #0x26
- add r0, r1, r3
-_0206B82A:
- ldr r1, _0206B838 ; =0x020F8074
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0206B830: .word 0x000001EA
-_0206B834: .word 0x000001ED
-_0206B838: .word 0x020F8074
-
- thumb_func_start FUN_0206B83C
-FUN_0206B83C: ; 0x0206B83C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02066A6C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0206B754
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02066A94
- ldr r2, [sp, #0x0]
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_0206B7BC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B87C
-FUN_0206B87C: ; 0x0206B87C
- push {r3, lr}
- bl FUN_020690E4
- bl FUN_0206B83C
- pop {r3, pc}
-
- thumb_func_start FUN_0206B888
-FUN_0206B888: ; 0x0206B888
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0206B88C
-FUN_0206B88C: ; 0x0206B88C
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0206B890
-FUN_0206B890: ; 0x0206B890
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_0206B894
-FUN_0206B894: ; 0x0206B894
- mov r0, #0x6
- bx lr
-
- thumb_func_start FUN_0206B898
-FUN_0206B898: ; 0x0206B898
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206B89C
-FUN_0206B89C: ; 0x0206B89C
- mov r0, #0x3
- bx lr
-
- thumb_func_start FUN_0206B8A0
-FUN_0206B8A0: ; 0x0206B8A0
- mov r0, #0x5
- bx lr
-
- thumb_func_start FUN_0206B8A4
-FUN_0206B8A4: ; 0x0206B8A4
- mov r0, #0x59
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206B8AC
-FUN_0206B8AC: ; 0x0206B8AC
- push {r4, lr}
- mov r1, #0x59
- lsl r1, r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_0206B8C0
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0206B8C0
-FUN_0206B8C0: ; 0x0206B8C0
- ldr r3, _0206B8C8 ; =FUN_0206B8CC
- mov r1, #0x6
- bx r3
- nop
-_0206B8C8: .word FUN_0206B8CC
-
- thumb_func_start FUN_0206B8CC
-FUN_0206B8CC: ; 0x0206B8CC
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- cmp r6, #0x6
- ble _0206B8DA
- bl ErrorHandling
-_0206B8DA:
- mov r2, #0x59
- add r0, r5, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x4
- bl memset
- mov r4, #0x0
- str r4, [r5, #0x4]
- str r6, [r5, #0x0]
- add r5, #0x8
-_0206B8EE:
- add r0, r5, #0x0
- bl FUN_02066978
- add r4, r4, #0x1
- add r5, #0xec
- cmp r4, #0x6
- blt _0206B8EE
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206B900
-FUN_0206B900: ; 0x0206B900
- push {r4-r5}
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r1, [r3, #0x4]
- ldr r0, [r3, #0x0]
- cmp r1, r0
- blt _0206B914
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-_0206B914:
- mov r0, #0xec
- mul r0, r1
- add r5, r3, r0
- add r5, #0x8
- mov r4, #0x1d
-_0206B91E:
- ldmia r2!, {r0-r1}
- stmia r5!, {r0-r1}
- sub r4, r4, #0x1
- bne _0206B91E
- ldr r0, [r2, #0x0]
- str r0, [r5, #0x0]
- ldr r0, [r3, #0x4]
- add r0, r0, #0x1
- str r0, [r3, #0x4]
- mov r0, #0x1
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206B938
-FUN_0206B938: ; 0x0206B938
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r4, r1, #0x0
- bpl _0206B944
- bl ErrorHandling
-_0206B944:
- ldr r0, [r7, #0x4]
- cmp r4, r0
- blt _0206B94E
- bl ErrorHandling
-_0206B94E:
- ldr r0, [r7, #0x0]
- cmp r4, r0
- blt _0206B958
- bl ErrorHandling
-_0206B958:
- ldr r0, [r7, #0x4]
- cmp r0, #0x0
- bgt _0206B962
- bl ErrorHandling
-_0206B962:
- ldr r0, [r7, #0x4]
- sub r0, r0, #0x1
- cmp r4, r0
- bge _0206B992
- mov r0, #0xec
- mul r0, r4
- add r6, r7, r0
-_0206B970:
- add r5, r6, #0x0
- add r3, r6, #0x0
- add r5, #0xf4
- add r3, #0x8
- mov r2, #0x1d
-_0206B97A:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206B97A
- ldr r0, [r5, #0x0]
- add r4, r4, #0x1
- str r0, [r3, #0x0]
- ldr r0, [r7, #0x4]
- add r6, #0xec
- sub r0, r0, #0x1
- cmp r4, r0
- blt _0206B970
-_0206B992:
- add r1, r7, #0x0
- mov r0, #0xec
- add r1, #0x8
- mul r0, r4
- add r0, r1, r0
- bl FUN_02066978
- ldr r0, [r7, #0x4]
- sub r0, r0, #0x1
- str r0, [r7, #0x4]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206B9AC
-FUN_0206B9AC: ; 0x0206B9AC
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0206B9B0
-FUN_0206B9B0: ; 0x0206B9B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bpl _0206B9BC
- bl ErrorHandling
-_0206B9BC:
- ldr r0, [r5, #0x4]
- cmp r4, r0
- blt _0206B9C6
- bl ErrorHandling
-_0206B9C6:
- ldr r0, [r5, #0x0]
- cmp r4, r0
- blt _0206B9D0
- bl ErrorHandling
-_0206B9D0:
- mov r0, #0xec
- add r5, #0x8
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206B9DC
-FUN_0206B9DC: ; 0x0206B9DC
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x0
- bge _0206B9EC
- bl ErrorHandling
-_0206B9EC:
- ldr r0, [r5, #0x4]
- cmp r4, r0
- blt _0206B9F6
- bl ErrorHandling
-_0206B9F6:
- ldr r0, [r5, #0x0]
- cmp r4, r0
- blt _0206BA00
- bl ErrorHandling
-_0206BA00:
- add r1, r5, #0x0
- mov r0, #0xec
- add r1, #0x8
- mul r0, r4
- add r4, r1, r0
- add r0, r4, #0x0
- mov r1, #0xab
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0xab
- mov r2, #0x0
- bl FUN_020671BC
- sub r2, r7, r0
- mov r3, #0x1d
-_0206BA24:
- ldmia r6!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r3, r3, #0x1
- bne _0206BA24
- ldr r0, [r6, #0x0]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x4]
- add r0, r0, r2
- str r0, [r5, #0x4]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206BA38
-FUN_0206BA38: ; 0x0206BA38
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- add r6, r2, #0x0
- cmp r5, #0x0
- bge _0206BA48
- bl ErrorHandling
-_0206BA48:
- ldr r0, [r4, #0x4]
- cmp r5, r0
- blt _0206BA52
- bl ErrorHandling
-_0206BA52:
- ldr r0, [r4, #0x0]
- cmp r5, r0
- blt _0206BA5C
- bl ErrorHandling
-_0206BA5C:
- cmp r6, #0x0
- bge _0206BA64
- bl ErrorHandling
-_0206BA64:
- ldr r0, [r4, #0x4]
- cmp r6, r0
- blt _0206BA6E
- bl ErrorHandling
-_0206BA6E:
- ldr r0, [r4, #0x0]
- cmp r6, r0
- blt _0206BA78
- bl ErrorHandling
-_0206BA78:
- mov r0, #0x0
- mov r1, #0xec
- bl FUN_02016998
- mov r12, r0
- add r1, r4, #0x0
- mov r0, #0xec
- add r1, #0x8
- mul r0, r5
- add r3, r1, r0
- add r5, r3, #0x0
- mov r2, r12
- mov r7, #0x1d
-_0206BA92:
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r7, r7, #0x1
- bne _0206BA92
- ldr r0, [r5, #0x0]
- add r4, #0x8
- str r0, [r2, #0x0]
- mov r0, #0xec
- mul r0, r6
- add r2, r4, r0
- add r5, r2, #0x0
- mov r4, #0x1d
-_0206BAAA:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r4, r4, #0x1
- bne _0206BAAA
- ldr r0, [r5, #0x0]
- mov r4, r12
- str r0, [r3, #0x0]
- mov r3, #0x1d
-_0206BABA:
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r3, r3, #0x1
- bne _0206BABA
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
- mov r0, r12
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206BAD0
-FUN_0206BAD0: ; 0x0206BAD0
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0xb2
-_0206BAD8:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206BAD8
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206BAE4
-FUN_0206BAE4: ; 0x0206BAE4
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x4]
- add r7, r1, #0x0
- mov r4, #0x0
- cmp r0, #0x0
- ble _0206BB0E
- add r5, r6, #0x0
- add r5, #0x8
-_0206BAF6:
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- beq _0206BB0E
- ldr r0, [r6, #0x4]
- add r4, r4, #0x1
- add r5, #0xec
- cmp r4, r0
- blt _0206BAF6
-_0206BB0E:
- ldr r0, [r6, #0x4]
- cmp r4, r0
- beq _0206BB18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206BB18:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206BB1C
-FUN_0206BB1C: ; 0x0206BB1C
- ldr r3, _0206BB24 ; =FUN_02022610
- mov r1, #0x2
- bx r3
- nop
-_0206BB24: .word FUN_02022610
-
- thumb_func_start FUN_0206BB28
-FUN_0206BB28: ; 0x0206BB28
- push {r3, lr}
- bl FUN_02024DA0
- bl FUN_0206BB34
- pop {r3, pc}
-
- thumb_func_start FUN_0206BB34
-FUN_0206BB34: ; 0x0206BB34
- push {r3, lr}
- bl FUN_02024CA4
- cmp r0, #0x1
- bne _0206BB42
- mov r0, #0x1
- pop {r3, pc}
-_0206BB42:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206BB48
-FUN_0206BB48: ; 0x0206BB48
- push {r3, lr}
- cmp r0, #0x0
- bne _0206BB58
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069B40
- add r1, r0, #0x0
-_0206BB58:
- add r0, r1, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0206BB5C
-FUN_0206BB5C: ; 0x0206BB5C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02087A6C
- mov r1, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02087A98
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206BB74
-FUN_0206BB74: ; 0x0206BB74
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02087B0C
- add r0, r4, #0x0
- bl FUN_02087A84
- pop {r4, pc}
-
- thumb_func_start FUN_0206BB84
-FUN_0206BB84: ; 0x0206BB84
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- add r0, r7, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- cmp r4, #0x0
- bne _0206BBA2
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206BBA2:
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02023B0C
- add r5, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, r5
- bls _0206BBBE
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BBBE:
- add r0, r7, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0206BBD0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BBD0:
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02023B0C
- cmp r0, #0x0
- bne _0206BBEA
- add r0, r6, #0x0
- bl FUN_020695A8
- cmp r6, r0
- beq _0206BBEA
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BBEA:
- add r0, r4, #0x0
- mov r1, #0x5
- bl FUN_02023B0C
- add r5, r0, #0x0
- beq _0206BC14
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_02087B58
- cmp r5, #0x0
- ble _0206BC0A
- cmp r0, r5
- bge _0206BC14
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BC0A:
- neg r1, r5
- cmp r0, r1
- ble _0206BC14
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BC14:
- add r0, r4, #0x0
- mov r1, #0x7
- bl FUN_02023B0C
- mov r1, #0xa
- add r5, r0, #0x0
- mul r5, r1
- beq _0206BC42
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_02087B78
- cmp r5, #0x0
- ble _0206BC38
- cmp r0, r5
- bge _0206BC42
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BC38:
- neg r1, r5
- cmp r0, r1
- ble _0206BC42
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BC42:
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02023B0C
- cmp r0, #0x0
- bne _0206BC5C
- add r0, r7, #0x0
- bl FUN_0206A998
- cmp r0, #0x0
- beq _0206BC5C
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206BC5C:
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206BC60
-FUN_0206BC60: ; 0x0206BC60
- push {r3-r7, lr}
- sub sp, #0x30
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x14]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- cmp r0, #0x0
- bne _0206BC7E
- ldr r0, [sp, #0x14]
- add sp, #0x30
- pop {r3-r7, pc}
-_0206BC7E:
- ldr r1, [sp, #0x14]
- add r2, sp, #0x24
- add r3, sp, #0x18
- mov r0, #0x0
-_0206BC86:
- ldr r4, [sp, #0xc]
- strh r0, [r2, #0x0]
- strh r0, [r3, #0x0]
- ldrb r4, [r4, r1]
- cmp r4, #0x0
- beq _0206BC98
- ldr r4, [sp, #0x14]
- add r4, r4, #0x1
- str r4, [sp, #0x14]
-_0206BC98:
- add r1, r1, #0x1
- add r2, r2, #0x2
- add r3, r3, #0x2
- cmp r1, #0x6
- blt _0206BC86
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- bl FUN_02023B0C
- ldr r1, [sp, #0x14]
- cmp r1, r0
- beq _0206BCB6
- add sp, #0x30
- mov r0, #0x4
- pop {r3-r7, pc}
-_0206BCB6:
- mov r5, #0x0
- add r7, sp, #0x24
- add r6, sp, #0x18
-_0206BCBC:
- ldr r0, [sp, #0xc]
- ldrb r1, [r0, r5]
- cmp r1, #0x0
- beq _0206BD0A
- ldr r0, [sp, #0x4]
- sub r1, r1, #0x1
- bl FUN_0206B9B0
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r2, [sp, #0x8]
- add r1, r4, #0x0
- bl FUN_0206BB84
- cmp r0, #0x0
- bne _0206BCE2
- add sp, #0x30
- mov r0, #0x5
- pop {r3-r7, pc}
-_0206BCE2:
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r7, #0x0]
- add r0, r4, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- add r0, r4, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x10]
- add r0, r1, r0
- str r0, [sp, #0x10]
-_0206BD0A:
- add r5, r5, #0x1
- add r7, r7, #0x2
- add r6, r6, #0x2
- cmp r5, #0x6
- blt _0206BCBC
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- bl FUN_02023B0C
- ldr r1, [sp, #0x10]
- cmp r1, r0
- ble _0206BD2C
- cmp r0, #0x0
- beq _0206BD2C
- add sp, #0x30
- mov r0, #0x1
- pop {r3-r7, pc}
-_0206BD2C:
- ldr r0, [sp, #0x0]
- mov r1, #0xa
- bl FUN_02023B0C
- cmp r0, #0x0
- bne _0206BD70
- ldr r0, [sp, #0x14]
- cmp r0, #0x1
- ble _0206BD70
- add r4, sp, #0x24
- mov r0, #0x0
- add r2, r4, #0x0
-_0206BD44:
- add r3, r0, #0x1
- cmp r3, #0x6
- bge _0206BD68
- ldrh r6, [r4, #0x0]
- lsl r1, r3, #0x1
- add r5, r2, r1
-_0206BD50:
- ldrh r1, [r5, #0x0]
- cmp r6, r1
- bne _0206BD60
- cmp r6, #0x0
- beq _0206BD60
- add sp, #0x30
- mov r0, #0x2
- pop {r3-r7, pc}
-_0206BD60:
- add r3, r3, #0x1
- add r5, r5, #0x2
- cmp r3, #0x6
- blt _0206BD50
-_0206BD68:
- add r0, r0, #0x1
- add r4, r4, #0x2
- cmp r0, #0x5
- blt _0206BD44
-_0206BD70:
- ldr r0, [sp, #0x0]
- mov r1, #0x9
- bl FUN_02023B0C
- cmp r0, #0x0
- bne _0206BDC0
- ldr r0, [sp, #0x14]
- cmp r0, #0x1
- ble _0206BDC0
- add r2, sp, #0x18
- mov r5, #0x0
- add r7, sp, #0x24
- mov r12, r2
-_0206BD8A:
- add r6, r5, #0x1
- cmp r6, #0x6
- bge _0206BDB6
- lsl r1, r6, #0x1
- mov r0, r12
- add r3, r0, r1
- ldrh r4, [r2, #0x0]
- ldrh r0, [r7, #0x0]
-_0206BD9A:
- ldrh r1, [r3, #0x0]
- cmp r4, r1
- bne _0206BDAE
- cmp r0, #0x0
- beq _0206BDAE
- cmp r4, #0x0
- beq _0206BDAE
- add sp, #0x30
- mov r0, #0x3
- pop {r3-r7, pc}
-_0206BDAE:
- add r6, r6, #0x1
- add r3, r3, #0x2
- cmp r6, #0x6
- blt _0206BD9A
-_0206BDB6:
- add r5, r5, #0x1
- add r2, r2, #0x2
- add r7, r7, #0x2
- cmp r5, #0x5
- blt _0206BD8A
-_0206BDC0:
- mov r0, #0x0
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206BDC8
-FUN_0206BDC8: ; 0x0206BDC8
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x30]
- str r1, [sp, #0x10]
- lsl r0, r0, #0x1
- ldr r1, [sp, #0xc]
- str r0, [sp, #0x18]
- ldrh r0, [r1, r0]
- add r6, r2, #0x0
- str r3, [sp, #0x14]
- ldr r5, [sp, #0x38]
- ldr r7, [sp, #0x34]
- cmp r0, #0x0
- beq _0206BE12
- ldr r0, [sp, #0x18]
- ldrh r0, [r6, r0]
- cmp r0, #0x0
- bne _0206BE12
- ldr r1, [sp, #0x10]
- ldr r0, [sp, #0x18]
- ldrh r1, [r1, r0]
- add r0, r3, #0x0
- sub r0, r0, r1
- str r0, [sp, #0x14]
- bpl _0206BE02
- add sp, #0x1c
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206BE02:
- sub r7, r7, #0x1
- bne _0206BE0C
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0206BE0C:
- ldr r0, [sp, #0x18]
- mov r1, #0x1
- strh r1, [r6, r0]
-_0206BE12:
- ldr r0, [sp, #0x30]
- add r4, r0, #0x1
- cmp r4, r5
- bge _0206BE3C
-_0206BE1A:
- str r4, [sp, #0x0]
- str r7, [sp, #0x4]
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r2, r6, #0x0
- str r5, [sp, #0x8]
- bl FUN_0206BDC8
- cmp r0, #0x0
- beq _0206BE36
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0206BE36:
- add r4, r4, #0x1
- cmp r4, r5
- blt _0206BE1A
-_0206BE3C:
- ldr r1, [sp, #0x18]
- mov r0, #0x0
- strh r0, [r6, r1]
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206BE48
-FUN_0206BE48: ; 0x0206BE48
- push {r4-r7, lr}
- sub sp, #0x54
- str r0, [sp, #0xc]
- add r0, r1, #0x0
- str r1, [sp, #0x10]
- str r2, [sp, #0x14]
- bl FUN_0206B9AC
- str r0, [sp, #0x20]
- add r6, r0, #0x0
- add r0, sp, #0x30
- mov r1, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- ldr r0, [sp, #0x20]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0206BEB2
- add r4, sp, #0x48
- add r5, sp, #0x3c
-_0206BE72:
- ldr r0, [sp, #0x10]
- add r1, r7, #0x0
- bl FUN_0206B9B0
- str r0, [sp, #0x24]
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- ldr r0, [sp, #0x24]
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x0]
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x14]
- bl FUN_0206BB84
- cmp r0, #0x0
- bne _0206BEA6
- mov r0, #0x0
- strh r0, [r4, #0x0]
- sub r6, r6, #0x1
-_0206BEA6:
- ldr r0, [sp, #0x20]
- add r7, r7, #0x1
- add r4, r4, #0x2
- add r5, r5, #0x2
- cmp r7, r0
- blt _0206BE72
-_0206BEB2:
- ldr r0, [sp, #0xc]
- mov r1, #0xa
- bl FUN_02023B0C
- cmp r0, #0x0
- bne _0206BF32
- ldr r0, [sp, #0x20]
- cmp r0, #0x1
- ble _0206BF32
- mov r0, #0x0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x20]
- sub r0, r0, #0x1
- str r0, [sp, #0x28]
- cmp r0, #0x0
- ble _0206BF32
- add r0, sp, #0x3c
- add r3, sp, #0x48
- str r0, [sp, #0x1c]
- str r3, [sp, #0x2c]
- mov r12, r0
-_0206BEDC:
- ldr r0, [sp, #0x18]
- add r2, r0, #0x1
- ldr r0, [sp, #0x20]
- cmp r2, r0
- bge _0206BF1E
- ldr r1, [sp, #0x2c]
- lsl r0, r2, #0x1
- add r4, r1, r0
- mov r1, r12
- add r5, r1, r0
- ldr r0, [sp, #0x1c]
- ldrh r7, [r0, #0x0]
-_0206BEF4:
- ldrh r1, [r3, #0x0]
- ldrh r0, [r4, #0x0]
- cmp r1, r0
- bne _0206BF12
- cmp r1, #0x0
- beq _0206BF12
- ldrh r0, [r5, #0x0]
- cmp r7, r0
- bls _0206BF0C
- mov r0, #0x0
- strh r0, [r3, #0x0]
- b _0206BF10
-_0206BF0C:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0206BF10:
- sub r6, r6, #0x1
-_0206BF12:
- ldr r0, [sp, #0x20]
- add r2, r2, #0x1
- add r4, r4, #0x2
- add r5, r5, #0x2
- cmp r2, r0
- blt _0206BEF4
-_0206BF1E:
- ldr r0, [sp, #0x1c]
- add r3, r3, #0x2
- add r0, r0, #0x2
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x18]
- add r1, r0, #0x1
- ldr r0, [sp, #0x28]
- str r1, [sp, #0x18]
- cmp r1, r0
- blt _0206BEDC
-_0206BF32:
- ldr r0, [sp, #0xc]
- mov r1, #0x1
- bl FUN_02023B0C
- add r7, r0, #0x0
- cmp r6, r7
- bge _0206BF46
- add sp, #0x54
- mov r0, #0x4
- pop {r4-r7, pc}
-_0206BF46:
- ldr r0, [sp, #0xc]
- mov r1, #0x3
- bl FUN_02023B0C
- add r5, r0, #0x0
- bne _0206BF58
- add sp, #0x54
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206BF58:
- ldr r0, [sp, #0x20]
- mov r4, #0x0
- cmp r0, #0x0
- ble _0206BF88
- add r6, sp, #0x48
-_0206BF62:
- str r4, [sp, #0x0]
- ldr r0, [sp, #0x20]
- str r7, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- add r1, sp, #0x3c
- add r2, sp, #0x30
- add r3, r5, #0x0
- bl FUN_0206BDC8
- cmp r0, #0x0
- beq _0206BF80
- add sp, #0x54
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206BF80:
- ldr r0, [sp, #0x20]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0206BF62
-_0206BF88:
- mov r0, #0x1
- add sp, #0x54
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206BF90
-FUN_0206BF90: ; 0x0206BF90
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x5
- mov r1, #0x8
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x5
- mov r1, #0x8
- bl FUN_02016998
- add r6, r0, #0x0
- ldr r0, _0206BFE4 ; =0x020F828C
- mov r1, #0xc
- add r2, r5, #0x0
- bl FUN_0202D8D0
- str r5, [r4, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x4]
- str r5, [r6, #0x0]
- strb r0, [r6, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl MOD11_02231344
- add r0, r5, #0x0
- add r1, r6, #0x4
- bl MOD11_02231350
- ldr r0, _0206BFE8 ; =FUN_0206C550
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0200CA44
- ldr r0, _0206BFEC ; =FUN_0206C5DC
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_0200CA44
- pop {r4-r6, pc}
- nop
-_0206BFE4: .word 0x020F828C
-_0206BFE8: .word FUN_0206C550
-_0206BFEC: .word FUN_0206C5DC
-
- thumb_func_start FUN_0206BFF0
-FUN_0206BFF0: ; 0x0206BFF0
- ldr r3, _0206BFFC ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _0206C000 ; =0x020F828C
- mov r1, #0xc
- bx r3
- nop
-_0206BFFC: .word FUN_0202D8D0
-_0206C000: .word 0x020F828C
-
- thumb_func_start FUN_0206C004
-FUN_0206C004: ; 0x0206C004
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_0206C008
-FUN_0206C008: ; 0x0206C008
- ldr r3, _0206C00C ; =FUN_02023924
- bx r3
- .balign 4
-_0206C00C: .word FUN_02023924
-
- thumb_func_start FUN_0206C010
-FUN_0206C010: ; 0x0206C010
- ldr r3, _0206C014 ; =FUN_0206B8A4
- bx r3
- .balign 4
-_0206C014: .word FUN_0206B8A4
-
- thumb_func_start FUN_0206C018
-FUN_0206C018: ; 0x0206C018
- mov r0, #0xfa
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C020
-FUN_0206C020: ; 0x0206C020
- mov r0, #0x34
- bx lr
-
- thumb_func_start FUN_0206C024
-FUN_0206C024: ; 0x0206C024
- ldr r3, [r1, #0x0]
- mov r1, #0x80
- ldr r2, [r3, #0x0]
- tst r1, r2
- beq _0206C038
- lsl r0, r0, #0x3
- add r0, r3, r0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bx lr
-_0206C038:
- lsl r0, r0, #0x2
- add r0, r3, r0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C044
-FUN_0206C044: ; 0x0206C044
- ldr r1, [r1, #0x0]
- mov r2, #0x80
- ldr r3, [r1, #0x0]
- tst r2, r3
- beq _0206C05A
- lsl r2, r0, #0x1
- mov r0, #0x34
- add r1, #0x28
- mul r0, r2
- add r0, r1, r0
- bx lr
-_0206C05A:
- mov r2, #0x34
- add r1, #0x28
- mul r2, r0
- add r0, r1, r2
- bx lr
-
- thumb_func_start FUN_0206C064
-FUN_0206C064: ; 0x0206C064
- ldr r3, [r1, #0x0]
- mov r1, #0x80
- ldr r2, [r3, #0x0]
- tst r1, r2
- beq _0206C076
- lsl r0, r0, #0x3
- add r0, r3, r0
- ldr r0, [r0, #0x4]
- bx lr
-_0206C076:
- lsl r0, r0, #0x2
- add r0, r3, r0
- ldr r0, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C080
-FUN_0206C080: ; 0x0206C080
- ldr r3, [r1, #0x0]
- mov r1, #0x80
- ldr r2, [r3, #0x0]
- tst r2, r1
- beq _0206C094
- lsl r0, r0, #0x3
- add r0, r3, r0
- add r1, #0x98
- ldr r0, [r0, r1]
- bx lr
-_0206C094:
- lsl r0, r0, #0x2
- add r0, r3, r0
- add r1, #0x98
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C0A0
-FUN_0206C0A0: ; 0x0206C0A0
- ldr r0, [r1, #0x0]
- add r0, #0x5c
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C0A8
-FUN_0206C0A8: ; 0x0206C0A8
- ldr r0, [r1, #0x0]
- add r0, #0xc4
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C0B0
-FUN_0206C0B0: ; 0x0206C0B0
- ldr r0, [r1, #0x0]
- ldr r0, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C0B8
-FUN_0206C0B8: ; 0x0206C0B8
- ldr r0, [r1, #0x0]
- ldr r0, [r0, #0x10]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206C0C0
-FUN_0206C0C0: ; 0x0206C0C0
- lsl r0, r0, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0206C0C8
-FUN_0206C0C8: ; 0x0206C0C8
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r0, #0x5
- mov r1, #0x4
- str r2, [sp, #0x8]
- add r7, r3, #0x0
- bl FUN_02016998
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD11_022300D4
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD11_022300F4
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD11_02230100
- mov r12, r0
- add r0, sp, #0x10
- ldrh r3, [r4, #0x0]
- ldrb r0, [r0, #0x10]
- add r1, r3, #0x5
- add r2, r1, r0
- mov r1, #0x1
- lsl r1, r1, #0xc
- cmp r2, r1
- bls _0206C110
- mov r1, r12
- strh r3, [r1, #0x0]
- mov r1, #0x0
- strh r1, [r4, #0x0]
-_0206C110:
- ldr r1, [sp, #0x4]
- mov r3, #0x0
- strb r1, [r6, #0x0]
- ldr r1, [sp, #0x8]
- strb r1, [r6, #0x1]
- add r1, sp, #0x10
- ldrb r1, [r1, #0x10]
- strh r1, [r6, #0x2]
-_0206C120:
- ldrb r2, [r6, r3]
- ldrh r1, [r4, #0x0]
- add r3, r3, #0x1
- strb r2, [r5, r1]
- ldrh r1, [r4, #0x0]
- add r1, r1, #0x1
- strh r1, [r4, #0x0]
- cmp r3, #0x4
- blo _0206C120
- mov r3, #0x0
- cmp r0, #0x0
- ble _0206C14A
-_0206C138:
- ldrb r2, [r7, r3]
- ldrh r1, [r4, #0x0]
- add r3, r3, #0x1
- strb r2, [r5, r1]
- ldrh r1, [r4, #0x0]
- add r1, r1, #0x1
- strh r1, [r4, #0x0]
- cmp r3, r0
- blt _0206C138
-_0206C14A:
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206C154
-FUN_0206C154: ; 0x0206C154
- push {r3-r7, lr}
- str r3, [sp, #0x0]
- add r0, r3, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl MOD11_022300DC
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD11_02230118
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- bl MOD11_02230124
- ldrh r1, [r4, #0x0]
- add r2, r1, r5
- add r3, r2, #0x1
- mov r2, #0x1
- lsl r2, r2, #0xc
- cmp r3, r2
- ble _0206C186
- strh r1, [r0, #0x0]
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0206C186:
- mov r0, #0x0
- cmp r5, #0x0
- ble _0206C19E
-_0206C18C:
- ldrb r2, [r6, r0]
- ldrh r1, [r4, #0x0]
- add r0, r0, #0x1
- strb r2, [r7, r1]
- ldrh r1, [r4, #0x0]
- add r1, r1, #0x1
- strh r1, [r4, #0x0]
- cmp r0, r5
- blt _0206C18C
-_0206C19E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206C1A0
-FUN_0206C1A0: ; 0x0206C1A0
- push {r0-r3}
- push {r3, lr}
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C1BA
- mov r0, #0x0
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
-_0206C1BA:
- mov r0, #0x33
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C1CE
- mov r0, #0x0
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
-_0206C1CE:
- mov r0, #0x18
- add r1, sp, #0xc
- mov r2, #0x4
- bl FUN_02030ADC
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_0206C1E0
-FUN_0206C1E0: ; 0x0206C1E0
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x5f
- ldr r2, [r2, #0x0]
- lsl r0, r0, #0x2
- str r2, [r1, r0]
- ldr r0, _0206C1F8 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- .balign 4
-_0206C1F8: .word 0x00001020
-
- thumb_func_start FUN_0206C1FC
-FUN_0206C1FC: ; 0x0206C1FC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C210
- mov r0, #0x0
- pop {r4, pc}
-_0206C210:
- ldr r0, [r4, #0x0]
- add r4, #0x20
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_0202393C
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206C224
-FUN_0206C224: ; 0x0206C224
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C238
- mov r0, #0x0
- pop {r4, pc}
-_0206C238:
- mov r0, #0x34
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C246
- mov r0, #0x0
- pop {r4, pc}
-_0206C246:
- bl FUN_02023924
- add r4, #0x20
- add r2, r0, #0x0
- mov r0, #0x19
- add r1, r4, #0x0
- bl FUN_02030A78
- pop {r4, pc}
-
- thumb_func_start FUN_0206C258
-FUN_0206C258: ; 0x0206C258
- ldr r0, _0206C264 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C264: .word 0x00001020
-
- thumb_func_start FUN_0206C268
-FUN_0206C268: ; 0x0206C268
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C27C
- mov r0, #0x0
- pop {r4, pc}
-_0206C27C:
- ldr r3, [r4, #0x0]
- add r4, #0x20
- add r3, #0x28
- mov r2, #0x6
-_0206C284:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206C284
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0206C294
-FUN_0206C294: ; 0x0206C294
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C2A8
- mov r0, #0x0
- pop {r4, pc}
-_0206C2A8:
- mov r0, #0x35
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C2B6
- mov r0, #0x0
- pop {r4, pc}
-_0206C2B6:
- add r4, #0x20
- mov r0, #0x1a
- add r1, r4, #0x0
- mov r2, #0x34
- bl FUN_02030A78
- pop {r4, pc}
-
- thumb_func_start FUN_0206C2C4
-FUN_0206C2C4: ; 0x0206C2C4
- ldr r0, _0206C2D0 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C2D0: .word 0x00001020
-
- thumb_func_start FUN_0206C2D4
-FUN_0206C2D4: ; 0x0206C2D4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C2E8
- mov r0, #0x0
- pop {r4, pc}
-_0206C2E8:
- ldr r0, [r4, #0x0]
- add r4, #0x20
- ldr r0, [r0, #0x4]
- add r1, r4, #0x0
- bl FUN_0206BAD0
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0206C2F8
-FUN_0206C2F8: ; 0x0206C2F8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C30C
- mov r0, #0x0
- pop {r4, pc}
-_0206C30C:
- mov r0, #0x36
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C31A
- mov r0, #0x0
- pop {r4, pc}
-_0206C31A:
- bl FUN_0206B8A4
- add r4, #0x20
- add r2, r0, #0x0
- mov r0, #0x1b
- add r1, r4, #0x0
- bl FUN_02030A78
- pop {r4, pc}
-
- thumb_func_start FUN_0206C32C
-FUN_0206C32C: ; 0x0206C32C
- ldr r0, _0206C338 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C338: .word 0x00001020
-
- thumb_func_start FUN_0206C33C
-FUN_0206C33C: ; 0x0206C33C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C350
- mov r0, #0x0
- pop {r4, pc}
-_0206C350:
- ldr r2, [r4, #0x0]
- add r1, #0x10
- add r0, r4, #0x0
- ldr r1, [r2, r1]
- add r0, #0x20
- bl FUN_02029F9C
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206C364
-FUN_0206C364: ; 0x0206C364
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C378
- mov r0, #0x0
- pop {r4, pc}
-_0206C378:
- mov r0, #0x37
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C386
- mov r0, #0x0
- pop {r4, pc}
-_0206C386:
- add r4, #0x20
- mov r2, #0xfa
- mov r0, #0x1c
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- bl FUN_02030A78
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206C398
-FUN_0206C398: ; 0x0206C398
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C3AC
- mov r0, #0x0
- pop {r3-r7, pc}
-_0206C3AC:
- ldr r4, [r5, #0x0]
- mov r0, #0x80
- ldr r1, [r4, #0x0]
- tst r0, r1
- beq _0206C3BE
- bl FUN_02031190
- lsl r0, r0, #0x3
- b _0206C3C4
-_0206C3BE:
- bl FUN_02031190
- lsl r0, r0, #0x2
-_0206C3C4:
- add r0, r4, r0
- mov r1, #0x53
- add r0, #0xf8
- lsl r1, r1, #0x2
- add r2, r5, #0x0
- ldr r0, [r0, #0x0]
- ldr r1, [r4, r1]
- add r2, #0x20
- bl FUN_0206C66C
- mov r4, #0x0
- mov r6, #0x5
- mov r7, #0x88
-_0206C3DE:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02016998
- str r0, [r5, #0x10]
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _0206C3DE
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206C3F4
-FUN_0206C3F4: ; 0x0206C3F4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C408
- mov r0, #0x0
- pop {r4, pc}
-_0206C408:
- mov r0, #0x38
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C416
- mov r0, #0x0
- pop {r4, pc}
-_0206C416:
- add r4, #0x20
- mov r2, #0xfa
- mov r0, #0x21
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- bl FUN_02030A78
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206C428
-FUN_0206C428: ; 0x0206C428
- ldr r0, _0206C434 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C434: .word 0x00001020
-
- thumb_func_start FUN_0206C438
-FUN_0206C438: ; 0x0206C438
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C44E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0206C44E:
- ldr r1, [r5, #0x0]
- mov r0, #0x34
- mul r0, r4
- add r3, r1, r0
- add r3, #0x28
- add r5, #0x20
- mov r2, #0x6
-_0206C45C:
- ldmia r3!, {r0-r1}
- stmia r5!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206C45C
- ldr r0, [r3, #0x0]
- str r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206C46C
-FUN_0206C46C: ; 0x0206C46C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C484
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206C484:
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C494
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206C494:
- cmp r4, #0x1
- bne _0206C4A6
- add r5, #0x20
- mov r0, #0x1d
- add r1, r5, #0x0
- mov r2, #0x34
- bl FUN_02030A78
- pop {r4-r6, pc}
-_0206C4A6:
- add r5, #0x20
- mov r0, #0x1e
- add r1, r5, #0x0
- mov r2, #0x34
- bl FUN_02030A78
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206C4B4
-FUN_0206C4B4: ; 0x0206C4B4
- ldr r0, _0206C4C0 ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C4C0: .word 0x00001020
-
- thumb_func_start FUN_0206C4C4
-FUN_0206C4C4: ; 0x0206C4C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C4DA
- mov r0, #0x0
- pop {r3-r5, pc}
-_0206C4DA:
- ldr r1, [r5, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- add r5, #0x20
- ldr r0, [r0, #0x4]
- add r1, r5, #0x0
- bl FUN_0206BAD0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206C4F0
-FUN_0206C4F0: ; 0x0206C4F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _0206C508
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206C508:
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- bl FUN_020315D8
- cmp r0, #0x0
- bne _0206C518
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206C518:
- cmp r4, #0x1
- bne _0206C52E
- bl FUN_0206B8A4
- add r5, #0x20
- add r2, r0, #0x0
- mov r0, #0x1f
- add r1, r5, #0x0
- bl FUN_02030A78
- pop {r4-r6, pc}
-_0206C52E:
- bl FUN_0206B8A4
- add r5, #0x20
- add r2, r0, #0x0
- mov r0, #0x20
- add r1, r5, #0x0
- bl FUN_02030A78
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206C540
-FUN_0206C540: ; 0x0206C540
- ldr r0, _0206C54C ; =0x00001020
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- bx lr
- nop
-_0206C54C: .word 0x00001020
-
- thumb_func_start FUN_0206C550
-FUN_0206C550: ; 0x0206C550
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- bl MOD11_022300D4
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl MOD11_022300E8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl MOD11_022300F4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- bl MOD11_02230100
- add r7, r0, #0x0
- ldrb r0, [r5, #0x4]
- cmp r0, #0x0
- beq _0206C582
- cmp r0, #0xff
- b _0206C5CC
-_0206C582:
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- bne _0206C5D8
- ldr r0, [sp, #0x4]
- ldrh r1, [r4, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r1, r0
- beq _0206C5D8
- ldrh r0, [r7, #0x0]
- cmp r1, r0
- bne _0206C5A4
- mov r0, #0x0
- strh r0, [r4, #0x0]
- strh r0, [r7, #0x0]
-_0206C5A4:
- ldrh r1, [r4, #0x0]
- add r0, r1, #0x2
- ldrb r2, [r6, r0]
- add r0, r1, #0x3
- ldrb r0, [r6, r0]
- add r1, r6, r1
- lsl r0, r0, #0x8
- orr r0, r2
- add r5, r0, #0x4
- mov r0, #0x17
- add r2, r5, #0x0
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _0206C5D8
- ldrh r0, [r4, #0x0]
- add sp, #0x8
- add r0, r0, r5
- strh r0, [r4, #0x0]
- pop {r3-r7, pc}
-_0206C5CC:
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x0]
- bl FUN_0200CAB4
-_0206C5D8:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206C5DC
-FUN_0206C5DC: ; 0x0206C5DC
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- bl MOD11_022300DC
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl MOD11_0223010C
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl MOD11_02230118
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl MOD11_02230124
- ldrb r1, [r5, #0x4]
- cmp r1, #0x0
- beq _0206C60A
- cmp r1, #0xff
- b _0206C63E
-_0206C60A:
- ldrh r1, [r4, #0x0]
- ldrh r2, [r7, #0x0]
- cmp r1, r2
- beq _0206C64A
- ldrh r2, [r0, #0x0]
- cmp r1, r2
- bne _0206C61E
- mov r1, #0x0
- strh r1, [r4, #0x0]
- strh r1, [r0, #0x0]
-_0206C61E:
- ldrh r1, [r4, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r6, r1
- bl MOD11_022567E0
- ldrh r0, [r4, #0x0]
- add r1, r0, #0x2
- ldrb r2, [r6, r1]
- add r1, r0, #0x3
- ldrb r1, [r6, r1]
- lsl r1, r1, #0x8
- orr r1, r2
- add r1, r1, #0x4
- add r0, r0, r1
- strh r0, [r4, #0x0]
- pop {r3-r7, pc}
-_0206C63E:
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x0]
- bl FUN_0200CAB4
-_0206C64A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206C64C
-FUN_0206C64C: ; 0x0206C64C
- push {r4, lr}
- add r4, r3, #0x0
- add r0, r4, #0x0
- mov r1, #0xff
- bl MOD11_0223135C
- add r0, r4, #0x0
- mov r1, #0xff
- bl MOD11_02231368
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD11_02231374
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206C66C
-FUN_0206C66C: ; 0x0206C66C
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl StringCopy
- add r0, r6, #0x0
- bl FUN_020239BC
- str r0, [r4, #0x10]
- add r0, r6, #0x0
- bl FUN_02023A70
- strb r0, [r4, #0x14]
- add r0, r6, #0x0
- bl FUN_02023A68
- strb r0, [r4, #0x15]
- add r0, r6, #0x0
- bl FUN_020239CC
- strb r0, [r4, #0x16]
- mov r0, #0x0
- add r1, r4, #0x0
-_0206C6A4:
- ldr r2, [r5, #0x10]
- str r2, [r1, #0x18]
- ldrb r3, [r5, #0x15]
- add r2, r4, r0
- add r2, #0x58
- strb r3, [r2, #0x0]
- add r2, r4, r0
- ldrb r3, [r5, #0x14]
- add r2, #0x68
- add r1, r1, #0x4
- strb r3, [r2, #0x0]
- add r2, r4, r0
- ldrb r3, [r5, #0x16]
- add r2, #0x78
- add r0, r0, #0x1
- add r5, #0x88
- strb r3, [r2, #0x0]
- cmp r0, #0x10
- blt _0206C6A4
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206C6CC
-FUN_0206C6CC: ; 0x0206C6CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02031190
- cmp r5, r0
- beq _0206C6EE
- mov r0, #0x53
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add r1, r6, #0x0
- mov r2, #0x1
- mov r3, #0x5
- bl FUN_02025520
-_0206C6EE:
- ldr r0, _0206C6F8 ; =0x00001020
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4-r6, pc}
- .balign 4
-_0206C6F8: .word 0x00001020
-
- thumb_func_start FUN_0206C6FC
-FUN_0206C6FC: ; 0x0206C6FC
- mov r0, #0x88
- bx lr
-
- thumb_func_start FUN_0206C700
-FUN_0206C700: ; 0x0206C700
- push {r4-r7, lr}
- sub sp, #0x24
- ldr r5, [sp, #0x54]
- add r6, r0, #0x0
- str r1, [sp, #0x14]
- add r0, r5, #0x0
- mov r1, #0x80
- add r7, r2, #0x0
- str r3, [sp, #0x18]
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x80
- bl MIi_CpuClearFast
- bl FUN_020222F0
- str r0, [sp, #0x1c]
- bl FUN_020222E8
- add r1, r0, #0x0
- ldr r2, [sp, #0x1c]
- mov r0, #0x0
- bl MIi_CpuClear16
- bl FUN_02022300
- str r0, [sp, #0x20]
- bl FUN_020222F8
- add r1, r0, #0x0
- ldr r2, [sp, #0x20]
- mov r0, #0x0
- bl MIi_CpuClear16
- ldr r0, [sp, #0x14]
- str r6, [r4, #0x24]
- mov r1, #0x5
- mov r2, #0x0
- str r0, [r4, #0x28]
- bl FUN_020671BC
- add r1, r4, #0x0
- add r1, #0x60
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x62
- strh r7, [r0, #0x0]
- str r5, [r4, #0x5c]
- add r0, r5, #0x0
- bl FUN_02002FD0
- str r0, [r4, #0x14]
- mov r1, #0x1
- bl FUN_020038F0
- mov r2, #0x2
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- lsl r2, r2, #0x8
- add r3, r5, #0x0
- bl FUN_02003008
- mov r1, #0x1
- ldr r0, [r4, #0x14]
- lsl r2, r1, #0x9
- add r3, r5, #0x0
- bl FUN_02003008
- mov r2, #0x7
- ldr r0, [r4, #0x14]
- mov r1, #0x2
- lsl r2, r2, #0x6
- add r3, r5, #0x0
- bl FUN_02003008
- mov r2, #0x2
- ldr r0, [r4, #0x14]
- mov r1, #0x3
- lsl r2, r2, #0x8
- add r3, r5, #0x0
- bl FUN_02003008
- add r0, r5, #0x0
- bl FUN_02016B94
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02018FF4
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x18]
- str r0, [r4, #0x2c]
- add r0, r5, #0x0
- bl FUN_0206DE78
- str r0, [r4, #0x34]
- bl FUN_0206DE24
- bl FUN_0206DE4C
- bl FUN_0206DF18
- ldr r1, [r4, #0x0]
- add r0, r4, #0x0
- bl FUN_0206D9B4
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0xb
- str r0, [sp, #0xc]
- mov r0, #0x1f
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- mov r2, #0x1
- mov r3, #0x2
- bl FUN_02019064
- ldr r0, [r4, #0x4]
- mov r1, #0xff
- bl FUN_02019620
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xa
- bl FUN_0200D0BC
- add r0, r5, #0x0
- bl FUN_02006D98
- str r0, [r4, #0x18]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_02014BF4
- str r0, [r4, #0x44]
- add r0, r4, #0x0
- mov r2, #0x51
- mov r1, #0x0
- add r0, #0x67
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x66
- strb r1, [r0, #0x0]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- add r3, r5, #0x0
- bl FUN_0200A86C
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_0200AA80
- str r0, [r4, #0xc]
- mov r0, #0x5
- lsl r0, r0, #0x6
- add r1, r5, #0x0
- bl FUN_020219F4
- str r0, [r4, #0x10]
- add r0, r5, #0x0
- mov r1, #0x30
- bl FUN_02016998
- str r0, [r4, #0x3c]
- ldr r1, [r4, #0x3c]
- mov r0, #0x0
- mov r2, #0x30
- bl MIi_CpuClearFast
- ldr r1, [sp, #0x38]
- ldr r0, [r4, #0x3c]
- str r1, [r0, #0x2c]
- ldr r0, [sp, #0x3c]
- str r0, [r4, #0x48]
- ldr r0, [sp, #0x40]
- str r0, [r4, #0x4c]
- ldr r0, [sp, #0x44]
- str r0, [r4, #0x50]
- ldr r0, [sp, #0x48]
- str r0, [r4, #0x54]
- ldr r0, [sp, #0x4c]
- str r0, [r4, #0x78]
- ldr r0, [sp, #0x50]
- str r0, [r4, #0x7c]
- add r0, r4, #0x0
- bl FUN_0206DC80
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206C8E4 ; =0x0000FFFF
- mov r1, #0xf
- mov r3, #0x1
- bl FUN_02003210
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r1, #0x10
- add r3, r2, #0x0
- bl FUN_02007E98
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- mov r2, #0xb
- add r3, r5, #0x0
- bl FUN_020142EC
- mov r1, #0x1
- str r0, [r4, #0x58]
- bl FUN_020143A8
- ldr r0, _0206C8E8 ; =FUN_0206C8EC
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0200CA44
- mov r0, #0x1
- bl FUN_02002B60
- bl FUN_02033E74
- add r0, r4, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0206C8E4: .word 0x0000FFFF
-_0206C8E8: .word FUN_0206C8EC
-
- thumb_func_start FUN_0206C8EC
-FUN_0206C8EC: ; 0x0206C8EC
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0206C9C0
- ldr r0, [r5, #0x18]
- bl FUN_02006ED4
- bl FUN_0206DF58
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020222B4
- add r5, #0x67
- ldrb r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0206C918
- add r0, r4, #0x0
- bl FUN_0200CAB4
-_0206C918:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206C91C
-FUN_0206C91C: ; 0x0206C91C
- add r0, #0x67
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0206C928
- mov r0, #0x1
- bx lr
-_0206C928:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0206C92C
-FUN_0206C92C: ; 0x0206C92C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- bl FUN_020191A4
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- bl FUN_02003038
- ldr r0, [r4, #0x14]
- mov r1, #0x1
- bl FUN_02003038
- ldr r0, [r4, #0x14]
- mov r1, #0x2
- bl FUN_02003038
- ldr r0, [r4, #0x14]
- mov r1, #0x3
- bl FUN_02003038
- ldr r0, [r4, #0x14]
- bl FUN_02002FEC
- ldr r0, [r4, #0x18]
- bl FUN_020072E8
- ldr r0, [r4, #0x44]
- bl FUN_02014C28
- ldr r0, [r4, #0x34]
- bl FUN_020223BC
- ldr r0, [r4, #0x0]
- bl FUN_0206DC48
- ldr r0, [r4, #0x8]
- bl FUN_0200A8B8
- ldr r0, [r4, #0xc]
- bl FUN_0200AB18
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- ldr r0, [r4, #0x3c]
- bl FUN_02016A18
- ldr r0, [r4, #0x58]
- bl FUN_020143D0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- bl FUN_02002B60
- pop {r4, pc}
-
- thumb_func_start FUN_0206C9C0
-FUN_0206C9C0: ; 0x0206C9C0
- push {r3-r4, lr}
- sub sp, #0x54
- add r4, r0, #0x0
- add r0, #0x70
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0206CA9C
- mov r0, #0x1
- tst r0, r1
- ldr r0, [r4, #0x1c]
- bne _0206CA2E
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- mov r1, #0xc
- neg r2, r2
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x1c]
- mov r1, #0xd
- neg r2, r2
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x20]
- mov r1, #0xc
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x20]
- mov r1, #0xd
- bl FUN_020079E0
- ldr r0, [r4, #0x1c]
- mov r1, #0xc
- bl FUN_0200782C
- cmp r0, #0x0
- bne _0206CA9C
- add r0, r4, #0x0
- add r0, #0x70
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- eor r1, r0
- add r0, r4, #0x0
- add r0, #0x70
- strb r1, [r0, #0x0]
- b _0206CA9C
-_0206CA2E:
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- mov r1, #0xc
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x1c]
- mov r1, #0xd
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x20]
- mov r1, #0xc
- neg r2, r2
- bl FUN_020079E0
- add r2, r4, #0x0
- add r2, #0x71
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x20]
- mov r1, #0xd
- neg r2, r2
- bl FUN_020079E0
- ldr r0, [r4, #0x20]
- mov r1, #0xc
- bl FUN_0200782C
- cmp r0, #0x0
- bne _0206CA9C
- add r0, r4, #0x0
- add r0, #0x70
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- eor r1, r0
- add r0, r4, #0x0
- add r0, #0x70
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x71
- ldrb r0, [r0, #0x0]
- cmp r0, #0x40
- bhs _0206CA9C
- add r0, r4, #0x0
- add r0, #0x71
- ldrb r0, [r0, #0x0]
- lsl r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x71
- strb r1, [r0, #0x0]
-_0206CA9C:
- ldr r1, [r4, #0x7c]
- mov r0, #0x1
- tst r0, r1
- beq _0206CAD6
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- cmp r0, #0x8
- bne _0206CAD6
- ldr r0, _0206CE0C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _0206CAD6
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, _0206CE10 ; =0x00007FFF
- ldr r2, _0206CE14 ; =0x0000F3FF
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- mov r1, #0xf
- bl FUN_02003210
- add r0, r4, #0x0
- mov r1, #0x29
- add r0, #0x64
- strb r1, [r0, #0x0]
-_0206CAD6:
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2d
- bhi _0206CBA8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206CAEC: ; jump table (using 16-bit offset)
- .short _0206CB48 - _0206CAEC - 2; case 0
- .short _0206CB70 - _0206CAEC - 2; case 1
- .short _0206CB9E - _0206CAEC - 2; case 2
- .short _0206CBCC - _0206CAEC - 2; case 3
- .short _0206CBE4 - _0206CAEC - 2; case 4
- .short _0206CC66 - _0206CAEC - 2; case 5
- .short _0206CCB2 - _0206CAEC - 2; case 6
- .short _0206CD34 - _0206CAEC - 2; case 7
- .short _0206CDC8 - _0206CAEC - 2; case 8
- .short _0206CE8A - _0206CAEC - 2; case 9
- .short _0206CF18 - _0206CAEC - 2; case 10
- .short _0206CF7E - _0206CAEC - 2; case 11
- .short _0206CFFA - _0206CAEC - 2; case 12
- .short _0206D06E - _0206CAEC - 2; case 13
- .short _0206D0E8 - _0206CAEC - 2; case 14
- .short _0206D188 - _0206CAEC - 2; case 15
- .short _0206D12C - _0206CAEC - 2; case 16
- .short _0206D188 - _0206CAEC - 2; case 17
- .short _0206D162 - _0206CAEC - 2; case 18
- .short _0206D188 - _0206CAEC - 2; case 19
- .short _0206D1C0 - _0206CAEC - 2; case 20
- .short _0206D20E - _0206CAEC - 2; case 21
- .short _0206D260 - _0206CAEC - 2; case 22
- .short _0206D2E2 - _0206CAEC - 2; case 23
- .short _0206D360 - _0206CAEC - 2; case 24
- .short _0206D480 - _0206CAEC - 2; case 25
- .short _0206D188 - _0206CAEC - 2; case 26
- .short _0206D4A6 - _0206CAEC - 2; case 27
- .short _0206D188 - _0206CAEC - 2; case 28
- .short _0206D4F8 - _0206CAEC - 2; case 29
- .short _0206D188 - _0206CAEC - 2; case 30
- .short _0206D51E - _0206CAEC - 2; case 31
- .short _0206D398 - _0206CAEC - 2; case 32
- .short _0206D188 - _0206CAEC - 2; case 33
- .short _0206D3CC - _0206CAEC - 2; case 34
- .short _0206D3EE - _0206CAEC - 2; case 35
- .short _0206D44E - _0206CAEC - 2; case 36
- .short _0206D5AA - _0206CAEC - 2; case 37
- .short _0206D5C8 - _0206CAEC - 2; case 38
- .short _0206D5F4 - _0206CAEC - 2; case 39
- .short _0206D628 - _0206CAEC - 2; case 40
- .short _0206D648 - _0206CAEC - 2; case 41
- .short _0206D6EE - _0206CAEC - 2; case 42
- .short _0206D748 - _0206CAEC - 2; case 43
- .short _0206D79C - _0206CAEC - 2; case 44
- .short _0206D7F6 - _0206CAEC - 2; case 45
-_0206CB48:
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0206CBA8
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CB70:
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- ldr r0, [r4, #0x58]
- mov r1, #0x0
- bl FUN_020143A8
- ldr r1, [r4, #0x7c]
- mov r0, #0x2
- tst r1, r0
- beq _0206CB94
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CB94:
- mov r0, #0x4
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CB9E:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- beq _0206CBAC
-_0206CBA8:
- bl _0206D806
-_0206CBAC:
- mov r1, #0xe5
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CBCC:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206CCCA
- mov r0, #0x4
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CBE4:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206CCCA
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- add r2, #0x60
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0x44]
- ldr r1, [r4, #0x1c]
- mov r3, #0x2
- bl FUN_02069038
- add r1, r4, #0x0
- add r1, #0x60
- ldrh r1, [r1, #0x0]
- add r0, sp, #0x40
- bl FUN_02069010
- ldr r0, [r4, #0x1c]
- add r1, sp, #0x40
- bl FUN_0200737C
- ldr r0, [r4, #0x1c]
- mov r1, #0x0
- bl FUN_02007314
- add r0, r4, #0x0
- add r0, #0x60
- ldrh r0, [r0, #0x0]
- bl FUN_02005578
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r1, [r4, #0x7c]
- mov r0, #0x2
- tst r0, r1
- beq _0206CC4E
- ldr r1, _0206CE18 ; =0x00000395
- add r0, r4, #0x0
- bl FUN_0206DD6C
- b _0206CC56
-_0206CC4E:
- ldr r1, _0206CE1C ; =0x00000393
- add r0, r4, #0x0
- bl FUN_0206DD6C
-_0206CC56:
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- mov r0, #0x5
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CC66:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206CCCA
- bl FUN_02005670
- cmp r0, #0x0
- bne _0206CCCA
- ldr r0, [r4, #0x44]
- mov r1, #0x0
- bl FUN_02014D7C
- cmp r0, #0x1
- bne _0206CCCA
- ldr r0, [r4, #0x1c]
- bl FUN_02007390
- cmp r0, #0x0
- bne _0206CCCA
- ldr r0, [r4, #0x58]
- mov r1, #0x1
- bl FUN_020143A8
- ldr r0, _0206CE20 ; =0x00000475
- bl FUN_020051F4
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- mov r0, #0x6
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CCB2:
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206CCCE
-_0206CCCA:
- bl _0206D806
-_0206CCCE:
- ldr r0, [r4, #0x5c]
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
- add r0, sp, #0x10
- bl FUN_0206E07C
- mov r1, #0x0
- str r0, [r4, #0x30]
- bl FUN_0206E0AC
- ldr r0, _0206CE10 ; =0x00007FFF
- mov r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x1c]
- mov r2, #0x10
- mov r3, #0x4
- bl FUN_02007E68
- ldr r0, _0206CE10 ; =0x00007FFF
- mov r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x20]
- mov r2, #0x10
- mov r3, #0x4
- bl FUN_02007E68
- ldr r0, [r4, #0x5c]
- bl FUN_02016AF8
- mov r1, #0x2
- lsl r1, r1, #0xe
- cmp r0, r1
- bhi _0206CD16
- bl ErrorHandling
-_0206CD16:
- ldr r0, _0206CE24 ; =0x000005F9
- bl FUN_020054C8
- add r0, r4, #0x0
- mov r1, #0x28
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CD34:
- add r0, r4, #0x0
- add r0, #0x73
- ldrb r0, [r0, #0x0]
- cmp r0, #0x28
- bhs _0206CD5A
- add r0, r4, #0x0
- add r0, #0x73
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x2
- add r0, r4, #0x0
- add r0, #0x73
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x75
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x2
- add r0, r4, #0x0
- add r0, #0x75
- strb r1, [r0, #0x0]
-_0206CD5A:
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0206CDD2
- ldr r0, [r4, #0x30]
- mov r1, #0x1
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x2
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x7
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x8
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x9
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0xb
- bl FUN_0206E0AC
- ldr r0, _0206CE28 ; =0x000005FA
- bl FUN_020054C8
- add r0, r4, #0x0
- mov r1, #0x10
- add r0, #0x70
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x8
- add r0, #0x71
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CDC8:
- ldr r0, [r4, #0x30]
- bl FUN_0206E0C8
- cmp r0, #0x0
- beq _0206CDD6
-_0206CDD2:
- bl _0206D806
-_0206CDD6:
- ldr r0, [r4, #0x30]
- mov r1, #0x3
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x4
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x5
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0x6
- bl FUN_0206E0AC
- ldr r0, [r4, #0x30]
- mov r1, #0xa
- bl FUN_0206E0AC
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, _0206CE10 ; =0x00007FFF
- ldr r2, _0206CE14 ; =0x0000F3FF
- b _0206CE2C
- .balign 4
-_0206CE0C: .word 0x021C48B8
-_0206CE10: .word 0x00007FFF
-_0206CE14: .word 0x0000F3FF
-_0206CE18: .word 0x00000395
-_0206CE1C: .word 0x00000393
-_0206CE20: .word 0x00000475
-_0206CE24: .word 0x000005F9
-_0206CE28: .word 0x000005FA
-_0206CE2C:
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- mov r1, #0xf
- mov r3, #0x2
- bl FUN_02003210
- ldr r0, [r4, #0x1c]
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x1c]
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_02007558
- mov r1, #0xc
- add r2, r1, #0x0
- ldr r0, [r4, #0x20]
- add r2, #0xf4
- bl FUN_02007558
- mov r1, #0xd
- add r2, r1, #0x0
- ldr r0, [r4, #0x20]
- add r2, #0xf3
- bl FUN_02007558
- ldr r0, _0206D1C8 ; =0x000005FB
- bl FUN_020054C8
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x70
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x8
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CE8A:
- add r0, r4, #0x0
- add r0, #0x73
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206CEB0
- add r0, r4, #0x0
- add r0, #0x73
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x2
- add r0, r4, #0x0
- add r0, #0x73
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x75
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x2
- add r0, r4, #0x0
- add r0, #0x75
- strb r1, [r0, #0x0]
-_0206CEB0:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206CF2C
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0206CF2C
- ldr r0, [r4, #0x30]
- mov r1, #0xc
- bl FUN_0206E0AC
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, _0206D1CC ; =0x00007FFF
- ldr r2, _0206D1D0 ; =0x0000F3FF
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- mov r1, #0xf
- mov r3, #0x4
- bl FUN_02003210
- ldr r0, _0206D1CC ; =0x00007FFF
- mov r1, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r2, #0x0
- mov r3, #0x3
- bl FUN_02007E98
- ldr r0, _0206D1D4 ; =0x000005FC
- bl FUN_020054C8
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CF18:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206CF2C
- ldr r0, [r4, #0x30]
- bl FUN_0206E0C8
- cmp r0, #0x0
- beq _0206CF30
-_0206CF2C:
- bl _0206D806
-_0206CF30:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- add r2, #0x62
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0x44]
- ldr r1, [r4, #0x20]
- mov r3, #0x2
- bl FUN_02069038
- add r1, r4, #0x0
- add r1, #0x62
- ldrh r1, [r1, #0x0]
- add r0, sp, #0x2c
- bl FUN_02069010
- ldr r0, [r4, #0x20]
- add r1, sp, #0x2c
- bl FUN_0200737C
- ldr r0, [r4, #0x20]
- mov r1, #0x0
- bl FUN_02007314
- add r0, r4, #0x0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- bl FUN_02005578
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CF7E:
- bl FUN_02005670
- cmp r0, #0x0
- bne _0206D084
- ldr r0, [r4, #0x44]
- mov r1, #0x0
- bl FUN_02014D7C
- cmp r0, #0x1
- bne _0206D084
- ldr r0, [r4, #0x20]
- bl FUN_02007390
- cmp r0, #0x0
- bne _0206D084
- add r2, r4, #0x0
- ldr r0, [r4, #0x28]
- mov r1, #0x5
- add r2, #0x62
- bl FUN_02067830
- ldr r0, [r4, #0x28]
- bl FUN_0206A1C4
- ldr r0, [r4, #0x28]
- bl FUN_02066ED8
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AC60
- ldr r1, _0206D1D8 ; =0x00000396
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x28
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206CFFA:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206D084
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0206D084
- ldr r0, [r4, #0x48]
- ldr r1, [r4, #0x28]
- bl FUN_02024AF0
- ldr r0, [r4, #0x50]
- mov r1, #0xc
- bl FUN_0202A0E8
- ldr r0, [r4, #0x50]
- mov r1, #0x16
- bl FUN_0202A170
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r1, r0, #0x0
- ldr r0, [r4, #0x54]
- bl FUN_0204C104
- ldr r0, [r4, #0x28]
- mov r1, #0x4d
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0206D05E
- ldr r0, [r4, #0x28]
- mov r1, #0xb2
- mov r2, #0x0
- bl FUN_02067830
-_0206D05E:
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D06E:
- add r1, r4, #0x0
- ldr r0, [r4, #0x28]
- add r1, #0x68
- add r2, sp, #0xc
- bl FUN_02069818
- cmp r0, #0x0
- beq _0206D08E
- ldr r1, _0206D1DC ; =0x0000FFFE
- cmp r0, r1
- bne _0206D086
-_0206D084:
- b _0206D806
-_0206D086:
- add r1, r1, #0x1
- cmp r0, r1
- beq _0206D098
- b _0206D0AC
-_0206D08E:
- mov r0, #0x27
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D098:
- add r0, sp, #0xc
- ldrh r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x6c
- strh r1, [r0, #0x0]
- mov r0, #0xe
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D0AC:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r2, sp, #0xc
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AD5C
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- mov r0, #0x25
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D0E8:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r2, r4, #0x0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AD5C
- ldr r1, _0206D1E0 ; =0x000004A9
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D12C:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r1, _0206D1E4 ; =0x000004AA
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D162:
- ldr r1, _0206D1E8 ; =0x000004AB
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x1
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D188:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206D1AE
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206D1B0
-_0206D1AE:
- b _0206D806
-_0206D1B0:
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D1C0:
- ldr r0, [r4, #0x5c]
- ldr r1, _0206D1EC ; =0x020F8320
- b _0206D1F0
- nop
-_0206D1C8: .word 0x000005FB
-_0206D1CC: .word 0x00007FFF
-_0206D1D0: .word 0x0000F3FF
-_0206D1D4: .word 0x000005FC
-_0206D1D8: .word 0x00000396
-_0206D1DC: .word 0x0000FFFE
-_0206D1E0: .word 0x000004A9
-_0206D1E4: .word 0x000004AA
-_0206D1E8: .word 0x000004AB
-_0206D1EC: .word 0x020F8320
-_0206D1F0:
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- mov r2, #0x1
- mov r3, #0x8
- bl FUN_02002198
- str r0, [r4, #0x40]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D20E:
- ldr r0, [r4, #0x40]
- ldr r1, [r4, #0x5c]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0206D226
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _0206D256
- add sp, #0x54
- pop {r3-r4, pc}
-_0206D226:
- add r0, r4, #0x0
- mov r1, #0x16
- add r0, #0x64
- strb r1, [r0, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206D540 ; =0x0000FFFF
- mov r1, #0xf
- mov r3, #0x1
- bl FUN_02003210
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_02007E98
- add sp, #0x54
- pop {r3-r4, pc}
-_0206D256:
- mov r0, #0x20
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D260:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206D2EC
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- ldr r0, [r4, #0x0]
- bl FUN_0206DC48
- ldr r0, [r4, #0x1c]
- mov r1, #0x6
- mov r2, #0x1
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0x6
- mov r2, #0x1
- bl FUN_02007558
- ldr r1, [r4, #0x28]
- ldr r0, [r4, #0x3c]
- mov r2, #0x1
- str r1, [r0, #0x0]
- ldr r1, [r4, #0x2c]
- ldr r0, [r4, #0x3c]
- str r1, [r0, #0x4]
- ldr r1, [r4, #0x3c]
- mov r0, #0x0
- strb r0, [r1, #0x11]
- ldr r1, [r4, #0x3c]
- strb r0, [r1, #0x14]
- ldr r1, [r4, #0x3c]
- strb r2, [r1, #0x13]
- add r1, r4, #0x0
- add r1, #0x6c
- ldrh r2, [r1, #0x0]
- ldr r1, [r4, #0x3c]
- strh r2, [r1, #0x18]
- ldr r1, [r4, #0x3c]
- mov r2, #0x2
- strb r2, [r1, #0x12]
- ldr r1, [r4, #0x3c]
- str r0, [r1, #0x28]
- ldr r0, [r4, #0x3c]
- ldr r1, _0206D544 ; =0x020F831C
- bl FUN_0207B000
- add r0, r4, #0x0
- bl FUN_0206DE0C
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D2E2:
- ldr r0, [r4, #0x38]
- bl FUN_02006290
- cmp r0, #0x0
- bne _0206D2EE
-_0206D2EC:
- b _0206D806
-_0206D2EE:
- ldr r0, [r4, #0x38]
- bl FUN_02006260
- ldr r1, [r4, #0x0]
- add r0, r4, #0x0
- bl FUN_0206D9B4
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xa
- bl FUN_0200D0BC
- ldr r0, [r4, #0x1c]
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x1c]
- bl FUN_020080D0
- ldr r0, [r4, #0x20]
- bl FUN_020080D0
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206D540 ; =0x0000FFFF
- mov r1, #0xf
- mov r3, #0x1
- bl FUN_02003210
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r1, #0x10
- add r3, r2, #0x0
- bl FUN_02007E98
- bl FUN_02033E74
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D360:
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206D474
- ldr r0, [r4, #0x3c]
- ldrb r1, [r0, #0x16]
- cmp r1, #0x4
- bne _0206D388
- mov r0, #0x20
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D388:
- add r0, r4, #0x0
- add r0, #0x6e
- strb r1, [r0, #0x0]
- mov r0, #0x19
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D398:
- add r2, r4, #0x0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200AD5C
- ldr r1, _0206D548 ; =0x000004AD
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x1
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D3CC:
- ldr r0, [r4, #0x5c]
- ldr r1, _0206D54C ; =0x020F8320
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- mov r2, #0x1
- mov r3, #0x8
- bl FUN_02002198
- str r0, [r4, #0x40]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D3EE:
- ldr r0, [r4, #0x40]
- ldr r1, [r4, #0x5c]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0206D406
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _0206D444
- add sp, #0x54
- pop {r3-r4, pc}
-_0206D406:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r2, r4, #0x0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AD5C
- ldr r1, _0206D550 ; =0x000004AE
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- mov r0, #0x24
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D444:
- mov r0, #0xe
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D44E:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206D474
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206D476
-_0206D474:
- b _0206D806
-_0206D476:
- mov r0, #0xd
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D480:
- ldr r1, _0206D554 ; =0x000004AF
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D4A6:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r1, r4, #0x0
- add r1, #0x6e
- ldrb r1, [r1, #0x0]
- ldr r0, [r4, #0x28]
- mov r2, #0x0
- add r1, #0x36
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AD5C
- mov r1, #0x4b
- add r0, r4, #0x0
- lsl r1, r1, #0x4
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D4F8:
- ldr r1, _0206D558 ; =0x000004B1
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D51E:
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r2, r4, #0x0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200AD5C
- ldr r1, _0206D55C ; =0x000004B2
- b _0206D560
- .balign 4
-_0206D540: .word 0x0000FFFF
-_0206D544: .word 0x020F831C
-_0206D548: .word 0x000004AD
-_0206D54C: .word 0x020F8320
-_0206D550: .word 0x000004AE
-_0206D554: .word 0x000004AF
-_0206D558: .word 0x000004B1
-_0206D55C: .word 0x000004B2
-_0206D560:
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r2, r4, #0x0
- mov r1, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r1, r4, #0x0
- add r1, #0x6e
- ldrb r1, [r1, #0x0]
- ldr r0, [r4, #0x28]
- add r2, #0x66
- add r1, #0x3e
- bl FUN_02067830
- add r1, r4, #0x0
- add r2, r4, #0x0
- add r1, #0x6c
- add r2, #0x6e
- ldrh r1, [r1, #0x0]
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x28]
- bl FUN_020697CC
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- mov r0, #0x25
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D5AA:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206D5E8
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D5C8:
- bl FUN_02005CBC
- cmp r0, #0x0
- bne _0206D5E8
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0206D5EA
-_0206D5E8:
- b _0206D806
-_0206D5EA:
- mov r0, #0xd
- add r4, #0x64
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D5F4:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206D80C ; =0x0000FFFF
- mov r1, #0xf
- mov r3, #0x1
- bl FUN_02003210
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_02007E98
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D628:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206D6F8
- ldr r0, [r4, #0x30]
- bl FUN_0206E0DC
- add r0, r4, #0x0
- bl FUN_0206D820
- mov r0, #0x1
- add r4, #0x67
- add sp, #0x54
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D648:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206D6F8
- mov r1, #0xc
- add r2, r1, #0x0
- ldr r0, [r4, #0x1c]
- add r2, #0xf4
- bl FUN_02007558
- mov r1, #0xd
- add r2, r1, #0x0
- ldr r0, [r4, #0x1c]
- add r2, #0xf3
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0x6
- mov r2, #0x1
- bl FUN_02007558
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r0, _0206D810 ; =0x00007FFF
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206D814 ; =0x0000F3FF
- mov r1, #0xf
- bl FUN_02003210
- ldr r0, _0206D810 ; =0x00007FFF
- mov r2, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r1, #0x10
- add r3, r2, #0x0
- bl FUN_02007E98
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x72
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x73
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r2, #0xff
- add r0, #0x74
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- mov r2, #0xa0
- add r0, #0x75
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x70
- strb r1, [r0, #0x0]
- ldr r0, _0206D818 ; =0x00000475
- bl FUN_02005350
- ldr r0, [r4, #0x30]
- bl FUN_0206E0DC
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D6EE:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- beq _0206D6FA
-_0206D6F8:
- b _0206D806
-_0206D6FA:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- add r2, #0x60
- ldrh r2, [r2, #0x0]
- ldr r0, [r4, #0x44]
- ldr r1, [r4, #0x1c]
- mov r3, #0x2
- bl FUN_02069038
- add r1, r4, #0x0
- add r1, #0x60
- ldrh r1, [r1, #0x0]
- add r0, sp, #0x18
- bl FUN_02069010
- ldr r0, [r4, #0x1c]
- add r1, sp, #0x18
- bl FUN_0200737C
- ldr r0, [r4, #0x1c]
- mov r1, #0x0
- bl FUN_02007314
- add r0, r4, #0x0
- add r0, #0x60
- ldrh r0, [r0, #0x0]
- bl FUN_02005578
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D748:
- bl FUN_02005670
- cmp r0, #0x0
- bne _0206D806
- ldr r0, [r4, #0x44]
- mov r1, #0x0
- bl FUN_02014D7C
- cmp r0, #0x1
- bne _0206D806
- ldr r0, [r4, #0x1c]
- bl FUN_02007390
- cmp r0, #0x0
- bne _0206D806
- ldr r0, [r4, #0x28]
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r1, _0206D81C ; =0x00000397
- add r0, r4, #0x0
- bl FUN_0206DD6C
- add r1, r4, #0x0
- add r1, #0x65
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D79C:
- add r0, r4, #0x0
- add r0, #0x65
- ldrb r0, [r0, #0x0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206D806
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x66
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x66
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0206D806
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r4, #0x14]
- ldr r2, _0206D80C ; =0x0000FFFF
- mov r1, #0xf
- mov r3, #0x1
- bl FUN_02003210
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x18]
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_02007E98
- add r0, r4, #0x0
- add r0, #0x64
- ldrb r0, [r0, #0x0]
- add r4, #0x64
- add sp, #0x54
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0206D7F6:
- ldr r0, [r4, #0x14]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _0206D806
- mov r0, #0x1
- add r4, #0x67
- strb r0, [r4, #0x0]
-_0206D806:
- add sp, #0x54
- pop {r3-r4, pc}
- nop
-_0206D80C: .word 0x0000FFFF
-_0206D810: .word 0x00007FFF
-_0206D814: .word 0x0000F3FF
-_0206D818: .word 0x00000475
-_0206D81C: .word 0x00000397
-
- thumb_func_start FUN_0206D820
-FUN_0206D820: ; 0x0206D820
- push {r4-r6, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- ldr r0, [r4, #0x78]
- cmp r0, #0x6
- bgt _0206D834
- bne _0206D830
- b _0206D9A0
-_0206D830:
- add sp, #0x20
- pop {r4-r6, pc}
-_0206D834:
- sub r0, #0xd
- cmp r0, #0x6
- bhi _0206D86C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206D846: ; jump table (using 16-bit offset)
- .short _0206D854 - _0206D846 - 2; case 0
- .short _0206D854 - _0206D846 - 2; case 1
- .short _0206D9AE - _0206D846 - 2; case 2
- .short _0206D9AE - _0206D846 - 2; case 3
- .short _0206D9AE - _0206D846 - 2; case 4
- .short _0206D9A0 - _0206D846 - 2; case 5
- .short _0206D9A0 - _0206D846 - 2; case 6
-_0206D854:
- ldr r0, [r4, #0x4c]
- ldr r2, [r4, #0x5c]
- mov r1, #0x4
- bl FUN_0206EEF8
- cmp r0, #0x0
- beq _0206D86C
- ldr r0, [r4, #0x24]
- bl FUN_0206B9AC
- cmp r0, #0x6
- blt _0206D86E
-_0206D86C:
- b _0206D9AE
-_0206D86E:
- ldr r0, [r4, #0x5c]
- bl FUN_020669C0
- add r5, r0, #0x0
- ldr r0, [r4, #0x28]
- add r1, r5, #0x0
- bl FUN_02069B88
- mov r0, #0x49
- lsl r0, r0, #0x2
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x5
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x4
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x9a
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- mov r1, #0xb
- add r2, sp, #0x0
- bl FUN_02067830
- mov r1, #0x19
- str r1, [sp, #0x4]
- add r6, sp, #0x0
-_0206D8BA:
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02067830
- ldr r0, [sp, #0x4]
- add r1, r0, #0x1
- str r1, [sp, #0x4]
- cmp r1, #0x36
- blt _0206D8BA
- mov r1, #0x4e
- str r1, [sp, #0x4]
- add r6, sp, #0x0
-_0206D8D2:
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02067830
- ldr r0, [sp, #0x4]
- add r1, r0, #0x1
- str r1, [sp, #0x4]
- cmp r1, #0x6e
- blt _0206D8D2
- mov r1, #0x7a
- str r1, [sp, #0x4]
- add r6, sp, #0x0
-_0206D8EA:
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02067830
- ldr r0, [sp, #0x4]
- add r1, r0, #0x1
- str r1, [sp, #0x4]
- cmp r1, #0x8f
- blt _0206D8EA
- add r0, r5, #0x0
- mov r1, #0xb2
- mov r2, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- mov r1, #0x4d
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- mov r1, #0x9f
- add r2, sp, #0x0
- bl FUN_02067830
- ldr r0, [r4, #0x5c]
- bl FUN_020256BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa9
- add r2, r6, #0x0
- bl FUN_02067830
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- mov r1, #0xa1
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add r1, sp, #0x8
- mov r2, #0x18
- bl MIi_CpuClearFast
- add r0, r5, #0x0
- mov r1, #0xaa
- add r2, sp, #0x8
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_0206A1C4
- add r0, r5, #0x0
- bl FUN_02066ED8
- ldr r0, [r4, #0x24]
- add r1, r5, #0x0
- bl FUN_0206B900
- ldr r0, [r4, #0x48]
- add r1, r5, #0x0
- bl FUN_02024AF0
- ldr r0, [r4, #0x50]
- mov r1, #0xc
- bl FUN_0202A0E8
- ldr r0, [r4, #0x50]
- mov r1, #0x16
- bl FUN_0202A170
- add r0, r5, #0x0
- bl FUN_020690E4
- add r1, r0, #0x0
- ldr r0, [r4, #0x54]
- bl FUN_0204C104
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [r4, #0x4c]
- ldr r3, [r4, #0x5c]
- mov r1, #0x4
- mov r2, #0x1
- bl FUN_0206EDD4
- add sp, #0x20
- pop {r4-r6, pc}
-_0206D9A0:
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x28]
- mov r1, #0x6
- add r2, sp, #0x4
- bl FUN_02067830
-_0206D9AE:
- add sp, #0x20
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206D9B4
-FUN_0206D9B4: ; 0x0206D9B4
- push {r4-r6, lr}
- sub sp, #0xb8
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201E6D8
- ldr r6, _0206DC28 ; =0x020F8354
- add r3, sp, #0x3c
- mov r2, #0x5
-_0206D9C6:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206D9C6
- add r0, sp, #0x3c
- bl FUN_0201E66C
- mov r1, #0x6
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x18
- lsl r2, r2, #0x12
- bl MIi_CpuClear32
- mov r1, #0x62
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- bl MIi_CpuClear32
- mov r1, #0x19
- mov r2, #0x1
- mov r0, #0x0
- lsl r1, r1, #0x16
- lsl r2, r2, #0x12
- bl MIi_CpuClear32
- mov r1, #0x66
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- bl MIi_CpuClear32
- ldr r6, _0206DC2C ; =0x020F8328
- add r3, sp, #0x2c
- add r2, r3, #0x0
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r6, _0206DC30 ; =0x020F837C
- add r3, sp, #0x64
- mov r2, #0xa
-_0206DA26:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206DA26
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- add r2, sp, #0x64
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02018744
- add r0, r4, #0x0
- mov r1, #0x2
- add r2, sp, #0x80
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02018744
- add r0, r4, #0x0
- mov r1, #0x3
- add r2, sp, #0x9c
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02018744
- ldr r1, _0206DC34 ; =0x04000008
- mov r0, #0x3
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x1
- orr r2, r0
- strh r2, [r1, #0x0]
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r6, _0206DC38 ; =0x020F8338
- add r3, sp, #0x10
- ldmia r6!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02018744
- ldr r0, [r5, #0x2c]
- bl FUN_02025084
- add r6, r0, #0x0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x5c]
- mov r1, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r2, r1, #0x0
- mov r3, #0xa
- bl FUN_0200D274
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x5c]
- add r2, r4, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x76
- mov r3, #0x3
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x1
- str r1, [sp, #0x8]
- ldr r0, [r5, #0x5c]
- add r2, r4, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x76
- mov r3, #0x3
- bl FUN_020068C8
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x40
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r5, #0x14]
- ldr r3, [r5, #0x5c]
- mov r1, #0x76
- mov r2, #0x8
- bl FUN_020030E8
- add r0, r6, #0x0
- bl FUN_0200CD64
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xa0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x14]
- ldr r3, [r5, #0x5c]
- mov r1, #0x26
- bl FUN_020030E8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xb0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x14]
- ldr r3, [r5, #0x5c]
- mov r1, #0xe
- mov r2, #0x7
- bl FUN_020030E8
- ldr r0, [r5, #0x5c]
- mov r1, #0x2
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- mov r2, #0x1
- mov r3, #0x0
- bl FUN_0200CABC
- bl FUN_0200CAFC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0x80
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x14]
- ldr r3, [r5, #0x5c]
- mov r1, #0x26
- bl FUN_020030E8
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x5c]
- mov r1, #0xa
- str r0, [sp, #0xc]
- mov r0, #0xc
- add r2, r4, #0x0
- mov r3, #0x4
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x5c]
- mov r1, #0xb
- str r0, [sp, #0xc]
- mov r0, #0xc
- add r2, r4, #0x0
- mov r3, #0x4
- bl FUN_020068C8
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r1, #0xc
- ldr r0, [r5, #0x14]
- ldr r3, [r5, #0x5c]
- add r2, r1, #0x0
- bl FUN_020030E8
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- ldr r2, _0206DC3C ; =0xFFFF1FFF
- add r3, r1, #0x0
- and r3, r2
- lsr r1, r0, #0xd
- orr r1, r3
- ldr r3, _0206DC40 ; =0x04001000
- str r1, [r0, #0x0]
- ldr r1, [r3, #0x0]
- and r1, r2
- str r1, [r3, #0x0]
- add r3, r0, #0x0
- add r3, #0x48
- ldrh r4, [r3, #0x0]
- mov r2, #0x3f
- mov r1, #0x1f
- bic r4, r2
- orr r1, r4
- strh r1, [r3, #0x0]
- add r0, #0x4a
- ldrh r3, [r0, #0x0]
- mov r1, #0x12
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x72
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x73
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0xff
- add r0, #0x74
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0xa0
- add r0, #0x75
- strb r1, [r0, #0x0]
- bl FUN_0201E788
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- ldr r0, _0206DC44 ; =FUN_0206DD08
- add r1, r5, #0x0
- bl FUN_02015F10
- add sp, #0xb8
- pop {r4-r6, pc}
- .balign 4
-_0206DC28: .word 0x020F8354
-_0206DC2C: .word 0x020F8328
-_0206DC30: .word 0x020F837C
-_0206DC34: .word 0x04000008
-_0206DC38: .word 0x020F8338
-_0206DC3C: .word 0xFFFF1FFF
-_0206DC40: .word 0x04001000
-_0206DC44: .word FUN_0206DD08
-
- thumb_func_start FUN_0206DC48
-FUN_0206DC48: ; 0x0206DC48
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E6E4
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020178A0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206DC80
-FUN_0206DC80: ; 0x0206DC80
- push {r3-r5, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- ldr r1, [r4, #0x28]
- add r0, sp, #0x10
- mov r2, #0x2
- bl FUN_02068B68
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x18]
- add r1, sp, #0x10
- mov r2, #0x80
- mov r3, #0x50
- bl FUN_020073A0
- str r0, [r4, #0x1c]
- ldr r0, [r4, #0x5c]
- bl FUN_020669C0
- add r5, r0, #0x0
- ldr r0, [r4, #0x28]
- add r1, r5, #0x0
- bl FUN_02069B88
- add r2, r4, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- add r2, #0x62
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- add r0, sp, #0x10
- add r1, r5, #0x0
- mov r2, #0x2
- bl FUN_02068B68
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x18]
- add r1, sp, #0x10
- mov r2, #0x80
- mov r3, #0x50
- bl FUN_020073A0
- str r0, [r4, #0x20]
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x20]
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_02007558
- add sp, #0x20
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206DD08
-FUN_0206DD08: ; 0x0206DD08
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x75
- ldrb r2, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x73
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x72
- ldrb r0, [r0, #0x0]
- mov r3, #0xff
- lsl r3, r3, #0x8
- lsl r0, r0, #0x8
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x74
- lsl r1, r1, #0x8
- and r1, r3
- ldrb r0, [r0, #0x0]
- and r5, r3
- orr r1, r2
- orr r5, r0
- ldr r0, _0206DD60 ; =0x04000040
- strh r5, [r0, #0x0]
- strh r1, [r0, #0x4]
- ldr r0, [r4, #0x18]
- bl FUN_020081C4
- bl FUN_0201C30C
- ldr r0, [r4, #0x14]
- bl FUN_0200372C
- ldr r0, [r4, #0x0]
- bl FUN_0201AB60
- ldr r3, _0206DD64 ; =0x027E0000
- ldr r1, _0206DD68 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- pop {r3-r5, pc}
- nop
-_0206DD60: .word 0x04000040
-_0206DD64: .word 0x027E0000
-_0206DD68: .word 0x00003FF8
-
- thumb_func_start FUN_0206DD6C
-FUN_0206DD6C: ; 0x0206DD6C
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- bl FUN_0200A914
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [r4, #0x4]
- mov r1, #0xff
- bl FUN_02019620
- ldr r0, [r4, #0x2c]
- bl FUN_02024FF4
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _0206DDB0 ; =FUN_0206DDB4
- mov r1, #0x1
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x10]
- bl FUN_0201BD84
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_0206DDB0: .word FUN_0206DDB4
-
- thumb_func_start FUN_0206DDB4
-FUN_0206DDB4: ; 0x0206DDB4
- push {r4, lr}
- mov r4, #0x0
- cmp r1, #0x5
- bhi _0206DDFA
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206DDC8: ; jump table (using 16-bit offset)
- .short _0206DDFA - _0206DDC8 - 2; case 0
- .short _0206DDD4 - _0206DDC8 - 2; case 1
- .short _0206DDDC - _0206DDC8 - 2; case 2
- .short _0206DDE4 - _0206DDC8 - 2; case 3
- .short _0206DDEC - _0206DDC8 - 2; case 4
- .short _0206DDF4 - _0206DDC8 - 2; case 5
-_0206DDD4:
- bl FUN_02005514
- add r4, r0, #0x0
- b _0206DDFA
-_0206DDDC:
- bl FUN_02005CBC
- add r4, r0, #0x0
- b _0206DDFA
-_0206DDE4:
- ldr r0, _0206DE00 ; =0x00000484
- bl FUN_02005C28
- b _0206DDFA
-_0206DDEC:
- ldr r0, _0206DE04 ; =0x000005E6
- bl FUN_020054C8
- b _0206DDFA
-_0206DDF4:
- ldr r0, _0206DE08 ; =0x00000483
- bl FUN_02005C28
-_0206DDFA:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0206DE00: .word 0x00000484
-_0206DE04: .word 0x000005E6
-_0206DE08: .word 0x00000483
-
- thumb_func_start FUN_0206DE0C
-FUN_0206DE0C: ; 0x0206DE0C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0206DE20 ; =0x020FA6E8
- ldr r1, [r4, #0x3c]
- ldr r2, [r4, #0x5c]
- bl FUN_02006234
- str r0, [r4, #0x38]
- pop {r4, pc}
- nop
-_0206DE20: .word 0x020FA6E8
-
- thumb_func_start FUN_0206DE24
-FUN_0206DE24: ; 0x0206DE24
- push {r3, lr}
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _0206DE44 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0206DE48 ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- pop {r3, pc}
- .balign 4
-_0206DE44: .word 0xFFFFE0FF
-_0206DE48: .word 0x04001000
-
- thumb_func_start FUN_0206DE4C
-FUN_0206DE4C: ; 0x0206DE4C
- push {r3, lr}
- mov r0, #0x7
- str r0, [sp, #0x0]
- ldr r0, _0206DE70 ; =0x04000050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xb
- bl G2x_SetBlendAlpha_
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, _0206DE74 ; =0x04001050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0x7
- bl G2x_SetBlendAlpha_
- pop {r3, pc}
- .balign 4
-_0206DE70: .word 0x04000050
-_0206DE74: .word 0x04001050
-
- thumb_func_start FUN_0206DE78
-FUN_0206DE78: ; 0x0206DE78
- push {r3, lr}
- sub sp, #0x8
- mov r2, #0x2
- ldr r1, _0206DE90 ; =FUN_0206DE94
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r1, #0x0
- add r3, r1, #0x0
- bl FUN_02022318
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-_0206DE90: .word FUN_0206DE94
-
- thumb_func_start FUN_0206DE94
-FUN_0206DE94: ; 0x0206DE94
- push {r3, lr}
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r0, _0206DF00 ; =0x04000008
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strh r1, [r0, #0x0]
- add r0, #0x58
- ldrh r2, [r0, #0x0]
- ldr r1, _0206DF04 ; =0xFFFFCFFD
- and r2, r1
- strh r2, [r0, #0x0]
- add r2, r1, #0x2
- ldrh r3, [r0, #0x0]
- add r1, r1, #0x2
- and r3, r2
- mov r2, #0x10
- orr r2, r3
- strh r2, [r0, #0x0]
- ldrh r3, [r0, #0x0]
- ldr r2, _0206DF08 ; =0x0000CFFB
- and r3, r2
- strh r3, [r0, #0x0]
- ldrh r3, [r0, #0x0]
- sub r2, #0x1c
- and r3, r1
- mov r1, #0x8
- orr r1, r3
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- and r1, r2
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl G3X_SetFog
- mov r0, #0x0
- ldr r2, _0206DF0C ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- bl G3X_SetClearColor
- ldr r1, _0206DF10 ; =0xBFFF0000
- ldr r0, _0206DF14 ; =0x04000580
- str r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_0206DF00: .word 0x04000008
-_0206DF04: .word 0xFFFFCFFD
-_0206DF08: .word 0x0000CFFB
-_0206DF0C: .word 0x00007FFF
-_0206DF10: .word 0xBFFF0000
-_0206DF14: .word 0x04000580
-
- thumb_func_start FUN_0206DF18
-FUN_0206DF18: ; 0x0206DF18
- push {r3-r5, lr}
- ldr r3, _0206DF50 ; =0x021064B8
- mov r0, #0x2
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- lsl r0, r0, #0xe
- add r2, r1, #0x0
- blx r3
- ldr r3, _0206DF54 ; =0x021064C0
- mov r1, #0x0
- add r4, r0, #0x0
- ldr r3, [r3, #0x0]
- mov r0, #0xa0
- add r2, r1, #0x0
- blx r3
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0206DF40
- bl ErrorHandling
-_0206DF40:
- cmp r5, #0x0
- bne _0206DF48
- bl ErrorHandling
-_0206DF48:
- bl FUN_02012CC8
- pop {r3-r5, pc}
- nop
-_0206DF50: .word 0x021064B8
-_0206DF54: .word 0x021064C0
-
- thumb_func_start FUN_0206DF58
-FUN_0206DF58: ; 0x0206DF58
- push {r3, lr}
- bl FUN_020222AC
- bl FUN_02013364
- cmp r0, #0x0
- ble _0206DF6E
- bl FUN_020222AC
- bl FUN_020B02C8
-_0206DF6E:
- bl FUN_02013388
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020222B4
- pop {r3, pc}
-
- thumb_func_start FUN_0206DF7C
-FUN_0206DF7C: ; 0x0206DF7C
- push {r4, lr}
- ldr r3, _0206DF94 ; =0x021064B8
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- add r4, r0, #0x0
- bl FUN_0201327C
- lsl r0, r4, #0x10
- lsr r0, r0, #0xd
- pop {r4, pc}
- nop
-_0206DF94: .word 0x021064B8
-
- thumb_func_start FUN_0206DF98
-FUN_0206DF98: ; 0x0206DF98
- push {r4, lr}
- ldr r3, _0206DFB0 ; =0x021064C0
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- add r4, r0, #0x0
- bl FUN_020132BC
- lsl r0, r4, #0x10
- lsr r0, r0, #0xd
- pop {r4, pc}
- nop
-_0206DFB0: .word 0x021064C0
-
- thumb_func_start FUN_0206DFB4
-FUN_0206DFB4: ; 0x0206DFB4
- push {r4, lr}
- sub sp, #0x8
- mov r1, #0x12
- lsl r1, r1, #0xa
- add r4, r0, #0x0
- bl FUN_02016998
- add r2, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r3, #0x12
- ldr r0, _0206DFF4 ; =FUN_0206DF7C
- ldr r1, _0206DFF8 ; =FUN_0206DF98
- lsl r3, r3, #0xa
- str r4, [sp, #0x4]
- bl FUN_02012CDC
- add r4, r0, #0x0
- bl FUN_0201343C
- add r2, r0, #0x0
- beq _0206DFEC
- mov r0, #0x1
- mov r1, #0xe1
- lsl r0, r0, #0xc
- lsl r1, r1, #0xe
- bl FUN_0201EC94
-_0206DFEC:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4, pc}
- nop
-_0206DFF4: .word FUN_0206DF7C
-_0206DFF8: .word FUN_0206DF98
-
- thumb_func_start FUN_0206DFFC
-FUN_0206DFFC: ; 0x0206DFFC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_0206DFB4
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0201318C
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0xa
- mov r3, #0x1
- bl FUN_02013194
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0206E024
-FUN_0206E024: ; 0x0206E024
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020133E8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02012DE4
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206E03C
-FUN_0206E03C: ; 0x0206E03C
- push {r3}
- sub sp, #0xc
- add r1, sp, #0x0
- mov r2, #0x0
- str r2, [r1, #0x0]
- str r2, [r1, #0x4]
- str r2, [r1, #0x8]
- mov r1, #0x56
- lsl r1, r1, #0x4
- str r2, [sp, #0x0]
- str r2, [sp, #0x8]
- str r1, [sp, #0x4]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x4]
- add r1, r2, r1
- str r1, [r0, #0x28]
- ldr r1, [r0, #0x20]
- ldr r2, [sp, #0x4]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x8]
- add r1, r2, r1
- str r1, [r0, #0x2c]
- ldr r1, [r0, #0x20]
- ldr r2, [sp, #0x8]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0xc]
- add r1, r2, r1
- str r1, [r0, #0x30]
- add sp, #0xc
- pop {r3}
- bx lr
-
- thumb_func_start FUN_0206E07C
-FUN_0206E07C: ; 0x0206E07C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0206E090
- bl ErrorHandling
-_0206E090:
- ldr r0, [r5, #0x0]
- ldr r2, [r5, #0x4]
- mov r1, #0x7c
- str r0, [r4, #0x0]
- str r2, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0206DFFC
- mov r1, #0x1
- str r0, [r4, #0xc]
- bl FUN_02013440
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206E0AC
-FUN_0206E0AC: ; 0x0206E0AC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r2, _0206E0C4 ; =FUN_0206E03C
- add r3, r4, #0x0
- bl FUN_020133AC
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_02013440
- pop {r4, pc}
- .balign 4
-_0206E0C4: .word FUN_0206E03C
-
- thumb_func_start FUN_0206E0C8
-FUN_0206E0C8: ; 0x0206E0C8
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020133C8
- cmp r0, #0x0
- beq _0206E0D8
- mov r0, #0x1
- pop {r3, pc}
-_0206E0D8:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0206E0DC
-FUN_0206E0DC: ; 0x0206E0DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206E024
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206E0F0
-FUN_0206E0F0: ; 0x0206E0F0
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x17
- blo _0206E0FC
- bl ErrorHandling
-_0206E0FC:
- ldr r0, _0206E104 ; =0x020F83E0
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_0206E104: .word 0x020F83E0
-
- thumb_func_start FUN_0206E108
-FUN_0206E108: ; 0x0206E108
- mov r0, #0x26
- bx lr
-
- thumb_func_start FUN_0206E10C
-FUN_0206E10C: ; 0x0206E10C
- mov r0, #0xb2
- bx lr
-
- thumb_func_start FUN_0206E110
-FUN_0206E110: ; 0x0206E110
- mov r0, #0xb3
- bx lr
-
- thumb_func_start FUN_0206E114
-FUN_0206E114: ; 0x0206E114
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x17
- blo _0206E120
- bl ErrorHandling
-_0206E120:
- ldr r0, _0206E128 ; =0x020F843C
- ldrb r0, [r0, r4]
- pop {r4, pc}
- nop
-_0206E128: .word 0x020F843C
-
- thumb_func_start FUN_0206E12C
-FUN_0206E12C: ; 0x0206E12C
- mov r0, #0x1b
- bx lr
-
- thumb_func_start FUN_0206E130
-FUN_0206E130: ; 0x0206E130
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0206E12C
- str r0, [sp, #0xc]
- add r0, r7, #0x0
- bl FUN_0206E0F0
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x28]
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0200C00C
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206E164
-FUN_0206E164: ; 0x0206E164
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206E12C
- str r0, [sp, #0x10]
- bl FUN_0206E108
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x3
- str r0, [sp, #0x4]
- str r5, [sp, #0x8]
- ldr r2, [sp, #0x10]
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0xc]
- bl FUN_0200C06C
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206E198
-FUN_0206E198: ; 0x0206E198
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x18]
- bl FUN_0206E12C
- add r4, r0, #0x0
- bl FUN_0206E108
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x3
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x30]
- ldr r3, [sp, #0x18]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x34]
- add r1, r6, #0x0
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_0200C0DC
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206E1D4
-FUN_0206E1D4: ; 0x0206E1D4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0206E12C
- str r0, [sp, #0x8]
- bl FUN_0206E10C
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r4, #0x0
- str r6, [sp, #0x4]
- bl FUN_0200C124
- bl FUN_0206E12C
- add r6, r0, #0x0
- bl FUN_0206E110
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r7, [sp, #0x4]
- bl FUN_0200C13C
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206E21C
-FUN_0206E21C: ; 0x0206E21C
- ldr r3, _0206E220 ; =FUN_0200C358
- bx r3
- .balign 4
-_0206E220: .word FUN_0200C358
-
- thumb_func_start FUN_0206E224
-FUN_0206E224: ; 0x0206E224
- ldr r3, _0206E228 ; =FUN_0200C368
- bx r3
- .balign 4
-_0206E228: .word FUN_0200C368
-
- thumb_func_start FUN_0206E22C
-FUN_0206E22C: ; 0x0206E22C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_0200C378
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200C388
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0206E240
-FUN_0206E240: ; 0x0206E240
- push {r4-r7, lr}
- sub sp, #0x34
- add r6, r3, #0x0
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r5, sp, #0x0
- mov r3, #0x6
-_0206E24E:
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- sub r3, r3, #0x1
- bne _0206E24E
- ldr r0, [r6, #0x0]
- str r0, [r5, #0x0]
- add r0, r2, #0x0
- bl FUN_0206E114
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x0
- bl FUN_0200C154
- add sp, #0x34
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206E270
-FUN_0206E270: ; 0x0206E270
- ldr r3, _0206E274 ; =FUN_0200C3DC
- bx r3
- .balign 4
-_0206E274: .word FUN_0200C3DC
-
- thumb_func_start FUN_0206E278
-FUN_0206E278: ; 0x0206E278
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x3
- blo _0206E284
- bl ErrorHandling
-_0206E284:
- ldr r0, _0206E28C ; =0x020F83D4
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_0206E28C: .word 0x020F83D4
-
- thumb_func_start FUN_0206E290
-FUN_0206E290: ; 0x0206E290
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x3
- blo _0206E29C
- bl ErrorHandling
-_0206E29C:
- ldr r0, _0206E2A4 ; =0x020F83D0
- ldrb r0, [r0, r4]
- pop {r4, pc}
- nop
-_0206E2A4: .word 0x020F83D0
-
- thumb_func_start FUN_0206E2A8
-FUN_0206E2A8: ; 0x0206E2A8
- mov r0, #0x1b
- bx lr
-
- thumb_func_start FUN_0206E2AC
-FUN_0206E2AC: ; 0x0206E2AC
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0206E2A8
- str r0, [sp, #0xc]
- add r0, r7, #0x0
- bl FUN_0206E278
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x28]
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0200C00C
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206E2E0
-FUN_0206E2E0: ; 0x0206E2E0
- ldr r3, _0206E2E4 ; =FUN_0200C358
- bx r3
- .balign 4
-_0206E2E4: .word FUN_0200C358
-
- thumb_func_start FUN_0206E2E8
-FUN_0206E2E8: ; 0x0206E2E8
- ldr r3, _0206E2EC ; =FUN_0200C3DC
- bx r3
- .balign 4
-_0206E2EC: .word FUN_0200C3DC
-
- thumb_func_start FUN_0206E2F0
-FUN_0206E2F0: ; 0x0206E2F0
- push {r4, lr}
- mov r1, #0x78
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x78
- add r4, r0, #0x0
- bl memset
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206E308
-FUN_0206E308: ; 0x0206E308
- mov r0, #0x78
- bx lr
-
- thumb_func_start FUN_0206E30C
-FUN_0206E30C: ; 0x0206E30C
- add r0, #0x65
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E314
-FUN_0206E314: ; 0x0206E314
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r1, r2, #0x0
- add r5, r0, #0x0
- add r6, r3, #0x0
- bl FUN_0206E30C
- str r4, [r5, #0x0]
- str r6, [r5, #0x6c]
- mov r0, #0x0
- add r5, #0x66
- strh r0, [r5, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206E330
-FUN_0206E330: ; 0x0206E330
- push {r3-r4}
- mov r4, #0xc
- mul r4, r3
- add r0, r0, r4
- str r1, [r0, #0x4]
- strb r2, [r0, #0xc]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206E340
-FUN_0206E340: ; 0x0206E340
- add r1, r0, #0x0
- add r1, #0x76
- ldrh r2, [r1, #0x0]
- mov r1, #0x1
- add r0, #0x76
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0206E354
-FUN_0206E354: ; 0x0206E354
- str r1, [r0, #0x70]
- bx lr
-
- thumb_func_start FUN_0206E358
-FUN_0206E358: ; 0x0206E358
- add r0, #0x74
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E360
-FUN_0206E360: ; 0x0206E360
- add r2, r0, #0x0
- add r2, #0x76
- ldrh r3, [r2, #0x0]
- ldr r2, _0206E378 ; =0xFFFF0001
- lsl r1, r1, #0x11
- and r2, r3
- lsr r1, r1, #0x10
- orr r1, r2
- add r0, #0x76
- strh r1, [r0, #0x0]
- bx lr
- nop
-_0206E378: .word 0xFFFF0001
-
- thumb_func_start FUN_0206E37C
-FUN_0206E37C: ; 0x0206E37C
- add r0, #0x66
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E384
-FUN_0206E384: ; 0x0206E384
- add r0, #0x68
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E38C
-FUN_0206E38C: ; 0x0206E38C
- add r0, #0x74
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E394
-FUN_0206E394: ; 0x0206E394
- add r0, #0x75
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E39C
-FUN_0206E39C: ; 0x0206E39C
- push {r3, lr}
- bl FUN_0202390C
- bl FUN_02028930
- pop {r3, pc}
-
- thumb_func_start FUN_0206E3A8
-FUN_0206E3A8: ; 0x0206E3A8
- push {r4-r6, lr}
- bl FUN_02029C80
- add r6, r0, #0x0
- mov r5, #0x0
- mov r4, #0x1
-_0206E3B4:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02029E2C
- add r4, r4, #0x1
- add r5, r5, r0
- cmp r4, #0x50
- bls _0206E3B4
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206E3C8
-FUN_0206E3C8: ; 0x0206E3C8
- push {r3, lr}
- bl FUN_02027E24
- bl FUN_0202708C
- bl FUN_02027168
- pop {r3, pc}
-
- thumb_func_start FUN_0206E3D8
-FUN_0206E3D8: ; 0x0206E3D8
- push {r3, lr}
- bl FUN_02027E24
- bl FUN_0202708C
- bl FUN_02027184
- pop {r3, pc}
-
- thumb_func_start FUN_0206E3E8
-FUN_0206E3E8: ; 0x0206E3E8
- push {r3, lr}
- bl FUN_0202A8D8
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0202A3B4
- pop {r3, pc}
-
- thumb_func_start FUN_0206E3F8
-FUN_0206E3F8: ; 0x0206E3F8
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- str r1, [sp, #0x8]
- add r5, r2, #0x0
- add r4, r3, #0x0
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x7
- bl FUN_0200A86C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0200AA80
- add r4, r0, #0x0
- cmp r5, #0x0
- bne _0206E428
- add r0, r6, #0x0
- mov r1, #0x63
- bl FUN_0200A914
- add r5, r0, #0x0
- b _0206E4FA
-_0206E428:
- mov r1, #0x1b
- lsl r1, r1, #0x4
- cmp r5, r1
- bne _0206E454
- add r0, r6, #0x0
- mov r1, #0x61
- bl FUN_0200A914
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0206E3E8
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r3, #0x4
- bl FUN_0200AD38
- b _0206E4FA
-_0206E454:
- add r2, r1, #0x2
- cmp r5, r2
- bne _0206E47E
- add r0, r6, #0x0
- mov r1, #0x5c
- bl FUN_0200A914
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0206E3A8
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r3, #0x4
- bl FUN_0200AD38
- b _0206E4FA
-_0206E47E:
- add r2, r1, #0x3
- cmp r5, r2
- bne _0206E4C0
- add r0, r6, #0x0
- mov r1, #0x5d
- bl FUN_0200A914
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0206E3C8
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r3, #0x3
- bl FUN_0200AD38
- add r0, r7, #0x0
- bl FUN_0206E3D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x1
- add r0, r4, #0x0
- mov r3, #0x2
- str r1, [sp, #0x4]
- bl FUN_0200AD38
- b _0206E4FA
-_0206E4C0:
- add r1, #0xc
- cmp r5, r1
- bne _0206E4EA
- add r0, r6, #0x0
- mov r1, #0x39
- bl FUN_0200A914
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0206E39C
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r3, #0x5
- bl FUN_0200AD38
- b _0206E4FA
-_0206E4EA:
- bl FUN_0200AB18
- add r0, r6, #0x0
- bl FUN_0200A8B8
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206E4FA:
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_0200AB18
- add r0, r6, #0x0
- bl FUN_0200A8B8
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206E51C
-FUN_0206E51C: ; 0x0206E51C
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r4, [sp, #0x18]
- cmp r3, #0x1
- beq _0206E52E
- cmp r3, #0x2
- beq _0206E54C
- b _0206E56A
-_0206E52E:
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x7
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r4, r0, #0x0
- mov r1, #0x38
- add r2, r5, #0x0
- bl FUN_0200A8E0
- add r0, r4, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
-_0206E54C:
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x7
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r4, r0, #0x0
- mov r1, #0x6f
- add r2, r5, #0x0
- bl FUN_0200A8E0
- add r0, r4, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
-_0206E56A:
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc7
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0200AA80
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x24
- bl FUN_0200A914
- add r6, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_0200AB18
- add r0, r7, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206E5B4
-FUN_0206E5B4: ; 0x0206E5B4
- push {r3-r6}
- add r3, r0, #0x0
- add r0, r2, #0x0
- cmp r1, r0
- beq _0206E63A
- lsl r2, r1, #0x2
- ldrh r4, [r3, r2]
- add r5, r3, r2
- add r2, sp, #0x0
- strh r4, [r2, #0x0]
- ldrh r4, [r5, #0x2]
- strh r4, [r2, #0x2]
- cmp r0, r1
- bls _0206E600
- sub r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r1, r1, #0x10
- lsl r2, r0, #0x10
- asr r1, r1, #0x10
- asr r5, r2, #0x10
- cmp r1, r5
- bge _0206E62C
- lsl r2, r1, #0x2
- add r2, r3, r2
- add r4, r2, #0x0
-_0206E5E8:
- ldrh r6, [r2, #0x4]
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- strh r6, [r4, #0x0]
- ldrh r6, [r2, #0x6]
- asr r1, r1, #0x10
- add r2, r2, #0x4
- strh r6, [r4, #0x2]
- add r4, r4, #0x4
- cmp r1, r5
- blt _0206E5E8
- b _0206E62C
-_0206E600:
- lsl r1, r1, #0x10
- asr r5, r1, #0x10
- lsl r1, r0, #0x10
- asr r4, r1, #0x10
- cmp r5, r4
- ble _0206E62C
- lsl r1, r5, #0x2
- add r1, r3, r1
- add r2, r1, #0x0
-_0206E612:
- sub r6, r1, #0x4
- ldrh r6, [r6, #0x0]
- sub r5, r5, #0x1
- lsl r5, r5, #0x10
- strh r6, [r2, #0x0]
- sub r6, r1, #0x2
- ldrh r6, [r6, #0x0]
- asr r5, r5, #0x10
- sub r1, r1, #0x4
- strh r6, [r2, #0x2]
- sub r2, r2, #0x4
- cmp r5, r4
- bgt _0206E612
-_0206E62C:
- lsl r4, r0, #0x2
- add r0, sp, #0x0
- ldrh r1, [r0, #0x0]
- add r2, r3, r4
- strh r1, [r3, r4]
- ldrh r0, [r0, #0x2]
- strh r0, [r2, #0x2]
-_0206E63A:
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206E640
-FUN_0206E640: ; 0x0206E640
- cmp r1, #0x3
- bhi _0206E6B2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206E650: ; jump table (using 16-bit offset)
- .short _0206E658 - _0206E650 - 2; case 0
- .short _0206E66A - _0206E650 - 2; case 1
- .short _0206E684 - _0206E650 - 2; case 2
- .short _0206E6A0 - _0206E650 - 2; case 3
-_0206E658:
- cmp r0, #0x0
- beq _0206E6B2
- ldr r1, _0206E6B8 ; =0x0000FFFF
- cmp r0, r1
- beq _0206E6B2
- lsl r1, r0, #0x3
- ldr r0, _0206E6BC ; =0x020F85B4
- ldrh r0, [r0, r1]
- bx lr
-_0206E66A:
- cmp r0, #0x0
- bne _0206E672
- ldr r0, _0206E6C0 ; =0x000002BB
- bx lr
-_0206E672:
- ldr r1, _0206E6B8 ; =0x0000FFFF
- cmp r0, r1
- bne _0206E67C
- ldr r0, _0206E6C4 ; =0x000002BD
- bx lr
-_0206E67C:
- lsl r1, r0, #0x3
- ldr r0, _0206E6C8 ; =0x020F85B6
- ldrh r0, [r0, r1]
- bx lr
-_0206E684:
- cmp r0, #0x0
- bne _0206E68E
- mov r0, #0xaf
- lsl r0, r0, #0x2
- bx lr
-_0206E68E:
- ldr r1, _0206E6B8 ; =0x0000FFFF
- cmp r0, r1
- bne _0206E698
- ldr r0, _0206E6CC ; =0x000002BE
- bx lr
-_0206E698:
- lsl r1, r0, #0x3
- ldr r0, _0206E6D0 ; =0x020F85B8
- ldrh r0, [r0, r1]
- bx lr
-_0206E6A0:
- cmp r0, #0x0
- beq _0206E6B2
- ldr r1, _0206E6B8 ; =0x0000FFFF
- cmp r0, r1
- beq _0206E6B2
- lsl r1, r0, #0x3
- ldr r0, _0206E6D4 ; =0x020F85BA
- ldrh r0, [r0, r1]
- bx lr
-_0206E6B2:
- mov r0, #0x0
- bx lr
- nop
-_0206E6B8: .word 0x0000FFFF
-_0206E6BC: .word 0x020F85B4
-_0206E6C0: .word 0x000002BB
-_0206E6C4: .word 0x000002BD
-_0206E6C8: .word 0x020F85B6
-_0206E6CC: .word 0x000002BE
-_0206E6D0: .word 0x020F85B8
-_0206E6D4: .word 0x020F85BA
-
- thumb_func_start FUN_0206E6D8
-FUN_0206E6D8: ; 0x0206E6D8
- push {r3-r4}
- mov r2, #0x1d
- ldr r3, _0206E704 ; =0x020F85B4
- mov r4, #0x1
- lsl r2, r2, #0x4
-_0206E6E2:
- lsl r1, r4, #0x3
- add r1, r3, r1
- ldrh r1, [r1, #0x6]
- cmp r0, r1
- bne _0206E6F2
- add r0, r4, #0x0
- pop {r3-r4}
- bx lr
-_0206E6F2:
- add r1, r4, #0x1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r4, r2
- bls _0206E6E2
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- nop
-_0206E704: .word 0x020F85B4
-
- thumb_func_start FUN_0206E708
-FUN_0206E708: ; 0x0206E708
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0206E70C
-FUN_0206E70C: ; 0x0206E70C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0206E710
-FUN_0206E710: ; 0x0206E710
- push {r3, lr}
- add r3, r0, #0x0
- mov r0, #0x1d
- lsl r0, r0, #0x4
- cmp r3, r0
- bls _0206E71E
- mov r3, #0x0
-_0206E71E:
- cmp r1, #0x0
- beq _0206E72C
- cmp r1, #0x1
- beq _0206E73A
- cmp r1, #0x2
- beq _0206E748
- b _0206E756
-_0206E72C:
- ldr r1, _0206E75C ; =0x020F85B4
- lsl r3, r3, #0x3
- ldrh r1, [r1, r3]
- mov r0, #0xf
- bl LoadFromNarc_2
- pop {r3, pc}
-_0206E73A:
- ldr r1, _0206E760 ; =0x020F85B6
- lsl r3, r3, #0x3
- ldrh r1, [r1, r3]
- mov r0, #0x10
- bl LoadFromNarc_2
- pop {r3, pc}
-_0206E748:
- ldr r1, _0206E764 ; =0x020F85B8
- lsl r3, r3, #0x3
- ldrh r1, [r1, r3]
- mov r0, #0x10
- bl LoadFromNarc_2
- pop {r3, pc}
-_0206E756:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0206E75C: .word 0x020F85B4
-_0206E760: .word 0x020F85B6
-_0206E764: .word 0x020F85B8
-
- thumb_func_start FUN_0206E768
-FUN_0206E768: ; 0x0206E768
- push {r4-r6, lr}
- add r3, r2, #0x0
- mov r2, #0x56
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r6, r0, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_0200A8B8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206E790
-FUN_0206E790: ; 0x0206E790
- push {r4-r6, lr}
- add r3, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r2, _0206E7B4 ; =0x00000157
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r6, r0, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_0200A8B8
- pop {r4-r6, pc}
- .balign 4
-_0206E7B4: .word 0x00000157
-
- thumb_func_start FUN_0206E7B8
-FUN_0206E7B8: ; 0x0206E7B8
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- add r5, r2, #0x0
- bl FUN_0206E710
- add r6, r0, #0x0
- add r1, r4, #0x0
- bl FUN_0206E7DC
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02016A8C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0206E7DC
-FUN_0206E7DC: ; 0x0206E7DC
- push {r3, lr}
- cmp r1, #0xe
- bhi _0206E85C
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0206E7EE: ; jump table (using 16-bit offset)
- .short _0206E80C - _0206E7EE - 2; case 0
- .short _0206E810 - _0206E7EE - 2; case 1
- .short _0206E814 - _0206E7EE - 2; case 2
- .short _0206E818 - _0206E7EE - 2; case 3
- .short _0206E820 - _0206E7EE - 2; case 4
- .short _0206E828 - _0206E7EE - 2; case 5
- .short _0206E830 - _0206E7EE - 2; case 6
- .short _0206E834 - _0206E7EE - 2; case 7
- .short _0206E838 - _0206E7EE - 2; case 8
- .short _0206E83C - _0206E7EE - 2; case 9
- .short _0206E840 - _0206E7EE - 2; case 10
- .short _0206E844 - _0206E7EE - 2; case 11
- .short _0206E848 - _0206E7EE - 2; case 12
- .short _0206E850 - _0206E7EE - 2; case 13
- .short _0206E858 - _0206E7EE - 2; case 14
-_0206E80C:
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_0206E810:
- ldrb r0, [r0, #0x2]
- pop {r3, pc}
-_0206E814:
- ldrb r0, [r0, #0x3]
- pop {r3, pc}
-_0206E818:
- ldrh r0, [r0, #0x8]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_0206E820:
- ldrh r0, [r0, #0x8]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_0206E828:
- ldrh r0, [r0, #0x8]
- lsl r0, r0, #0x15
- lsr r0, r0, #0x1c
- pop {r3, pc}
-_0206E830:
- ldrb r0, [r0, #0xa]
- pop {r3, pc}
-_0206E834:
- ldrb r0, [r0, #0xb]
- pop {r3, pc}
-_0206E838:
- ldrb r0, [r0, #0x4]
- pop {r3, pc}
-_0206E83C:
- ldrb r0, [r0, #0x5]
- pop {r3, pc}
-_0206E840:
- ldrb r0, [r0, #0x6]
- pop {r3, pc}
-_0206E844:
- ldrb r0, [r0, #0x7]
- pop {r3, pc}
-_0206E848:
- ldrh r0, [r0, #0x8]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0206E850:
- ldrh r0, [r0, #0x8]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0206E858:
- ldrb r0, [r0, #0xc]
- pop {r3, pc}
-_0206E85C:
- ldrb r2, [r0, #0xc]
- cmp r2, #0x0
- beq _0206E868
- cmp r2, #0x1
- beq _0206E86C
- b _0206E874
-_0206E868:
- ldrb r0, [r0, #0xe]
- pop {r3, pc}
-_0206E86C:
- add r0, #0xe
- bl FUN_0206E878
- pop {r3, pc}
-_0206E874:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0206E878
-FUN_0206E878: ; 0x0206E878
- sub r1, #0xf
- cmp r1, #0x2b
- bls _0206E880
- b _0206EA2A
-_0206E880:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206E88C: ; jump table (using 16-bit offset)
- .short _0206E8E4 - _0206E88C - 2; case 0
- .short _0206E8EC - _0206E88C - 2; case 1
- .short _0206E8F4 - _0206E88C - 2; case 2
- .short _0206E8FC - _0206E88C - 2; case 3
- .short _0206E904 - _0206E88C - 2; case 4
- .short _0206E90C - _0206E88C - 2; case 5
- .short _0206E914 - _0206E88C - 2; case 6
- .short _0206E91C - _0206E88C - 2; case 7
- .short _0206E924 - _0206E88C - 2; case 8
- .short _0206E92C - _0206E88C - 2; case 9
- .short _0206E934 - _0206E88C - 2; case 10
- .short _0206E93C - _0206E88C - 2; case 11
- .short _0206E944 - _0206E88C - 2; case 12
- .short _0206E94C - _0206E88C - 2; case 13
- .short _0206E954 - _0206E88C - 2; case 14
- .short _0206E95C - _0206E88C - 2; case 15
- .short _0206E964 - _0206E88C - 2; case 16
- .short _0206E96C - _0206E88C - 2; case 17
- .short _0206E974 - _0206E88C - 2; case 18
- .short _0206E97C - _0206E88C - 2; case 19
- .short _0206E984 - _0206E88C - 2; case 20
- .short _0206E98C - _0206E88C - 2; case 21
- .short _0206E994 - _0206E88C - 2; case 22
- .short _0206E99C - _0206E88C - 2; case 23
- .short _0206E9A4 - _0206E88C - 2; case 24
- .short _0206E9AC - _0206E88C - 2; case 25
- .short _0206E9B4 - _0206E88C - 2; case 26
- .short _0206E9BC - _0206E88C - 2; case 27
- .short _0206E9C4 - _0206E88C - 2; case 28
- .short _0206E9CC - _0206E88C - 2; case 29
- .short _0206E9D4 - _0206E88C - 2; case 30
- .short _0206E9DC - _0206E88C - 2; case 31
- .short _0206E9E4 - _0206E88C - 2; case 32
- .short _0206E9EC - _0206E88C - 2; case 33
- .short _0206E9F2 - _0206E88C - 2; case 34
- .short _0206E9F8 - _0206E88C - 2; case 35
- .short _0206E9FE - _0206E88C - 2; case 36
- .short _0206EA04 - _0206E88C - 2; case 37
- .short _0206EA0A - _0206E88C - 2; case 38
- .short _0206EA10 - _0206E88C - 2; case 39
- .short _0206EA14 - _0206E88C - 2; case 40
- .short _0206EA18 - _0206E88C - 2; case 41
- .short _0206EA1E - _0206E88C - 2; case 42
- .short _0206EA24 - _0206E88C - 2; case 43
-_0206E8E4:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-_0206E8EC:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-_0206E8F4:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-_0206E8FC:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- bx lr
-_0206E904:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- bx lr
-_0206E90C:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1f
- bx lr
-_0206E914:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
-_0206E91C:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
-_0206E924:
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-_0206E92C:
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-_0206E934:
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-_0206E93C:
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- bx lr
-_0206E944:
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- bx lr
-_0206E94C:
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-_0206E954:
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- bx lr
-_0206E95C:
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-_0206E964:
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- bx lr
-_0206E96C:
- ldrb r0, [r0, #0x4]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-_0206E974:
- ldrb r0, [r0, #0x4]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- bx lr
-_0206E97C:
- ldrb r0, [r0, #0x4]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
-_0206E984:
- ldrb r0, [r0, #0x4]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
-_0206E98C:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-_0206E994:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-_0206E99C:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-_0206E9A4:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- bx lr
-_0206E9AC:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- bx lr
-_0206E9B4:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1f
- bx lr
-_0206E9BC:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
-_0206E9C4:
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
-_0206E9CC:
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-_0206E9D4:
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-_0206E9DC:
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-_0206E9E4:
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- bx lr
-_0206E9EC:
- mov r1, #0x7
- ldrsb r0, [r0, r1]
- bx lr
-_0206E9F2:
- mov r1, #0x8
- ldrsb r0, [r0, r1]
- bx lr
-_0206E9F8:
- mov r1, #0x9
- ldrsb r0, [r0, r1]
- bx lr
-_0206E9FE:
- mov r1, #0xa
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA04:
- mov r1, #0xb
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA0A:
- mov r1, #0xc
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA10:
- ldrb r0, [r0, #0xd]
- bx lr
-_0206EA14:
- ldrb r0, [r0, #0xe]
- bx lr
-_0206EA18:
- mov r1, #0xf
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA1E:
- mov r1, #0x10
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA24:
- mov r1, #0x11
- ldrsb r0, [r0, r1]
- bx lr
-_0206EA2A:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206EA30
-FUN_0206EA30: ; 0x0206EA30
- mov r2, #0x52
- lsl r2, r2, #0x2
- cmp r0, r2
- blo _0206EA40
- add r1, r2, #0x0
- add r1, #0x63
- cmp r0, r1
- bls _0206EA44
-_0206EA40:
- mov r0, #0x0
- bx lr
-_0206EA44:
- sub r0, r0, r2
- lsl r0, r0, #0x10
- lsr r1, r0, #0xf
- ldr r0, _0206EA50 ; =0x020F84EC
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_0206EA50: .word 0x020F84EC
-
- thumb_func_start FUN_0206EA54
-FUN_0206EA54: ; 0x0206EA54
- ldr r2, _0206EA78 ; =0x020F84EC
- mov r3, #0x0
-_0206EA58:
- lsl r1, r3, #0x1
- add r1, r2, r1
- add r1, #0xb8
- ldrh r1, [r1, #0x0]
- cmp r0, r1
- bne _0206EA68
- mov r0, #0x1
- bx lr
-_0206EA68:
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x8
- blo _0206EA58
- mov r0, #0x0
- bx lr
- nop
-_0206EA78: .word 0x020F84EC
-
- thumb_func_start FUN_0206EA7C
-FUN_0206EA7C: ; 0x0206EA7C
- mov r2, #0x52
- lsl r2, r2, #0x2
- cmp r0, r2
- blo _0206EA8C
- add r1, r2, #0x0
- add r1, #0x63
- cmp r0, r1
- bls _0206EA90
-_0206EA8C:
- mov r0, #0x0
- bx lr
-_0206EA90:
- sub r0, r0, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-
- thumb_func_start FUN_0206EA98
-FUN_0206EA98: ; 0x0206EA98
- ldr r3, _0206EAB4 ; =0x020F8454
- mov r2, #0x0
-_0206EA9C:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _0206EAA6
- mov r0, #0x1
- bx lr
-_0206EAA6:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0xc
- blo _0206EA9C
- mov r0, #0x0
- bx lr
- nop
-_0206EAB4: .word 0x020F8454
-
- thumb_func_start FUN_0206EAB8
-FUN_0206EAB8: ; 0x0206EAB8
- ldr r3, _0206EAD4 ; =0x020F8454
- mov r2, #0x0
-_0206EABC:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _0206EAC8
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- bx lr
-_0206EAC8:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0xc
- blo _0206EABC
- mov r0, #0x0
- bx lr
- .balign 4
-_0206EAD4: .word 0x020F8454
-
- thumb_func_start FUN_0206EAD8
-FUN_0206EAD8: ; 0x0206EAD8
- cmp r0, #0xc
- blo _0206EAE0
- mov r0, #0x0
- bx lr
-_0206EAE0:
- lsl r1, r0, #0x1
- ldr r0, _0206EAE8 ; =0x020F8454
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_0206EAE8: .word 0x020F8454
-
- thumb_func_start FUN_0206EAEC
-FUN_0206EAEC: ; 0x0206EAEC
- ldr r3, _0206EB08 ; =0x020F846C
- mov r2, #0x0
-_0206EAF0:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _0206EAFA
- mov r0, #0x1
- bx lr
-_0206EAFA:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0x40
- blo _0206EAF0
- mov r0, #0x0
- bx lr
- nop
-_0206EB08: .word 0x020F846C
-
- thumb_func_start FUN_0206EB0C
-FUN_0206EB0C: ; 0x0206EB0C
- cmp r0, #0x95
- bhs _0206EB14
- mov r0, #0xff
- bx lr
-_0206EB14:
- sub r0, #0x95
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-
- thumb_func_start FUN_0206EB1C
-FUN_0206EB1C: ; 0x0206EB1C
- cmp r0, #0x40
- blo _0206EB24
- ldr r0, _0206EB2C ; =0x0000FFFF
- bx lr
-_0206EB24:
- lsl r1, r0, #0x1
- ldr r0, _0206EB30 ; =0x020F846C
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_0206EB2C: .word 0x0000FFFF
-_0206EB30: .word 0x020F846C
-
- thumb_func_start FUN_0206EB34
-FUN_0206EB34: ; 0x0206EB34
- ldr r1, _0206EB4C ; =0x0000FFDE
- add r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x3
- bhi _0206EB44
- mov r0, #0x1
- b _0206EB46
-_0206EB44:
- mov r0, #0x0
-_0206EB46:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
- .balign 4
-_0206EB4C: .word 0x0000FFDE
-
- thumb_func_start FUN_0206EB50
-FUN_0206EB50: ; 0x0206EB50
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x1d
- lsl r0, r0, #0x4
- mov r1, #0x0
- bl FUN_0206E640
- mov r1, #0x24
- mul r1, r0
- str r1, [sp, #0x0]
- mov r1, #0x0
- mov r0, #0xf
- add r2, r4, #0x0
- add r3, r1, #0x0
- bl FUN_02006564
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206EB78
-FUN_0206EB78: ; 0x0206EB78
- mov r2, #0x24
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start FUN_0206EB80
-FUN_0206EB80: ; 0x0206EB80
- ldr r0, _0206EB84 ; =0x00000774
- bx lr
- .balign 4
-_0206EB84: .word 0x00000774
-
- thumb_func_start FUN_0206EB88
-FUN_0206EB88: ; 0x0206EB88
- push {r4, lr}
- ldr r1, _0206EB9C ; =0x00000774
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_0206EBA0
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0206EB9C: .word 0x00000774
-
- thumb_func_start FUN_0206EBA0
-FUN_0206EBA0: ; 0x0206EBA0
- ldr r3, _0206EBAC ; =MIi_CpuClear16
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r2, _0206EBB0 ; =0x00000774
- bx r3
- nop
-_0206EBAC: .word MIi_CpuClear16
-_0206EBB0: .word 0x00000774
-
- thumb_func_start FUN_0206EBB4
-FUN_0206EBB4: ; 0x0206EBB4
- ldr r3, _0206EBBC ; =MI_CpuCopy8
- ldr r2, _0206EBC0 ; =0x00000774
- bx r3
- nop
-_0206EBBC: .word MI_CpuCopy8
-_0206EBC0: .word 0x00000774
-
- thumb_func_start FUN_0206EBC4
-FUN_0206EBC4: ; 0x0206EBC4
- mov r1, #0x77
- lsl r1, r1, #0x4
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_0206EBCC
-FUN_0206EBCC: ; 0x0206EBCC
- mov r2, #0x77
- lsl r2, r2, #0x4
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_0206EBD4
-FUN_0206EBD4: ; 0x0206EBD4
- push {r4-r6, lr}
- add r5, r2, #0x0
- add r4, r0, #0x0
- add r0, r1, #0x0
- ldr r2, [sp, #0x10]
- mov r1, #0x5
- add r6, r3, #0x0
- bl FUN_0206E7B8
- cmp r0, #0x7
- bhi _0206EC64
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206EBF6: ; jump table (using 16-bit offset)
- .short _0206EC14 - _0206EBF6 - 2; case 0
- .short _0206EC28 - _0206EBF6 - 2; case 1
- .short _0206EC34 - _0206EBF6 - 2; case 2
- .short _0206EC58 - _0206EBF6 - 2; case 3
- .short _0206EC1C - _0206EBF6 - 2; case 4
- .short _0206EC4C - _0206EBF6 - 2; case 5
- .short _0206EC40 - _0206EBF6 - 2; case 6
- .short _0206EC06 - _0206EBF6 - 2; case 7
-_0206EC06:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x32
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC14:
- str r4, [r5, #0x0]
- mov r1, #0xa5
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC1C:
- ldr r1, _0206EC68 ; =0x000005BC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x40
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC28:
- ldr r1, _0206EC6C ; =0x0000051C
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x28
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC34:
- ldr r1, _0206EC70 ; =0x000006BC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0xf
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC40:
- ldr r1, _0206EC74 ; =0x000006F8
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x1e
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC4C:
- ldr r1, _0206EC78 ; =0x000004EC
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0xc
- str r1, [r6, #0x0]
- pop {r4-r6, pc}
-_0206EC58:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r1, [r5, #0x0]
- mov r1, #0x64
- str r1, [r6, #0x0]
-_0206EC64:
- pop {r4-r6, pc}
- nop
-_0206EC68: .word 0x000005BC
-_0206EC6C: .word 0x0000051C
-_0206EC70: .word 0x000006BC
-_0206EC74: .word 0x000006F8
-_0206EC78: .word 0x000004EC
-
- thumb_func_start FUN_0206EC7C
-FUN_0206EC7C: ; 0x0206EC7C
- push {r4-r7}
- add r5, r1, #0x0
- mov r1, #0x0
- add r7, r0, #0x0
- add r4, r2, #0x0
- mov r12, r3
- mvn r1, r1
- mov r0, #0x0
- cmp r5, #0x0
- bls _0206ECCA
- add r2, r7, #0x0
- add r3, r1, #0x0
-_0206EC94:
- ldrh r6, [r2, #0x0]
- cmp r4, r6
- bne _0206ECB2
- lsl r0, r0, #0x2
- add r0, r7, r0
- ldrh r2, [r0, #0x2]
- mov r1, r12
- add r2, r1, r2
- add r1, sp, #0x0
- ldrh r1, [r1, #0x10]
- cmp r2, r1
- ble _0206ECDC
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_0206ECB2:
- cmp r1, r3
- bne _0206ECC2
- cmp r6, #0x0
- bne _0206ECC2
- ldrh r6, [r2, #0x2]
- cmp r6, #0x0
- bne _0206ECC2
- add r1, r0, #0x0
-_0206ECC2:
- add r0, r0, #0x1
- add r2, r2, #0x4
- cmp r0, r5
- blo _0206EC94
-_0206ECCA:
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0206ECD8
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_0206ECD8:
- lsl r0, r1, #0x2
- add r0, r7, r0
-_0206ECDC:
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0206ECE0
-FUN_0206ECE0: ; 0x0206ECE0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r3, [sp, #0x0]
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r5, r1, #0x0
- bl FUN_0206EBD4
- cmp r0, #0x3
- bne _0206ED0A
- mov r0, #0x63
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0206EC7C
- add sp, #0xc
- pop {r4-r5, pc}
-_0206ED0A:
- ldr r0, _0206ED20 ; =0x000003E7
- add r2, r5, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r3, r4, #0x0
- bl FUN_0206EC7C
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0206ED20: .word 0x000003E7
-
- thumb_func_start FUN_0206ED24
-FUN_0206ED24: ; 0x0206ED24
- push {r3, lr}
- bl FUN_0206ECE0
- cmp r0, #0x0
- beq _0206ED32
- mov r0, #0x1
- pop {r3, pc}
-_0206ED32:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206ED38
-FUN_0206ED38: ; 0x0206ED38
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0206ECE0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0206ED54
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206ED54:
- strh r5, [r0, #0x0]
- ldr r1, [sp, #0x8]
- add r2, sp, #0x8
- ldrh r0, [r1, #0x2]
- add r3, sp, #0x4
- add r0, r0, r4
- strh r0, [r1, #0x2]
- add r0, r7, #0x0
- add r1, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_0206EBD4
- sub r0, r0, #0x3
- cmp r0, #0x1
- bhi _0206ED7A
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- bl FUN_0206EF94
-_0206ED7A:
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206ED80
-FUN_0206ED80: ; 0x0206ED80
- push {r3-r6}
- mov r5, #0x0
- cmp r1, #0x0
- bls _0206EDA8
- add r6, r0, #0x0
-_0206ED8A:
- ldrh r4, [r6, #0x0]
- cmp r2, r4
- bne _0206EDA0
- lsl r1, r5, #0x2
- add r0, r0, r1
- ldrh r1, [r0, #0x2]
- cmp r1, r3
- bhs _0206EDAA
- mov r0, #0x0
- pop {r3-r6}
- bx lr
-_0206EDA0:
- add r5, r5, #0x1
- add r6, r6, #0x4
- cmp r5, r1
- blo _0206ED8A
-_0206EDA8:
- mov r0, #0x0
-_0206EDAA:
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206EDB0
-FUN_0206EDB0: ; 0x0206EDB0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r3, [sp, #0x0]
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r5, r1, #0x0
- bl FUN_0206EBD4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0206ED80
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0206EDD4
-FUN_0206EDD4: ; 0x0206EDD4
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206EDB0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0206EDF0
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0206EDF0:
- ldrh r1, [r0, #0x2]
- sub r1, r1, r5
- strh r1, [r0, #0x2]
- ldr r1, [sp, #0x8]
- ldrh r0, [r1, #0x2]
- cmp r0, #0x0
- bne _0206EE02
- mov r0, #0x0
- strh r0, [r1, #0x0]
-_0206EE02:
- str r4, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- bl FUN_0206EBD4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- bl FUN_0206EF48
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206EE20
-FUN_0206EE20: ; 0x0206EE20
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r3, #0x0
- bl FUN_0206ED80
- cmp r0, #0x0
- bne _0206EE34
- mov r0, #0x0
- pop {r4-r6, pc}
-_0206EE34:
- ldrh r1, [r0, #0x2]
- sub r1, r1, r4
- strh r1, [r0, #0x2]
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- bne _0206EE44
- mov r1, #0x0
- strh r1, [r0, #0x0]
-_0206EE44:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0206EF48
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206EE50
-FUN_0206EE50: ; 0x0206EE50
- push {r3, lr}
- bl FUN_0206EDB0
- cmp r0, #0x0
- beq _0206EE5E
- mov r0, #0x1
- pop {r3, pc}
-_0206EE5E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206EE64
-FUN_0206EE64: ; 0x0206EE64
- cmp r1, #0x7
- bhi _0206EEC4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206EE74: ; jump table (using 16-bit offset)
- .short _0206EE8E - _0206EE74 - 2; case 0
- .short _0206EE9A - _0206EE74 - 2; case 1
- .short _0206EEA2 - _0206EE74 - 2; case 2
- .short _0206EEBA - _0206EE74 - 2; case 3
- .short _0206EE92 - _0206EE74 - 2; case 4
- .short _0206EEB2 - _0206EE74 - 2; case 5
- .short _0206EEAA - _0206EE74 - 2; case 6
- .short _0206EE84 - _0206EE74 - 2; case 7
-_0206EE84:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r2, #0x32
- b _0206EEC8
-_0206EE8E:
- mov r2, #0xa5
- b _0206EEC8
-_0206EE92:
- ldr r1, _0206EEE4 ; =0x000005BC
- mov r2, #0x40
- add r0, r0, r1
- b _0206EEC8
-_0206EE9A:
- ldr r1, _0206EEE8 ; =0x0000051C
- mov r2, #0x28
- add r0, r0, r1
- b _0206EEC8
-_0206EEA2:
- ldr r1, _0206EEEC ; =0x000006BC
- mov r2, #0xf
- add r0, r0, r1
- b _0206EEC8
-_0206EEAA:
- ldr r1, _0206EEF0 ; =0x000006F8
- mov r2, #0x1e
- add r0, r0, r1
- b _0206EEC8
-_0206EEB2:
- ldr r1, _0206EEF4 ; =0x000004EC
- mov r2, #0xc
- add r0, r0, r1
- b _0206EEC8
-_0206EEBA:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r2, #0x64
- b _0206EEC8
-_0206EEC4:
- mov r0, #0x0
- bx lr
-_0206EEC8:
- mov r3, #0x0
- cmp r2, #0x0
- bls _0206EEE0
-_0206EECE:
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0206EED8
- mov r0, #0x1
- bx lr
-_0206EED8:
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, r2
- blo _0206EECE
-_0206EEE0:
- mov r0, #0x0
- bx lr
- .balign 4
-_0206EEE4: .word 0x000005BC
-_0206EEE8: .word 0x0000051C
-_0206EEEC: .word 0x000006BC
-_0206EEF0: .word 0x000006F8
-_0206EEF4: .word 0x000004EC
-
- thumb_func_start FUN_0206EEF8
-FUN_0206EEF8: ; 0x0206EEF8
- push {r3, lr}
- add r3, r2, #0x0
- mov r2, #0x1
- bl FUN_0206EDB0
- cmp r0, #0x0
- bne _0206EF0A
- mov r0, #0x0
- pop {r3, pc}
-_0206EF0A:
- ldrh r0, [r0, #0x2]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206EF10
-FUN_0206EF10: ; 0x0206EF10
- push {r3, lr}
- mov r3, #0x1
- bl FUN_0206ED80
- cmp r0, #0x0
- bne _0206EF20
- mov r0, #0x0
- pop {r3, pc}
-_0206EF20:
- ldrh r0, [r0, #0x2]
- pop {r3, pc}
-
- thumb_func_start FUN_0206EF24
-FUN_0206EF24: ; 0x0206EF24
- push {r3}
- sub sp, #0x4
- ldrh r3, [r0, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x0]
- ldrh r3, [r0, #0x2]
- strh r3, [r2, #0x2]
- ldrh r3, [r1, #0x0]
- strh r3, [r0, #0x0]
- ldrh r3, [r1, #0x2]
- strh r3, [r0, #0x2]
- ldrh r0, [r2, #0x0]
- strh r0, [r1, #0x0]
- ldrh r0, [r2, #0x2]
- strh r0, [r1, #0x2]
- add sp, #0x4
- pop {r3}
- bx lr
-
- thumb_func_start FUN_0206EF48
-FUN_0206EF48: ; 0x0206EF48
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r7, r1, #0x0
- str r0, [sp, #0x4]
- sub r0, r7, #0x1
- str r0, [sp, #0x8]
- beq _0206EF8E
- ldr r4, [sp, #0x0]
-_0206EF5C:
- ldr r0, [sp, #0x4]
- add r6, r0, #0x1
- cmp r6, r7
- bhs _0206EF80
- ldr r0, [sp, #0x0]
- lsl r1, r6, #0x2
- add r5, r0, r1
-_0206EF6A:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- bne _0206EF78
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0206EF24
-_0206EF78:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _0206EF6A
-_0206EF80:
- ldr r0, [sp, #0x4]
- add r4, r4, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x4]
- cmp r1, r0
- blo _0206EF5C
-_0206EF8E:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0206EF94
-FUN_0206EF94: ; 0x0206EF94
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r7, r1, #0x0
- str r0, [sp, #0x4]
- sub r0, r7, #0x1
- str r0, [sp, #0x8]
- beq _0206EFE8
- ldr r4, [sp, #0x0]
-_0206EFA8:
- ldr r0, [sp, #0x4]
- add r6, r0, #0x1
- cmp r6, r7
- bhs _0206EFDA
- ldr r0, [sp, #0x0]
- lsl r1, r6, #0x2
- add r5, r0, r1
-_0206EFB6:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _0206EFCA
- ldrh r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0206EFD2
- ldrh r1, [r4, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r1, r0
- bls _0206EFD2
-_0206EFCA:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0206EF24
-_0206EFD2:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _0206EFB6
-_0206EFDA:
- ldr r0, [sp, #0x4]
- add r4, r4, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x4]
- cmp r1, r0
- blo _0206EFA8
-_0206EFE8:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0206EFEC
-FUN_0206EFEC: ; 0x0206EFEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- lsl r0, r2, #0x18
- add r7, r1, #0x0
- lsr r0, r0, #0x18
- bl FUN_0206E2F0
- add r6, r0, #0x0
- ldrb r0, [r7, #0x0]
- mov r4, #0x0
- cmp r0, #0xff
- beq _0206F0BE
-_0206F004:
- ldrb r0, [r7, r4]
- cmp r0, #0x7
- bhi _0206F0B6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206F016: ; jump table (using 16-bit offset)
- .short _0206F03A - _0206F016 - 2; case 0
- .short _0206F05C - _0206F016 - 2; case 1
- .short _0206F06E - _0206F016 - 2; case 2
- .short _0206F0A4 - _0206F016 - 2; case 3
- .short _0206F04A - _0206F016 - 2; case 4
- .short _0206F092 - _0206F016 - 2; case 5
- .short _0206F080 - _0206F016 - 2; case 6
- .short _0206F026 - _0206F016 - 2; case 7
-_0206F026:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x7
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F03A:
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F04A:
- ldr r1, _0206F0C4 ; =0x000005BC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x4
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F05C:
- ldr r1, _0206F0C8 ; =0x0000051C
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x1
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F06E:
- ldr r1, _0206F0CC ; =0x000006BC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x2
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F080:
- ldr r1, _0206F0D0 ; =0x000006F8
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x6
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F092:
- ldr r1, _0206F0D4 ; =0x000004EC
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x5
- lsr r3, r3, #0x18
- bl FUN_0206E330
- b _0206F0B6
-_0206F0A4:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- lsl r3, r4, #0x18
- add r0, r6, #0x0
- add r1, r5, r1
- mov r2, #0x3
- lsr r3, r3, #0x18
- bl FUN_0206E330
-_0206F0B6:
- add r4, r4, #0x1
- ldrb r0, [r7, r4]
- cmp r0, #0xff
- bne _0206F004
-_0206F0BE:
- add r0, r6, #0x0
- pop {r3-r7, pc}
- nop
-_0206F0C4: .word 0x000005BC
-_0206F0C8: .word 0x0000051C
-_0206F0CC: .word 0x000006BC
-_0206F0D0: .word 0x000006F8
-_0206F0D4: .word 0x000004EC
-
- thumb_func_start FUN_0206F0D8
-FUN_0206F0D8: ; 0x0206F0D8
- cmp r1, #0x7
- bhi _0206F136
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206F0E8: ; jump table (using 16-bit offset)
- .short _0206F102 - _0206F0E8 - 2; case 0
- .short _0206F10E - _0206F0E8 - 2; case 1
- .short _0206F116 - _0206F0E8 - 2; case 2
- .short _0206F12E - _0206F0E8 - 2; case 3
- .short _0206F106 - _0206F0E8 - 2; case 4
- .short _0206F126 - _0206F0E8 - 2; case 5
- .short _0206F11E - _0206F0E8 - 2; case 6
- .short _0206F0F8 - _0206F0E8 - 2; case 7
-_0206F0F8:
- mov r1, #0xa5
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r3, #0x32
- b _0206F136
-_0206F102:
- mov r3, #0xa5
- b _0206F136
-_0206F106:
- ldr r1, _0206F144 ; =0x000005BC
- mov r3, #0x40
- add r0, r0, r1
- b _0206F136
-_0206F10E:
- ldr r1, _0206F148 ; =0x0000051C
- mov r3, #0x28
- add r0, r0, r1
- b _0206F136
-_0206F116:
- ldr r1, _0206F14C ; =0x000006BC
- mov r3, #0xf
- add r0, r0, r1
- b _0206F136
-_0206F11E:
- ldr r1, _0206F150 ; =0x000006F8
- mov r3, #0x1e
- add r0, r0, r1
- b _0206F136
-_0206F126:
- ldr r1, _0206F154 ; =0x000004EC
- mov r3, #0xc
- add r0, r0, r1
- b _0206F136
-_0206F12E:
- mov r1, #0xd7
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r3, #0x64
-_0206F136:
- cmp r2, r3
- blo _0206F13E
- mov r0, #0x0
- bx lr
-_0206F13E:
- lsl r1, r2, #0x2
- add r0, r0, r1
- bx lr
- .balign 4
-_0206F144: .word 0x000005BC
-_0206F148: .word 0x0000051C
-_0206F14C: .word 0x000006BC
-_0206F150: .word 0x000006F8
-_0206F154: .word 0x000004EC
-
- thumb_func_start FUN_0206F158
-FUN_0206F158: ; 0x0206F158
- ldr r3, _0206F160 ; =FUN_02022610
- mov r1, #0x3
- bx r3
- nop
-_0206F160: .word FUN_02022610
-
- thumb_func_start FUN_0206F164
-FUN_0206F164: ; 0x0206F164
- push {r4, lr}
- mov r1, #0x24
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x24
- bl MIi_CpuClear16
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0206F17C
-FUN_0206F17C: ; 0x0206F17C
- push {r3-r4}
- add r4, r0, r1
- ldrb r4, [r4, #0x8]
- strb r4, [r2, #0x0]
- ldrb r0, [r0, r1]
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206F18C
-FUN_0206F18C: ; 0x0206F18C
- ldrh r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0206F190
-FUN_0206F190: ; 0x0206F190
- push {r3-r4}
- add r4, r0, r1
- strb r2, [r4, #0x8]
- strb r3, [r0, r1]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0206F19C
-FUN_0206F19C: ; 0x0206F19C
- strh r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0206F1A0
-FUN_0206F1A0: ; 0x0206F1A0
- add r1, r0, r1
- ldrb r0, [r1, #0x19]
- strb r0, [r2, #0x0]
- ldrb r0, [r1, #0x14]
- strb r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_0206F1AC
-FUN_0206F1AC: ; 0x0206F1AC
- ldrh r0, [r0, #0x1e]
- bx lr
-
- thumb_func_start FUN_0206F1B0
-FUN_0206F1B0: ; 0x0206F1B0
- ldrh r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_0206F1B4
-FUN_0206F1B4: ; 0x0206F1B4
- ldrh r0, [r0, #0x22]
- bx lr
-
- thumb_func_start FUN_0206F1B8
-FUN_0206F1B8: ; 0x0206F1B8
- add r0, r0, r1
- strb r2, [r0, #0x19]
- strb r3, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_0206F1C0
-FUN_0206F1C0: ; 0x0206F1C0
- push {r4-r6, lr}
- mov r4, #0x0
- add r5, r0, #0x0
- add r6, r4, #0x0
-_0206F1C8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r6, #0x0
- bl FUN_0206F1B8
- add r4, r4, #0x1
- cmp r4, #0x5
- blo _0206F1C8
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0206F1EC
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0206F1E4
-FUN_0206F1E4: ; 0x0206F1E4
- strh r1, [r0, #0x1e]
- strh r2, [r0, #0x20]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0206F1EC
-FUN_0206F1EC: ; 0x0206F1EC
- strh r1, [r0, #0x22]
- bx lr
-
- thumb_func_start FUN_0206F1F0
-FUN_0206F1F0: ; 0x0206F1F0
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0xb
- bls _0206F20A
- b _0206F37C
-_0206F20A:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206F216: ; jump table (using 16-bit offset)
- .short _0206F22E - _0206F216 - 2; case 0
- .short _0206F234 - _0206F216 - 2; case 1
- .short _0206F25A - _0206F216 - 2; case 2
- .short _0206F26C - _0206F216 - 2; case 3
- .short _0206F31A - _0206F216 - 2; case 4
- .short _0206F330 - _0206F216 - 2; case 5
- .short _0206F336 - _0206F216 - 2; case 6
- .short _0206F344 - _0206F216 - 2; case 7
- .short _0206F34A - _0206F216 - 2; case 8
- .short _0206F366 - _0206F216 - 2; case 9
- .short _0206F366 - _0206F216 - 2; case 10
- .short _0206F366 - _0206F216 - 2; case 11
-_0206F22E:
- ldr r1, [r5, #0xc]
- ldr r0, [r4, #0x0]
- str r1, [r0, #0x0]
-_0206F234:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x1
- bne _0206F24C
- ldr r0, [r5, #0xc]
- bl FUN_0203384C
- cmp r0, #0x0
- bne _0206F24E
-_0206F24C:
- b _0206F380
-_0206F24E:
- mov r0, #0xa
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _0206F380
-_0206F25A:
- ldr r1, _0206F384 ; =0x020F943C
- ldr r2, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206F380
-_0206F26C:
- ldr r0, [r5, #0xc]
- bl FUN_0203384C
- cmp r0, #0x0
- beq _0206F280
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F304
-_0206F280:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0xa
- bhi _0206F380
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0206F294: ; jump table (using 16-bit offset)
- .short _0206F380 - _0206F294 - 2; case 0
- .short _0206F2B8 - _0206F294 - 2; case 1
- .short _0206F2C6 - _0206F294 - 2; case 2
- .short _0206F2AA - _0206F294 - 2; case 3
- .short _0206F2E0 - _0206F294 - 2; case 4
- .short _0206F2EE - _0206F294 - 2; case 5
- .short _0206F2D4 - _0206F294 - 2; case 6
- .short _0206F2FC - _0206F294 - 2; case 7
- .short _0206F30E - _0206F294 - 2; case 8
- .short _0206F314 - _0206F294 - 2; case 9
- .short _0206F302 - _0206F294 - 2; case 10
-_0206F2AA:
- mov r0, #0x0
- strb r0, [r4, #0xc]
- mov r0, #0x1
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2B8:
- mov r0, #0x32
- strb r0, [r4, #0xc]
- mov r0, #0x1
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2C6:
- mov r0, #0x64
- strb r0, [r4, #0xc]
- mov r0, #0x1
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2D4:
- mov r0, #0x0
- strb r0, [r4, #0xc]
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2E0:
- mov r0, #0x32
- strb r0, [r4, #0xc]
- mov r0, #0x0
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2EE:
- mov r0, #0x64
- strb r0, [r4, #0xc]
- mov r0, #0x0
- strb r0, [r4, #0xd]
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _0206F380
-_0206F2FC:
- mov r0, #0x6
- str r0, [r4, #0x4]
- b _0206F380
-_0206F302:
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- mov r0, #0xb
- str r0, [r4, #0x4]
- b _0206F380
-_0206F30E:
- mov r0, #0x9
- str r0, [r4, #0x4]
- b _0206F380
-_0206F314:
- mov r0, #0x8
- str r0, [r4, #0x4]
- b _0206F380
-_0206F31A:
- ldr r1, [r4, #0x0]
- ldrb r2, [r4, #0xc]
- ldrb r3, [r4, #0xd]
- ldr r1, [r1, #0x8]
- add r0, r6, #0x0
- bl FUN_020471C0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206F380
-_0206F330:
- mov r0, #0x2
- str r0, [r4, #0x4]
- b _0206F380
-_0206F336:
- add r0, r6, #0x0
- bl FUN_020383D8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0206F380
-_0206F344:
- mov r0, #0x2
- str r0, [r4, #0x4]
- b _0206F380
-_0206F34A:
- ldr r2, _0206F388 ; =0x00040100
- mov r0, #0x3
- mov r1, #0x36
- bl FUN_0201681C
- bl FUN_02088878
- mov r0, #0x36
- bl MOD07_02211E60
- mov r0, #0x0
- bl OS_ResetSystem
- b _0206F380
-_0206F366:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r4-r6, pc}
-_0206F37C:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0206F380:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0206F384: .word 0x020F943C
-_0206F388: .word 0x00040100
-
- thumb_func_start FUN_0206F38C
-FUN_0206F38C: ; 0x0206F38C
- push {r4, lr}
- mov r0, #0xb
- mov r1, #0x10
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x10
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0xc
- str r0, [r4, #0x0]
- bl MI_CpuFill8
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206F3B8
-FUN_0206F3B8: ; 0x0206F3B8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0206F38C
- add r2, r0, #0x0
- ldr r0, [r2, #0x0]
- mov r1, #0x2
- str r1, [r0, #0x4]
- ldr r1, _0206F3D4 ; =FUN_0206F1F0
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- nop
-_0206F3D4: .word FUN_0206F1F0
-
- thumb_func_start FUN_0206F3D8
-FUN_0206F3D8: ; 0x0206F3D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0206F38C
- add r2, r0, #0x0
- ldr r0, [r2, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x4]
- ldr r1, _0206F3F8 ; =FUN_0206F1F0
- add r0, r5, #0x0
- str r4, [r2, #0x8]
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0206F3F8: .word FUN_0206F1F0
-
- thumb_func_start FUN_0206F3FC
-FUN_0206F3FC: ; 0x0206F3FC
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- bl FUN_02015F1C
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r2, [r0, #0x0]
- ldr r1, _0206F594 ; =0xFFFFE0FF
- ldr r3, _0206F598 ; =0x04001000
- and r2, r1
- str r2, [r0, #0x0]
- ldr r2, [r3, #0x0]
- add r0, #0x50
- and r1, r2
- str r1, [r3, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- add r3, #0x50
- strh r1, [r3, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- mov r2, #0x2
- mov r0, #0x3
- mov r1, #0xc
- lsl r2, r2, #0x10
- bl FUN_0201681C
- add r0, r4, #0x0
- bl FUN_0206FE74
- add r4, r0, #0x0
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0xc
- str r1, [sp, #0x8]
- mov r1, #0x3
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_0200E1D0
- add r0, r4, #0x0
- bl FUN_0206FF74
- bl FUN_0206FB80
- ldr r0, [r4, #0x0]
- bl FUN_0206FBA0
- add r0, r4, #0x0
- bl FUN_0206FD24
- bl FUN_0201CC08
- mov r0, #0x4
- bl FUN_0201CC24
- mov r1, #0x0
- mov r0, #0x39
- add r2, r1, #0x0
- bl FUN_0200433C
- add r0, r4, #0x0
- bl FUN_02072590
- add r0, r4, #0x0
- bl FUN_02073710
- add r0, r4, #0x0
- bl FUN_0207388C
- add r0, r4, #0x0
- bl FUN_0206FFB4
- add r0, r4, #0x0
- bl FUN_0207047C
- ldr r1, _0206F59C ; =0x00000B25
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- mov r2, #0x1
- bl FUN_020713EC
- ldr r1, _0206F5A0 ; =0x000005A4
- ldr r3, [r4, r1]
- add r0, r3, #0x0
- add r0, #0x20
- ldrb r2, [r0, #0x0]
- cmp r2, #0x5
- beq _0206F4CC
- cmp r2, #0x10
- bne _0206F4E2
-_0206F4CC:
- ldrh r0, [r3, #0x24]
- bl FUN_02076144
- cmp r0, #0x0
- bne _0206F564
- add r0, r4, #0x0
- mov r1, #0x20
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F4E2:
- cmp r2, #0x6
- bne _0206F4F2
- add r0, r4, #0x0
- mov r1, #0x21
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F4F2:
- cmp r2, #0x9
- beq _0206F4FA
- cmp r2, #0xe
- bne _0206F506
-_0206F4FA:
- add r0, r4, #0x0
- mov r1, #0x1f
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F506:
- cmp r2, #0x7
- beq _0206F51A
- cmp r2, #0x8
- beq _0206F51A
- add r0, r2, #0x0
- add r0, #0xf5
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _0206F526
-_0206F51A:
- ldr r0, _0206F5A4 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- b _0206F564
-_0206F526:
- cmp r2, #0x2
- beq _0206F52E
- cmp r2, #0x11
- bne _0206F53A
-_0206F52E:
- add r0, r4, #0x0
- mov r1, #0x22
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F53A:
- cmp r2, #0xf
- bne _0206F54A
- add r0, r4, #0x0
- mov r1, #0x22
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F54A:
- cmp r2, #0xa
- beq _0206F55A
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- b _0206F564
-_0206F55A:
- add r1, #0x24
- ldr r0, [r4, r1]
- mov r1, #0x1
- bl FUN_0200C664
-_0206F564:
- add r0, r4, #0x0
- bl FUN_02072720
- add r0, r4, #0x0
- bl FUN_02070AA4
- add r0, r4, #0x0
- bl FUN_0207248C
- cmp r0, #0x0
- bne _0206F582
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
-_0206F582:
- ldr r0, _0206F5A8 ; =FUN_0206FB58
- add r1, r4, #0x0
- bl FUN_02015F10
- bl FUN_02033F20
- mov r0, #0x1
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0206F594: .word 0xFFFFE0FF
-_0206F598: .word 0x04001000
-_0206F59C: .word 0x00000B25
-_0206F5A0: .word 0x000005A4
-_0206F5A4: .word 0x000005C8
-_0206F5A8: .word FUN_0206FB58
-
- thumb_func_start FUN_0206F5AC
-FUN_0206F5AC: ; 0x0206F5AC
- push {r3-r5, lr}
- add r4, r1, #0x0
- bl FUN_02006278
- ldr r1, [r4, #0x0]
- add r5, r0, #0x0
- cmp r1, #0x1c
- bhi _0206F61C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0206F5C8: ; jump table (using 16-bit offset)
- .short _0206F602 - _0206F5C8 - 2; case 0
- .short _0206F60A - _0206F5C8 - 2; case 1
- .short _0206F612 - _0206F5C8 - 2; case 2
- .short _0206F624 - _0206F5C8 - 2; case 3
- .short _0206F62C - _0206F5C8 - 2; case 4
- .short _0206F634 - _0206F5C8 - 2; case 5
- .short _0206F63E - _0206F5C8 - 2; case 6
- .short _0206F646 - _0206F5C8 - 2; case 7
- .short _0206F64E - _0206F5C8 - 2; case 8
- .short _0206F656 - _0206F5C8 - 2; case 9
- .short _0206F65E - _0206F5C8 - 2; case 10
- .short _0206F666 - _0206F5C8 - 2; case 11
- .short _0206F66E - _0206F5C8 - 2; case 12
- .short _0206F676 - _0206F5C8 - 2; case 13
- .short _0206F67E - _0206F5C8 - 2; case 14
- .short _0206F686 - _0206F5C8 - 2; case 15
- .short _0206F68E - _0206F5C8 - 2; case 16
- .short _0206F696 - _0206F5C8 - 2; case 17
- .short _0206F69E - _0206F5C8 - 2; case 18
- .short _0206F6A6 - _0206F5C8 - 2; case 19
- .short _0206F6AE - _0206F5C8 - 2; case 20
- .short _0206F6B6 - _0206F5C8 - 2; case 21
- .short _0206F6BE - _0206F5C8 - 2; case 22
- .short _0206F6C6 - _0206F5C8 - 2; case 23
- .short _0206F6CE - _0206F5C8 - 2; case 24
- .short _0206F6E6 - _0206F5C8 - 2; case 25
- .short _0206F6F4 - _0206F5C8 - 2; case 26
- .short _0206F6FC - _0206F5C8 - 2; case 27
- .short _0206F70A - _0206F5C8 - 2; case 28
-_0206F602:
- bl FUN_0206F750
- str r0, [r4, #0x0]
- b _0206F722
-_0206F60A:
- bl FUN_0206F7D8
- str r0, [r4, #0x0]
- b _0206F722
-_0206F612:
- add r1, r4, #0x0
- bl FUN_020718CC
- cmp r0, #0x1
- beq _0206F61E
-_0206F61C:
- b _0206F722
-_0206F61E:
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0206F722
-_0206F624:
- bl FUN_020754D0
- str r0, [r4, #0x0]
- b _0206F722
-_0206F62C:
- bl FUN_0206F874
- str r0, [r4, #0x0]
- b _0206F722
-_0206F634:
- ldr r1, _0206F740 ; =0x00000B14
- ldr r1, [r5, r1]
- blx r1
- str r0, [r4, #0x0]
- b _0206F722
-_0206F63E:
- bl FUN_02077110
- str r0, [r4, #0x0]
- b _0206F722
-_0206F646:
- bl FUN_020761A0
- str r0, [r4, #0x0]
- b _0206F722
-_0206F64E:
- bl FUN_0206F8B4
- str r0, [r4, #0x0]
- b _0206F722
-_0206F656:
- bl FUN_02072170
- str r0, [r4, #0x0]
- b _0206F722
-_0206F65E:
- bl FUN_02072194
- str r0, [r4, #0x0]
- b _0206F722
-_0206F666:
- bl FUN_02072140
- str r0, [r4, #0x0]
- b _0206F722
-_0206F66E:
- bl FUN_0207230C
- str r0, [r4, #0x0]
- b _0206F722
-_0206F676:
- bl FUN_0206F8F4
- str r0, [r4, #0x0]
- b _0206F722
-_0206F67E:
- bl FUN_02071F58
- str r0, [r4, #0x0]
- b _0206F722
-_0206F686:
- bl FUN_0207405C
- str r0, [r4, #0x0]
- b _0206F722
-_0206F68E:
- bl FUN_0207436C
- str r0, [r4, #0x0]
- b _0206F722
-_0206F696:
- bl FUN_0206FA14
- str r0, [r4, #0x0]
- b _0206F722
-_0206F69E:
- bl FUN_02076D3C
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6A6:
- bl FUN_02074F6C
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6AE:
- bl FUN_0206F980
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6B6:
- bl FUN_0206F9A4
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6BE:
- bl FUN_0206F9C8
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6C6:
- bl FUN_0206F9D4
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6CE:
- bl FUN_020714D0
- cmp r0, #0x0
- bne _0206F6DC
- mov r0, #0x19
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6DC:
- cmp r0, #0x3
- bne _0206F722
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6E6:
- bl FUN_020746D4
- cmp r0, #0x1
- bne _0206F722
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6F4:
- bl FUN_02071970
- str r0, [r4, #0x0]
- b _0206F722
-_0206F6FC:
- mov r0, #0x1
- mov r1, #0xc
- bl FUN_02079A70
- mov r0, #0x1c
- str r0, [r4, #0x0]
- b _0206F722
-_0206F70A:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0206F722
- ldr r0, _0206F744 ; =0x00000B25
- ldrb r1, [r5, r0]
- ldr r0, _0206F748 ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x22
- strb r1, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0206F722:
- add r0, r5, #0x0
- bl FUN_02073BEC
- add r0, r5, #0x0
- bl FUN_02073D6C
- add r0, r5, #0x0
- bl FUN_02070F14
- ldr r0, _0206F74C ; =0x000005AC
- ldr r0, [r5, r0]
- bl FUN_0200BC1C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0206F740: .word 0x00000B14
-_0206F744: .word 0x00000B25
-_0206F748: .word 0x000005A4
-_0206F74C: .word 0x000005AC
-
- thumb_func_start FUN_0206F750
-FUN_0206F750: ; 0x0206F750
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0206F7CA
- ldr r0, _0206F7D0 ; =0x000005A4
- ldr r2, [r4, r0]
- add r0, r2, #0x0
- add r0, #0x20
- ldrb r1, [r0, #0x0]
- cmp r1, #0x5
- beq _0206F76E
- cmp r1, #0x10
- bne _0206F786
-_0206F76E:
- ldrh r0, [r2, #0x24]
- bl FUN_02076144
- cmp r0, #0x1
- bne _0206F782
- ldr r0, _0206F7D4 ; =0x00000B22
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r0, #0x7
- pop {r4, pc}
-_0206F782:
- mov r0, #0x4
- pop {r4, pc}
-_0206F786:
- cmp r1, #0x6
- bne _0206F78E
- mov r0, #0x11
- pop {r4, pc}
-_0206F78E:
- cmp r1, #0x7
- bne _0206F79A
- add r0, r4, #0x0
- bl FUN_02076C94
- pop {r4, pc}
-_0206F79A:
- cmp r1, #0x8
- bne _0206F7A6
- add r0, r4, #0x0
- bl FUN_02076890
- pop {r4, pc}
-_0206F7A6:
- add r0, r1, #0x0
- add r0, #0xf5
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _0206F7B6
- mov r0, #0xc
- pop {r4, pc}
-_0206F7B6:
- cmp r1, #0x9
- bne _0206F7BE
- mov r0, #0x8
- pop {r4, pc}
-_0206F7BE:
- cmp r1, #0xa
- bne _0206F7C6
- mov r0, #0xe
- pop {r4, pc}
-_0206F7C6:
- mov r0, #0x1
- pop {r4, pc}
-_0206F7CA:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0206F7D0: .word 0x000005A4
-_0206F7D4: .word 0x00000B22
-
- thumb_func_start FUN_0206F7D8
-FUN_0206F7D8: ; 0x0206F7D8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02070F94
- cmp r0, #0x0
- bne _0206F81E
- ldr r0, _0206F870 ; =0x000005A4
- ldr r1, [r4, r0]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _0206F7F6
- cmp r0, #0x14
- bne _0206F800
-_0206F7F6:
- mov r0, #0x0
- add r1, #0x23
- strb r0, [r1, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206F800:
- cmp r0, #0xe
- bne _0206F80E
- add r0, r4, #0x0
- bl FUN_02077248
- mov r0, #0x14
- pop {r4, pc}
-_0206F80E:
- cmp r0, #0x13
- bne _0206F81A
- add r0, r4, #0x0
- bl FUN_02072420
- pop {r4, pc}
-_0206F81A:
- mov r0, #0x2
- pop {r4, pc}
-_0206F81E:
- cmp r0, #0x4
- bne _0206F82A
- add r0, r4, #0x0
- bl FUN_0207155C
- pop {r4, pc}
-_0206F82A:
- cmp r0, #0x3
- bne _0206F83C
- ldr r0, _0206F870 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206F83C:
- cmp r0, #0x2
- bne _0206F86A
- ldr r0, _0206F870 ; =0x000005A4
- ldr r2, [r4, r0]
- add r1, r2, #0x0
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- cmp r1, #0xf
- beq _0206F858
- mov r0, #0x1
- add r2, #0x23
- strb r0, [r2, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206F858:
- add r0, #0x24
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200C664
- add r0, r4, #0x0
- bl FUN_02075118
- pop {r4, pc}
-_0206F86A:
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0206F870: .word 0x000005A4
-
- thumb_func_start FUN_0206F874
-FUN_0206F874: ; 0x0206F874
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02071D48
- cmp r0, #0x0
- beq _0206F884
- cmp r0, #0x2
- bne _0206F896
-_0206F884:
- ldr r0, _0206F8AC ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- bl FUN_02071DF4
- pop {r4, pc}
-_0206F896:
- cmp r0, #0x3
- bne _0206F8A8
- ldr r0, _0206F8B0 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206F8A8:
- mov r0, #0x4
- pop {r4, pc}
- .balign 4
-_0206F8AC: .word 0x000005C8
-_0206F8B0: .word 0x000005A4
-
- thumb_func_start FUN_0206F8B4
-FUN_0206F8B4: ; 0x0206F8B4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02071D48
- cmp r0, #0x0
- beq _0206F8C4
- cmp r0, #0x2
- bne _0206F8D6
-_0206F8C4:
- ldr r0, _0206F8EC ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- bl FUN_02071F58
- pop {r4, pc}
-_0206F8D6:
- cmp r0, #0x3
- bne _0206F8E8
- ldr r0, _0206F8F0 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206F8E8:
- mov r0, #0x8
- pop {r4, pc}
- .balign 4
-_0206F8EC: .word 0x000005C8
-_0206F8F0: .word 0x000005A4
-
- thumb_func_start FUN_0206F8F4
-FUN_0206F8F4: ; 0x0206F8F4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, _0206F974 ; =0x000006FC
- ldr r0, [r4, r0]
- bl FUN_02001C78
- add r2, r0, #0x0
- mov r0, #0x1
- mvn r0, r0
- cmp r2, r0
- beq _0206F914
- add r0, r0, #0x1
- cmp r2, r0
- beq _0206F96E
- b _0206F962
-_0206F914:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- ldr r0, _0206F974 ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_02001C5C
- ldr r0, _0206F978 ; =0x000006F8
- ldr r0, [r4, r0]
- bl FUN_02012870
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _0206F97C ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r4, pc}
-_0206F962:
- add r0, r4, #0x0
- add r1, sp, #0x0
- blx r2
- ldr r0, [sp, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
-_0206F96E:
- mov r0, #0xd
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0206F974: .word 0x000006FC
-_0206F978: .word 0x000006F8
-_0206F97C: .word 0x000005C8
-
- thumb_func_start FUN_0206F980
-FUN_0206F980: ; 0x0206F980
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0206F99C ; =0x00000B24
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0206F996
- ldr r0, _0206F9A0 ; =0x00000B22
- ldrb r0, [r4, r0]
- pop {r4, pc}
-_0206F996:
- mov r0, #0x14
- pop {r4, pc}
- nop
-_0206F99C: .word 0x00000B24
-_0206F9A0: .word 0x00000B22
-
- thumb_func_start FUN_0206F9A4
-FUN_0206F9A4: ; 0x0206F9A4
- push {r3, lr}
- ldr r0, _0206F9C0 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0206F9BA
- ldr r0, _0206F9C4 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x1b
- pop {r3, pc}
-_0206F9BA:
- mov r0, #0x15
- pop {r3, pc}
- nop
-_0206F9C0: .word 0x021C48B8
-_0206F9C4: .word 0x000005DC
-
- thumb_func_start FUN_0206F9C8
-FUN_0206F9C8: ; 0x0206F9C8
- push {r3, lr}
- bl FUN_020732CC
- mov r0, #0x17
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0206F9D4
-FUN_0206F9D4: ; 0x0206F9D4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0206FA08 ; =0x000006FC
- mov r1, #0xc
- ldr r0, [r4, r0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0206F9F0
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _0206F9FA
- b _0206FA04
-_0206F9F0:
- ldr r1, _0206FA0C ; =0x00000B18
- add r0, r4, #0x0
- ldr r1, [r4, r1]
- blx r1
- pop {r4, pc}
-_0206F9FA:
- ldr r1, _0206FA10 ; =0x00000B1C
- add r0, r4, #0x0
- ldr r1, [r4, r1]
- blx r1
- pop {r4, pc}
-_0206FA04:
- mov r0, #0x17
- pop {r4, pc}
- .balign 4
-_0206FA08: .word 0x000006FC
-_0206FA0C: .word 0x00000B18
-_0206FA10: .word 0x00000B1C
-
- thumb_func_start FUN_0206FA14
-FUN_0206FA14: ; 0x0206FA14
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02071D48
- cmp r0, #0x0
- beq _0206FA24
- cmp r0, #0x2
- bne _0206FA78
-_0206FA24:
- ldr r0, _0206FA90 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- ldr r0, _0206FA94 ; =0x00000B25
- mov r1, #0x2c
- ldrb r0, [r4, r0]
- add r2, r0, #0x0
- mul r2, r1
- mov r0, #0x71
- add r2, r4, r2
- lsl r0, r0, #0x4
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- beq _0206FA4C
- add r0, r4, #0x0
- bl FUN_02076AF8
- pop {r4, pc}
-_0206FA4C:
- add r0, r4, #0x0
- sub r1, #0x2d
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _0206FA98 ; =0x000005A4
- mov r2, #0x0
- ldr r0, [r4, r1]
- add r1, #0xf8
- add r0, #0x23
- strb r2, [r0, #0x0]
- ldr r0, _0206FA9C ; =0x00000B22
- mov r2, #0x15
- strb r2, [r4, r0]
- ldr r2, _0206FAA0 ; =0x000006A4
- ldr r0, [r4, r1]
- ldr r2, [r4, r2]
- mov r1, #0x69
- bl FUN_0200A8E0
- mov r0, #0x14
- pop {r4, pc}
-_0206FA78:
- cmp r0, #0x3
- bne _0206FA8A
- ldr r0, _0206FA98 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_0206FA8A:
- mov r0, #0x11
- pop {r4, pc}
- nop
-_0206FA90: .word 0x000005C8
-_0206FA94: .word 0x00000B25
-_0206FA98: .word 0x000005A4
-_0206FA9C: .word 0x00000B22
-_0206FAA0: .word 0x000006A4
-
- thumb_func_start FUN_0206FAA4
-FUN_0206FAA4: ; 0x0206FAA4
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02006278
- add r6, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- add r0, r6, #0x0
- bl FUN_02073A2C
- add r0, r6, #0x0
- bl FUN_020726F0
- ldr r0, [r6, #0x0]
- bl FUN_0206FCD4
- bl FUN_0201CD04
- bl FUN_0201C29C
- mov r7, #0x7
- mov r4, #0x0
- add r5, r6, #0x0
- lsl r7, r7, #0x8
-_0206FAD8:
- ldr r0, [r5, r7]
- bl FUN_02021A20
- add r4, r4, #0x1
- add r5, #0x2c
- cmp r4, #0x6
- blo _0206FAD8
- ldr r0, _0206FB40 ; =0x000006A4
- ldr r0, [r6, r0]
- bl FUN_02021A20
- ldr r0, _0206FB44 ; =0x000006A8
- ldr r0, [r6, r0]
- bl FUN_02021A20
- ldr r7, _0206FB48 ; =0x000006AC
- mov r5, #0x0
- add r4, r6, #0x0
-_0206FAFC:
- ldr r0, [r4, r7]
- bl FUN_02021A20
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x13
- blo _0206FAFC
- ldr r0, _0206FB4C ; =0x0000069C
- ldr r0, [r6, r0]
- bl FUN_0200A8B8
- ldr r0, _0206FB50 ; =0x00000698
- ldr r0, [r6, r0]
- bl FUN_0200B990
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- bl FUN_0200AB18
- ldr r0, _0206FB54 ; =0x00000B34
- ldr r0, [r6, r0]
- cmp r0, #0x0
- beq _0206FB30
- bl FUN_0206BB74
-_0206FB30:
- ldr r0, [sp, #0x0]
- bl FUN_0200627C
- mov r0, #0xc
- bl FUN_020168D0
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0206FB40: .word 0x000006A4
-_0206FB44: .word 0x000006A8
-_0206FB48: .word 0x000006AC
-_0206FB4C: .word 0x0000069C
-_0206FB50: .word 0x00000698
-_0206FB54: .word 0x00000B34
-
- thumb_func_start FUN_0206FB58
-FUN_0206FB58: ; 0x0206FB58
- push {r3, lr}
- ldr r0, [r0, #0x0]
- bl FUN_0201AB60
- bl FUN_0201C30C
- bl FUN_0200BC30
- ldr r3, _0206FB78 ; =0x027E0000
- ldr r1, _0206FB7C ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- pop {r3, pc}
- nop
-_0206FB78: .word 0x027E0000
-_0206FB7C: .word 0x00003FF8
-
- thumb_func_start FUN_0206FB80
-FUN_0206FB80: ; 0x0206FB80
- push {r4, lr}
- sub sp, #0x28
- ldr r4, _0206FB9C ; =0x020F9564
- add r3, sp, #0x0
- mov r2, #0x5
-_0206FB8A:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0206FB8A
- add r0, sp, #0x0
- bl FUN_0201E66C
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-_0206FB9C: .word 0x020F9564
-
- thumb_func_start FUN_0206FBA0
-FUN_0206FBA0: ; 0x0206FBA0
- push {r3-r5, lr}
- sub sp, #0xb8
- ldr r5, _0206FCB8 ; =0x020F9458
- add r3, sp, #0xa8
- add r4, r0, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _0206FCBC ; =0x020F94D4
- add r3, sp, #0x8c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02018744
- ldr r5, _0206FCC0 ; =0x020F94F0
- add r3, sp, #0x70
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02018744
- ldr r5, _0206FCC4 ; =0x020F949C
- add r3, sp, #0x54
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02018744
- ldr r5, _0206FCC8 ; =0x020F9480
- add r3, sp, #0x38
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- ldr r5, _0206FCCC ; =0x020F950C
- add r3, sp, #0x1c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r1, #0x4
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02018744
- ldr r5, _0206FCD0 ; =0x020F9528
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x5
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- mov r3, #0xc
- bl FUN_02017F18
- mov r0, #0x4
- mov r1, #0x20
- mov r2, #0x0
- mov r3, #0xc
- bl FUN_02017F18
- add sp, #0xb8
- pop {r3-r5, pc}
- nop
-_0206FCB8: .word 0x020F9458
-_0206FCBC: .word 0x020F94D4
-_0206FCC0: .word 0x020F94F0
-_0206FCC4: .word 0x020F949C
-_0206FCC8: .word 0x020F9480
-_0206FCCC: .word 0x020F950C
-_0206FCD0: .word 0x020F9528
-
- thumb_func_start FUN_0206FCD4
-FUN_0206FCD4: ; 0x0206FCD4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1f
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x13
- mov r1, #0x0
- bl FUN_0201E74C
- add r0, r4, #0x0
- mov r1, #0x5
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020178A0
- mov r0, #0xc
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0206FD24
-FUN_0206FD24: ; 0x0206FD24
- push {r4-r5, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r2, [r5, #0x0]
- mov r0, #0x14
- mov r1, #0xf
- mov r3, #0x3
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r2, [r5, #0x0]
- mov r0, #0x14
- mov r1, #0x11
- mov r3, #0x3
- bl FUN_020068C8
- mov r0, #0x14
- mov r1, #0x10
- mov r2, #0xc
- bl LoadFromNarc_2
- add r1, sp, #0x10
- add r4, r0, #0x0
- bl FUN_020B0138
- ldr r2, [sp, #0x10]
- mov r0, #0x3
- ldr r1, [r2, #0xc]
- ldr r2, [r2, #0x8]
- mov r3, #0x0
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- bl FUN_02017FB4
- ldr r1, [sp, #0x10]
- ldr r0, _0206FE6C ; =0x000004A4
- ldr r1, [r1, #0xc]
- mov r2, #0x1
- add r0, r5, r0
- add r1, #0x60
- lsl r2, r2, #0x8
- bl memcpy
- mov r0, #0xc
- add r1, r4, #0x0
- bl FUN_02016A8C
- mov r1, #0x1a
- mov r0, #0x0
- lsl r1, r1, #0x4
- mov r2, #0xc
- bl FUN_02002EEC
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- mov r2, #0x1
- mov r3, #0xe
- bl FUN_0200CB00
- ldr r0, _0206FE70 ; =0x000005A4
- ldr r0, [r5, r0]
- ldr r0, [r0, #0xc]
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200CD68
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r2, [r5, #0x0]
- mov r0, #0x14
- mov r1, #0x3
- mov r3, #0x4
- bl FUN_0200687C
- mov r3, #0x20
- mov r1, #0x4
- str r3, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x14
- add r2, r1, #0x0
- bl FUN_02006930
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r1, #0xc
- str r1, [sp, #0xc]
- ldr r2, [r5, #0x0]
- mov r0, #0x14
- mov r3, #0x5
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r2, [r5, #0x0]
- mov r0, #0x14
- mov r1, #0xe
- mov r3, #0x5
- bl FUN_020068C8
- mov r0, #0x20
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x14
- mov r1, #0xd
- mov r2, #0x4
- mov r3, #0x0
- bl FUN_02006930
- mov r2, #0x99
- lsl r2, r2, #0x2
- mov r3, #0xf9
- add r1, r5, r2
- add r2, #0xc0
- lsl r3, r3, #0x2
- mov r0, #0xc
- add r2, r5, r2
- add r3, r5, r3
- bl FUN_020724D4
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02017FE4
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_02017FE4
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-_0206FE6C: .word 0x000004A4
-_0206FE70: .word 0x000005A4
-
- thumb_func_start FUN_0206FE74
-FUN_0206FE74: ; 0x0206FE74
- push {r3-r7, lr}
- ldr r1, _0206FF50 ; =0x00000B38
- mov r2, #0xc
- add r4, r0, #0x0
- bl FUN_02006268
- ldr r2, _0206FF50 ; =0x00000B38
- mov r1, #0x0
- add r6, r0, #0x0
- bl memset
- add r0, r4, #0x0
- bl FUN_0200628C
- ldr r1, _0206FF54 ; =0x000005A4
- str r0, [r6, r1]
- mov r0, #0xc
- bl FUN_02016B94
- str r0, [r6, #0x0]
- ldr r0, _0206FF54 ; =0x000005A4
- ldr r1, [r6, r0]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0206FEBC
- ldr r0, [r1, #0x14]
- cmp r0, #0x0
- beq _0206FEBC
- mov r0, #0xc
- bl FUN_0206BB5C
- ldr r1, _0206FF58 ; =0x00000B34
- str r0, [r6, r1]
- b _0206FEC2
-_0206FEBC:
- ldr r0, _0206FF58 ; =0x00000B34
- mov r1, #0x0
- str r1, [r6, r0]
-_0206FEC2:
- ldr r2, _0206FF5C ; =0x00000192
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0xc
- bl FUN_0200A86C
- ldr r1, _0206FF60 ; =0x0000069C
- mov r2, #0x0
- str r0, [r6, r1]
- mov r0, #0xf
- mov r1, #0xe
- mov r3, #0xc
- bl FUN_0200B870
- ldr r1, _0206FF64 ; =0x00000698
- str r0, [r6, r1]
- mov r0, #0xc
- bl FUN_0200AA80
- mov r1, #0x6a
- lsl r1, r1, #0x4
- add r7, r1, #0x0
- str r0, [r6, r1]
- mov r4, #0x0
- add r5, r6, #0x0
- add r7, #0x60
-_0206FEF6:
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020219F4
- str r0, [r5, r7]
- add r4, r4, #0x1
- add r5, #0x2c
- cmp r4, #0x6
- blo _0206FEF6
- mov r0, #0x1
- lsl r0, r0, #0x8
- mov r1, #0xc
- bl FUN_020219F4
- ldr r1, _0206FF68 ; =0x000006A4
- str r0, [r6, r1]
- mov r0, #0x1
- lsl r0, r0, #0x8
- mov r1, #0xc
- bl FUN_020219F4
- ldr r1, _0206FF6C ; =0x000006A8
- mov r5, #0x0
- str r0, [r6, r1]
- add r4, r6, #0x0
- add r7, r1, #0x4
-_0206FF2A:
- mov r0, #0x20
- mov r1, #0xc
- bl FUN_020219F4
- str r0, [r4, r7]
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x13
- blo _0206FF2A
- ldr r0, _0206FF54 ; =0x000005A4
- ldr r0, [r6, r0]
- add r0, #0x22
- ldrb r1, [r0, #0x0]
- ldr r0, _0206FF70 ; =0x00000B25
- strb r1, [r6, r0]
- add r0, r0, #0x1
- strb r1, [r6, r0]
- add r0, r6, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0206FF50: .word 0x00000B38
-_0206FF54: .word 0x000005A4
-_0206FF58: .word 0x00000B34
-_0206FF5C: .word 0x00000192
-_0206FF60: .word 0x0000069C
-_0206FF64: .word 0x00000698
-_0206FF68: .word 0x000006A4
-_0206FF6C: .word 0x000006A8
-_0206FF70: .word 0x00000B25
-
- thumb_func_start FUN_0206FF74
-FUN_0206FF74: ; 0x0206FF74
- push {r3-r4}
- ldr r2, _0206FFAC ; =0x000005A4
- mov r3, #0x80
- ldr r1, [r0, r2]
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- tst r1, r3
- beq _0206FF9E
- ldr r1, _0206FFB0 ; =0x00000B23
- ldrb r4, [r0, r1]
- orr r4, r3
- strb r4, [r0, r1]
- ldr r1, [r0, r2]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- add r1, #0x20
- eor r0, r3
- strb r0, [r1, #0x0]
- pop {r3-r4}
- bx lr
-_0206FF9E:
- ldr r2, _0206FFB0 ; =0x00000B23
- mov r1, #0x80
- ldrb r3, [r0, r2]
- bic r3, r1
- strb r3, [r0, r2]
- pop {r3-r4}
- bx lr
- .balign 4
-_0206FFAC: .word 0x000005A4
-_0206FFB0: .word 0x00000B23
-
- thumb_func_start FUN_0206FFB4
-FUN_0206FFB4: ; 0x0206FFB4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02070064 ; =0x000005A4
- mov r4, #0x3
- ldr r1, [r5, r0]
- add r0, r1, #0x0
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0206FFD0
- ldr r1, _02070068 ; =0x020F95CC
- ldr r0, _0207006C ; =0x00000808
- str r1, [r5, r0]
- b _0206FFEA
-_0206FFD0:
- add r1, #0x20
- ldrb r0, [r1, #0x0]
- cmp r0, #0x2
- beq _0206FFDC
- cmp r0, #0x11
- bne _0206FFE4
-_0206FFDC:
- ldr r1, _02070070 ; =0x020F960C
- ldr r0, _0207006C ; =0x00000808
- str r1, [r5, r0]
- b _0206FFEA
-_0206FFE4:
- ldr r1, _02070074 ; =0x020F958C
- ldr r0, _0207006C ; =0x00000808
- str r1, [r5, r0]
-_0206FFEA:
- ldr r0, _02070064 ; =0x000005A4
- ldr r1, [r5, r0]
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- cmp r1, #0x2
- beq _0207003C
- cmp r1, #0x11
- beq _0207003C
- add r0, #0x2c
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _02070078 ; =0x000005D4
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02070078 ; =0x000005D4
- add r1, sp, #0x0
- ldr r0, [r5, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_0200C75C
- ldr r0, _02070078 ; =0x000005D4
- add r3, sp, #0x0
- mov r2, #0x0
- ldrsh r2, [r3, r2]
- mov r1, #0x2
- ldrsh r1, [r3, r1]
- sub r2, #0x8
- lsl r2, r2, #0x10
- ldr r0, [r5, r0]
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- mov r0, #0x1
- eor r0, r4
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_0207003C:
- ldr r0, _02070064 ; =0x000005A4
- ldr r1, [r5, r0]
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- cmp r1, #0x4
- bne _0207005A
- add r0, #0x30
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- mov r0, #0x2
- eor r0, r4
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_0207005A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073094
- pop {r3-r5, pc}
- .balign 4
-_02070064: .word 0x000005A4
-_02070068: .word 0x020F95CC
-_0207006C: .word 0x00000808
-_02070070: .word 0x020F960C
-_02070074: .word 0x020F958C
-_02070078: .word 0x000005D4
-
- thumb_func_start FUN_0207007C
-FUN_0207007C: ; 0x0207007C
- mov r2, #0x2c
- mul r2, r1
- add r1, r0, r2
- ldr r0, _02070088 ; =0x00000729
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_02070088: .word 0x00000729
-
- thumb_func_start FUN_0207008C
-FUN_0207008C: ; 0x0207008C
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x0]
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0x2c
- add r4, r0, #0x0
- ldr r0, _020701D8 ; =0x00000729
- mul r4, r1
- add r0, r5, r0
- mov r1, #0x0
- str r0, [sp, #0x8]
- strb r1, [r0, r4]
- ldr r0, _020701DC ; =0x000005A4
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9AC
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bgt _020700BC
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_020700BC:
- ldr r0, _020701DC ; =0x000005A4
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r7, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- bne _020700DE
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_020700DE:
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02072A00
- ldr r0, [sp, #0x0]
- mov r1, #0x2c
- add r6, r0, #0x0
- mul r6, r1
- ldr r1, _020701E0 ; =0x00000704
- ldr r0, [sp, #0x4]
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701E4 ; =0x00000706
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701E8 ; =0x00000708
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701EC ; =0x0000070A
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701F0 ; =0x0000070C
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0xa1
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701F4 ; =0x00000712
- add r2, r5, r6
- strh r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x71
- add r2, r5, r6
- lsl r1, r1, #0x4
- strb r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020701F8 ; =0x00000711
- add r2, r5, r6
- strb r0, [r2, r1]
- add r0, r7, #0x0
- mov r1, #0xaf
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- ldr r0, _020701FC ; =0x0000070E
- bne _02070184
- add r2, r5, r0
- ldrh r1, [r2, r4]
- ldr r0, _02070200 ; =0xFFFFEFFF
- and r0, r1
- b _0207018E
-_02070184:
- add r2, r5, r0
- ldrh r1, [r2, r4]
- mov r0, #0x1
- lsl r0, r0, #0xc
- orr r0, r1
-_0207018E:
- strh r0, [r2, r4]
- ldr r0, _020701FC ; =0x0000070E
- add r6, r5, r0
- add r0, r7, #0x0
- bl FUN_020689E0
- lsl r0, r0, #0x1e
- ldrh r2, [r6, r4]
- ldr r1, _02070204 ; =0xFFFF9FFF
- lsr r0, r0, #0x11
- and r1, r2
- orr r0, r1
- strh r0, [r6, r4]
- ldr r0, [sp, #0x8]
- mov r1, #0x1
- strb r1, [r0, r4]
- add r0, r7, #0x0
- bl FUN_0207C2D4
- lsl r0, r0, #0x18
- ldrh r1, [r6, r4]
- ldr r2, _02070208 ; =0xFFFFF000
- lsr r0, r0, #0x18
- and r1, r2
- lsr r2, r2, #0x14
- and r0, r2
- orr r0, r1
- strh r0, [r6, r4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0207020C
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_020701D8: .word 0x00000729
-_020701DC: .word 0x000005A4
-_020701E0: .word 0x00000704
-_020701E4: .word 0x00000706
-_020701E8: .word 0x00000708
-_020701EC: .word 0x0000070A
-_020701F0: .word 0x0000070C
-_020701F4: .word 0x00000712
-_020701F8: .word 0x00000711
-_020701FC: .word 0x0000070E
-_02070200: .word 0xFFFFEFFF
-_02070204: .word 0xFFFF9FFF
-_02070208: .word 0xFFFFF000
-
- thumb_func_start FUN_0207020C
-FUN_0207020C: ; 0x0207020C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _0207029C ; =0x000005A4
- add r5, r1, #0x0
- ldr r1, [r7, r0]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0xd
- bne _0207029A
- mov r0, #0x2c
- add r6, r2, #0x0
- mul r6, r0
- mov r0, #0x71
- add r3, r7, r6
- lsl r0, r0, #0x4
- ldrb r2, [r3, r0]
- cmp r2, #0x1
- beq _0207023A
- sub r0, #0xa
- ldrh r0, [r3, r0]
- cmp r0, #0x0
- bne _02070248
-_0207023A:
- ldr r0, _020702A0 ; =0x0000070E
- add r2, r7, r0
- ldrh r1, [r2, r6]
- ldr r0, _020702A4 ; =0xFFFF7FFF
- and r0, r1
- strh r0, [r2, r6]
- pop {r3-r7, pc}
-_02070248:
- add r1, #0x2a
- ldrb r1, [r1, #0x0]
- add r0, r5, #0x0
- bl FUN_020702A8
- str r0, [sp, #0x0]
- mov r4, #0x0
-_02070256:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207026C
- add r4, r4, #0x1
- cmp r4, #0x4
- blo _02070256
-_0207026C:
- ldr r0, _0207029C ; =0x000005A4
- ldr r0, [r7, r0]
- add r0, #0x2b
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- cmp r1, r0
- bhi _0207028E
- cmp r4, #0x2
- blo _0207028E
- ldr r0, _020702A0 ; =0x0000070E
- add r2, r7, r0
- ldrh r1, [r2, r6]
- mov r0, #0x2
- lsl r0, r0, #0xe
- orr r0, r1
- strh r0, [r2, r6]
- pop {r3-r7, pc}
-_0207028E:
- ldr r0, _020702A0 ; =0x0000070E
- add r2, r7, r0
- ldrh r1, [r2, r6]
- ldr r0, _020702A4 ; =0xFFFF7FFF
- and r0, r1
- strh r0, [r2, r6]
-_0207029A:
- pop {r3-r7, pc}
- .balign 4
-_0207029C: .word 0x000005A4
-_020702A0: .word 0x0000070E
-_020702A4: .word 0xFFFF7FFF
-
- thumb_func_start FUN_020702A8
-FUN_020702A8: ; 0x020702A8
- push {r3-r5, lr}
- add r5, r0, #0x0
- cmp r1, #0x4
- bls _020702B2
- b _020703B6
-_020702B2:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020702BE: ; jump table (using 16-bit offset)
- .short _020702C8 - _020702BE - 2; case 0
- .short _020702F8 - _020702BE - 2; case 1
- .short _02070328 - _020702BE - 2; case 2
- .short _02070358 - _020702BE - 2; case 3
- .short _02070388 - _020702BE - 2; case 4
-_020702C8:
- mov r1, #0x7a
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x7b
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x7c
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x7d
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- b _020703B6
-_020702F8:
- mov r1, #0x7e
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x7f
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x80
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x81
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- b _020703B6
-_02070328:
- mov r1, #0x82
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x83
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x84
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x85
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- b _020703B6
-_02070358:
- mov r1, #0x86
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x87
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x88
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x89
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- b _020703B6
-_02070388:
- mov r1, #0x8a
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8b
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x8c
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
- add r0, r5, #0x0
- mov r1, #0x8d
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r4, r0
-_020703B6:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020703BC
-FUN_020703BC: ; 0x020703BC
- mov r1, #0x39
- lsl r1, r1, #0x4
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_020703C4
-FUN_020703C4: ; 0x020703C4
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x0
- beq _020703E4
- ldr r0, _02070474 ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020703EC
- cmp r4, #0x1
- bne _020703EC
-_020703E4:
- mov r0, #0x99
- lsl r0, r0, #0x2
- add r0, r5, r0
- b _020703F2
-_020703EC:
- mov r0, #0xc9
- lsl r0, r0, #0x2
- add r0, r5, r0
-_020703F2:
- mov r1, #0x2c
- mul r1, r4
- ldr r2, _02070478 ; =0x00000714
- add r1, r5, r1
- strb r6, [r1, r2]
- add r2, r2, #0x1
- strb r7, [r1, r2]
- mov r2, #0x10
- str r2, [sp, #0x0]
- mov r1, #0x6
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- str r2, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_02018170
- add r0, sp, #0x20
- ldrb r0, [r0, #0x10]
- cmp r0, #0x0
- bne _0207044C
- add r0, r7, #0x3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x9
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x10
- add r3, r6, #0x6
- str r0, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- mov r2, #0x17
- lsr r3, r3, #0x18
- bl FUN_02018540
-_0207044C:
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- add r0, r4, #0x3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_020186B4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020709FC
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_02070474: .word 0x000005A4
-_02070478: .word 0x00000714
-
- thumb_func_start FUN_0207047C
-FUN_0207047C: ; 0x0207047C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020704E4 ; =0x000005A4
- ldr r2, [r4, r0]
- add r0, r2, #0x0
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _02070492
- ldr r1, _020704E8 ; =0x020F9694
- b _02070494
-_02070492:
- ldr r1, _020704EC ; =0x020F964C
-_02070494:
- add r2, #0x20
- ldrb r0, [r2, #0x0]
- cmp r0, #0x10
- bne _020704A4
- add r0, r4, #0x0
- bl FUN_02070600
- b _020704D2
-_020704A4:
- cmp r0, #0x6
- bne _020704B0
- add r0, r4, #0x0
- bl FUN_020706E0
- b _020704D2
-_020704B0:
- cmp r0, #0xd
- bne _020704BC
- add r0, r4, #0x0
- bl FUN_020707C0
- b _020704D2
-_020704BC:
- cmp r0, #0x2
- beq _020704C4
- cmp r0, #0x11
- bne _020704CC
-_020704C4:
- add r0, r4, #0x0
- bl FUN_020708A0
- b _020704D2
-_020704CC:
- add r0, r4, #0x0
- bl FUN_020704F0
-_020704D2:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_0201AC68
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
- pop {r4, pc}
- .balign 4
-_020704E4: .word 0x000005A4
-_020704E8: .word 0x020F9694
-_020704EC: .word 0x020F964C
-
- thumb_func_start FUN_020704F0
-FUN_020704F0: ; 0x020704F0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r4, #0x0
-_020704FA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207008C
- cmp r0, #0x1
- bne _020705D4
- mov r0, #0x2c
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- str r1, [sp, #0x4]
- cmp r0, #0x1
- bne _0207053A
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r3, r6, r2
- ldrh r2, [r6, r2]
- ldrh r3, [r3, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
- b _0207055A
-_0207053A:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r3, r6, r2
- ldrh r2, [r6, r2]
- ldrh r3, [r3, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
-_0207055A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072D1C
- mov r0, #0xc
- mul r0, r4
- add r7, r6, r0
- ldrh r2, [r7, #0x4]
- ldrh r3, [r7, #0x6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020737D0
- ldrh r2, [r7, #0x8]
- ldrh r3, [r7, #0xa]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020739E4
- ldr r3, [sp, #0x4]
- ldr r2, _020705F8 ; =0x0000070C
- add r0, r5, #0x0
- ldrh r2, [r3, r2]
- add r1, r4, #0x0
- bl FUN_02073A78
- mov r2, #0x4
- mov r3, #0x6
- ldrsh r2, [r7, r2]
- ldrsh r3, [r7, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073AD8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B3C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B0C
- mov r2, #0x2c
- mul r2, r4
- add r3, r5, r2
- ldr r2, _020705FC ; =0x0000070E
- add r0, r5, #0x0
- ldrh r2, [r3, r2]
- add r1, r4, #0x0
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- b _020705EA
-_020705D4:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- add r7, r6, r2
- mov r3, #0x2
- ldrsh r2, [r6, r2]
- ldrsh r3, [r7, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02070988
-_020705EA:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _020704FA
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020705F8: .word 0x0000070C
-_020705FC: .word 0x0000070E
-
- thumb_func_start FUN_02070600
-FUN_02070600: ; 0x02070600
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- mov r4, #0x0
-_0207060A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207008C
- cmp r0, #0x1
- bne _020706B0
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x4]
- add r6, r0, r2
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r2, [r3, r2]
- ldrh r3, [r6, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072E4C
- ldrh r2, [r6, #0x4]
- ldrh r3, [r6, #0x6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020737D0
- ldrh r2, [r6, #0x8]
- ldrh r3, [r6, #0xa]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020739E4
- mov r0, #0x2c
- add r7, r4, #0x0
- mul r7, r0
- ldr r2, _020706D8 ; =0x0000070C
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073A78
- mov r2, #0x4
- mov r3, #0x6
- ldrsh r2, [r6, r2]
- ldrsh r3, [r6, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073AD8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B3C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B0C
- ldr r2, _020706DC ; =0x0000070E
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- b _020706CA
-_020706B0:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r6, [sp, #0x4]
- add r3, r0, r2
- ldrsh r2, [r6, r2]
- mov r6, #0x2
- ldrsh r3, [r3, r6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02070988
-_020706CA:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _0207060A
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020706D8: .word 0x0000070C
-_020706DC: .word 0x0000070E
-
- thumb_func_start FUN_020706E0
-FUN_020706E0: ; 0x020706E0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- mov r4, #0x0
-_020706EA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207008C
- cmp r0, #0x1
- bne _02070790
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x4]
- add r6, r0, r2
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r2, [r3, r2]
- ldrh r3, [r6, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072EE4
- ldrh r2, [r6, #0x4]
- ldrh r3, [r6, #0x6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020737D0
- ldrh r2, [r6, #0x8]
- ldrh r3, [r6, #0xa]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020739E4
- mov r0, #0x2c
- add r7, r4, #0x0
- mul r7, r0
- ldr r2, _020707B8 ; =0x0000070C
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073A78
- mov r2, #0x4
- mov r3, #0x6
- ldrsh r2, [r6, r2]
- ldrsh r3, [r6, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073AD8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B3C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B0C
- ldr r2, _020707BC ; =0x0000070E
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- b _020707AA
-_02070790:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r6, [sp, #0x4]
- add r3, r0, r2
- ldrsh r2, [r6, r2]
- mov r6, #0x2
- ldrsh r3, [r3, r6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02070988
-_020707AA:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _020706EA
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020707B8: .word 0x0000070C
-_020707BC: .word 0x0000070E
-
- thumb_func_start FUN_020707C0
-FUN_020707C0: ; 0x020707C0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- mov r4, #0x0
-_020707CA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207008C
- cmp r0, #0x1
- bne _02070870
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x4]
- add r6, r0, r2
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r2, [r3, r2]
- ldrh r3, [r6, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072F78
- ldrh r2, [r6, #0x4]
- ldrh r3, [r6, #0x6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020737D0
- ldrh r2, [r6, #0x8]
- ldrh r3, [r6, #0xa]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020739E4
- mov r0, #0x2c
- add r7, r4, #0x0
- mul r7, r0
- ldr r2, _02070898 ; =0x0000070C
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073A78
- mov r2, #0x4
- mov r3, #0x6
- ldrsh r2, [r6, r2]
- ldrsh r3, [r6, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073AD8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B3C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B0C
- ldr r2, _0207089C ; =0x0000070E
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- b _0207088A
-_02070870:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r6, [sp, #0x4]
- add r3, r0, r2
- ldrsh r2, [r6, r2]
- mov r6, #0x2
- ldrsh r3, [r3, r6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02070988
-_0207088A:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _020707CA
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02070898: .word 0x0000070C
-_0207089C: .word 0x0000070E
-
- thumb_func_start FUN_020708A0
-FUN_020708A0: ; 0x020708A0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- mov r4, #0x0
-_020708AA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207008C
- cmp r0, #0x1
- bne _02070958
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x4]
- add r6, r0, r2
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r2, [r3, r2]
- ldrh r3, [r6, #0x2]
- add r0, r5, #0x0
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020703C4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072FDC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073024
- ldrh r2, [r6, #0x4]
- ldrh r3, [r6, #0x6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020737D0
- ldrh r2, [r6, #0x8]
- ldrh r3, [r6, #0xa]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020739E4
- mov r0, #0x2c
- add r7, r4, #0x0
- mul r7, r0
- ldr r2, _02070980 ; =0x0000070C
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073A78
- mov r2, #0x4
- mov r3, #0x6
- ldrsh r2, [r6, r2]
- ldrsh r3, [r6, r3]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073AD8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B3C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073B0C
- ldr r2, _02070984 ; =0x0000070E
- add r3, r5, r7
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- b _02070972
-_02070958:
- mov r0, #0xc
- add r2, r4, #0x0
- mul r2, r0
- ldr r0, [sp, #0x4]
- ldr r6, [sp, #0x4]
- add r3, r0, r2
- ldrsh r2, [r6, r2]
- mov r6, #0x2
- ldrsh r3, [r3, r6]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02070988
-_02070972:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _020708AA
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02070980: .word 0x0000070C
-_02070984: .word 0x0000070E
-
- thumb_func_start FUN_02070988
-FUN_02070988: ; 0x02070988
- push {r4-r7, lr}
- sub sp, #0x1c
- add r7, r1, #0x0
- add r4, r2, #0x0
- mov r1, #0x10
- mov r2, #0xf9
- add r5, r0, #0x0
- lsl r2, r2, #0x2
- add r6, r3, #0x0
- lsl r3, r6, #0x18
- str r1, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- add r2, r5, r2
- str r2, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- str r2, [sp, #0x10]
- str r1, [sp, #0x14]
- str r0, [sp, #0x18]
- lsl r2, r4, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_02018170
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- lsl r2, r4, #0x18
- lsl r3, r6, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_020186B4
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x7
- bl FUN_02073A4C
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_02073A78
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02073B3C
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020709FC
-FUN_020709FC: ; 0x020709FC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _02070A78 ; =0x000005A4
- add r6, r1, #0x0
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldr r1, _02070A7C ; =0x00000B23
- ldrb r2, [r5, r1]
- lsl r3, r2, #0x19
- lsr r3, r3, #0x1f
- cmp r3, #0x1
- bne _02070A2C
- add r1, r1, #0x2
- ldrb r1, [r5, r1]
- cmp r6, r1
- beq _02070A28
- lsl r1, r2, #0x1a
- lsr r1, r1, #0x1a
- cmp r6, r1
- bne _02070A2C
-_02070A28:
- mov r4, #0x7
- b _02070A60
-_02070A2C:
- ldr r1, _02070A80 ; =0x00000B25
- ldrb r1, [r5, r1]
- cmp r6, r1
- bne _02070A38
- mov r4, #0x4
- b _02070A3A
-_02070A38:
- mov r4, #0x0
-_02070A3A:
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02070A4E
- add r0, r4, #0x2
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- b _02070A60
-_02070A4E:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02070A88
- cmp r0, #0x1
- bne _02070A60
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02070A60:
- ldr r1, _02070A84 ; =0x000004A4
- add r3, r6, #0x3
- add r2, r5, r1
- lsl r1, r4, #0x5
- lsl r3, r3, #0x15
- add r1, r2, r1
- mov r0, #0x2
- mov r2, #0x10
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- pop {r4-r6, pc}
- .balign 4
-_02070A78: .word 0x000005A4
-_02070A7C: .word 0x00000B23
-_02070A80: .word 0x00000B25
-_02070A84: .word 0x000004A4
-
- thumb_func_start FUN_02070A88
-FUN_02070A88: ; 0x02070A88
- ldr r2, _02070AA0 ; =0x000005A4
- ldr r0, [r0, r2]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _02070A9A
- mov r0, #0x1
- tst r1, r0
- bne _02070A9C
-_02070A9A:
- mov r0, #0x0
-_02070A9C:
- bx lr
- nop
-_02070AA0: .word 0x000005A4
-
- thumb_func_start FUN_02070AA4
-FUN_02070AA4: ; 0x02070AA4
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- mov r3, #0x0
- ldr r0, _02070AF4 ; =0x00000B25
- str r3, [sp, #0x0]
- ldrb r0, [r4, r0]
- add r1, sp, #0xc
- add r1, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, _02070AF8 ; =0x00000808
- add r2, sp, #0xc
- ldr r0, [r4, r0]
- bl FUN_0201C638
- ldr r0, _02070AFC ; =0x000005A4
- ldr r1, _02070AF4 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02070B00 ; =0x000005C8
- ldr r0, [r4, r0]
- bl FUN_02020130
- ldr r0, _02070B00 ; =0x000005C8
- add r2, sp, #0xc
- ldrb r1, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- add sp, #0x10
- pop {r4, pc}
- nop
-_02070AF4: .word 0x00000B25
-_02070AF8: .word 0x00000808
-_02070AFC: .word 0x000005A4
-_02070B00: .word 0x000005C8
-
- thumb_func_start FUN_02070B04
-FUN_02070B04: ; 0x02070B04
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02070B28
- cmp r0, #0x1
- bne _02070B14
- mov r0, #0x1
- pop {r4, pc}
-_02070B14:
- add r0, r4, #0x0
- bl FUN_02070D90
- cmp r0, #0x1
- bne _02070B22
- mov r0, #0x2
- pop {r4, pc}
-_02070B22:
- mov r0, #0x5
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02070B28
-FUN_02070B28: ; 0x02070B28
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- ldr r0, _02070CC0 ; =0x021C48B8
- mov r1, #0x40
- ldr r0, [r0, #0x4c]
- mov r3, #0x4
- tst r1, r0
- beq _02070B3E
- mov r3, #0x0
- b _02070B5A
-_02070B3E:
- mov r1, #0x80
- tst r1, r0
- beq _02070B48
- mov r3, #0x1
- b _02070B5A
-_02070B48:
- mov r1, #0x20
- tst r1, r0
- beq _02070B52
- mov r3, #0x2
- b _02070B5A
-_02070B52:
- mov r1, #0x10
- tst r0, r1
- beq _02070B5A
- mov r3, #0x3
-_02070B5A:
- cmp r3, #0x4
- bne _02070B64
- add sp, #0x4
- mov r0, #0x0
- pop {r3-r6, pc}
-_02070B64:
- ldr r4, _02070CC4 ; =0x00000B25
- ldrb r0, [r5, r4]
- cmp r0, #0x6
- bne _02070BA0
- cmp r3, #0x0
- add r1, sp, #0x0
- bne _02070B92
- add r4, r4, #0x1
- ldrb r6, [r5, r4]
- mov r4, #0x1
- ldr r3, _02070CC8 ; =0x020F9468
- and r4, r6
- add r6, r4, #0x2
- mov r4, #0x6
- mul r4, r6
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- add r3, r3, r4
- bl FUN_02070D2C
- add r6, r0, #0x0
- b _02070C1A
-_02070B92:
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_02070CDC
- add r6, r0, #0x0
- b _02070C1A
-_02070BA0:
- cmp r0, #0x7
- bne _02070C0C
- ldr r0, _02070CCC ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _02070BDA
- cmp r0, #0x11
- beq _02070BDA
- cmp r3, #0x0
- bne _02070BDA
- add r4, r4, #0x1
- ldrb r6, [r5, r4]
- mov r4, #0x1
- add r1, sp, #0x0
- and r4, r6
- add r6, r4, #0x2
- mov r4, #0x6
- ldr r3, _02070CC8 ; =0x020F9468
- mul r4, r6
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- add r3, r3, r4
- bl FUN_02070D2C
- add r6, r0, #0x0
- b _02070C1A
-_02070BDA:
- cmp r3, #0x1
- add r1, sp, #0x0
- bne _02070BFE
- ldr r4, _02070CD0 ; =0x00000B26
- ldr r3, _02070CC8 ; =0x020F9468
- ldrb r6, [r5, r4]
- mov r4, #0x1
- add r0, r5, #0x0
- and r6, r4
- mov r4, #0x6
- mul r4, r6
- add r1, #0x1
- add r2, sp, #0x0
- add r3, r3, r4
- bl FUN_02070D2C
- add r6, r0, #0x0
- b _02070C1A
-_02070BFE:
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_02070CDC
- add r6, r0, #0x0
- b _02070C1A
-_02070C0C:
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_02070CDC
- add r6, r0, #0x0
-_02070C1A:
- ldr r0, _02070CC4 ; =0x00000B25
- ldrb r0, [r5, r0]
- cmp r6, r0
- beq _02070CB8
- cmp r6, #0xff
- beq _02070CB8
- add r0, r6, #0x0
- add r0, #0xfa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _02070C3E
- ldr r0, _02070CD4 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- b _02070C6E
-_02070C3E:
- ldr r0, _02070CCC ; =0x000005A4
- add r1, r6, #0x0
- ldr r0, [r5, r0]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02070CD4 ; =0x000005C8
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02070CD4 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _02070CD4 ; =0x000005C8
- add r2, sp, #0x0
- ldrb r1, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, r0]
- bl FUN_0200C6E4
-_02070C6E:
- ldr r0, _02070CC4 ; =0x00000B25
- mov r2, #0x0
- ldrb r4, [r5, r0]
- strb r6, [r5, r0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020713EC
- ldr r1, _02070CC4 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- mov r2, #0x1
- bl FUN_020713EC
- ldr r0, _02070CD8 ; =0x000005DC
- bl FUN_020054C8
- cmp r4, #0x6
- bhs _02070CA6
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
-_02070CA6:
- cmp r4, #0x6
- beq _02070CB2
- cmp r4, #0x7
- beq _02070CB2
- ldr r0, _02070CD0 ; =0x00000B26
- strb r4, [r5, r0]
-_02070CB2:
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r6, pc}
-_02070CB8:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_02070CC0: .word 0x021C48B8
-_02070CC4: .word 0x00000B25
-_02070CC8: .word 0x020F9468
-_02070CCC: .word 0x000005A4
-_02070CD0: .word 0x00000B26
-_02070CD4: .word 0x000005C8
-_02070CD8: .word 0x000005DC
-
- thumb_func_start FUN_02070CDC
-FUN_02070CDC: ; 0x02070CDC
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, _02070D24 ; =0x00000B25
- add r7, r1, #0x0
- ldrb r4, [r5, r0]
- str r2, [sp, #0xc]
- add r6, r3, #0x0
-_02070CEC:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- ldr r0, _02070D28 ; =0x00000808
- str r6, [sp, #0x8]
- ldr r0, [r5, r0]
- ldr r2, [sp, #0xc]
- add r1, r7, #0x0
- mov r3, #0x0
- bl FUN_0201C638
- add r4, r0, #0x0
- cmp r4, #0x6
- beq _02070D1C
- cmp r4, #0x7
- beq _02070D1C
- cmp r4, #0xff
- beq _02070D1C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207007C
- cmp r0, #0x0
- beq _02070CEC
-_02070D1C:
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02070D24: .word 0x00000B25
-_02070D28: .word 0x00000808
-
- thumb_func_start FUN_02070D2C
-FUN_02070D2C: ; 0x02070D2C
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r2, [sp, #0xc]
- add r5, r3, #0x0
- mov r4, #0x0
-_02070D3A:
- cmp r4, #0x6
- beq _02070D70
- ldrb r1, [r5, r4]
- add r0, r6, #0x0
- bl FUN_0207007C
- cmp r0, #0x0
- beq _02070D68
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldrb r0, [r5, r4]
- ldr r2, [sp, #0xc]
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, _02070D8C ; =0x00000808
- ldr r0, [r6, r0]
- bl FUN_0201C638
- add sp, #0x10
- ldrb r0, [r5, r4]
- pop {r3-r7, pc}
-_02070D68:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- b _02070D3A
-_02070D70:
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, _02070D8C ; =0x00000808
- ldr r2, [sp, #0xc]
- ldr r0, [r6, r0]
- add r1, r7, #0x0
- bl FUN_0201C638
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02070D8C: .word 0x00000808
-
- thumb_func_start FUN_02070D90
-FUN_02070D90: ; 0x02070D90
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bl FUN_02071870
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02070E42
- ldr r1, _02070E48 ; =0x00000B25
- mov r2, #0x0
- ldrb r4, [r5, r1]
- strb r0, [r5, r1]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020713EC
- ldr r1, _02070E48 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- mov r2, #0x1
- bl FUN_020713EC
- cmp r4, #0x6
- bhs _02070DCC
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
-_02070DCC:
- mov r3, #0x0
- ldr r0, _02070E48 ; =0x00000B25
- str r3, [sp, #0x0]
- ldrb r0, [r5, r0]
- add r1, sp, #0xc
- add r1, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, _02070E4C ; =0x00000808
- add r2, sp, #0xc
- ldr r0, [r5, r0]
- bl FUN_0201C638
- ldr r0, _02070E50 ; =0x000005A4
- ldr r1, _02070E48 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02070E54 ; =0x000005C8
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02070E54 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _02070E54 ; =0x000005C8
- add r2, sp, #0xc
- ldrb r1, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, r0]
- bl FUN_0200C6E4
- mov r0, #0xb2
- mov r1, #0x1
- lsl r0, r0, #0x4
- strb r1, [r5, r0]
- add r1, r0, #0x5
- ldrb r1, [r5, r1]
- add r0, r0, #0x1
- strb r1, [r5, r0]
- ldr r0, _02070E58 ; =0x000005E4
- bl FUN_020054C8
- cmp r4, #0x6
- beq _02070E3C
- cmp r4, #0x7
- beq _02070E3C
- ldr r0, _02070E5C ; =0x00000B26
- strb r4, [r5, r0]
-_02070E3C:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r5, pc}
-_02070E42:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_02070E48: .word 0x00000B25
-_02070E4C: .word 0x00000808
-_02070E50: .word 0x000005A4
-_02070E54: .word 0x000005C8
-_02070E58: .word 0x000005E4
-_02070E5C: .word 0x00000B26
-
- thumb_func_start FUN_02070E60
-FUN_02070E60: ; 0x02070E60
- push {r4-r6, lr}
- sub sp, #0x10
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r0, #0xfa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _02070E80
- ldr r0, _02070F04 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- b _02070ECC
-_02070E80:
- mov r3, #0x0
- ldr r0, _02070F08 ; =0x00000B25
- str r3, [sp, #0x0]
- ldrb r0, [r5, r0]
- add r1, sp, #0xc
- add r1, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, _02070F0C ; =0x00000808
- add r2, sp, #0xc
- ldr r0, [r5, r0]
- bl FUN_0201C638
- ldr r0, _02070F10 ; =0x000005A4
- add r1, r6, #0x0
- ldr r0, [r5, r0]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02070F04 ; =0x000005C8
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02070F04 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _02070F04 ; =0x000005C8
- add r2, sp, #0xc
- ldrb r1, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, r0]
- bl FUN_0200C6E4
-_02070ECC:
- ldr r0, _02070F08 ; =0x00000B25
- mov r2, #0x0
- ldrb r4, [r5, r0]
- strb r6, [r5, r0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020713EC
- ldr r1, _02070F08 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- mov r2, #0x1
- bl FUN_020713EC
- cmp r4, #0x6
- bhs _02070EFE
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020717E8
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
-_02070EFE:
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02070F04: .word 0x000005C8
-_02070F08: .word 0x00000B25
-_02070F0C: .word 0x00000808
-_02070F10: .word 0x000005A4
-
- thumb_func_start FUN_02070F14
-FUN_02070F14: ; 0x02070F14
- push {r3-r4, lr}
- sub sp, #0x4
- mov r1, #0xb2
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldrb r2, [r4, r1]
- cmp r2, #0x0
- beq _02070F8A
- cmp r2, #0x1
- beq _02070F30
- cmp r2, #0x2
- beq _02070F70
- add sp, #0x4
- pop {r3-r4, pc}
-_02070F30:
- add r0, r1, #0x1
- ldrb r0, [r4, r0]
- add r1, sp, #0x0
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_02071850
- add r3, sp, #0x0
- mov r1, #0x2
- mov r2, #0x0
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- add r0, r4, #0x0
- bl FUN_02073D1C
- ldr r1, _02070F90 ; =0x00000B21
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- mov r2, #0x2
- bl FUN_020717E8
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
- mov r0, #0xb2
- lsl r0, r0, #0x4
- ldrb r1, [r4, r0]
- add sp, #0x4
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r4, pc}
-_02070F70:
- add r1, r1, #0x1
- ldrb r1, [r4, r1]
- mov r2, #0x1
- bl FUN_020717E8
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
- mov r0, #0xb2
- mov r1, #0x0
- lsl r0, r0, #0x4
- strb r1, [r4, r0]
-_02070F8A:
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_02070F90: .word 0x00000B21
-
- thumb_func_start FUN_02070F94
-FUN_02070F94: ; 0x02070F94
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020710AC ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _0207104A
- ldr r0, _020710B0 ; =0x00000B25
- ldrb r1, [r4, r0]
- cmp r1, #0x6
- bne _02070FAE
- mov r0, #0x4
- pop {r4, pc}
-_02070FAE:
- cmp r1, #0x7
- bne _02070FC6
- ldr r0, _020710B4 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _020710B8 ; =0x00000B23
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _0207104A
- mov r0, #0x3
- pop {r4, pc}
-_02070FC6:
- ldr r0, _020710BC ; =0x000005A4
- ldr r2, [r4, r0]
- add r2, #0x20
- ldrb r2, [r2, #0x0]
- cmp r2, #0x3
- beq _02070FD6
- cmp r2, #0x13
- bne _02070FE0
-_02070FD6:
- ldr r0, _020710B4 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x0
- pop {r4, pc}
-_02070FE0:
- cmp r2, #0x14
- beq _02070FE8
- cmp r2, #0xe
- bne _0207100C
-_02070FE8:
- mov r0, #0x2c
- mul r0, r1
- add r1, r4, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02071002
- ldr r0, _020710B4 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x0
- pop {r4, pc}
-_02071002:
- ldr r0, _020710C0 ; =0x000005F2
- bl FUN_020054C8
- mov r0, #0x5
- pop {r4, pc}
-_0207100C:
- cmp r2, #0xf
- bne _0207103A
- mov r2, #0x2c
- mul r2, r1
- mov r1, #0x71
- add r2, r4, r2
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _02071030
- add r0, #0x38
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020710C4
- mov r0, #0x0
- pop {r4, pc}
-_02071030:
- add r0, #0x4e
- bl FUN_020054C8
- mov r0, #0x5
- pop {r4, pc}
-_0207103A:
- add r0, #0x38
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020710C4
- mov r0, #0x0
- pop {r4, pc}
-_0207104A:
- ldr r0, _020710AC ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _0207106E
- ldr r0, _020710B8 ; =0x00000B23
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _0207106E
- ldr r0, _020710B4 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _020710B0 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
- mov r0, #0x3
- pop {r4, pc}
-_0207106E:
- add r0, r4, #0x0
- bl FUN_02070B04
- cmp r0, #0x2
- bne _020710AA
- ldr r1, _020710BC ; =0x000005A4
- ldr r1, [r4, r1]
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- cmp r1, #0x14
- beq _0207108E
- add r1, #0xf2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x1
- bhi _020710AA
-_0207108E:
- ldr r1, _020710B0 ; =0x00000B25
- ldrb r2, [r4, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r4, r1
- mov r1, #0x71
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _020710AA
- ldr r0, _020710C0 ; =0x000005F2
- bl FUN_020054C8
- mov r0, #0x5
-_020710AA:
- pop {r4, pc}
- .balign 4
-_020710AC: .word 0x021C48B8
-_020710B0: .word 0x00000B25
-_020710B4: .word 0x000005DC
-_020710B8: .word 0x00000B23
-_020710BC: .word 0x000005A4
-_020710C0: .word 0x000005F2
-
- thumb_func_start FUN_020710C4
-FUN_020710C4: ; 0x020710C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- mov r0, #0xc
- mov r1, #0x8
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, _02071174 ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0xf
- bgt _020710FC
- bge _02071124
- cmp r0, #0x2
- bgt _0207113C
- cmp r0, #0x0
- blt _0207113C
- beq _0207110C
- cmp r0, #0x2
- beq _02071118
- b _0207113C
-_020710FC:
- cmp r0, #0x12
- bgt _0207113C
- cmp r0, #0x11
- blt _0207113C
- beq _02071118
- cmp r0, #0x12
- beq _02071130
- b _0207113C
-_0207110C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207117C
- add r2, r0, #0x0
- b _02071146
-_02071118:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020712F0
- add r2, r0, #0x0
- b _02071146
-_02071124:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02071274
- add r2, r0, #0x0
- b _02071146
-_02071130:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02071280
- add r2, r0, #0x0
- b _02071146
-_0207113C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020712B4
- add r2, r0, #0x0
-_02071146:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072844
- mov r0, #0xc
- add r1, r4, #0x0
- bl FUN_02016A8C
- add r0, r5, #0x0
- bl FUN_0207295C
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731D4
- ldr r0, _02071178 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_0200C664
- pop {r3-r5, pc}
- .balign 4
-_02071174: .word 0x000005A4
-_02071178: .word 0x000005C8
-
- thumb_func_start FUN_0207117C
-FUN_0207117C: ; 0x0207117C
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x4]
- ldr r1, _02071268 ; =0x000005A4
- str r0, [sp, #0x0]
- ldr r0, [r0, r1]
- ldr r2, _0207126C ; =0x00000B25
- ldr r1, [sp, #0x0]
- ldr r0, [r0, #0x0]
- ldrb r1, [r1, r2]
- bl FUN_0206B9B0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- strb r1, [r0, #0x0]
- mov r4, #0x0
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r1, _02071268 ; =0x000005A4
- ldr r0, [sp, #0x0]
- ldr r0, [r0, r1]
- ldr r0, [r0, #0x1c]
- bl FUN_02060144
- cmp r0, #0x0
- bne _02071258
- ldr r1, _0207126C ; =0x00000B25
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, r1]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [sp, #0x0]
- add r1, r0, r2
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0207124C
- add r6, r4, #0x0
-_020711D0:
- add r1, r6, #0x0
- ldr r0, [sp, #0x8]
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- beq _02071210
- add r0, r7, #0x0
- bl FUN_02071948
- cmp r0, #0xff
- beq _02071206
- ldr r1, [sp, #0x4]
- add r2, r4, #0x0
- strb r0, [r1, r5]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_020727FC
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02071206:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x4
- blo _020711D0
-_02071210:
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- strb r1, [r0, r5]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r1, _0207126C ; =0x00000B25
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, r1]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [sp, #0x0]
- add r1, r0, r2
- ldr r0, _02071270 ; =0x0000070C
- ldrh r0, [r1, r0]
- bl FUN_0206EA98
- cmp r0, #0x1
- bne _0207123E
- mov r1, #0x5
- ldr r0, [sp, #0x4]
- b _02071242
-_0207123E:
- ldr r0, [sp, #0x4]
- mov r1, #0x2
-_02071242:
- strb r1, [r0, r5]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- b _02071258
-_0207124C:
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- strb r1, [r0, r5]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-_02071258:
- ldr r0, [sp, #0x4]
- mov r1, #0x9
- strb r1, [r0, r5]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02071268: .word 0x000005A4
-_0207126C: .word 0x00000B25
-_02071270: .word 0x0000070C
-
- thumb_func_start FUN_02071274
-FUN_02071274: ; 0x02071274
- mov r0, #0xe
- strb r0, [r1, #0x0]
- mov r0, #0x9
- strb r0, [r1, #0x1]
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_02071280
-FUN_02071280: ; 0x02071280
- ldr r2, _020712B0 ; =0x00000B25
- ldrb r3, [r0, r2]
- mov r2, #0x2c
- mul r2, r3
- add r2, r0, r2
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _020712A4
- mov r0, #0x8
- strb r0, [r1, #0x0]
- mov r0, #0x1
- strb r0, [r1, #0x1]
- mov r0, #0x9
- strb r0, [r1, #0x2]
- mov r0, #0x3
- bx lr
-_020712A4:
- mov r0, #0x1
- strb r0, [r1, #0x0]
- mov r0, #0x9
- strb r0, [r1, #0x1]
- mov r0, #0x2
- bx lr
- .balign 4
-_020712B0: .word 0x00000B25
-
- thumb_func_start FUN_020712B4
-FUN_020712B4: ; 0x020712B4
- ldr r2, _020712E8 ; =0x00000B25
- ldrb r3, [r0, r2]
- mov r2, #0x2c
- mul r2, r3
- add r2, r0, r2
- ldr r0, _020712EC ; =0x0000070E
- ldrh r0, [r2, r0]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _020712DA
- mov r0, #0xd
- strb r0, [r1, #0x0]
- mov r0, #0x1
- strb r0, [r1, #0x1]
- mov r0, #0x9
- strb r0, [r1, #0x2]
- mov r0, #0x3
- bx lr
-_020712DA:
- mov r0, #0x1
- strb r0, [r1, #0x0]
- mov r0, #0x9
- strb r0, [r1, #0x1]
- mov r0, #0x2
- bx lr
- nop
-_020712E8: .word 0x00000B25
-_020712EC: .word 0x0000070E
-
- thumb_func_start FUN_020712F0
-FUN_020712F0: ; 0x020712F0
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _0207133C ; =0x00000B25
- ldrb r1, [r0, r1]
- bl FUN_02071340
- cmp r0, #0x0
- beq _0207130A
- cmp r0, #0x1
- beq _02071316
- cmp r0, #0x2
- beq _02071326
- b _02071336
-_0207130A:
- mov r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x9
- strb r0, [r4, #0x1]
- mov r0, #0x2
- pop {r4, pc}
-_02071316:
- mov r0, #0xb
- strb r0, [r4, #0x0]
- mov r0, #0x1
- strb r0, [r4, #0x1]
- mov r0, #0x9
- strb r0, [r4, #0x2]
- mov r0, #0x3
- pop {r4, pc}
-_02071326:
- mov r0, #0xc
- strb r0, [r4, #0x0]
- mov r0, #0x1
- strb r0, [r4, #0x1]
- mov r0, #0x9
- strb r0, [r4, #0x2]
- mov r0, #0x3
- pop {r4, pc}
-_02071336:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207133C: .word 0x00000B25
-
- thumb_func_start FUN_02071340
-FUN_02071340: ; 0x02071340
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _020713E0 ; =0x000005A4
- add r4, r1, #0x0
- ldr r2, [r5, r0]
- ldr r0, [r2, #0x14]
- cmp r0, #0x0
- beq _0207136E
- ldr r0, [r2, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, _020713E0 ; =0x000005A4
- ldr r2, _020713E4 ; =0x00000B34
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- ldr r0, [r0, #0x14]
- bl FUN_0206BB84
- cmp r0, #0x0
- bne _0207136E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0207136E:
- ldr r0, _020713E0 ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x11
- bne _02071390
- mov r0, #0x2c
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020713E8 ; =0x00000704
- ldrh r0, [r1, r0]
- bl FUN_0206A964
- cmp r0, #0x1
- bne _02071390
- mov r0, #0x0
- pop {r4-r6, pc}
-_02071390:
- ldr r1, _020713E0 ; =0x000005A4
- mov r0, #0x0
- ldr r2, [r5, r1]
- add r1, r2, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x18
- lsr r3, r1, #0x1c
- beq _020713BC
- add r1, r4, #0x1
-_020713A4:
- add r6, r2, r0
- add r6, #0x2c
- ldrb r6, [r6, #0x0]
- cmp r1, r6
- bne _020713B2
- mov r0, #0x2
- pop {r4-r6, pc}
-_020713B2:
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r3
- blo _020713A4
-_020713BC:
- mov r0, #0x2c
- mul r0, r4
- add r3, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r1, [r3, r0]
- cmp r1, #0x1
- beq _020713D8
- sub r0, r0, #0x6
- add r2, #0x33
- ldrh r1, [r3, r0]
- ldrb r0, [r2, #0x0]
- cmp r1, r0
- ble _020713DC
-_020713D8:
- mov r0, #0x0
- pop {r4-r6, pc}
-_020713DC:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_020713E0: .word 0x000005A4
-_020713E4: .word 0x00000B34
-_020713E8: .word 0x00000704
-
- thumb_func_start FUN_020713EC
-FUN_020713EC: ; 0x020713EC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x6
- bne _02071426
- mov r0, #0x5d
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_020201DC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- cmp r6, #0x0
- bne _02071410
- mov r0, #0x2
- and r0, r1
- b _02071416
-_02071410:
- mov r0, #0x2
- and r0, r1
- add r0, r0, #0x1
-_02071416:
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x5d
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_02020130
- pop {r4-r6, pc}
-_02071426:
- cmp r4, #0x7
- bne _02071454
- ldr r0, _020714B4 ; =0x000005D4
- ldr r0, [r5, r0]
- bl FUN_020201DC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- cmp r6, #0x0
- bne _02071440
- mov r0, #0x2
- and r0, r1
- b _02071446
-_02071440:
- mov r0, #0x2
- and r0, r1
- add r0, r0, #0x1
-_02071446:
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r0, _020714B4 ; =0x000005D4
- ldr r0, [r5, r0]
- bl FUN_02020130
- pop {r4-r6, pc}
-_02071454:
- cmp r6, #0x0
- ldr r1, _020714B8 ; =0x00000716
- bne _02071482
- mov r0, #0x2c
- add r3, r5, r1
- mul r0, r4
- ldrsh r2, [r3, r0]
- add r1, r1, #0x2
- sub r2, r2, #0x2
- strh r2, [r3, r0]
- add r2, r5, r1
- ldrsh r1, [r2, r0]
- sub r1, r1, #0x2
- strh r1, [r2, r0]
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_02020130
- b _020714A8
-_02071482:
- mov r0, #0x2c
- add r3, r5, r1
- mul r0, r4
- ldrsh r2, [r3, r0]
- add r1, r1, #0x2
- add r2, r2, #0x2
- strh r2, [r3, r0]
- add r2, r5, r1
- ldrsh r1, [r2, r0]
- add r1, r1, #0x2
- strh r1, [r2, r0]
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- mov r1, #0x1
- bl FUN_02020130
-_020714A8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020709FC
- pop {r4-r6, pc}
- nop
-_020714B4: .word 0x000005D4
-_020714B8: .word 0x00000716
-
- thumb_func_start FUN_020714BC
-FUN_020714BC: ; 0x020714BC
- cmp r1, #0x0
- beq _020714C8
- cmp r0, #0x0
- beq _020714CC
- cmp r1, #0x1
- bne _020714CC
-_020714C8:
- mov r0, #0x1
- bx lr
-_020714CC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020714D0
-FUN_020714D0: ; 0x020714D0
- push {r4, lr}
- ldr r1, _02071550 ; =0x021C48B8
- add r4, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x1
- tst r1, r2
- beq _0207150C
- ldr r0, _02071554 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _02071558 ; =0x00000B25
- ldrb r1, [r4, r0]
- cmp r1, #0x6
- bhs _020714F8
- sub r0, r0, #0x2
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1a
- cmp r1, r0
- bne _02071502
-_020714F8:
- add r0, r4, #0x0
- bl FUN_02074538
- mov r0, #0x3
- pop {r4, pc}
-_02071502:
- add r0, r4, #0x0
- bl FUN_02074584
- mov r0, #0x0
- pop {r4, pc}
-_0207150C:
- mov r1, #0x2
- tst r1, r2
- beq _02071522
- ldr r0, _02071554 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_02074538
- mov r0, #0x3
- pop {r4, pc}
-_02071522:
- bl FUN_02070B04
- cmp r0, #0x2
- bne _0207154C
- ldr r0, _02071558 ; =0x00000B25
- ldrb r1, [r4, r0]
- sub r0, r0, #0x2
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1a
- cmp r1, r0
- bne _02071544
- add r0, r4, #0x0
- bl FUN_02074538
- mov r0, #0x3
- pop {r4, pc}
-_02071544:
- add r0, r4, #0x0
- bl FUN_02074584
- mov r0, #0x0
-_0207154C:
- pop {r4, pc}
- nop
-_02071550: .word 0x021C48B8
-_02071554: .word 0x000005DC
-_02071558: .word 0x00000B25
-
- thumb_func_start FUN_0207155C
-FUN_0207155C: ; 0x0207155C
- push {r3-r5, lr}
- sub sp, #0x8
- ldr r1, _02071738 ; =0x000005A4
- add r4, r0, #0x0
- ldr r3, [r4, r1]
- mov r0, #0x0
- add r1, r3, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- beq _02071606
-_02071574:
- add r2, r3, r0
- add r2, #0x2c
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _020715FC
- add r3, #0x32
- ldrb r0, [r3, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- cmp r0, #0x6
- bhi _020715E0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02071596: ; jump table (using 16-bit offset)
- .short _020715E0 - _02071596 - 2; case 0
- .short _020715E0 - _02071596 - 2; case 1
- .short _020715A4 - _02071596 - 2; case 2
- .short _020715B0 - _02071596 - 2; case 3
- .short _020715BC - _02071596 - 2; case 4
- .short _020715C8 - _02071596 - 2; case 5
- .short _020715D4 - _02071596 - 2; case 6
-_020715A4:
- add r0, r4, #0x0
- mov r1, #0x6b
- mov r2, #0x1
- bl FUN_020731E8
- b _020715EA
-_020715B0:
- add r0, r4, #0x0
- mov r1, #0x77
- mov r2, #0x1
- bl FUN_020731E8
- b _020715EA
-_020715BC:
- add r0, r4, #0x0
- mov r1, #0x78
- mov r2, #0x1
- bl FUN_020731E8
- b _020715EA
-_020715C8:
- add r0, r4, #0x0
- mov r1, #0x79
- mov r2, #0x1
- bl FUN_020731E8
- b _020715EA
-_020715D4:
- add r0, r4, #0x0
- mov r1, #0x7a
- mov r2, #0x1
- bl FUN_020731E8
- b _020715EA
-_020715E0:
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731E8
-_020715EA:
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_020715FC:
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r1
- blo _02071574
-_02071606:
- ldr r0, [r3, #0x14]
- cmp r0, #0x0
- beq _020716CA
- ldr r2, _02071744 ; =0x00000B34
- ldr r1, [r3, #0x0]
- ldr r2, [r4, r2]
- add r3, #0x2c
- bl FUN_0206BC60
- cmp r0, #0x3
- bhi _020716CA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02071628: ; jump table (using 16-bit offset)
- .short _020716CA - _02071628 - 2; case 0
- .short _02071630 - _02071628 - 2; case 1
- .short _02071692 - _02071628 - 2; case 2
- .short _020716AE - _02071628 - 2; case 3
-_02071630:
- ldr r0, _02071748 ; =0x0000069C
- mov r1, #0xb8
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- ldr r0, _02071738 ; =0x000005A4
- mov r1, #0x3
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x14]
- bl FUN_02023B0C
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r3, #0x3
- bl FUN_0200AD38
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_02071692:
- add r0, r4, #0x0
- mov r1, #0xb6
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_020716AE:
- add r0, r4, #0x0
- mov r1, #0xb7
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_020716CA:
- ldr r0, _02071738 ; =0x000005A4
- ldr r0, [r4, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x11
- bne _02071722
- add r0, r4, #0x0
- bl FUN_0207174C
- cmp r0, #0x0
- beq _02071722
- cmp r0, #0x1
- beq _020716EA
- cmp r0, #0x2
- beq _02071706
- b _02071722
-_020716EA:
- add r0, r4, #0x0
- mov r1, #0xb6
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_02071706:
- add r0, r4, #0x0
- mov r1, #0xb7
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207173C ; =0x00000B22
- mov r1, #0x13
- strb r1, [r4, r0]
- ldr r0, _02071740 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x14
- pop {r3-r5, pc}
-_02071722:
- ldr r0, _02071738 ; =0x000005A4
- mov r2, #0x0
- ldr r1, [r4, r0]
- add r0, #0x38
- add r1, #0x23
- strb r2, [r1, #0x0]
- bl FUN_020054C8
- mov r0, #0x1b
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02071738: .word 0x000005A4
-_0207173C: .word 0x00000B22
-_02071740: .word 0x000005F2
-_02071744: .word 0x00000B34
-_02071748: .word 0x0000069C
-
- thumb_func_start FUN_0207174C
-FUN_0207174C: ; 0x0207174C
- push {r4-r7}
- add r5, r0, #0x0
- mov r0, #0x0
- mov r12, r0
- ldr r0, _020717E0 ; =0x000005A4
- ldr r4, [r5, r0]
-_02071758:
- mov r0, r12
- add r0, r4, r0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020717DA
- mov r0, r12
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x6
- bhs _020717CC
- mov r0, r12
- add r7, r4, r0
-_02071774:
- add r0, r4, r3
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020717CC
- add r0, r4, r3
- add r0, #0x2c
- ldrb r1, [r0, #0x0]
- mov r0, #0x2c
- ldr r6, _020717E4 ; =0x000006D8
- mul r0, r1
- add r2, r5, r0
- add r0, r7, #0x0
- add r0, #0x2c
- ldrb r1, [r0, #0x0]
- mov r0, #0x2c
- ldrh r6, [r2, r6]
- mul r0, r1
- add r1, r5, r0
- ldr r0, _020717E4 ; =0x000006D8
- ldrh r0, [r1, r0]
- cmp r0, r6
- bne _020717A8
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_020717A8:
- mov r0, #0x6e
- lsl r0, r0, #0x4
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- beq _020717C2
- mov r1, #0x6e
- lsl r1, r1, #0x4
- ldrh r1, [r2, r1]
- cmp r0, r1
- bne _020717C2
- mov r0, #0x2
- pop {r4-r7}
- bx lr
-_020717C2:
- add r0, r3, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x6
- blo _02071774
-_020717CC:
- mov r0, r12
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r12, r0
- cmp r0, #0x5
- blo _02071758
-_020717DA:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- .balign 4
-_020717E0: .word 0x000005A4
-_020717E4: .word 0x000006D8
-
- thumb_func_start FUN_020717E8
-FUN_020717E8: ; 0x020717E8
- push {r3-r7, lr}
- ldr r0, [r0, #0x0]
- add r5, r1, #0x0
- add r4, r2, #0x0
- mov r1, #0x4
- bl FUN_0201886C
- lsl r1, r5, #0x1
- mov r3, #0x19
- add r5, r4, #0x0
- mul r5, r3
- ldr r3, _02071844 ; =0x00001005
- mov r2, #0x0
- add r3, r5, r3
- lsl r3, r3, #0x10
- lsr r4, r3, #0x10
- ldr r3, _02071848 ; =0x020F944C
- ldrb r3, [r3, r1]
- lsl r3, r3, #0x1
- add r0, r0, r3
- mov r12, r0
- ldr r0, _0207184C ; =0x020F944D
- ldrb r7, [r0, r1]
-_02071816:
- lsl r0, r2, #0x2
- add r5, r2, r0
- add r0, r7, r2
- lsl r1, r0, #0x6
- mov r0, r12
- mov r3, #0x0
- add r6, r0, r1
-_02071824:
- add r0, r3, r5
- add r1, r4, r0
- lsl r0, r3, #0x1
- strh r1, [r6, r0]
- add r0, r3, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x5
- blo _02071824
- add r0, r2, #0x1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x5
- blo _02071816
- pop {r3-r7, pc}
- nop
-_02071844: .word 0x00001005
-_02071848: .word 0x020F944C
-_0207184C: .word 0x020F944D
-
- thumb_func_start FUN_02071850
-FUN_02071850: ; 0x02071850
- lsl r3, r0, #0x1
- ldr r0, _02071868 ; =0x020F944C
- ldrb r0, [r0, r3]
- lsl r0, r0, #0x3
- add r0, #0x14
- strh r0, [r1, #0x0]
- ldr r0, _0207186C ; =0x020F944D
- ldrb r0, [r0, r3]
- lsl r0, r0, #0x3
- add r0, #0x14
- strh r0, [r2, #0x0]
- bx lr
- .balign 4
-_02071868: .word 0x020F944C
-_0207186C: .word 0x020F944D
-
- thumb_func_start FUN_02071870
-FUN_02071870: ; 0x02071870
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_0207248C
- cmp r0, #0x0
- bne _02071886
- mov r0, #0x0
- add sp, #0x8
- mvn r0, r0
- pop {r3-r5, pc}
-_02071886:
- ldr r0, _020718C0 ; =0x020F94B8
- bl FUN_02020988
- add r4, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _020718BA
- ldr r1, _020718C4 ; =0x0000FFFE
- add r0, sp, #0x4
- strh r1, [r0, #0x0]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r3, _020718C8 ; =0x021C48F8
- ldr r0, [r5, #0x0]
- ldrh r2, [r3, #0x1c]
- ldrh r3, [r3, #0x1e]
- mov r1, #0x4
- bl FUN_0201AFBC
- cmp r0, #0x0
- bne _020718BA
- mov r0, #0x0
- add sp, #0x8
- mvn r0, r0
- pop {r3-r5, pc}
-_020718BA:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_020718C0: .word 0x020F94B8
-_020718C4: .word 0x0000FFFE
-_020718C8: .word 0x021C48F8
-
- thumb_func_start FUN_020718CC
-FUN_020718CC: ; 0x020718CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0207193C ; =0x000006FC
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C78
- add r2, r0, #0x0
- mov r0, #0x1
- mvn r0, r0
- cmp r2, r0
- beq _020718EC
- add r0, r0, #0x1
- cmp r2, r0
- beq _02071938
- b _02071932
-_020718EC:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02073DB4
- ldr r0, _02071940 ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _0207190E
- cmp r0, #0x11
- bne _0207191A
-_0207190E:
- add r0, r5, #0x0
- mov r1, #0x22
- mov r2, #0x1
- bl FUN_020731C0
- b _02071924
-_0207191A:
- add r0, r5, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
-_02071924:
- ldr r0, _02071944 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r3-r5, pc}
-_02071932:
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx r2
-_02071938:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0207193C: .word 0x000006FC
-_02071940: .word 0x000005A4
-_02071944: .word 0x000005C8
-
- thumb_func_start FUN_02071948
-FUN_02071948: ; 0x02071948
- ldr r2, _0207196C ; =0x020F9544
- mov r3, #0x0
-_0207194C:
- lsl r1, r3, #0x1
- ldrh r1, [r2, r1]
- cmp r0, r1
- bne _0207195C
- add r3, #0xf
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- bx lr
-_0207195C:
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0xf
- blo _0207194C
- mov r0, #0xff
- bx lr
- nop
-_0207196C: .word 0x020F9544
-
- thumb_func_start FUN_02071970
-FUN_02071970: ; 0x02071970
- push {r4-r6, lr}
- sub sp, #0x8
- ldr r1, _02071C18 ; =0x00000B2A
- add r4, r0, #0x0
- ldrh r2, [r4, r1]
- cmp r2, #0x4
- bhi _02071A7A
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0207198A: ; jump table (using 16-bit offset)
- .short _02071994 - _0207198A - 2; case 0
- .short _02071AD2 - _0207198A - 2; case 1
- .short _02071B0C - _0207198A - 2; case 2
- .short _02071B34 - _0207198A - 2; case 3
- .short _02071BE0 - _0207198A - 2; case 4
-_02071994:
- ldr r2, _02071C1C ; =0x021C48B8
- ldr r3, [r2, #0x48]
- mov r2, #0x1
- tst r2, r3
- beq _02071A26
- sub r1, r1, #0x5
- ldrb r1, [r4, r1]
- cmp r1, #0x6
- blo _020719B8
- ldr r0, _02071C20 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_02074538
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_020719B8:
- bl FUN_02071C48
- cmp r0, #0x0
- beq _020719CA
- cmp r0, #0x1
- beq _02071A08
- cmp r0, #0x2
- beq _02071A1A
- b _02071A26
-_020719CA:
- ldr r0, _02071C24 ; =0x000005EC
- bl FUN_020054C8
- ldr r0, _02071C28 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- ldr r0, _02071C2C ; =0x00000B25
- mov r1, #0x2c
- ldrb r2, [r4, r0]
- mul r1, r2
- add r3, r4, r1
- ldr r1, _02071C30 ; =0x00000708
- ldrh r2, [r3, r1]
- sub r1, r1, #0x2
- ldrh r1, [r3, r1]
- sub r2, r2, r1
- add r1, r0, #0x3
- ldrh r1, [r4, r1]
- cmp r2, r1
- bge _020719FA
- add r0, r0, #0x3
- strh r2, [r4, r0]
-_020719FA:
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x2
- strh r1, [r4, r0]
- mov r1, #0x0
- add r0, r0, #0x2
- strh r1, [r4, r0]
- b _02071A26
-_02071A08:
- ldr r0, _02071C20 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x1
- strh r1, [r4, r0]
- add sp, #0x8
- mov r0, #0x14
- pop {r4-r6, pc}
-_02071A1A:
- ldr r0, _02071C34 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x1a
- pop {r4-r6, pc}
-_02071A26:
- ldr r0, _02071C1C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _02071A42
- ldr r0, _02071C20 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_02074538
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02071A42:
- add r0, r4, #0x0
- bl FUN_02070B04
- cmp r0, #0x2
- bne _02071A7A
- ldr r0, _02071C2C ; =0x00000B25
- ldrb r1, [r4, r0]
- sub r0, r0, #0x2
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1a
- cmp r1, r0
- bne _02071A68
- add r0, r4, #0x0
- bl FUN_02074538
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02071A68:
- add r0, r4, #0x0
- bl FUN_02071C48
- cmp r0, #0x0
- beq _02071A7C
- cmp r0, #0x1
- beq _02071ABA
- cmp r0, #0x2
- beq _02071AC6
-_02071A7A:
- b _02071C12
-_02071A7C:
- ldr r0, _02071C24 ; =0x000005EC
- bl FUN_020054C8
- ldr r0, _02071C28 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- ldr r0, _02071C2C ; =0x00000B25
- mov r1, #0x2c
- ldrb r2, [r4, r0]
- mul r1, r2
- add r3, r4, r1
- ldr r1, _02071C30 ; =0x00000708
- ldrh r2, [r3, r1]
- sub r1, r1, #0x2
- ldrh r1, [r3, r1]
- sub r2, r2, r1
- add r1, r0, #0x3
- ldrh r1, [r4, r1]
- cmp r2, r1
- bge _02071AAC
- add r0, r0, #0x3
- strh r2, [r4, r0]
-_02071AAC:
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x2
- strh r1, [r4, r0]
- mov r1, #0x0
- add r0, r0, #0x2
- strh r1, [r4, r0]
- b _02071C12
-_02071ABA:
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x1
- strh r1, [r4, r0]
- add sp, #0x8
- mov r0, #0x14
- pop {r4-r6, pc}
-_02071AC6:
- ldr r0, _02071C34 ; =0x000005F2
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x1a
- pop {r4-r6, pc}
-_02071AD2:
- ldr r0, _02071C1C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- bne _02071ADE
- b _02071C12
-_02071ADE:
- ldr r0, _02071C20 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- ldr r0, _02071C28 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- mov r1, #0x24
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x0
- strh r1, [r4, r0]
- b _02071C12
-_02071B0C:
- sub r1, r1, #0x7
- ldrb r1, [r4, r1]
- mov r2, #0x0
- mvn r2, r2
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_02071CB4
- cmp r0, #0x1
- bne _02071C12
- ldr r0, _02071C24 ; =0x000005EC
- bl FUN_020054C8
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x3
- strh r1, [r4, r0]
- mov r1, #0x0
- add r0, r0, #0x2
- strh r1, [r4, r0]
- b _02071C12
-_02071B34:
- sub r1, r1, #0x5
- ldrb r1, [r4, r1]
- mov r2, #0x1
- bl FUN_02071CB4
- cmp r0, #0x1
- bne _02071C12
- ldr r0, _02071C38 ; =0x000005A4
- ldr r1, _02071C2C ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, _02071C3C ; =0x0000069C
- mov r1, #0x40
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x1
- mov r0, #0x6a
- ldr r2, _02071C40 ; =0x00000B2C
- str r1, [sp, #0x4]
- lsl r0, r0, #0x4
- ldrh r2, [r4, r2]
- ldr r0, [r4, r0]
- mov r3, #0x3
- bl FUN_0200AD38
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02071C44 ; =0x00000B2E
- mov r1, #0x0
- ldrh r0, [r4, r0]
- mov r2, #0xc
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0202914C
- add r1, r0, #0x0
- ldr r0, _02071C38 ; =0x000005A4
- mov r2, #0x1
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x1c]
- add r0, #0x98
- ldr r0, [r0, #0x0]
- bl FUN_02028AD4
- ldr r0, _02071C18 ; =0x00000B2A
- mov r1, #0x4
- strh r1, [r4, r0]
- mov r1, #0x1a
- sub r0, #0x8
- strb r1, [r4, r0]
- add sp, #0x8
- mov r0, #0x14
- pop {r4-r6, pc}
-_02071BE0:
- ldr r0, _02071C1C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02071C12
- ldr r0, _02071C20 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- ldr r0, _02071C28 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- bl FUN_02074538
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02071C12:
- mov r0, #0x1a
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02071C18: .word 0x00000B2A
-_02071C1C: .word 0x021C48B8
-_02071C20: .word 0x000005DC
-_02071C24: .word 0x000005EC
-_02071C28: .word 0x000005C8
-_02071C2C: .word 0x00000B25
-_02071C30: .word 0x00000708
-_02071C34: .word 0x000005F2
-_02071C38: .word 0x000005A4
-_02071C3C: .word 0x0000069C
-_02071C40: .word 0x00000B2C
-_02071C44: .word 0x00000B2E
-
- thumb_func_start FUN_02071C48
-FUN_02071C48: ; 0x02071C48
- push {r3-r5, lr}
- ldr r2, _02071CA8 ; =0x00000B25
- add r4, r0, #0x0
- ldrb r1, [r4, r2]
- mov r0, #0x2c
- mov r3, #0x71
- mul r0, r1
- add r0, r4, r0
- lsl r3, r3, #0x4
- ldrb r5, [r0, r3]
- cmp r5, #0x0
- beq _02071C64
- mov r0, #0x2
- pop {r3-r5, pc}
-_02071C64:
- sub r2, r2, #0x2
- ldrb r2, [r4, r2]
- lsl r2, r2, #0x1a
- lsr r2, r2, #0x1a
- cmp r1, r2
- beq _02071C82
- add r1, r3, #0x0
- sub r1, #0xa
- ldrh r1, [r0, r1]
- cmp r1, #0x0
- beq _02071C82
- sub r3, #0x8
- ldrh r0, [r0, r3]
- cmp r1, r0
- bne _02071CA4
-_02071C82:
- ldr r0, _02071CAC ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- mov r1, #0x83
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _02071CB0 ; =0x00000B2A
- mov r0, #0x1
- strh r0, [r4, r1]
- mov r2, #0x1a
- sub r1, #0x8
- strb r2, [r4, r1]
- pop {r3-r5, pc}
-_02071CA4:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02071CA8: .word 0x00000B25
-_02071CAC: .word 0x000005C8
-_02071CB0: .word 0x00000B2A
-
- thumb_func_start FUN_02071CB4
-FUN_02071CB4: ; 0x02071CB4
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r3, #0x2c
- add r4, r6, #0x0
- mul r4, r3
- ldr r3, _02071D34 ; =0x00000706
- add r5, r0, #0x0
- add r7, r5, r3
- lsl r2, r2, #0x10
- ldrh r3, [r7, r4]
- lsr r2, r2, #0x10
- add r2, r3, r2
- ldr r3, _02071D38 ; =0x00000B2C
- strh r2, [r7, r4]
- ldrh r2, [r5, r3]
- add r2, r2, #0x1
- strh r2, [r5, r3]
- bl FUN_02072BBC
- lsl r1, r6, #0x2
- add r1, r6, r1
- add r1, r1, #0x3
- add r0, r5, #0x4
- lsl r1, r1, #0x4
- add r0, r0, r1
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072B7C
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072C28
- ldr r1, _02071D3C ; =0x00000B28
- ldrh r0, [r5, r1]
- add r1, r1, #0x4
- ldrh r1, [r5, r1]
- cmp r0, r1
- beq _02071D14
- ldr r1, _02071D40 ; =0x00000708
- add r2, r5, r4
- ldrh r0, [r7, r4]
- ldrh r1, [r2, r1]
- cmp r0, r1
- bne _02071D30
-_02071D14:
- ldr r0, _02071D44 ; =0x000005A4
- add r1, r6, #0x0
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldrh r1, [r7, r4]
- add r2, sp, #0x0
- str r1, [sp, #0x0]
- mov r1, #0xa2
- bl FUN_02067830
- mov r0, #0x1
- pop {r3-r7, pc}
-_02071D30:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02071D34: .word 0x00000706
-_02071D38: .word 0x00000B2C
-_02071D3C: .word 0x00000B28
-_02071D40: .word 0x00000708
-_02071D44: .word 0x000005A4
-
- thumb_func_start FUN_02071D48
-FUN_02071D48: ; 0x02071D48
- push {r4, lr}
- ldr r1, _02071DE0 ; =0x021C48B8
- add r4, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x1
- tst r1, r2
- beq _02071D96
- ldr r0, _02071DE4 ; =0x00000B25
- ldrb r1, [r4, r0]
- cmp r1, #0x7
- bne _02071D72
- sub r0, r0, #0x2
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _02071D92
- ldr r0, _02071DE8 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x3
- pop {r4, pc}
-_02071D72:
- mov r0, #0x2c
- mul r0, r1
- add r1, r4, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02071D8C
- ldr r0, _02071DE8 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x0
- pop {r4, pc}
-_02071D8C:
- ldr r0, _02071DEC ; =0x000005F2
- bl FUN_020054C8
-_02071D92:
- mov r0, #0x5
- pop {r4, pc}
-_02071D96:
- mov r1, #0x2
- tst r1, r2
- beq _02071DBA
- ldr r0, _02071DF0 ; =0x00000B23
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _02071DB6
- ldr r0, _02071DE8 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _02071DE4 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
- mov r0, #0x3
- pop {r4, pc}
-_02071DB6:
- mov r0, #0x5
- pop {r4, pc}
-_02071DBA:
- bl FUN_02070B04
- cmp r0, #0x2
- bne _02071DDE
- ldr r1, _02071DE4 ; =0x00000B25
- ldrb r2, [r4, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r4, r1
- mov r1, #0x71
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _02071DDE
- ldr r0, _02071DEC ; =0x000005F2
- bl FUN_020054C8
- mov r0, #0x5
-_02071DDE:
- pop {r4, pc}
- .balign 4
-_02071DE0: .word 0x021C48B8
-_02071DE4: .word 0x00000B25
-_02071DE8: .word 0x000005DC
-_02071DEC: .word 0x000005F2
-_02071DF0: .word 0x00000B23
-
- thumb_func_start FUN_02071DF4
-FUN_02071DF4: ; 0x02071DF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02071F1C ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- mov r2, #0xc
- ldrh r0, [r0, #0x24]
- bl FUN_0206E710
- mov r1, #0x22
- add r4, r0, #0x0
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02071E1E
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02071E30
-_02071E1E:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0207703C
- mov r0, #0x6
- pop {r3-r5, pc}
-_02071E30:
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02071E5A
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02071E5A
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0207703C
- mov r0, #0x6
- pop {r3-r5, pc}
-_02071E5A:
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, _02071F1C ; =0x000005A4
- ldr r2, _02071F20 ; =0x00000B25
- ldr r1, [r5, r0]
- mov r0, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r1, #0x0]
- ldrh r1, [r1, #0x24]
- ldrb r2, [r5, r2]
- mov r3, #0x0
- bl FUN_020847F8
- cmp r0, #0x1
- bne _02071F02
- ldr r0, _02071F1C ; =0x000005A4
- mov r2, #0x1
- ldr r1, [r5, r0]
- mov r3, #0xc
- ldr r0, [r1, #0x4]
- ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_0206E7DC
- cmp r0, #0x0
- ldr r0, _02071F1C ; =0x000005A4
- beq _02071ECC
- ldr r1, _02071F20 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, _02071F1C ; =0x000005A4
- mov r2, #0x3
- ldr r3, [r5, r0]
- add r0, r3, #0x0
- add r0, #0x3c
- str r0, [sp, #0x0]
- ldrh r3, [r3, #0x24]
- mov r0, #0x0
- bl FUN_02069168
- ldr r1, _02071F1C ; =0x000005A4
- ldr r2, [r5, r1]
- strh r0, [r2, #0x38]
- ldr r0, [r5, r1]
- mov r2, #0x8
- add r0, #0x23
- strb r2, [r0, #0x0]
- mov r0, #0x1b
- pop {r3-r5, pc}
-_02071ECC:
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x24]
- bl FUN_0206EB34
- cmp r0, #0x1
- bne _02071EFA
- ldr r0, _02071F1C ; =0x000005A4
- ldr r1, [r5, r0]
- ldr r0, [r1, #0x10]
- cmp r0, #0x0
- beq _02071EFA
- ldr r0, [r1, #0x0]
- ldr r1, _02071F20 ; =0x00000B25
- ldrb r1, [r5, r1]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, _02071F1C ; =0x000005A4
- ldr r2, [r5, r0]
- ldr r0, [r2, #0x10]
- ldrh r2, [r2, #0x24]
- bl FUN_02061618
-_02071EFA:
- add r0, r5, #0x0
- bl FUN_02075C54
- b _02071F18
-_02071F02:
- add r0, r5, #0x0
- mov r1, #0x69
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02071F20 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r5, r0]
- ldr r1, _02071F24 ; =FUN_02075CE4
- sub r0, #0x11
- str r1, [r5, r0]
-_02071F18:
- mov r0, #0x5
- pop {r3-r5, pc}
- .balign 4
-_02071F1C: .word 0x000005A4
-_02071F20: .word 0x00000B25
-_02071F24: .word FUN_02075CE4
-
- thumb_func_start FUN_02071F28
-FUN_02071F28: ; 0x02071F28
- push {r3, lr}
- ldr r1, _02071F50 ; =0x00000B25
- ldrb r2, [r0, r1]
- mov r1, #0x2c
- mul r1, r2
- add r1, r0, r1
- ldr r0, _02071F54 ; =0x0000070C
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- bne _02071F40
- mov r0, #0x0
- pop {r3, pc}
-_02071F40:
- bl FUN_0206EA98
- cmp r0, #0x1
- bne _02071F4C
- mov r0, #0x2
- pop {r3, pc}
-_02071F4C:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_02071F50: .word 0x00000B25
-_02071F54: .word 0x0000070C
-
- thumb_func_start FUN_02071F58
-FUN_02071F58: ; 0x02071F58
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02072074 ; =0x000005A4
- ldr r1, _02072078 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- mov r7, #0x89
- add r0, r5, #0x0
- lsl r7, r7, #0x2
- bl FUN_02071F28
- cmp r0, #0x0
- beq _02071F84
- cmp r0, #0x1
- beq _02071FF2
- cmp r0, #0x2
- beq _02072044
- b _02072054
-_02071F84:
- ldr r0, _02072074 ; =0x000005A4
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x24]
- bl FUN_0206EA98
- cmp r0, #0x1
- bne _02071FA0
- ldr r0, _02072074 ; =0x000005A4
- mov r1, #0x6
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r3-r7, pc}
-_02071FA0:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072080
- ldr r2, _0207207C ; =0x0000069C
- mov r1, #0x76
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- ldr r0, [r5, r2]
- sub r2, #0xfc
- ldr r2, [r5, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x24]
- bl FUN_0200AE38
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
- mov r4, #0xb
- b _02072054
-_02071FF2:
- ldr r2, _0207207C ; =0x0000069C
- mov r1, #0x4e
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r2, _02072078 ; =0x00000B25
- mov r3, #0x6a
- ldrb r4, [r5, r2]
- mov r2, #0x2c
- lsl r3, r3, #0x4
- mul r2, r4
- ldr r0, [r5, r3]
- add r2, r5, r2
- add r3, #0x6c
- ldrh r2, [r2, r3]
- mov r1, #0x1
- bl FUN_0200AE70
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
- mov r4, #0x9
- b _02072054
-_02072044:
- ldr r2, _0207207C ; =0x0000069C
- mov r1, #0x4d
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- mov r4, #0xb
-_02072054:
- add r0, r5, r7
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200D0BC
- add r0, r5, r7
- mov r1, #0xf
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_0207322C
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_02072074: .word 0x000005A4
-_02072078: .word 0x00000B25
-_0207207C: .word 0x0000069C
-
- thumb_func_start FUN_02072080
-FUN_02072080: ; 0x02072080
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _020720D4 ; =0x000005A4
- add r5, r1, #0x0
- ldr r1, [r4, r0]
- mov r2, #0x1
- ldrh r1, [r1, #0x24]
- mov r3, #0xc
- str r1, [sp, #0x0]
- ldr r1, [r4, r0]
- ldr r0, [r1, #0x4]
- ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02069EC4
- ldr r1, _020720D8 ; =0x00000B25
- ldr r0, _020720D4 ; =0x000005A4
- ldrb r3, [r4, r1]
- ldr r0, [r4, r0]
- mov r2, #0x2c
- add r5, r3, #0x0
- mul r5, r2
- ldrh r0, [r0, #0x24]
- ldr r3, _020720DC ; =0x0000070C
- add r5, r4, r5
- strh r0, [r5, r3]
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- mul r2, r1
- add r2, r4, r2
- ldrh r2, [r2, r3]
- bl FUN_02073A78
- pop {r3-r5, pc}
- nop
-_020720D4: .word 0x000005A4
-_020720D8: .word 0x00000B25
-_020720DC: .word 0x0000070C
-
- thumb_func_start FUN_020720E0
-FUN_020720E0: ; 0x020720E0
- push {r0-r3}
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _02072134 ; =0x000005A4
- add r5, r1, #0x0
- ldr r0, [r4, r0]
- lsl r1, r2, #0x10
- ldr r0, [r0, #0x4]
- lsr r1, r1, #0x10
- mov r2, #0x1
- mov r3, #0xc
- bl FUN_0206ED38
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, sp, #0x1c
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02069EC4
- ldr r1, _02072138 ; =0x00000B25
- mov r2, #0x2c
- ldrb r3, [r4, r1]
- ldr r0, [sp, #0x1c]
- add r5, r3, #0x0
- mul r5, r2
- ldr r3, _0207213C ; =0x0000070C
- add r5, r4, r5
- strh r0, [r5, r3]
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- mul r2, r1
- add r2, r4, r2
- ldrh r2, [r2, r3]
- bl FUN_02073A78
- pop {r3-r5}
- pop {r3}
- add sp, #0x10
- bx r3
- nop
-_02072134: .word 0x000005A4
-_02072138: .word 0x00000B25
-_0207213C: .word 0x0000070C
-
- thumb_func_start FUN_02072140
-FUN_02072140: ; 0x02072140
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02072168 ; =0x00000B24
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02072162
- ldr r0, _0207216C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02072162
- add r0, r4, #0x0
- bl FUN_020722B8
- pop {r4, pc}
-_02072162:
- mov r0, #0xb
- pop {r4, pc}
- nop
-_02072168: .word 0x00000B24
-_0207216C: .word 0x021C48B8
-
- thumb_func_start FUN_02072170
-FUN_02072170: ; 0x02072170
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02072190 ; =0x00000B24
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0207218A
- add r0, r4, #0x0
- bl FUN_020732CC
- mov r0, #0xa
- pop {r4, pc}
-_0207218A:
- mov r0, #0x9
- pop {r4, pc}
- nop
-_02072190: .word 0x00000B24
-
- thumb_func_start FUN_02072194
-FUN_02072194: ; 0x02072194
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _020722A4 ; =0x000006FC
- mov r1, #0xc
- ldr r0, [r5, r0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _020721B0
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _02072298
- b _020722A0
-_020721B0:
- ldr r0, _020722A8 ; =0x000005A4
- ldr r1, _020722AC ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r7, r0, #0x0
- ldr r0, _020722A8 ; =0x000005A4
- ldr r0, [r5, r0]
- ldrh r6, [r0, #0x24]
- ldr r0, _020722AC ; =0x00000B25
- ldrb r1, [r5, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r5, r0
- ldr r0, _020722B0 ; =0x0000070C
- ldrh r4, [r1, r0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02072080
- ldr r0, _020722A8 ; =0x000005A4
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- mov r2, #0x1
- ldr r0, [r0, #0x4]
- mov r3, #0xc
- bl FUN_0206ED38
- cmp r0, #0x0
- bne _0207220C
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_020720E0
- ldr r2, _020722B4 ; =0x0000069C
- mov r1, #0x53
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- b _02072282
-_0207220C:
- ldr r0, _020722A8 ; =0x000005A4
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x24]
- bl FUN_0206EA98
- cmp r0, #0x1
- bne _02072246
- ldr r0, _020722A8 ; =0x000005A4
- lsl r1, r4, #0x10
- ldr r0, [r5, r0]
- lsr r1, r1, #0x10
- ldr r0, [r0, #0x4]
- mov r2, #0x1
- mov r3, #0xc
- bl FUN_0206EDD4
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_020720E0
- ldr r0, _020722A8 ; =0x000005A4
- mov r1, #0x6
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r3-r7, pc}
-_02072246:
- ldr r2, _020722B4 ; =0x0000069C
- mov r1, #0x54
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0200AE38
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x2
- add r2, r6, #0x0
- bl FUN_0200AE38
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
-_02072282:
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xf
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_0207322C
- mov r0, #0xb
- pop {r3-r7, pc}
-_02072298:
- add r0, r5, #0x0
- bl FUN_020722B8
- pop {r3-r7, pc}
-_020722A0:
- mov r0, #0xa
- pop {r3-r7, pc}
- .balign 4
-_020722A4: .word 0x000006FC
-_020722A8: .word 0x000005A4
-_020722AC: .word 0x00000B25
-_020722B0: .word 0x0000070C
-_020722B4: .word 0x0000069C
-
- thumb_func_start FUN_020722B8
-FUN_020722B8: ; 0x020722B8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02072304 ; =0x000005A4
- ldr r1, [r4, r0]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0xa
- bne _020722F8
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02072308 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- ldr r0, _02072304 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x20
- strb r1, [r0, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_020722F8:
- mov r0, #0xa
- add r1, #0x23
- strb r0, [r1, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
- nop
-_02072304: .word 0x000005A4
-_02072308: .word 0x000005C8
-
- thumb_func_start FUN_0207230C
-FUN_0207230C: ; 0x0207230C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02072410 ; =0x000005A4
- ldr r1, _02072414 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r7, r0, #0x0
- ldr r0, _02072410 ; =0x000005A4
- ldr r0, [r5, r0]
- ldrh r6, [r0, #0x24]
- ldr r0, _02072414 ; =0x00000B25
- ldrb r1, [r5, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r5, r0
- ldr r0, _02072418 ; =0x0000070C
- ldrh r4, [r1, r0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02072080
- cmp r4, #0x0
- bne _02072388
- ldr r2, _0207241C ; =0x0000069C
- mov r1, #0x76
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- add r0, r7, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- ldr r0, [r5, r2]
- sub r2, #0xfc
- ldr r2, [r5, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x24]
- bl FUN_0200AE38
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
- b _020723D6
-_02072388:
- ldr r0, _02072410 ; =0x000005A4
- lsl r1, r4, #0x10
- ldr r0, [r5, r0]
- lsr r1, r1, #0x10
- ldr r0, [r0, #0x4]
- mov r2, #0x1
- mov r3, #0xc
- bl FUN_0206ED38
- ldr r2, _0207241C ; =0x0000069C
- mov r1, #0x54
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0200AE38
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x2
- add r2, r6, #0x0
- bl FUN_0200AE38
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
-_020723D6:
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200D0BC
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xf
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_0207322C
- ldr r0, _02072410 ; =0x000005A4
- ldr r1, [r5, r0]
- add r0, r1, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0xc
- bne _0207240C
- mov r0, #0xa
- add r1, #0x20
- strb r0, [r1, #0x0]
-_0207240C:
- mov r0, #0xb
- pop {r3-r7, pc}
- .balign 4
-_02072410: .word 0x000005A4
-_02072414: .word 0x00000B25
-_02072418: .word 0x0000070C
-_0207241C: .word 0x0000069C
-
- thumb_func_start FUN_02072420
-FUN_02072420: ; 0x02072420
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02072470 ; =0x00000B25
- ldrb r1, [r4, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r4, r0
- ldr r0, _02072474 ; =0x00000712
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- bne _02072444
- ldr r0, _02072478 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_02072444:
- ldr r0, _0207247C ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C664
- add r0, r4, #0x0
- mov r1, #0xc3
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02072480 ; =FUN_02074428
- ldr r1, _02072484 ; =0x00000B18
- ldr r2, _02072488 ; =FUN_02074454
- str r0, [r4, r1]
- add r0, r1, #0x4
- str r2, [r4, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r4, r1]
- mov r0, #0x14
- pop {r4, pc}
- nop
-_02072470: .word 0x00000B25
-_02072474: .word 0x00000712
-_02072478: .word 0x000005A4
-_0207247C: .word 0x000005C8
-_02072480: .word FUN_02074428
-_02072484: .word 0x00000B18
-_02072488: .word FUN_02074454
-
- thumb_func_start FUN_0207248C
-FUN_0207248C: ; 0x0207248C
- ldr r1, _020724C0 ; =0x000005A4
- ldr r0, [r0, r1]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x5
- beq _020724B8
- cmp r0, #0x6
- beq _020724B8
- cmp r0, #0x7
- beq _020724B8
- cmp r0, #0x8
- beq _020724B8
- cmp r0, #0x9
- beq _020724B8
- cmp r0, #0xb
- beq _020724B8
- cmp r0, #0xe
- beq _020724B8
- cmp r0, #0x10
- beq _020724B8
- cmp r0, #0x14
- bne _020724BC
-_020724B8:
- mov r0, #0x0
- bx lr
-_020724BC:
- mov r0, #0x1
- bx lr
- .balign 4
-_020724C0: .word 0x000005A4
-
- thumb_func_start FUN_020724C4
-FUN_020724C4: ; 0x020724C4
- mov r0, #0x14
- bx lr
-
- thumb_func_start FUN_020724C8
-FUN_020724C8: ; 0x020724C8
- mov r0, #0x15
- bx lr
-
- thumb_func_start FUN_020724CC
-FUN_020724CC: ; 0x020724CC
- mov r0, #0x13
- bx lr
-
- thumb_func_start FUN_020724D0
-FUN_020724D0: ; 0x020724D0
- mov r0, #0x12
- bx lr
-
- thumb_func_start FUN_020724D4
-FUN_020724D4: ; 0x020724D4
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x14
- mov r1, #0x16
- add r2, r4, #0x0
- add r7, r3, #0x0
- bl LoadFromNarc_2
- add r1, sp, #0xc
- str r0, [sp, #0x8]
- bl FUN_020B0180
- ldr r0, [sp, #0xc]
- mov r4, #0x0
- str r0, [sp, #0x4]
- add r0, #0xc
- str r0, [sp, #0x4]
- str r0, [sp, #0x0]
-_020724FE:
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x20
- bl memcpy
- add r1, r4, #0x6
- lsl r2, r1, #0x6
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r1, r2
- mov r2, #0x20
- bl memcpy
- add r1, r4, #0x0
- add r1, #0xc
- lsl r2, r1, #0x6
- ldr r1, [sp, #0x4]
- add r0, r7, #0x0
- add r1, r1, r2
- mov r2, #0x20
- bl memcpy
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r0, #0x40
- str r0, [sp, #0x0]
- add r5, #0x20
- add r6, #0x20
- add r7, #0x20
- cmp r4, #0x6
- blo _020724FE
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02072548
-FUN_02072548: ; 0x02072548
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r0, #0x0
- bl FUN_02019150
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x10
- add r2, #0x8
- bl FUN_02019150
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x20
- add r2, #0x10
- bl FUN_02019150
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x30
- add r2, #0x18
- bl FUN_02019150
- add r5, #0x40
- add r4, #0x20
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02019150
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02072590
-FUN_02072590: ; 0x02072590
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r4, _020726C0 ; =0x020F975C
- ldr r0, [r5, #0x0]
- add r1, r5, #0x4
- add r2, r4, #0x0
- bl FUN_02072548
- add r1, r5, #0x0
- ldr r0, [r5, #0x0]
- ldr r2, _020726C4 ; =0x020F97AC
- add r1, #0xa4
- bl FUN_02072548
- mov r1, #0x51
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726C8 ; =0x020F97FC
- add r1, r5, r1
- bl FUN_02072548
- ldr r0, _020726CC ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- ldr r0, [r5, #0x0]
- bne _020725F8
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r1, #0x54
- add r2, #0xf0
- bl FUN_02072548
- mov r2, #0x46
- add r1, r5, #0x0
- lsl r2, r2, #0x2
- ldr r0, [r5, #0x0]
- add r1, #0xf4
- add r2, r4, r2
- bl FUN_02072548
- mov r2, #0x65
- lsl r2, r2, #0x2
- add r1, r5, r2
- sub r2, #0x54
- ldr r0, [r5, #0x0]
- add r2, r4, r2
- bl FUN_02072548
- b _02072622
-_020725F8:
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r1, #0x54
- add r2, #0x28
- bl FUN_02072548
- add r1, r5, #0x0
- add r2, r4, #0x0
- ldr r0, [r5, #0x0]
- add r1, #0xf4
- add r2, #0x78
- bl FUN_02072548
- mov r1, #0x65
- lsl r1, r1, #0x2
- add r4, #0xc8
- ldr r0, [r5, #0x0]
- add r1, r5, r1
- add r2, r4, #0x0
- bl FUN_02072548
-_02072622:
- ldr r0, _020726CC ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _02072632
- cmp r0, #0x11
- bne _0207265A
-_02072632:
- ldr r1, _020726D0 ; =0x020F96EC
- add r0, sp, #0x0
- ldrh r3, [r1, #0x38]
- add r2, sp, #0x0
- strh r3, [r0, #0x0]
- ldrh r3, [r1, #0x3a]
- strh r3, [r0, #0x2]
- ldrh r3, [r1, #0x3c]
- ldrh r1, [r1, #0x3e]
- strh r3, [r0, #0x4]
- strh r1, [r0, #0x6]
- mov r1, #0x16
- strb r1, [r0, #0x2]
- mov r1, #0x7d
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- add r1, r5, r1
- bl FUN_02019150
- b _02072668
-_0207265A:
- mov r1, #0x7d
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726D4 ; =0x020F9724
- add r1, r5, r1
- bl FUN_02019150
-_02072668:
- mov r1, #0x79
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726D8 ; =0x020F972C
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x81
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726DC ; =0x020F9734
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x85
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726E0 ; =0x020F973C
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x89
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726E4 ; =0x020F9744
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x8d
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726E8 ; =0x020F974C
- add r1, r5, r1
- bl FUN_02019150
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r0, [r5, #0x0]
- ldr r2, _020726EC ; =0x020F9754
- add r1, r5, r1
- bl FUN_02019150
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_020726C0: .word 0x020F975C
-_020726C4: .word 0x020F97AC
-_020726C8: .word 0x020F97FC
-_020726CC: .word 0x000005A4
-_020726D0: .word 0x020F96EC
-_020726D4: .word 0x020F9724
-_020726D8: .word 0x020F972C
-_020726DC: .word 0x020F9734
-_020726E0: .word 0x020F973C
-_020726E4: .word 0x020F9744
-_020726E8: .word 0x020F974C
-_020726EC: .word 0x020F9754
-
- thumb_func_start FUN_020726F0
-FUN_020726F0: ; 0x020726F0
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r5, #0x0
- add r4, r6, #0x4
-_020726F8:
- lsl r0, r5, #0x4
- add r0, r4, r0
- bl FUN_02019178
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x25
- blo _020726F8
- mov r4, #0x95
- lsl r4, r4, #0x2
- add r0, r6, r4
- bl FUN_02019048
- cmp r0, #0x1
- bne _0207271E
- add r0, r6, r4
- bl FUN_02019178
-_0207271E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02072720
-FUN_02072720: ; 0x02072720
- push {r4, lr}
- ldr r2, _020727F8 ; =0x0000069C
- add r4, r0, #0x0
- ldr r0, [r4, r2]
- add r2, #0x10
- ldr r2, [r4, r2]
- mov r1, #0x91
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x92
- ldr r0, [r4, r2]
- add r2, #0x14
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x93
- ldr r0, [r4, r2]
- add r2, #0x18
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0xa0
- ldr r0, [r4, r2]
- add r2, #0x1c
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0xa1
- ldr r0, [r4, r2]
- add r2, #0x20
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x94
- ldr r0, [r4, r2]
- add r2, #0x24
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x95
- ldr r0, [r4, r2]
- add r2, #0x28
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x96
- ldr r0, [r4, r2]
- add r2, #0x2c
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x97
- ldr r0, [r4, r2]
- add r2, #0x30
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x98
- ldr r0, [r4, r2]
- add r2, #0x34
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x99
- ldr r0, [r4, r2]
- add r2, #0x38
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x9a
- ldr r0, [r4, r2]
- add r2, #0x3c
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x9b
- ldr r0, [r4, r2]
- add r2, #0x40
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0x9a
- ldr r0, [r4, r2]
- add r2, #0x44
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- ldr r2, _020727F8 ; =0x0000069C
- mov r1, #0xa6
- ldr r0, [r4, r2]
- add r2, #0x48
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- pop {r4, pc}
- .balign 4
-_020727F8: .word 0x0000069C
-
- thumb_func_start FUN_020727FC
-FUN_020727FC: ; 0x020727FC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02072840 ; =0x0000069C
- add r4, r2, #0x0
- add r7, r1, #0x0
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- add r1, #0x9c
- bl FUN_0200A914
- add r6, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r2, r7, #0x0
- bl FUN_0200AD5C
- mov r1, #0x6a
- add r4, #0xf
- lsl r1, r1, #0x4
- lsl r2, r4, #0x2
- ldr r0, [r5, r1]
- add r2, r5, r2
- add r1, #0xc
- ldr r1, [r2, r1]
- add r2, r6, #0x0
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- pop {r3-r7, pc}
- nop
-_02072840: .word 0x0000069C
-
- thumb_func_start FUN_02072844
-FUN_02072844: ; 0x02072844
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r7, r1, #0x0
- lsl r0, r2, #0x1
- mov r1, #0x17
- sub r1, r1, r0
- lsl r1, r1, #0x18
- str r2, [sp, #0x14]
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- mov r1, #0xc
- lsl r0, r0, #0x18
- str r1, [sp, #0x4]
- lsr r0, r0, #0x18
- mov r1, #0x9
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- lsl r1, r1, #0x6
- str r1, [sp, #0x10]
- add r1, #0x14
- ldr r0, [r5, #0x0]
- add r1, r5, r1
- mov r3, #0x13
- bl FUN_02019064
- ldr r0, [sp, #0x14]
- mov r1, #0xc
- bl FUN_02012838
- ldr r1, _0207294C ; =0x000006F8
- mov r6, #0x0
- str r0, [r5, r1]
- ldr r0, [sp, #0x14]
- add r4, r6, #0x0
- cmp r0, #0x0
- ble _020728D8
-_02072890:
- ldrb r0, [r7, r4]
- cmp r0, #0xf
- blo _020728B4
- bl FUN_02073DA8
- lsl r1, r6, #0x2
- add r2, r0, #0x0
- ldr r0, _0207294C ; =0x000006F8
- add r3, r5, r1
- ldr r1, _02072950 ; =0x000006E8
- ldr r0, [r5, r0]
- ldr r1, [r3, r1]
- bl FUN_020128A0
- add r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- b _020728CC
-_020728B4:
- bl FUN_02073DA8
- ldrb r1, [r7, r4]
- add r2, r0, #0x0
- ldr r0, _0207294C ; =0x000006F8
- lsl r1, r1, #0x2
- add r3, r5, r1
- ldr r1, _02072954 ; =0x000006AC
- ldr r0, [r5, r0]
- ldr r1, [r3, r1]
- bl FUN_020128A0
-_020728CC:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [sp, #0x14]
- cmp r4, r0
- blt _02072890
-_020728D8:
- ldr r0, _0207294C ; =0x000006F8
- mov r1, #0x0
- ldr r0, [r5, r0]
- str r0, [sp, #0x18]
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r5, r0
- str r0, [sp, #0x1c]
- add r0, sp, #0x18
- strb r1, [r0, #0x8]
- mov r1, #0x1
- strb r1, [r0, #0x9]
- ldr r1, [sp, #0x14]
- strb r1, [r0, #0xa]
- ldrb r2, [r0, #0xb]
- mov r1, #0xf
- bic r2, r1
- strb r2, [r0, #0xb]
- ldrb r2, [r0, #0xb]
- mov r1, #0x30
- bic r2, r1
- strb r2, [r0, #0xb]
- ldr r1, [sp, #0x14]
- ldrb r2, [r0, #0xb]
- cmp r1, #0x4
- blo _02072918
- mov r1, #0xc0
- bic r2, r1
- mov r1, #0x40
- orr r1, r2
- strb r1, [r0, #0xb]
- b _0207291E
-_02072918:
- mov r1, #0xc0
- bic r2, r1
- strb r2, [r0, #0xb]
-_0207291E:
- mov r0, #0x95
- lsl r0, r0, #0x2
- mov r1, #0x1
- add r0, r5, r0
- add r2, r1, #0x0
- mov r3, #0xe
- bl FUN_0200CCA4
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x2
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x18
- mov r1, #0x8
- add r3, r2, #0x0
- bl FUN_02001C14
- ldr r1, _02072958 ; =0x000006FC
- str r0, [r5, r1]
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0207294C: .word 0x000006F8
-_02072950: .word 0x000006E8
-_02072954: .word 0x000006AC
-_02072958: .word 0x000006FC
-
- thumb_func_start FUN_0207295C
-FUN_0207295C: ; 0x0207295C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _020729C4 ; =0x000005A4
- ldr r2, [r5, r0]
- add r1, r2, #0x0
- add r1, #0x20
- ldrb r1, [r1, #0x0]
- cmp r1, #0xf
- bne _0207297E
- ldr r2, _020729C8 ; =0x000006A4
- add r0, #0xf8
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- mov r1, #0x2a
- bl FUN_0200A8E0
- pop {r4-r6, pc}
-_0207297E:
- ldr r1, _020729CC ; =0x00000B25
- ldr r0, [r2, #0x0]
- ldrb r1, [r5, r1]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, _020729D0 ; =0x0000069C
- mov r1, #0x25
- ldr r0, [r5, r0]
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
- nop
-_020729C4: .word 0x000005A4
-_020729C8: .word 0x000006A4
-_020729CC: .word 0x00000B25
-_020729D0: .word 0x0000069C
-
- thumb_func_start FUN_020729D4
-FUN_020729D4: ; 0x020729D4
- push {r3-r4, lr}
- sub sp, #0x4
- add r2, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- ldr r0, _020729FC ; =0x00000698
- add r4, r1, #0x0
- ldr r0, [r2, r0]
- add r3, r2, #0x4
- lsl r2, r4, #0x2
- add r2, r4, r2
- add r2, r2, #0x2
- lsl r2, r2, #0x4
- add r2, r3, r2
- mov r1, #0x0
- mov r3, #0x1c
- bl FUN_0200B9A8
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_020729FC: .word 0x00000698
-
- thumb_func_start FUN_02072A00
-FUN_02072A00: ; 0x02072A00
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r4, r2, #0x0
- add r5, r0, #0x0
- ldr r0, _02072A4C ; =0x0000069C
- ldr r1, _02072A50 ; =0x020F96F4
- lsl r2, r4, #0x3
- ldrh r1, [r1, r2]
- ldr r0, [r5, r0]
- bl FUN_0200A914
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- mov r1, #0x2c
- lsl r2, r2, #0x4
- mul r1, r4
- ldr r0, [r5, r2]
- add r1, r5, r1
- add r2, #0x60
- ldr r1, [r1, r2]
- add r2, r6, #0x0
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- pop {r3-r7, pc}
- nop
-_02072A4C: .word 0x0000069C
-_02072A50: .word 0x020F96F4
-
- thumb_func_start FUN_02072A54
-FUN_02072A54: ; 0x02072A54
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- lsl r6, r0, #0x4
- add r7, r1, #0x0
- mov r0, #0x2c
- mul r7, r0
- mov r1, #0x0
- mov r2, #0x7
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02072B14 ; =0x000F0E00
- add r3, r5, r7
- str r0, [sp, #0x8]
- add r4, r5, #0x4
- str r1, [sp, #0xc]
- lsl r2, r2, #0x8
- ldr r2, [r3, r2]
- add r0, r4, r6
- add r3, r1, #0x0
- bl FUN_0201BDE0
- mov r2, #0x71
- add r0, r5, r7
- lsl r2, r2, #0x4
- ldrb r0, [r0, r2]
- cmp r0, #0x1
- bne _02072A9C
- add r0, r4, r6
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r7, pc}
-_02072A9C:
- sub r0, r2, #0x2
- add r0, r5, r0
- ldrh r0, [r0, r7]
- lsl r1, r0, #0x13
- lsr r1, r1, #0x1f
- bne _02072B0A
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1e
- bne _02072ADC
- add r0, r2, #0x0
- sub r0, #0x74
- sub r2, #0x68
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- mov r1, #0x1b
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0xc1
- lsl r0, r0, #0xa
- str r0, [sp, #0x8]
- ldr r2, _02072B18 ; =0x000006A8
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- add r0, r4, r6
- mov r3, #0x40
- bl FUN_0201BDE0
- b _02072B0A
-_02072ADC:
- cmp r0, #0x1
- bne _02072B0A
- add r0, r2, #0x0
- sub r0, #0x74
- sub r2, #0x68
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- mov r1, #0x1c
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02072B1C ; =0x00050600
- ldr r2, _02072B18 ; =0x000006A8
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- add r0, r4, r6
- mov r3, #0x40
- bl FUN_0201BDE0
-_02072B0A:
- add r0, r4, r6
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02072B14: .word 0x000F0E00
-_02072B18: .word 0x000006A8
-_02072B1C: .word 0x00050600
-
- thumb_func_start FUN_02072B20
-FUN_02072B20: ; 0x02072B20
- push {r4, lr}
- sub sp, #0x10
- lsl r2, r1, #0x2
- add r2, r1, r2
- add r2, r2, #0x1
- add r3, r0, #0x4
- lsl r2, r2, #0x4
- add r4, r3, r2
- mov r2, #0x2c
- mul r2, r1
- ldr r3, _02072B78 ; =0x0000070E
- add r2, r0, r2
- ldrh r1, [r2, r3]
- lsl r1, r1, #0x14
- lsr r1, r1, #0x14
- cmp r1, #0x7
- beq _02072B4C
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0x10
- pop {r4, pc}
-_02072B4C:
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r4, [sp, #0x4]
- mov r1, #0x5
- str r1, [sp, #0x8]
- mov r1, #0x2
- str r1, [sp, #0xc]
- add r1, r3, #0x0
- sub r3, r3, #0x4
- sub r1, #0x76
- ldrh r2, [r2, r3]
- ldr r0, [r0, r1]
- mov r1, #0x1
- mov r3, #0x3
- bl FUN_0200BA78
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0x10
- pop {r4, pc}
- nop
-_02072B78: .word 0x0000070E
-
- thumb_func_start FUN_02072B7C
-FUN_02072B7C: ; 0x02072B7C
- push {r4-r5, lr}
- sub sp, #0xc
- add r2, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x2
- add r3, r2, #0x4
- lsl r0, r0, #0x4
- add r4, r3, r0
- mov r3, #0x2c
- mul r3, r1
- add r1, r2, r3
- str r4, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- mov r0, #0x2
- ldr r5, _02072BB8 ; =0x00000698
- str r0, [sp, #0x8]
- ldr r0, [r2, r5]
- add r5, #0x6e
- ldrh r1, [r1, r5]
- mov r2, #0x3
- mov r3, #0x1
- bl FUN_0200B9EC
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02072BB8: .word 0x00000698
-
- thumb_func_start FUN_02072BBC
-FUN_02072BBC: ; 0x02072BBC
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x4
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x2
- lsl r4, r0, #0x4
- mov r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x10
- mov r1, #0x0
- str r0, [sp, #0x4]
- add r0, r5, r4
- mov r2, #0x4
- add r3, r1, #0x0
- bl FUN_020196F4
- add r0, r5, r4
- bl FUN_02019220
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02072BE8
-FUN_02072BE8: ; 0x02072BE8
- push {r4-r5, lr}
- sub sp, #0xc
- add r2, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x2
- add r3, r2, #0x4
- lsl r0, r0, #0x4
- add r4, r3, r0
- mov r3, #0x2c
- mul r3, r1
- add r1, r2, r3
- str r4, [sp, #0x0]
- mov r0, #0x24
- str r0, [sp, #0x4]
- mov r0, #0x2
- ldr r5, _02072C24 ; =0x00000698
- str r0, [sp, #0x8]
- ldr r0, [r2, r5]
- add r5, #0x70
- ldrh r1, [r1, r5]
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_0200B9EC
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02072C24: .word 0x00000698
-
- thumb_func_start FUN_02072C28
-FUN_02072C28: ; 0x02072C28
- push {r4-r7, lr}
- sub sp, #0xc
- lsl r2, r1, #0x2
- add r2, r1, r2
- add r5, r0, #0x0
- add r2, r2, #0x3
- add r0, r5, #0x4
- lsl r2, r2, #0x4
- add r4, r0, r2
- mov r0, #0x2c
- add r6, r1, #0x0
- mul r6, r0
- ldr r0, _02072D0C ; =0x00000708
- mov r2, #0x30
- add r7, r5, r0
- sub r0, r0, #0x2
- add r0, r5, r0
- str r0, [sp, #0x8]
- ldrh r0, [r0, r6]
- ldrh r1, [r7, r6]
- bl FUN_02079A54
- cmp r0, #0x4
- bhi _02072CBE
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02072C64: ; jump table (using 16-bit offset)
- .short _02072C6E - _02072C64 - 2; case 0
- .short _02072CA8 - _02072C64 - 2; case 1
- .short _02072C90 - _02072C64 - 2; case 2
- .short _02072C78 - _02072C64 - 2; case 3
- .short _02072C78 - _02072C64 - 2; case 4
-_02072C6E:
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0xc
- pop {r4-r7, pc}
-_02072C78:
- ldrb r3, [r4, #0x9]
- ldr r1, _02072D10 ; =0x000004B6
- mov r0, #0x1
- lsl r3, r3, #0x4
- add r3, #0x9
- lsl r3, r3, #0x11
- add r1, r5, r1
- mov r2, #0x4
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- b _02072CBE
-_02072C90:
- ldrb r3, [r4, #0x9]
- ldr r1, _02072D14 ; =0x000004D6
- mov r0, #0x1
- lsl r3, r3, #0x4
- add r3, #0x9
- lsl r3, r3, #0x11
- add r1, r5, r1
- mov r2, #0x4
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- b _02072CBE
-_02072CA8:
- ldrb r3, [r4, #0x9]
- ldr r1, _02072D18 ; =0x000004F6
- mov r0, #0x1
- lsl r3, r3, #0x4
- add r3, #0x9
- lsl r3, r3, #0x11
- add r1, r5, r1
- mov r2, #0x4
- lsr r3, r3, #0x10
- bl FUN_02017FB4
-_02072CBE:
- ldr r0, [sp, #0x8]
- ldrh r1, [r7, r6]
- ldrh r0, [r0, r6]
- mov r2, #0x30
- bl FUN_02079A0C
- add r5, r0, #0x0
- str r5, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xa
- mov r2, #0x0
- mov r3, #0x2
- bl FUN_020196F4
- str r5, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x9
- mov r2, #0x0
- mov r3, #0x3
- bl FUN_020196F4
- str r5, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xa
- mov r2, #0x0
- mov r3, #0x5
- bl FUN_020196F4
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02072D0C: .word 0x00000708
-_02072D10: .word 0x000004B6
-_02072D14: .word 0x000004D6
-_02072D18: .word 0x000004F6
-
- thumb_func_start FUN_02072D1C
-FUN_02072D1C: ; 0x02072D1C
- push {r3-r7, lr}
- sub sp, #0x18
- add r6, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r6, #0x2
- add r4, r6, r0
- add r0, r5, #0x4
- str r0, [sp, #0x0]
- lsl r0, r4, #0x4
- ldr r1, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r4, #0x1
- lsl r0, r0, #0x4
- add r7, r5, #0x4
- str r0, [sp, #0x8]
- add r0, r7, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r7, #0x0
- str r0, [sp, #0xc]
- add r0, r4, #0x2
- lsl r0, r0, #0x4
- ldr r1, [sp, #0xc]
- str r0, [sp, #0x10]
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r7, #0x0
- str r0, [sp, #0x14]
- add r0, r4, #0x3
- lsl r4, r0, #0x4
- ldr r0, [sp, #0x14]
- mov r1, #0x0
- add r0, r0, r4
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072A54
- mov r0, #0x2c
- mul r0, r6
- add r1, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _02072DB0
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r0, r1, r0
- bl FUN_02019220
- ldr r0, [sp, #0x8]
- add r0, r7, r0
- bl FUN_02019220
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x10]
- add r0, r1, r0
- bl FUN_02019220
- ldr r0, [sp, #0x14]
- add r0, r0, r4
- bl FUN_02019220
- add sp, #0x18
- pop {r3-r7, pc}
-_02072DB0:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020729D4
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072B20
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072B7C
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072BE8
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02072C28
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02072DDC
-FUN_02072DDC: ; 0x02072DDC
- push {r3-r5, lr}
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r4, r1, r0
- add r1, r5, #0x4
- lsl r0, r4, #0x4
- add r0, r1, r0
- bl FUN_02019548
- add r0, r4, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_02019548
- add r0, r4, #0x2
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_02019548
- add r0, r4, #0x3
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_02019548
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02072E14
-FUN_02072E14: ; 0x02072E14
- push {r3-r5, lr}
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r4, r1, r0
- add r1, r5, #0x4
- lsl r0, r4, #0x4
- add r0, r1, r0
- bl FUN_0201958C
- add r0, r4, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_0201958C
- add r0, r4, #0x2
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_0201958C
- add r0, r4, #0x3
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_0201958C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02072E4C
-FUN_02072E4C: ; 0x02072E4C
- push {r3-r6, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x2
- add r6, r4, r0
- add r1, r5, #0x4
- lsl r0, r6, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r6, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072A54
- mov r0, #0x2c
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _02072E98
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020732F4
- add sp, #0x4
- pop {r3-r6, pc}
-_02072E98:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072B20
- ldr r0, _02072EE0 ; =0x000005A4
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r3, _02072EE0 ; =0x000005A4
- str r0, [sp, #0x0]
- ldr r3, [r5, r3]
- mov r2, #0x3
- ldrh r3, [r3, #0x24]
- bl FUN_02069168
- cmp r0, #0x0
- bne _02072ED0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020732F4
- add sp, #0x4
- pop {r3-r6, pc}
-_02072ED0:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020732F4
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_02072EE0: .word 0x000005A4
-
- thumb_func_start FUN_02072EE4
-FUN_02072EE4: ; 0x02072EE4
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x2
- add r6, r4, r0
- add r1, r5, #0x4
- lsl r0, r6, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r6, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072A54
- mov r0, #0x2c
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _02072F2C
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02073364
- pop {r4-r6, pc}
-_02072F2C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072B20
- ldr r0, _02072F74 ; =0x000005A4
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02076AA0
- cmp r0, #0xff
- bne _02072F58
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02073364
- pop {r4-r6, pc}
-_02072F58:
- cmp r0, #0xfd
- bne _02072F68
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_02073364
- pop {r4-r6, pc}
-_02072F68:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_02073364
- pop {r4-r6, pc}
- .balign 4
-_02072F74: .word 0x000005A4
-
- thumb_func_start FUN_02072F78
-FUN_02072F78: ; 0x02072F78
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x2
- add r6, r4, r0
- add r1, r5, #0x4
- lsl r0, r6, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r6, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072A54
- mov r0, #0x2c
- add r6, r4, #0x0
- mul r6, r0
- mov r0, #0x71
- add r1, r5, r6
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- beq _02072FBE
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072B20
-_02072FBE:
- ldr r2, _02072FD8 ; =0x0000070E
- add r3, r5, r6
- ldrh r2, [r3, r2]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x10
- lsr r2, r2, #0x1f
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_020733E4
- pop {r4-r6, pc}
- nop
-_02072FD8: .word 0x0000070E
-
- thumb_func_start FUN_02072FDC
-FUN_02072FDC: ; 0x02072FDC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- lsl r0, r4, #0x2
- add r6, r4, r0
- add r1, r5, #0x4
- lsl r0, r6, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r6, #0x1
- add r1, r5, #0x4
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072A54
- mov r0, #0x2c
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- beq _02073020
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02072B20
-_02073020:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02073024
-FUN_02073024: ; 0x02073024
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _02073080 ; =0x000005A4
- add r4, r1, #0x0
- ldr r1, [r5, r0]
- mov r2, #0x0
- add r0, r1, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r3, r0, #0x1c
- beq _0207305C
- add r0, r4, #0x1
-_0207303E:
- add r6, r1, r2
- add r6, #0x2c
- ldrb r6, [r6, #0x0]
- cmp r0, r6
- bne _02073052
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073448
- pop {r4-r6, pc}
-_02073052:
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- cmp r2, r3
- blo _0207303E
-_0207305C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02071340
- cmp r0, #0x0
- bne _02073074
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x8
- bl FUN_02073448
- pop {r4-r6, pc}
-_02073074:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x7
- bl FUN_02073448
- pop {r4-r6, pc}
- .balign 4
-_02073080: .word 0x000005A4
-
- thumb_func_start FUN_02073084
-FUN_02073084: ; 0x02073084
- push {r4, lr}
- add r4, r2, #0x0
- mov r2, #0x0
- bl FUN_02002E14
- sub r0, r4, r0
- lsr r0, r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_02073094
-FUN_02073094: ; 0x02073094
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x79
- lsl r0, r0, #0x2
- add r4, r1, #0x0
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x7d
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x1
- tst r0, r4
- beq _020730FE
- ldr r2, _0207314C ; =0x0000069C
- mov r1, #0x0
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- ldr r2, _02073150 ; =0x000001EB
- ldr r1, _02073154 ; =0x000006A8
- ldrb r2, [r5, r2]
- ldr r1, [r5, r1]
- mov r0, #0x0
- lsl r2, r2, #0x3
- bl FUN_02073084
- mov r1, #0x0
- add r3, r0, #0x0
- str r1, [sp, #0x0]
- mov r2, #0xff
- str r2, [sp, #0x4]
- ldr r0, _02073158 ; =0x000F0E00
- add r2, #0xe5
- str r0, [sp, #0x8]
- add r0, r5, r2
- ldr r2, _02073154 ; =0x000006A8
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- bl FUN_0201BDE0
- mov r0, #0x79
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
-_020730FE:
- mov r0, #0x2
- tst r0, r4
- beq _02073148
- ldr r2, _0207314C ; =0x0000069C
- mov r1, #0x1
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- ldr r2, _0207315C ; =0x000001FB
- ldr r1, _02073154 ; =0x000006A8
- ldrb r2, [r5, r2]
- ldr r1, [r5, r1]
- mov r0, #0x0
- lsl r2, r2, #0x3
- bl FUN_02073084
- mov r1, #0x0
- add r3, r0, #0x0
- str r1, [sp, #0x0]
- mov r2, #0xff
- str r2, [sp, #0x4]
- ldr r0, _02073158 ; =0x000F0E00
- add r2, #0xf5
- str r0, [sp, #0x8]
- add r0, r5, r2
- ldr r2, _02073154 ; =0x000006A8
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- bl FUN_0201BDE0
- mov r0, #0x7d
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
-_02073148:
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_0207314C: .word 0x0000069C
-_02073150: .word 0x000001EB
-_02073154: .word 0x000006A8
-_02073158: .word 0x000F0E00
-_0207315C: .word 0x000001FB
-
- thumb_func_start FUN_02073160
-FUN_02073160: ; 0x02073160
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r3, #0x1
- bne _0207317A
- add r0, r4, #0x0
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200D0BC
-_0207317A:
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02019620
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _02073198
- ldr r2, _020731B8 ; =0x0000069C
- add r1, r6, #0x0
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
-_02073198:
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r2, _020731BC ; =0x000006A4
- str r3, [sp, #0x8]
- ldr r2, [r5, r2]
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0201BD84
- add r0, r4, #0x0
- bl FUN_02019220
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_020731B8: .word 0x0000069C
-_020731BC: .word 0x000006A4
-
- thumb_func_start FUN_020731C0
-FUN_020731C0: ; 0x020731C0
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x81
- lsl r1, r1, #0x2
- add r3, r2, #0x0
- add r1, r0, r1
- add r2, r4, #0x0
- bl FUN_02073160
- pop {r4, pc}
-
- thumb_func_start FUN_020731D4
-FUN_020731D4: ; 0x020731D4
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x85
- lsl r1, r1, #0x2
- add r3, r2, #0x0
- add r1, r0, r1
- add r2, r4, #0x0
- bl FUN_02073160
- pop {r4, pc}
-
- thumb_func_start FUN_020731E8
-FUN_020731E8: ; 0x020731E8
- push {r4-r6, lr}
- mov r6, #0x89
- add r5, r0, #0x0
- add r4, r1, #0x0
- lsl r6, r6, #0x2
- cmp r2, #0x1
- bne _02073202
- add r0, r5, r6
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200D0BC
-_02073202:
- add r0, r5, r6
- mov r1, #0xf
- bl FUN_02019620
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _02073220
- ldr r2, _02073228 ; =0x0000069C
- add r1, r4, #0x0
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
-_02073220:
- add r0, r5, #0x0
- bl FUN_0207322C
- pop {r4-r6, pc}
- .balign 4
-_02073228: .word 0x0000069C
-
- thumb_func_start FUN_0207322C
-FUN_0207322C: ; 0x0207322C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- mov r0, #0x1
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002B7C
- ldr r0, _0207326C ; =0x000005A4
- ldr r0, [r4, r0]
- ldr r0, [r0, #0xc]
- bl FUN_02024FF4
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02073270 ; =FUN_0207327C
- ldr r2, _02073274 ; =0x000006A4
- str r0, [sp, #0x8]
- mov r0, #0x89
- lsl r0, r0, #0x2
- ldr r2, [r4, r2]
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0201BD84
- ldr r1, _02073278 ; =0x00000B24
- strb r0, [r4, r1]
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0207326C: .word 0x000005A4
-_02073270: .word FUN_0207327C
-_02073274: .word 0x000006A4
-_02073278: .word 0x00000B24
-
- thumb_func_start FUN_0207327C
-FUN_0207327C: ; 0x0207327C
- push {r3, lr}
- cmp r1, #0x5
- bhi _020732BE
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207328E: ; jump table (using 16-bit offset)
- .short _020732BE - _0207328E - 2; case 0
- .short _0207329A - _0207328E - 2; case 1
- .short _020732A0 - _0207328E - 2; case 2
- .short _020732A6 - _0207328E - 2; case 3
- .short _020732AE - _0207328E - 2; case 4
- .short _020732B6 - _0207328E - 2; case 5
-_0207329A:
- bl FUN_02005514
- pop {r3, pc}
-_020732A0:
- bl FUN_02005CBC
- pop {r3, pc}
-_020732A6:
- ldr r0, _020732C4 ; =0x000005E6
- bl FUN_020054C8
- b _020732BE
-_020732AE:
- ldr r0, _020732C8 ; =0x00000483
- bl FUN_02005C28
- b _020732BE
-_020732B6:
- ldr r0, _020732C4 ; =0x000005E6
- bl FUN_02005508
- pop {r3, pc}
-_020732BE:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_020732C4: .word 0x000005E6
-_020732C8: .word 0x00000483
-
- thumb_func_start FUN_020732CC
-FUN_020732CC: ; 0x020732CC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, _020732EC ; =0x020F96EC
- mov r2, #0x1
- mov r3, #0xe
- bl FUN_02002198
- ldr r1, _020732F0 ; =0x000006FC
- str r0, [r4, r1]
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_020732EC: .word 0x020F96EC
-_020732F0: .word 0x000006FC
-
- thumb_func_start FUN_020732F4
-FUN_020732F4: ; 0x020732F4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x4
- add r4, r5, #0x4
- lsl r6, r0, #0x4
- add r0, r4, r6
- mov r1, #0x0
- add r7, r2, #0x0
- bl FUN_02019620
- cmp r7, #0x0
- beq _02073318
- cmp r7, #0x1
- beq _02073326
- b _02073332
-_02073318:
- ldr r0, _0207335C ; =0x0000069C
- mov r1, #0xb2
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x10]
- b _02073332
-_02073326:
- ldr r0, _0207335C ; =0x0000069C
- mov r1, #0xb3
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x10]
-_02073332:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02073360 ; =0x000F0E00
- ldr r2, [sp, #0x10]
- str r0, [sp, #0x8]
- add r0, r4, r6
- add r3, r1, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
- ldr r0, [sp, #0x10]
- bl FUN_02021A20
- add r0, r4, r6
- bl FUN_02019220
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_0207335C: .word 0x0000069C
-_02073360: .word 0x000F0E00
-
- thumb_func_start FUN_02073364
-FUN_02073364: ; 0x02073364
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x4
- add r4, r5, #0x4
- lsl r7, r0, #0x4
- add r0, r4, r7
- mov r1, #0x0
- add r6, r2, #0x0
- bl FUN_02019620
- cmp r6, #0x0
- beq _0207338C
- cmp r6, #0x1
- beq _0207339A
- cmp r6, #0x2
- beq _020733A8
- b _020733B4
-_0207338C:
- ldr r0, _020733DC ; =0x0000069C
- mov r1, #0xaf
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x10]
- b _020733B4
-_0207339A:
- ldr r0, _020733DC ; =0x0000069C
- mov r1, #0xb0
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x10]
- b _020733B4
-_020733A8:
- ldr r0, _020733DC ; =0x0000069C
- mov r1, #0xb1
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x10]
-_020733B4:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _020733E0 ; =0x000F0E00
- ldr r2, [sp, #0x10]
- str r0, [sp, #0x8]
- add r0, r4, r7
- add r3, r1, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
- ldr r0, [sp, #0x10]
- bl FUN_02021A20
- add r0, r4, r7
- bl FUN_02019220
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_020733DC: .word 0x0000069C
-_020733E0: .word 0x000F0E00
-
- thumb_func_start FUN_020733E4
-FUN_020733E4: ; 0x020733E4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x4
- add r4, r5, #0x4
- lsl r6, r0, #0x4
- add r0, r4, r6
- mov r1, #0x0
- add r7, r2, #0x0
- bl FUN_02019620
- cmp r7, #0x0
- ldr r0, _02073440 ; =0x0000069C
- bne _0207340E
- ldr r0, [r5, r0]
- mov r1, #0xb5
- bl FUN_0200A914
- b _02073416
-_0207340E:
- ldr r0, [r5, r0]
- mov r1, #0xb4
- bl FUN_0200A914
-_02073416:
- mov r1, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02073444 ; =0x000F0E00
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- add r0, r4, r6
- add r3, r1, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
- add r0, r5, #0x0
- bl FUN_02021A20
- add r0, r4, r6
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02073440: .word 0x0000069C
-_02073444: .word 0x000F0E00
-
- thumb_func_start FUN_02073448
-FUN_02073448: ; 0x02073448
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- lsl r0, r1, #0x2
- add r0, r1, r0
- add r0, r0, #0x4
- add r4, r5, #0x4
- lsl r7, r0, #0x4
- add r0, r4, r7
- mov r1, #0x0
- add r6, r2, #0x0
- bl FUN_02019620
- cmp r6, #0x6
- ldr r0, _020734B8 ; =0x0000069C
- bhs _02073476
- add r6, #0xa9
- ldr r0, [r5, r0]
- add r1, r6, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- b _02073490
-_02073476:
- cmp r6, #0x7
- bne _02073486
- ldr r0, [r5, r0]
- mov r1, #0xa7
- bl FUN_0200A914
- add r5, r0, #0x0
- b _02073490
-_02073486:
- ldr r0, [r5, r0]
- mov r1, #0xa8
- bl FUN_0200A914
- add r5, r0, #0x0
-_02073490:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _020734BC ; =0x000F0E00
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- add r0, r4, r7
- add r3, r1, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
- add r0, r5, #0x0
- bl FUN_02021A20
- add r0, r4, r7
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_020734B8: .word 0x0000069C
-_020734BC: .word 0x000F0E00
-
- thumb_func_start FUN_020734C0
-FUN_020734C0: ; 0x020734C0
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- ldr r0, _02073628 ; =0x000005A4
- ldr r1, _0207362C ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa3
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- mov r1, #0xa4
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0x2]
- add r0, r4, #0x0
- mov r1, #0xa5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0x4]
- add r0, r4, #0x0
- mov r1, #0xa7
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0x6]
- add r0, r4, #0x0
- mov r1, #0xa8
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0x8]
- add r0, r4, #0x0
- mov r1, #0xa6
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x20
- strh r0, [r1, #0xa]
- mov r3, #0x1
- mov r1, #0x9
- str r3, [sp, #0x0]
- mov r0, #0xe
- str r0, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- lsl r1, r1, #0x6
- str r1, [sp, #0x10]
- add r1, #0x14
- ldr r0, [r5, #0x0]
- add r1, r5, r1
- bl FUN_02019064
- mov r0, #0x95
- lsl r0, r0, #0x2
- mov r1, #0x1
- add r0, r5, r0
- add r2, r1, #0x0
- mov r3, #0xe
- bl FUN_0200CCA4
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xf
- bl FUN_02019620
- mov r4, #0x0
- str r4, [sp, #0x14]
- add r7, r5, #0x0
- add r6, sp, #0x20
-_0207356C:
- ldr r0, _02073630 ; =0x0000069C
- ldr r1, [sp, #0x14]
- ldr r0, [r5, r0]
- add r1, #0xb9
- bl FUN_0200A914
- str r0, [sp, #0x18]
- mov r1, #0x0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x95
- lsl r0, r0, #0x2
- ldr r2, [sp, #0x18]
- add r0, r5, r0
- add r3, r1, #0x0
- bl FUN_0201BD84
- ldr r0, [sp, #0x18]
- bl FUN_02021A20
- ldr r0, _02073630 ; =0x0000069C
- mov r1, #0xbf
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0x1c]
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, _02073634 ; =0x00000B28
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldrh r3, [r6, #0x0]
- ldrh r2, [r7, r2]
- ldr r0, [r5, r0]
- mov r1, #0x0
- sub r2, r3, r2
- mov r3, #0x2
- bl FUN_0200AD38
- mov r0, #0x6a
- ldr r1, _02073638 ; =0x000006A4
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- ldr r2, [sp, #0x1c]
- bl FUN_0200B7B8
- ldr r0, [sp, #0x1c]
- bl FUN_02021A20
- ldr r1, _02073638 ; =0x000006A4
- mov r0, #0x0
- ldr r1, [r5, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- mov r1, #0x68
- sub r3, r1, r0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, _02073638 ; =0x000006A4
- mov r0, #0x95
- lsl r0, r0, #0x2
- ldr r2, [r5, r2]
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_0201BD84
- ldrh r1, [r6, #0x0]
- ldr r0, _02073634 ; =0x00000B28
- add r4, #0x10
- strh r1, [r7, r0]
- ldr r0, [sp, #0x14]
- add r7, r7, #0x2
- add r0, r0, #0x1
- add r6, r6, #0x2
- str r0, [sp, #0x14]
- cmp r0, #0x6
- blo _0207356C
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-_02073628: .word 0x000005A4
-_0207362C: .word 0x00000B25
-_02073630: .word 0x0000069C
-_02073634: .word 0x00000B28
-_02073638: .word 0x000006A4
-
- thumb_func_start FUN_0207363C
-FUN_0207363C: ; 0x0207363C
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- mov r0, #0x70
- str r0, [sp, #0x4]
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xf
- mov r2, #0x50
- mov r3, #0x0
- bl FUN_020196F4
- ldr r0, _020736E8 ; =0x0000069C
- mov r1, #0xc0
- ldr r0, [r5, r0]
- bl FUN_0200A914
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- add r6, r5, #0x0
- add r4, r0, #0x0
-_0207366E:
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, _020736EC ; =0x00000B28
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldrh r2, [r6, r2]
- ldr r0, [r5, r0]
- mov r1, #0x0
- mov r3, #0x3
- bl FUN_0200AD38
- mov r0, #0x6a
- ldr r1, _020736F0 ; =0x000006A4
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- ldr r2, [sp, #0xc]
- bl FUN_0200B7B8
- ldr r1, _020736F0 ; =0x000006A4
- mov r0, #0x0
- ldr r1, [r5, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- add r7, r0, #0x0
- mov r3, #0x68
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, _020736F0 ; =0x000006A4
- mov r0, #0x95
- lsl r0, r0, #0x2
- ldr r2, [r5, r2]
- add r0, r5, r0
- mov r1, #0x0
- sub r3, r3, r7
- bl FUN_0201BD84
- ldr r0, [sp, #0x10]
- add r6, r6, #0x2
- add r0, r0, #0x1
- add r4, #0x10
- str r0, [sp, #0x10]
- cmp r0, #0x6
- blo _0207366E
- ldr r0, [sp, #0xc]
- bl FUN_02021A20
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_020736E8: .word 0x0000069C
-_020736EC: .word 0x00000B28
-_020736F0: .word 0x000006A4
-
- thumb_func_start FUN_020736F4
-FUN_020736F4: ; 0x020736F4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_0200CCF8
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- pop {r4, pc}
-
- thumb_func_start FUN_02073710
-FUN_02073710: ; 0x02073710
- push {r3-r7, lr}
- sub sp, #0x50
- add r4, r0, #0x0
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- mov r0, #0x20
- mov r1, #0xc
- bl FUN_0201C24C
- mov r0, #0xc
- bl FUN_0200BB14
- ldr r1, _020737BC ; =0x000005A8
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- bl FUN_0200BB34
- ldr r7, _020737C0 ; =0x000005AC
- add r2, sp, #0x30
- ldr r3, _020737C4 ; =0x020F98F4
- str r0, [r4, r7]
- ldmia r3!, {r0-r1}
- add r6, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- ldr r5, _020737C8 ; =0x020F98C4
- stmia r2!, {r0-r1}
- add r3, sp, #0x1c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- str r0, [r3, #0x0]
- sub r0, r7, #0x4
- ldr r0, [r4, r0]
- mov r3, #0x20
- bl FUN_0200BB6C
- sub r1, r7, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- mov r2, #0x23
- bl FUN_0200BBF0
- sub r0, r7, #0x4
- ldr r0, [r4, r0]
- bl FUN_0200BB68
- mov r2, #0x1
- mov r1, #0x0
- lsl r2, r2, #0x14
- bl FUN_02008D24
- ldr r5, _020737CC ; =0x020F98D8
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- sub r1, r7, #0x4
- str r0, [r3, #0x0]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- bl FUN_0200BD20
- add sp, #0x50
- pop {r3-r7, pc}
- .balign 4
-_020737BC: .word 0x000005A8
-_020737C0: .word 0x000005AC
-_020737C4: .word 0x020F98F4
-_020737C8: .word 0x020F98C4
-_020737CC: .word 0x020F98D8
-
- thumb_func_start FUN_020737D0
-FUN_020737D0: ; 0x020737D0
- push {r4-r7, lr}
- sub sp, #0x3c
- add r5, r0, #0x0
- ldr r0, _02073878 ; =0x000005A4
- str r3, [sp, #0x8]
- ldr r0, [r5, r0]
- add r4, r2, #0x0
- ldr r0, [r0, #0x0]
- add r7, r1, #0x0
- bl FUN_0206B9B0
- lsl r1, r4, #0x10
- asr r6, r1, #0x10
- mov r1, #0x2c
- mul r1, r7
- str r1, [sp, #0xc]
- add r2, r5, r1
- ldr r1, _0207387C ; =0x00000716
- str r0, [sp, #0x10]
- strh r6, [r2, r1]
- ldr r3, [sp, #0x8]
- add r1, r1, #0x2
- lsl r3, r3, #0x10
- asr r4, r3, #0x10
- strh r4, [r2, r1]
- add r7, r7, #0x4
- bl FUN_0206B6C8
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, _02073880 ; =0x000005A8
- str r7, [sp, #0x4]
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- mov r2, #0x13
- bl FUN_0200C9D8
- ldr r0, [sp, #0x10]
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- str r7, [sp, #0x14]
- add r0, sp, #0x14
- strh r6, [r0, #0x4]
- strh r4, [r0, #0x6]
- mov r1, #0x0
- strh r1, [r0, #0x8]
- strh r1, [r0, #0xa]
- ldr r0, [sp, #0xc]
- str r1, [sp, #0x20]
- ldr r1, _02073884 ; =0x00000704
- add r3, r5, r0
- ldrh r0, [r3, r1]
- add r1, #0xd
- ldrb r1, [r3, r1]
- bl FUN_0206B7BC
- add r0, r0, #0x3
- str r0, [sp, #0x24]
- mov r0, #0x1
- str r0, [sp, #0x28]
- mov r0, #0x0
- ldr r1, _02073880 ; =0x000005A8
- str r0, [sp, #0x2c]
- str r0, [sp, #0x30]
- str r0, [sp, #0x34]
- str r0, [sp, #0x38]
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, sp, #0x14
- bl FUN_0200BE38
- ldr r1, [sp, #0xc]
- add r2, r5, r1
- ldr r1, _02073888 ; =0x00000724
- str r0, [r2, r1]
- add sp, #0x3c
- pop {r4-r7, pc}
- nop
-_02073878: .word 0x000005A4
-_0207387C: .word 0x00000716
-_02073880: .word 0x000005A8
-_02073884: .word 0x00000704
-_02073888: .word 0x00000724
-
- thumb_func_start FUN_0207388C
-FUN_0207388C: ; 0x0207388C
- push {r4-r7, lr}
- sub sp, #0x14
- ldr r1, _020739AC ; =0x000005A8
- add r5, r0, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- ldr r2, _020739B0 ; =0x020F9914
- bl FUN_0200BE38
- ldr r1, _020739B4 ; =0x000005C8
- ldr r2, _020739B8 ; =0x020F993C
- str r0, [r5, r1]
- add r0, r1, #0x0
- sub r0, #0x20
- sub r1, #0x1c
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- bl FUN_0200BE38
- ldr r1, _020739BC ; =0x000005CC
- ldr r2, _020739C0 ; =0x020F9964
- str r0, [r5, r1]
- add r0, r1, #0x0
- sub r0, #0x24
- sub r1, #0x20
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- bl FUN_0200BE38
- mov r1, #0x5d
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- add r0, r1, #0x0
- sub r0, #0x28
- sub r1, #0x24
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- ldr r2, _020739C4 ; =0x020F998C
- bl FUN_0200BE38
- ldr r1, _020739C8 ; =0x000005D4
- ldr r2, _020739CC ; =0x020F9C84
- str r0, [r5, r1]
- add r0, r1, #0x0
- sub r0, #0x2c
- sub r1, #0x28
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- bl FUN_0200BE38
- mov r1, #0x62
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, _020739B0 ; =0x020F9914
- mov r4, #0x0
- str r4, [sp, #0x4]
- add r6, r5, #0x0
- str r0, [sp, #0x0]
- add r7, r5, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
-_0207390A:
- ldr r0, _020739AC ; =0x000005A8
- ldr r1, _020739D0 ; =0x000005AC
- add r3, r4, #0x0
- ldr r2, [sp, #0x8]
- add r3, #0xa0
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- add r2, r2, r3
- bl FUN_0200BE38
- ldr r1, _020739D4 ; =0x000005D8
- str r0, [r6, r1]
- ldr r1, [sp, #0x0]
- mov r0, #0xa4
- ldrsh r1, [r1, r0]
- ldr r0, _020739D8 ; =0x0000071A
- strh r1, [r7, r0]
- ldr r1, [sp, #0x0]
- mov r0, #0xa6
- ldrsh r1, [r1, r0]
- ldr r0, _020739DC ; =0x0000071C
- strh r1, [r7, r0]
- ldr r0, _020739D4 ; =0x000005D8
- mov r1, #0x0
- ldr r0, [r6, r0]
- bl FUN_020200A0
- mov r2, #0x19
- ldr r0, _020739AC ; =0x000005A8
- ldr r1, _020739D0 ; =0x000005AC
- lsl r2, r2, #0x4
- add r3, r4, r2
- ldr r2, [sp, #0xc]
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- add r2, r2, r3
- bl FUN_0200BE38
- mov r1, #0x5f
- lsl r1, r1, #0x4
- mov r2, #0xa
- str r0, [r6, r1]
- add r0, r1, #0x0
- lsl r2, r2, #0x6
- sub r0, #0x48
- sub r1, #0x44
- add r3, r4, r2
- ldr r2, [sp, #0x10]
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- add r2, r2, r3
- bl FUN_0200BE38
- ldr r1, _020739E0 ; =0x00000608
- add r4, #0x28
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- add r6, r6, #0x4
- add r0, #0x28
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r7, #0x2c
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, #0x6
- blo _0207390A
- add r0, r1, #0x0
- sub r0, #0x3c
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_020739AC: .word 0x000005A8
-_020739B0: .word 0x020F9914
-_020739B4: .word 0x000005C8
-_020739B8: .word 0x020F993C
-_020739BC: .word 0x000005CC
-_020739C0: .word 0x020F9964
-_020739C4: .word 0x020F998C
-_020739C8: .word 0x000005D4
-_020739CC: .word 0x020F9C84
-_020739D0: .word 0x000005AC
-_020739D4: .word 0x000005D8
-_020739D8: .word 0x0000071A
-_020739DC: .word 0x0000071C
-_020739E0: .word 0x00000608
-
- thumb_func_start FUN_020739E4
-FUN_020739E4: ; 0x020739E4
- push {r3-r5, lr}
- sub sp, #0x28
- add r4, r1, #0x0
- mov r1, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- add r0, sp, #0x0
- strh r2, [r0, #0x4]
- strh r3, [r0, #0x6]
- strh r1, [r0, #0x8]
- strh r1, [r0, #0xa]
- mov r0, #0x1
- str r1, [sp, #0x10]
- str r1, [sp, #0x18]
- str r1, [sp, #0x1c]
- str r1, [sp, #0x20]
- str r1, [sp, #0x24]
- ldr r1, _02073A28 ; =0x000005A8
- str r0, [sp, #0xc]
- str r0, [sp, #0x14]
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, sp, #0x0
- bl FUN_0200BE38
- lsl r1, r4, #0x2
- add r2, r5, r1
- mov r1, #0x5b
- lsl r1, r1, #0x4
- str r0, [r2, r1]
- add sp, #0x28
- pop {r3-r5, pc}
- nop
-_02073A28: .word 0x000005A8
-
- thumb_func_start FUN_02073A2C
-FUN_02073A2C: ; 0x02073A2C
- push {r4, lr}
- ldr r1, _02073A48 ; =0x000005A8
- add r4, r0, #0x0
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- bl FUN_0200BCE0
- ldr r0, _02073A48 ; =0x000005A8
- ldr r0, [r4, r0]
- bl FUN_0200BD04
- pop {r4, pc}
- nop
-_02073A48: .word 0x000005A8
-
- thumb_func_start FUN_02073A4C
-FUN_02073A4C: ; 0x02073A4C
- push {r3-r5, lr}
- mov r3, #0x5b
- lsl r3, r3, #0x4
- add r1, #0xa
- add r5, r0, r3
- lsl r4, r1, #0x2
- cmp r2, #0x7
- ldr r0, [r5, r4]
- bne _02073A66
- mov r1, #0x0
- bl FUN_020200A0
- pop {r3-r5, pc}
-_02073A66:
- add r1, r2, #0x0
- bl FUN_02020130
- ldr r0, [r5, r4]
- mov r1, #0x1
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02073A78
-FUN_02073A78: ; 0x02073A78
- push {r3-r5, lr}
- mov r3, #0x5b
- lsl r3, r3, #0x4
- add r1, #0x10
- add r5, r0, r3
- lsl r4, r1, #0x2
- cmp r2, #0x0
- bne _02073A92
- ldr r0, [r5, r4]
- mov r1, #0x0
- bl FUN_020200A0
- pop {r3-r5, pc}
-_02073A92:
- add r0, r2, #0x0
- bl FUN_0206EA98
- cmp r0, #0x1
- ldr r0, [r5, r4]
- bne _02073AA6
- mov r1, #0x1
- bl FUN_02020130
- b _02073AAC
-_02073AA6:
- mov r1, #0x0
- bl FUN_02020130
-_02073AAC:
- ldr r0, [r5, r4]
- mov r1, #0x1
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02073AB8
-FUN_02073AB8: ; 0x02073AB8
- push {r3-r5, lr}
- mov r2, #0x5b
- lsl r2, r2, #0x4
- add r1, #0x10
- lsl r4, r1, #0x2
- add r5, r0, r2
- ldr r0, [r5, r4]
- mov r1, #0x1
- bl FUN_02020130
- ldr r0, [r5, r4]
- mov r1, #0x1
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02073AD8
-FUN_02073AD8: ; 0x02073AD8
- push {r4-r6, lr}
- ldr r6, _02073B08 ; =0x0000071E
- add r5, r1, #0x0
- mov r4, #0x2c
- mul r5, r4
- add r1, #0x10
- lsl r1, r1, #0x2
- add r4, r0, r6
- add r2, #0x8
- strh r2, [r4, r5]
- add r2, r6, #0x2
- add r2, r0, r2
- add r3, #0x8
- add r1, r0, r1
- mov r0, #0x5b
- strh r3, [r2, r5]
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- ldrsh r1, [r4, r5]
- ldrsh r2, [r2, r5]
- bl FUN_0200C6E4
- pop {r4-r6, pc}
- nop
-_02073B08: .word 0x0000071E
-
- thumb_func_start FUN_02073B0C
-FUN_02073B0C: ; 0x02073B0C
- add r2, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x2c
- mul r3, r0
- add r1, #0x16
- lsl r0, r1, #0x2
- add r1, r2, r0
- mov r0, #0x5b
- add r3, r2, r3
- lsl r0, r0, #0x4
- ldr r2, _02073B34 ; =0x0000071E
- ldr r0, [r1, r0]
- ldrsh r1, [r3, r2]
- add r2, r2, #0x2
- ldrsh r2, [r3, r2]
- add r1, #0x8
- lsl r1, r1, #0x10
- ldr r3, _02073B38 ; =FUN_0200C6E4
- asr r1, r1, #0x10
- bx r3
- .balign 4
-_02073B34: .word 0x0000071E
-_02073B38: .word FUN_0200C6E4
-
- thumb_func_start FUN_02073B3C
-FUN_02073B3C: ; 0x02073B3C
- push {r4, lr}
- mov r2, #0x5b
- mov r4, #0x2c
- lsl r2, r2, #0x4
- add r3, r0, r2
- add r2, r1, #0x0
- mul r4, r1
- add r1, r0, r4
- ldr r0, _02073B6C ; =0x00000712
- add r2, #0x16
- ldrh r0, [r1, r0]
- lsl r2, r2, #0x2
- cmp r0, #0x0
- ldr r0, [r3, r2]
- bne _02073B62
- mov r1, #0x0
- bl FUN_020200A0
- pop {r4, pc}
-_02073B62:
- mov r1, #0x1
- bl FUN_020200A0
- pop {r4, pc}
- nop
-_02073B6C: .word 0x00000712
-
- thumb_func_start FUN_02073B70
-FUN_02073B70: ; 0x02073B70
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020201DC
- cmp r4, r0
- beq _02073B8E
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02020208
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02020130
-_02073B8E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02073B90
-FUN_02073B90: ; 0x02073B90
- push {r3, lr}
- add r2, r0, #0x0
- ldrh r0, [r2, #0x6]
- cmp r0, #0x0
- bne _02073B9E
- mov r0, #0x0
- pop {r3, pc}
-_02073B9E:
- ldrh r1, [r2, #0xe]
- lsl r1, r1, #0x14
- lsr r1, r1, #0x14
- cmp r1, #0x7
- beq _02073BB4
- cmp r1, #0x0
- beq _02073BB4
- cmp r1, #0x6
- beq _02073BB4
- mov r0, #0x5
- pop {r3, pc}
-_02073BB4:
- ldrh r1, [r2, #0x8]
- mov r2, #0x30
- bl FUN_02079A54
- cmp r0, #0x4
- bhi _02073BE6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02073BCC: ; jump table (using 16-bit offset)
- .short _02073BE6 - _02073BCC - 2; case 0
- .short _02073BE2 - _02073BCC - 2; case 1
- .short _02073BDE - _02073BCC - 2; case 2
- .short _02073BDA - _02073BCC - 2; case 3
- .short _02073BD6 - _02073BCC - 2; case 4
-_02073BD6:
- mov r0, #0x1
- pop {r3, pc}
-_02073BDA:
- mov r0, #0x2
- pop {r3, pc}
-_02073BDE:
- mov r0, #0x3
- pop {r3, pc}
-_02073BE2:
- mov r0, #0x4
- pop {r3, pc}
-_02073BE6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02073BEC
-FUN_02073BEC: ; 0x02073BEC
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r0, #0x7
- lsl r0, r0, #0x8
- add r0, r6, r0
- mov r5, #0x0
- str r0, [sp, #0x0]
-_02073BFA:
- mov r0, #0x2c
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- add r4, r0, r1
- add r0, r4, #0x0
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02073C9A
- mov r0, #0xb1
- lsl r0, r0, #0x4
- ldrb r0, [r6, r0]
- cmp r0, #0x1
- bne _02073C2C
- ldr r0, _02073CA8 ; =0x00000B0C
- ldrb r0, [r6, r0]
- cmp r0, r5
- beq _02073C28
- ldr r0, _02073CAC ; =0x00000B0D
- ldrb r0, [r6, r0]
- cmp r0, r5
- bne _02073C2C
-_02073C28:
- mov r7, #0x0
- b _02073C34
-_02073C2C:
- add r0, r4, #0x0
- bl FUN_02073B90
- add r7, r0, #0x0
-_02073C34:
- lsl r1, r7, #0x18
- ldr r0, [r4, #0x24]
- lsr r1, r1, #0x18
- bl FUN_02073B70
- mov r1, #0x1
- ldr r0, [r4, #0x24]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, _02073CB0 ; =0x00000B25
- ldrb r0, [r6, r0]
- cmp r0, r5
- bne _02073C8C
- cmp r7, #0x0
- beq _02073C8C
- cmp r7, #0x5
- beq _02073C8C
- ldr r0, [r4, #0x24]
- bl FUN_0202022C
- cmp r0, #0x0
- ldr r0, [r4, #0x24]
- bne _02073C78
- mov r2, #0x18
- ldrsh r2, [r4, r2]
- mov r1, #0x16
- ldrsh r1, [r4, r1]
- sub r2, r2, #0x3
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- b _02073C9A
-_02073C78:
- mov r2, #0x18
- ldrsh r2, [r4, r2]
- mov r1, #0x16
- ldrsh r1, [r4, r1]
- add r2, r2, #0x1
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- b _02073C9A
-_02073C8C:
- mov r1, #0x16
- mov r2, #0x18
- ldrsh r1, [r4, r1]
- ldrsh r2, [r4, r2]
- ldr r0, [r4, #0x24]
- bl FUN_0200C6E4
-_02073C9A:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x6
- blo _02073BFA
- pop {r3-r7, pc}
- nop
-_02073CA8: .word 0x00000B0C
-_02073CAC: .word 0x00000B0D
-_02073CB0: .word 0x00000B25
-
- thumb_func_start FUN_02073CB4
-FUN_02073CB4: ; 0x02073CB4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- ldr r0, _02073D10 ; =0x00000808
- add r4, r1, #0x0
- ldr r1, [r5, r0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r1, sp, #0x0
- add r6, r2, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_0201C620
- ldr r0, _02073D14 ; =0x000005A4
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02073D18 ; =0x000005C8
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02073D18 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _02073D18 ; =0x000005C8
- add r2, sp, #0x0
- ldrb r1, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, r0]
- bl FUN_0200C6E4
- ldr r0, _02073D18 ; =0x000005C8
- add r1, r6, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200C664
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_02073D10: .word 0x00000808
-_02073D14: .word 0x000005A4
-_02073D18: .word 0x000005C8
-
- thumb_func_start FUN_02073D1C
-FUN_02073D1C: ; 0x02073D1C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- lsl r0, r1, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x1
- lsl r1, r2, #0xc
- lsl r0, r0, #0x14
- str r1, [sp, #0x4]
- add r0, r1, r0
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- add r1, sp, #0x0
- bl FUN_02020044
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02020208
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02020130
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02073D6C
-FUN_02073D6C: ; 0x02073D6C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02020128
- cmp r0, #0x1
- bne _02073DA6
- mov r0, #0x62
- lsl r0, r0, #0x4
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_0202022C
- cmp r0, #0x2
- bne _02073DA6
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
-_02073DA6:
- pop {r4, pc}
-
- thumb_func_start FUN_02073DA8
-FUN_02073DA8: ; 0x02073DA8
- lsl r1, r0, #0x2
- ldr r0, _02073DB0 ; =0x020F9CAC
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_02073DB0: .word 0x020F9CAC
-
- thumb_func_start FUN_02073DB4
-FUN_02073DB4: ; 0x02073DB4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- ldr r0, _02073DEC ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_02001C5C
- ldr r0, _02073DF0 ; =0x000006F8
- ldr r0, [r4, r0]
- bl FUN_02012870
- mov r0, #0x95
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019178
- pop {r4, pc}
- .balign 4
-_02073DEC: .word 0x000006FC
-_02073DF0: .word 0x000006F8
-
- thumb_func_start FUN_02073DF4
-FUN_02073DF4: ; 0x02073DF4
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02073DB4
- add r0, r5, #0x0
- mov r1, #0x26
- mov r2, #0x0
- bl FUN_020731D4
- mov r0, #0x3
- mov r1, #0xc
- bl FUN_02012838
- ldr r1, _02073EB0 ; =0x000006F8
- str r0, [r5, r1]
- mov r0, #0x3
- bl FUN_02073DA8
- ldr r1, _02073EB0 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x40
- ldr r1, [r5, r1]
- bl FUN_020128A0
- mov r0, #0x4
- bl FUN_02073DA8
- ldr r1, _02073EB0 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x3c
- ldr r1, [r5, r1]
- bl FUN_020128A0
- mov r0, #0x9
- bl FUN_02073DA8
- ldr r1, _02073EB0 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x28
- ldr r1, [r5, r1]
- bl FUN_020128A0
- ldr r0, _02073EB0 ; =0x000006F8
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r2, sp, #0x8
- str r0, [sp, #0x8]
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r5, r0
- str r0, [sp, #0xc]
- strb r1, [r2, #0x8]
- mov r1, #0x1
- strb r1, [r2, #0x9]
- mov r3, #0x3
- strb r3, [r2, #0xa]
- ldrb r6, [r2, #0xb]
- mov r3, #0xf
- bic r6, r3
- strb r6, [r2, #0xb]
- ldrb r6, [r2, #0xb]
- mov r3, #0x30
- bic r6, r3
- strb r6, [r2, #0xb]
- ldrb r6, [r2, #0xb]
- mov r3, #0xc0
- bic r6, r3
- strb r6, [r2, #0xb]
- add r2, r1, #0x0
- mov r3, #0xe
- bl FUN_0200CCA4
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x2
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x8
- mov r1, #0x8
- add r3, r2, #0x0
- bl FUN_02001C14
- ldr r1, _02073EB4 ; =0x000006FC
- str r0, [r5, r1]
- mov r0, #0xd
- str r0, [r4, #0x0]
- add sp, #0x14
- pop {r3-r6, pc}
- nop
-_02073EB0: .word 0x000006F8
-_02073EB4: .word 0x000006FC
-
- thumb_func_start FUN_02073EB8
-FUN_02073EB8: ; 0x02073EB8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02073EE0 ; =0x000006FC
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02001C5C
- ldr r0, _02073EE4 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- ldr r0, _02073EE8 ; =0x000005A4
- mov r1, #0x3
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02073EE0: .word 0x000006FC
-_02073EE4: .word 0x000006F8
-_02073EE8: .word 0x000005A4
-
- thumb_func_start FUN_02073EEC
-FUN_02073EEC: ; 0x02073EEC
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r4, r1, #0x0
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldr r0, _02074044 ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _02074048 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- ldr r0, _0207404C ; =0x00000B25
- ldrb r1, [r5, r0]
- mov r0, #0x2c
- mul r0, r1
- add r2, r5, r0
- ldr r0, _02074050 ; =0x0000070C
- ldrh r2, [r2, r0]
- ldr r0, _02074054 ; =0x000005A4
- cmp r2, #0x0
- bne _02073F66
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldr r2, _02074058 ; =0x0000069C
- add r6, r0, #0x0
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- mov r1, #0x51
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
- b _02074018
-_02073F66:
- ldr r0, [r5, r0]
- add r1, r2, #0x0
- ldr r0, [r0, #0x4]
- mov r2, #0x1
- mov r3, #0xc
- bl FUN_0206ED38
- cmp r0, #0x1
- bne _0207400A
- ldr r0, _02074054 ; =0x000005A4
- ldr r1, _0207404C ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x0
- str r1, [sp, #0x0]
- add r6, r0, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r6, #0x0
- bl FUN_02069EC4
- ldr r2, _02074058 ; =0x0000069C
- mov r1, #0x52
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r2, _0207404C ; =0x00000B25
- mov r3, #0x6a
- ldrb r6, [r5, r2]
- mov r2, #0x2c
- lsl r3, r3, #0x4
- mul r2, r6
- ldr r0, [r5, r3]
- add r2, r5, r2
- add r3, #0x6c
- ldrh r2, [r2, r3]
- mov r1, #0x1
- bl FUN_0200AE38
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r1, r2, #0x4
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r1, [r5, r1]
- ldr r2, [r5, r2]
- bl FUN_0200B7B8
- ldr r1, _0207404C ; =0x00000B25
- mov r2, #0x2c
- ldrb r3, [r5, r1]
- mov r0, #0x0
- add r6, r3, #0x0
- mul r6, r2
- ldr r3, _02074050 ; =0x0000070C
- add r6, r5, r6
- strh r0, [r6, r3]
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- mul r2, r1
- add r2, r5, r2
- ldrh r2, [r2, r3]
- bl FUN_02073A78
- b _02074018
-_0207400A:
- ldr r2, _02074058 ; =0x0000069C
- mov r1, #0x53
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
-_02074018:
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- mov r2, #0xa
- mov r3, #0xf
- bl FUN_0200D0BC
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0xf
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_0207322C
- mov r0, #0xf
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_02074044: .word 0x000006FC
-_02074048: .word 0x000006F8
-_0207404C: .word 0x00000B25
-_02074050: .word 0x0000070C
-_02074054: .word 0x000005A4
-_02074058: .word 0x0000069C
-
- thumb_func_start FUN_0207405C
-FUN_0207405C: ; 0x0207405C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020740A0 ; =0x00000B24
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _0207409A
- ldr r0, _020740A4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0207409A
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _020740A8 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r4, pc}
-_0207409A:
- mov r0, #0xf
- pop {r4, pc}
- nop
-_020740A0: .word 0x00000B24
-_020740A4: .word 0x021C48B8
-_020740A8: .word 0x000005C8
-
- thumb_func_start FUN_020740AC
-FUN_020740AC: ; 0x020740AC
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02073DB4
- add r0, r5, #0x0
- mov r1, #0x27
- mov r2, #0x0
- bl FUN_020731D4
- mov r0, #0x3
- mov r1, #0xc
- bl FUN_02012838
- ldr r1, _02074168 ; =0x000006F8
- str r0, [r5, r1]
- mov r0, #0x6
- bl FUN_02073DA8
- ldr r1, _02074168 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x34
- ldr r1, [r5, r1]
- bl FUN_020128A0
- mov r0, #0x7
- bl FUN_02073DA8
- ldr r1, _02074168 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x30
- ldr r1, [r5, r1]
- bl FUN_020128A0
- mov r0, #0x9
- bl FUN_02073DA8
- ldr r1, _02074168 ; =0x000006F8
- add r2, r0, #0x0
- ldr r0, [r5, r1]
- sub r1, #0x28
- ldr r1, [r5, r1]
- bl FUN_020128A0
- ldr r0, _02074168 ; =0x000006F8
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r2, sp, #0x8
- str r0, [sp, #0x8]
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r5, r0
- str r0, [sp, #0xc]
- strb r1, [r2, #0x8]
- mov r1, #0x1
- strb r1, [r2, #0x9]
- mov r3, #0x3
- strb r3, [r2, #0xa]
- ldrb r6, [r2, #0xb]
- mov r3, #0xf
- bic r6, r3
- strb r6, [r2, #0xb]
- ldrb r6, [r2, #0xb]
- mov r3, #0x30
- bic r6, r3
- strb r6, [r2, #0xb]
- ldrb r6, [r2, #0xb]
- mov r3, #0xc0
- bic r6, r3
- strb r6, [r2, #0xb]
- add r2, r1, #0x0
- mov r3, #0xe
- bl FUN_0200CCA4
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x2
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x8
- mov r1, #0x8
- add r3, r2, #0x0
- bl FUN_02001C14
- ldr r1, _0207416C ; =0x000006FC
- str r0, [r5, r1]
- mov r0, #0xd
- str r0, [r4, #0x0]
- add sp, #0x14
- pop {r3-r6, pc}
- nop
-_02074168: .word 0x000006F8
-_0207416C: .word 0x000006FC
-
- thumb_func_start FUN_02074170
-FUN_02074170: ; 0x02074170
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02074198 ; =0x000006FC
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02001C5C
- ldr r0, _0207419C ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- ldr r0, _020741A0 ; =0x000005A4
- mov r1, #0x7
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02074198: .word 0x000006FC
-_0207419C: .word 0x000006F8
-_020741A0: .word 0x000005A4
-
- thumb_func_start FUN_020741A4
-FUN_020741A4: ; 0x020741A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r4, r1, #0x0
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldr r0, _020741EC ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _020741F0 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- add r0, r5, #0x0
- mov r1, #0x2b
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _020741F4 ; =FUN_02074200
- ldr r1, _020741F8 ; =0x00000B18
- ldr r2, _020741FC ; =FUN_02074278
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- nop
-_020741EC: .word 0x000006FC
-_020741F0: .word 0x000006F8
-_020741F4: .word FUN_02074200
-_020741F8: .word 0x00000B18
-_020741FC: .word FUN_02074278
-
- thumb_func_start FUN_02074200
-FUN_02074200: ; 0x02074200
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _02074268 ; =0x000005A4
- ldr r1, _0207426C ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, _02074268 ; =0x000005A4
- mov r2, #0xc
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x8]
- bl FUN_02085644
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02074254
- ldr r1, _0207426C ; =0x00000B25
- mov r2, #0x2c
- ldrb r3, [r4, r1]
- mov r0, #0x0
- add r5, r3, #0x0
- mul r5, r2
- ldr r3, _02074270 ; =0x0000070C
- add r5, r4, r5
- strh r0, [r5, r3]
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- mul r2, r1
- add r2, r4, r2
- ldrh r2, [r2, r3]
- bl FUN_02073A78
- add r0, r4, #0x0
- mov r1, #0x2e
- mov r2, #0x0
- bl FUN_020731E8
- b _0207425E
-_02074254:
- add r0, r4, #0x0
- mov r1, #0x32
- mov r2, #0x0
- bl FUN_020731E8
-_0207425E:
- ldr r0, _02074274 ; =0x00000B22
- mov r1, #0x10
- strb r1, [r4, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_02074268: .word 0x000005A4
-_0207426C: .word 0x00000B25
-_02074270: .word 0x0000070C
-_02074274: .word 0x00000B22
-
- thumb_func_start FUN_02074278
-FUN_02074278: ; 0x02074278
- push {r4, lr}
- mov r1, #0x2f
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020731E8
- ldr r0, _0207429C ; =FUN_020742A8
- ldr r1, _020742A0 ; =0x00000B18
- ldr r2, _020742A4 ; =FUN_02074340
- str r0, [r4, r1]
- add r0, r1, #0x4
- str r2, [r4, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r4, r1]
- mov r0, #0x14
- pop {r4, pc}
- nop
-_0207429C: .word FUN_020742A8
-_020742A0: .word 0x00000B18
-_020742A4: .word FUN_02074340
-
- thumb_func_start FUN_020742A8
-FUN_020742A8: ; 0x020742A8
- push {r3-r5, lr}
- ldr r1, _02074330 ; =0x00000B25
- add r4, r0, #0x0
- ldrb r2, [r4, r1]
- mov r1, #0x2c
- ldr r0, _02074334 ; =0x000005A4
- mul r1, r2
- add r2, r4, r1
- ldr r1, _02074338 ; =0x0000070C
- ldr r0, [r4, r0]
- ldrh r1, [r2, r1]
- ldr r0, [r0, #0x4]
- mov r2, #0x1
- mov r3, #0xc
- bl FUN_0206ED38
- cmp r0, #0x1
- bne _0207431A
- ldr r0, _02074334 ; =0x000005A4
- ldr r1, _02074330 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x0
- str r1, [sp, #0x0]
- add r5, r0, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02069EC4
- ldr r1, _02074330 ; =0x00000B25
- mov r2, #0x2c
- ldrb r3, [r4, r1]
- mov r0, #0x0
- add r5, r3, #0x0
- mul r5, r2
- ldr r3, _02074338 ; =0x0000070C
- add r5, r4, r5
- strh r0, [r5, r3]
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- mul r2, r1
- add r2, r4, r2
- ldrh r2, [r2, r3]
- bl FUN_02073A78
- add r0, r4, #0x0
- mov r1, #0x33
- mov r2, #0x0
- bl FUN_020731E8
- b _02074324
-_0207431A:
- add r0, r4, #0x0
- mov r1, #0x53
- mov r2, #0x0
- bl FUN_020731E8
-_02074324:
- ldr r0, _0207433C ; =0x00000B22
- mov r1, #0x10
- strb r1, [r4, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_02074330: .word 0x00000B25
-_02074334: .word 0x000005A4
-_02074338: .word 0x0000070C
-_0207433C: .word 0x00000B22
-
- thumb_func_start FUN_02074340
-FUN_02074340: ; 0x02074340
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02074368 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_02074368: .word 0x000005C8
-
- thumb_func_start FUN_0207436C
-FUN_0207436C: ; 0x0207436C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020743A4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0207439E
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _020743A8 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r4, pc}
-_0207439E:
- mov r0, #0x10
- pop {r4, pc}
- nop
-_020743A4: .word 0x021C48B8
-_020743A8: .word 0x000005C8
-
- thumb_func_start FUN_020743AC
-FUN_020743AC: ; 0x020743AC
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, _0207440C ; =0x00000B25
- add r5, r0, #0x0
- ldrb r2, [r5, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r5, r1
- ldr r1, _02074410 ; =0x00000712
- ldrh r2, [r2, r1]
- cmp r2, #0x0
- bne _020743E6
- sub r1, #0x16
- ldr r0, [r5, r1]
- mov r1, #0x0
- bl FUN_02001C5C
- ldr r0, _02074414 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- ldr r0, _02074418 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-_020743E6:
- bl FUN_02073DB4
- add r0, r5, #0x0
- mov r1, #0xc3
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207441C ; =FUN_02074428
- ldr r1, _02074420 ; =0x00000B18
- ldr r2, _02074424 ; =FUN_02074454
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_0207440C: .word 0x00000B25
-_02074410: .word 0x00000712
-_02074414: .word 0x000006F8
-_02074418: .word 0x000005A4
-_0207441C: .word FUN_02074428
-_02074420: .word 0x00000B18
-_02074424: .word FUN_02074454
-
- thumb_func_start FUN_02074428
-FUN_02074428: ; 0x02074428
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207444C ; =0x000005A4
- ldr r1, _02074450 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- bl FUN_0206AA84
- ldr r0, _0207444C ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
- .balign 4
-_0207444C: .word 0x000005A4
-_02074450: .word 0x00000B25
-
- thumb_func_start FUN_02074454
-FUN_02074454: ; 0x02074454
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _0207447C ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0207447C: .word 0x000005C8
-
- thumb_func_start FUN_02074480
-FUN_02074480: ; 0x02074480
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02074528 ; =0x00000B23
- add r4, r1, #0x0
- ldrb r2, [r5, r0]
- mov r1, #0x40
- orr r1, r2
- strb r1, [r5, r0]
- ldrb r1, [r5, r0]
- mov r2, #0x3f
- bic r1, r2
- add r2, r0, #0x2
- ldrb r3, [r5, r2]
- mov r2, #0x3f
- and r2, r3
- orr r1, r2
- strb r1, [r5, r0]
- ldr r0, _0207452C ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200C664
- ldr r0, _0207452C ; =0x000005C8
- add r1, sp, #0x0
- ldr r0, [r5, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_0200C75C
- ldr r0, _02074530 ; =0x000005CC
- add r3, sp, #0x0
- mov r1, #0x2
- mov r2, #0x0
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- ldr r0, [r5, r0]
- bl FUN_0200C6E4
- ldr r0, _02074534 ; =0x000005A4
- ldr r1, _02074528 ; =0x00000B23
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _02074530 ; =0x000005CC
- add r1, r1, #0x2
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldr r0, _02074530 ; =0x000005CC
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r1, _02074528 ; =0x00000B23
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020709FC
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02073DB4
- add r0, r5, #0x0
- mov r1, #0x1e
- mov r2, #0x1
- bl FUN_020731C0
- mov r0, #0x18
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- nop
-_02074528: .word 0x00000B23
-_0207452C: .word 0x000005C8
-_02074530: .word 0x000005CC
-_02074534: .word 0x000005A4
-
- thumb_func_start FUN_02074538
-FUN_02074538: ; 0x02074538
- push {r4, lr}
- ldr r1, _02074578 ; =0x00000B23
- add r4, r0, #0x0
- ldrb r2, [r4, r1]
- mov r0, #0x40
- bic r2, r0
- strb r2, [r4, r1]
- ldr r0, _0207457C ; =0x000005CC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _02074580 ; =0x00000B25
- ldrb r1, [r4, r0]
- cmp r1, #0x6
- bhs _0207455E
- add r0, r4, #0x0
- bl FUN_020709FC
-_0207455E:
- ldr r1, _02074578 ; =0x00000B23
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020709FC
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- pop {r4, pc}
- .balign 4
-_02074578: .word 0x00000B23
-_0207457C: .word 0x000005CC
-_02074580: .word 0x00000B25
-
- thumb_func_start FUN_02074584
-FUN_02074584: ; 0x02074584
- push {r3-r7, lr}
- sub sp, #0x28
- ldr r2, _020746AC ; =0x00000B25
- add r6, r0, #0x0
- ldrb r1, [r6, r2]
- add r0, r2, #0x0
- sub r0, #0x19
- strb r1, [r6, r0]
- sub r0, r2, #0x2
- ldrb r0, [r6, r0]
- add r3, r2, #0x0
- sub r3, #0x13
- lsl r0, r0, #0x1a
- lsr r1, r0, #0x1a
- add r0, r2, #0x0
- sub r0, #0x18
- strb r1, [r6, r0]
- add r0, r2, #0x0
- mov r1, #0x1
- sub r0, #0x15
- strb r1, [r6, r0]
- mov r0, #0x0
- strb r0, [r6, r3]
- add r3, r2, #0x0
- sub r3, #0x14
- strb r0, [r6, r3]
- add r3, r2, #0x0
- sub r3, #0x19
- ldrb r3, [r6, r3]
- tst r3, r1
- beq _020745C8
- sub r2, #0x17
- strb r1, [r6, r2]
- b _020745CC
-_020745C8:
- sub r2, #0x17
- strb r0, [r6, r2]
-_020745CC:
- ldr r0, _020746B0 ; =0x00000B0D
- mov r1, #0x1
- ldrb r2, [r6, r0]
- tst r2, r1
- beq _020745D8
- b _020745DA
-_020745D8:
- mov r1, #0x0
-_020745DA:
- add r0, r0, #0x2
- strb r1, [r6, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x2
- bl FUN_0201886C
- str r0, [sp, #0x14]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- bl FUN_0201886C
- ldr r1, _020746B4 ; =0x00000B0C
- str r0, [sp, #0x10]
- ldrb r3, [r6, r1]
- add r1, r1, #0x1
- mov r2, #0x2c
- add r0, r3, #0x0
- ldrb r3, [r6, r1]
- mul r0, r2
- mov r4, #0x0
- add r1, r3, #0x0
- add r3, r6, r0
- ldr r0, _020746B8 ; =0x00000715
- mul r1, r2
- ldrsb r2, [r3, r0]
- str r2, [sp, #0xc]
- sub r2, r0, #0x1
- ldrsb r2, [r3, r2]
- str r2, [sp, #0x8]
- add r2, r6, r1
- ldrsb r1, [r2, r0]
- sub r0, r0, #0x1
- ldrsb r0, [r2, r0]
- str r1, [sp, #0x4]
- str r0, [sp, #0x0]
- ldr r0, _020746BC ; =0x0000080C
- add r0, r6, r0
- str r0, [sp, #0x18]
- ldr r0, _020746C0 ; =0x0000098C
- add r0, r6, r0
- str r0, [sp, #0x1c]
- ldr r0, _020746C4 ; =0x000008CC
- add r0, r6, r0
- str r0, [sp, #0x20]
- ldr r0, _020746C8 ; =0x00000A4C
- add r0, r6, r0
- str r0, [sp, #0x24]
-_02074638:
- ldr r0, [sp, #0xc]
- lsl r5, r4, #0x5
- add r0, r0, r4
- lsl r1, r0, #0x5
- ldr r0, [sp, #0x8]
- mov r2, #0x20
- add r0, r0, r1
- lsl r7, r0, #0x1
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x14]
- add r0, r0, r5
- add r1, r1, r7
- bl memcpy
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x10]
- add r0, r0, r5
- add r1, r1, r7
- mov r2, #0x20
- bl memcpy
- ldr r0, [sp, #0x4]
- mov r2, #0x20
- add r0, r0, r4
- lsl r1, r0, #0x5
- ldr r0, [sp, #0x0]
- add r0, r0, r1
- lsl r7, r0, #0x1
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x14]
- add r0, r0, r5
- add r1, r1, r7
- bl memcpy
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x10]
- add r0, r0, r5
- add r1, r1, r7
- mov r2, #0x20
- bl memcpy
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x6
- blo _02074638
- ldr r0, _020746CC ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r6, r0]
- bl FUN_020200A0
- ldr r0, _020746D0 ; =0x000005CC
- mov r1, #0x0
- ldr r0, [r6, r0]
- bl FUN_020200A0
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_020746AC: .word 0x00000B25
-_020746B0: .word 0x00000B0D
-_020746B4: .word 0x00000B0C
-_020746B8: .word 0x00000715
-_020746BC: .word 0x0000080C
-_020746C0: .word 0x0000098C
-_020746C4: .word 0x000008CC
-_020746C8: .word 0x00000A4C
-_020746CC: .word 0x000005C8
-_020746D0: .word 0x000005CC
-
- thumb_func_start FUN_020746D4
-FUN_020746D4: ; 0x020746D4
- push {r3-r5, lr}
- ldr r1, _02074828 ; =0x0000080C
- add r5, r0, #0x0
- ldr r2, _0207482C ; =0x00000305
- add r4, r5, r1
- ldrb r1, [r4, r2]
- cmp r1, #0x4
- bls _020746E6
- b _02074822
-_020746E6:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020746F2: ; jump table (using 16-bit offset)
- .short _020746FC - _020746F2 - 2; case 0
- .short _0207470C - _020746F2 - 2; case 1
- .short _0207475C - _020746F2 - 2; case 2
- .short _02074770 - _020746F2 - 2; case 3
- .short _020747CE - _020746F2 - 2; case 4
-_020746FC:
- mov r0, #0x6a
- lsl r0, r0, #0x4
- bl FUN_020054C8
- ldr r0, _0207482C ; =0x00000305
- mov r1, #0x1
- strb r1, [r4, r0]
- b _02074822
-_0207470C:
- add r1, r2, #0x1
- ldrb r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x1
- strb r3, [r4, r1]
- mov r1, #0x0
- bl FUN_02074848
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02074848
- ldr r2, _02074830 ; =0x00000302
- add r0, r5, #0x0
- ldrb r2, [r4, r2]
- mov r1, #0x0
- bl FUN_0207499C
- ldr r2, _02074834 ; =0x00000303
- add r0, r5, #0x0
- ldrb r2, [r4, r2]
- mov r1, #0x1
- bl FUN_0207499C
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- bl FUN_0201AC68
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- bl FUN_0201AC68
- ldr r0, _02074838 ; =0x00000306
- ldrb r1, [r4, r0]
- cmp r1, #0x10
- bne _02074822
- mov r1, #0x2
- sub r0, r0, #0x1
- strb r1, [r4, r0]
- b _02074822
-_0207475C:
- bl FUN_02074AF4
- mov r0, #0x6a
- lsl r0, r0, #0x4
- bl FUN_020054C8
- ldr r0, _0207482C ; =0x00000305
- mov r1, #0x3
- strb r1, [r4, r0]
- b _02074822
-_02074770:
- add r1, r2, #0x1
- ldrb r1, [r4, r1]
- sub r3, r1, #0x1
- add r1, r2, #0x1
- strb r3, [r4, r1]
- mov r1, #0x0
- bl FUN_02074848
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02074848
- ldr r2, _02074830 ; =0x00000302
- add r0, r5, #0x0
- ldrb r3, [r4, r2]
- mov r2, #0x1
- mov r1, #0x0
- eor r2, r3
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_0207499C
- ldr r2, _02074834 ; =0x00000303
- mov r1, #0x1
- ldrb r2, [r4, r2]
- add r0, r5, #0x0
- eor r2, r1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_0207499C
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- bl FUN_0201AC68
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- bl FUN_0201AC68
- ldr r0, _02074838 ; =0x00000306
- ldrb r1, [r4, r0]
- cmp r1, #0x0
- bne _02074822
- mov r1, #0x4
- sub r0, r0, #0x1
- strb r1, [r4, r0]
- b _02074822
-_020747CE:
- ldr r0, _0207483C ; =0x000005A4
- sub r1, r2, #0x5
- ldr r0, [r5, r0]
- sub r2, r2, #0x4
- ldrb r1, [r4, r1]
- ldrb r2, [r4, r2]
- ldr r0, [r0, #0x0]
- bl FUN_0206BA38
- ldr r0, _02074840 ; =0x000005C8
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0xc1
- mov r1, #0x0
- lsl r0, r0, #0x2
- strb r1, [r4, r0]
- ldr r1, _02074844 ; =0x00000B23
- mov r0, #0x40
- ldrb r2, [r5, r1]
- bic r2, r0
- strb r2, [r5, r1]
- add r1, r1, #0x2
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- bl FUN_020709FC
- ldr r1, _02074844 ; =0x00000B23
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020709FC
- add r0, r5, #0x0
- mov r1, #0x1d
- mov r2, #0x0
- bl FUN_020731C0
- mov r0, #0x1
- pop {r3-r5, pc}
-_02074822:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02074828: .word 0x0000080C
-_0207482C: .word 0x00000305
-_02074830: .word 0x00000302
-_02074834: .word 0x00000303
-_02074838: .word 0x00000306
-_0207483C: .word 0x000005A4
-_02074840: .word 0x000005C8
-_02074844: .word 0x00000B23
-
- thumb_func_start FUN_02074848
-FUN_02074848: ; 0x02074848
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, _02074990 ; =0x0000080C
- str r1, [sp, #0x1c]
- ldr r1, [sp, #0x1c]
- add r4, r5, r0
- add r2, r4, r1
- mov r1, #0x3
- lsl r1, r1, #0x8
- ldrb r2, [r2, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r5, r1
- add r1, r0, #0x0
- sub r1, #0xf8
- ldrsb r7, [r2, r1]
- sub r0, #0xf7
- ldrb r6, [r2, r0]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x20]
- str r6, [sp, #0x0]
- mov r1, #0x10
- str r1, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r3, [sp, #0x20]
- mov r1, #0x2
- mov r2, #0x0
- bl FUN_02018540
- str r6, [sp, #0x0]
- mov r1, #0x10
- str r1, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r3, [sp, #0x20]
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r1, r4, r0
- ldr r0, _02074994 ; =0x00000302
- ldrb r1, [r1, r0]
- cmp r1, #0x0
- bne _02074918
- add r0, r0, #0x4
- ldrb r2, [r4, r0]
- ldr r0, [sp, #0x1c]
- mov r3, #0x10
- add r7, r0, #0x0
- sub r0, r3, r2
- lsl r0, r0, #0x18
- mov r1, #0xc0
- lsr r0, r0, #0x18
- mul r7, r1
- str r0, [sp, #0x0]
- mov r1, #0x6
- str r1, [sp, #0x4]
- add r0, r4, r7
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- str r3, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x20]
- mov r1, #0x2
- add r3, r6, #0x0
- bl FUN_02018170
- ldr r0, _02074998 ; =0x00000306
- mov r3, #0x10
- ldrb r2, [r4, r0]
- mov r1, #0x6
- sub r0, r3, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- lsl r0, r1, #0x6
- add r0, r4, r0
- str r1, [sp, #0x4]
- add r0, r0, r7
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- str r3, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x20]
- mov r1, #0x1
- add r3, r6, #0x0
- bl FUN_02018170
- add sp, #0x28
- pop {r3-r7, pc}
-_02074918:
- ldr r1, [sp, #0x1c]
- mov r2, #0xc0
- mul r2, r1
- str r2, [sp, #0x24]
- add r0, r0, #0x4
- ldrb r2, [r4, r0]
- mov r3, #0x10
- ldr r1, [sp, #0x24]
- sub r0, r3, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- add r1, r4, r1
- str r1, [sp, #0x8]
- mov r1, #0x0
- str r1, [sp, #0xc]
- str r1, [sp, #0x10]
- str r3, [sp, #0x14]
- add r2, r7, r2
- str r0, [sp, #0x18]
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x18
- add r3, r6, #0x0
- bl FUN_02018170
- ldr r0, _02074998 ; =0x00000306
- ldrb r2, [r4, r0]
- mov r0, #0x10
- sub r0, r0, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x6
- lsl r1, r0, #0x6
- add r3, r4, r1
- ldr r1, [sp, #0x24]
- add r2, r7, r2
- add r1, r3, r1
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- mov r1, #0x0
- str r1, [sp, #0xc]
- str r1, [sp, #0x10]
- mov r1, #0x10
- str r1, [sp, #0x14]
- str r0, [sp, #0x18]
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- lsr r2, r2, #0x18
- add r3, r6, #0x0
- bl FUN_02018170
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_02074990: .word 0x0000080C
-_02074994: .word 0x00000302
-_02074998: .word 0x00000306
-
- thumb_func_start FUN_0207499C
-FUN_0207499C: ; 0x0207499C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02074AE0 ; =0x0000080C
- add r4, r1, #0x0
- add r1, r5, r0
- mov r0, #0x3
- lsl r0, r0, #0x8
- add r6, r1, r0
- ldrb r0, [r6, r4]
- add r7, r2, #0x0
- add r2, sp, #0x0
- lsl r0, r0, #0x2
- add r1, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- add r1, sp, #0x0
- add r1, #0x2
- bl FUN_0200C75C
- cmp r7, #0x0
- ldr r0, _02074AE4 ; =0x00000716
- bne _02074A04
- ldrb r3, [r6, r4]
- mov r7, #0x2c
- add r2, r5, r0
- add r1, r3, #0x0
- mul r1, r7
- ldrsh r3, [r2, r1]
- sub r3, #0x8
- strh r3, [r2, r1]
- ldrb r3, [r6, r4]
- add r1, r0, #0x4
- add r2, r5, r1
- add r1, r3, #0x0
- mul r1, r7
- ldrsh r3, [r2, r1]
- add r0, #0x8
- add r0, r5, r0
- sub r3, #0x8
- strh r3, [r2, r1]
- ldrb r1, [r6, r4]
- add r2, r1, #0x0
- mul r2, r7
- ldrsh r1, [r0, r2]
- sub r1, #0x8
- strh r1, [r0, r2]
- add r1, sp, #0x0
- mov r0, #0x2
- ldrsh r0, [r1, r0]
- sub r0, #0x8
- b _02074A3C
-_02074A04:
- ldrb r3, [r6, r4]
- mov r7, #0x2c
- add r2, r5, r0
- add r1, r3, #0x0
- mul r1, r7
- ldrsh r3, [r2, r1]
- add r3, #0x8
- strh r3, [r2, r1]
- ldrb r3, [r6, r4]
- add r1, r0, #0x4
- add r2, r5, r1
- add r1, r3, #0x0
- mul r1, r7
- ldrsh r3, [r2, r1]
- add r0, #0x8
- add r0, r5, r0
- add r3, #0x8
- strh r3, [r2, r1]
- ldrb r1, [r6, r4]
- add r2, r1, #0x0
- mul r2, r7
- ldrsh r1, [r0, r2]
- add r1, #0x8
- strh r1, [r0, r2]
- add r1, sp, #0x0
- mov r0, #0x2
- ldrsh r0, [r1, r0]
- add r0, #0x8
-_02074A3C:
- strh r0, [r1, #0x2]
- ldrb r1, [r6, r4]
- mov r0, #0x2c
- ldr r2, _02074AE8 ; =0x00000724
- mul r0, r1
- add r3, r5, r0
- add r1, r2, #0x0
- ldr r0, [r3, r2]
- sub r1, #0xe
- sub r2, #0xc
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- bl FUN_0200C6E4
- ldrb r2, [r6, r4]
- mov r0, #0x2c
- ldr r3, _02074AEC ; =0x0000071A
- add r1, r2, #0x0
- add r2, #0xa
- mul r1, r0
- lsl r0, r2, #0x2
- add r2, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- add r2, r5, r1
- ldrsh r1, [r2, r3]
- add r3, r3, #0x2
- ldrsh r2, [r2, r3]
- bl FUN_0200C6E4
- ldrb r2, [r6, r4]
- mov r0, #0x2c
- ldr r3, _02074AF0 ; =0x0000071E
- add r1, r2, #0x0
- add r2, #0x10
- mul r1, r0
- lsl r0, r2, #0x2
- add r2, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- add r2, r5, r1
- ldrsh r1, [r2, r3]
- add r3, r3, #0x2
- ldrsh r2, [r2, r3]
- bl FUN_0200C6E4
- ldrb r2, [r6, r4]
- mov r0, #0x2c
- ldr r3, _02074AF0 ; =0x0000071E
- add r1, r2, #0x0
- add r2, #0x16
- mul r1, r0
- lsl r0, r2, #0x2
- add r2, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- add r2, r5, r1
- ldrsh r1, [r2, r3]
- add r3, r3, #0x2
- ldrsh r2, [r2, r3]
- add r1, #0x8
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- bl FUN_0200C6E4
- ldrb r0, [r6, r4]
- add r3, sp, #0x0
- mov r2, #0x0
- lsl r0, r0, #0x2
- add r1, r5, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- mov r1, #0x2
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- bl FUN_0200C6E4
- pop {r3-r7, pc}
- .balign 4
-_02074AE0: .word 0x0000080C
-_02074AE4: .word 0x00000716
-_02074AE8: .word 0x00000724
-_02074AEC: .word 0x0000071A
-_02074AF0: .word 0x0000071E
-
- thumb_func_start FUN_02074AF4
-FUN_02074AF4: ; 0x02074AF4
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- ldr r0, _02074DD0 ; =0x0000080C
- mov r1, #0x2c
- add r4, r5, r0
- mov r0, #0xc
- bl FUN_02016998
- add r7, r0, #0x0
- mov r0, #0x3
- lsl r0, r0, #0x8
- ldrb r1, [r4, r0]
- mov r0, #0x2c
- add r3, r7, #0x0
- mul r0, r1
- add r1, r5, r0
- mov r0, #0x7
- lsl r0, r0, #0x8
- add r6, r1, r0
- mov r2, #0x5
-_02074B1E:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02074B1E
- ldr r0, [r6, #0x0]
- mov r1, #0x3
- lsl r1, r1, #0x8
- str r0, [r3, #0x0]
- ldrb r0, [r4, r1]
- add r1, r1, #0x1
- ldrb r1, [r4, r1]
- mov r2, #0x2c
- add r3, r0, #0x0
- mul r3, r2
- mul r2, r1
- mov r1, #0x7
- add r0, r5, r3
- lsl r1, r1, #0x8
- add r2, r5, r2
- add r6, r2, r1
- add r3, r0, r1
- mov r2, #0x5
-_02074B4A:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02074B4A
- ldr r0, [r6, #0x0]
- add r6, r7, #0x0
- str r0, [r3, #0x0]
- ldr r0, _02074DD4 ; =0x00000301
- mov r2, #0x5
- ldrb r1, [r4, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r5, r0
- mov r0, #0x7
- lsl r0, r0, #0x8
- add r3, r1, r0
-_02074B6A:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02074B6A
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- str r0, [r3, #0x0]
- mov r0, #0xc
- bl FUN_02016A8C
- mov r1, #0x3
- lsl r1, r1, #0x8
- ldrb r3, [r4, r1]
- ldr r0, _02074DD8 ; =0x00000716
- add r2, r5, r0
- mov r0, #0x2c
- add r7, r3, #0x0
- mul r7, r0
- ldrsh r3, [r2, r7]
- str r3, [sp, #0x0]
- add r3, r1, #0x1
- ldrb r3, [r4, r3]
- add r6, r3, #0x0
- mul r6, r0
- ldr r3, _02074DD8 ; =0x00000716
- add r6, r5, r6
- ldrsh r3, [r6, r3]
- strh r3, [r2, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r6, r5, r3
- ldr r3, [sp, #0x0]
- ldr r2, _02074DD8 ; =0x00000716
- strh r3, [r6, r2]
- add r2, r2, #0x2
- add r3, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsh r2, [r3, r7]
- str r2, [sp, #0x4]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r6, r2, #0x0
- mul r6, r0
- add r2, r5, r6
- ldr r6, _02074DD8 ; =0x00000716
- add r6, r6, #0x2
- ldrsh r2, [r2, r6]
- strh r2, [r3, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- add r6, r3, #0x2
- ldr r3, [sp, #0x4]
- strh r3, [r2, r6]
- ldr r2, _02074DD8 ; =0x00000716
- add r2, r2, #0x4
- add r3, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsh r2, [r3, r7]
- str r2, [sp, #0x8]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r6, r2, #0x0
- mul r6, r0
- add r2, r5, r6
- ldr r6, _02074DD8 ; =0x00000716
- add r6, r6, #0x4
- ldrsh r2, [r2, r6]
- strh r2, [r3, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- add r6, r3, #0x4
- ldr r3, [sp, #0x8]
- strh r3, [r2, r6]
- ldr r2, _02074DD8 ; =0x00000716
- add r2, r2, #0x6
- add r3, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsh r2, [r3, r7]
- str r2, [sp, #0xc]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r6, r2, #0x0
- mul r6, r0
- add r2, r5, r6
- ldr r6, _02074DD8 ; =0x00000716
- add r6, r6, #0x6
- ldrsh r2, [r2, r6]
- strh r2, [r3, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- add r6, r3, #0x6
- ldr r3, [sp, #0xc]
- strh r3, [r2, r6]
- ldr r2, _02074DD8 ; =0x00000716
- add r2, #0x8
- add r6, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsh r2, [r6, r7]
- str r2, [sp, #0x10]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- add r3, #0x8
- ldrsh r2, [r2, r3]
- strh r2, [r6, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r6, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- ldr r2, [sp, #0x10]
- add r3, #0x8
- strh r2, [r6, r3]
- ldr r2, _02074DD8 ; =0x00000716
- add r2, #0xa
- add r6, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsh r2, [r6, r7]
- str r2, [sp, #0x14]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- add r3, #0xa
- ldrsh r2, [r2, r3]
- strh r2, [r6, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r6, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- ldr r2, [sp, #0x14]
- add r3, #0xa
- strh r2, [r6, r3]
- ldr r2, _02074DD8 ; =0x00000716
- sub r2, r2, #0x2
- add r3, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsb r2, [r3, r7]
- str r2, [sp, #0x18]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r6, r2, #0x0
- mul r6, r0
- add r2, r5, r6
- ldr r6, _02074DD8 ; =0x00000716
- sub r6, r6, #0x2
- ldrsb r2, [r2, r6]
- strb r2, [r3, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- mul r3, r0
- add r2, r5, r3
- ldr r3, _02074DD8 ; =0x00000716
- sub r6, r3, #0x2
- ldr r3, [sp, #0x18]
- strb r3, [r2, r6]
- ldr r2, _02074DD8 ; =0x00000716
- sub r2, r2, #0x1
- add r6, r5, r2
- ldrb r2, [r4, r1]
- add r7, r2, #0x0
- mul r7, r0
- ldrsb r2, [r6, r7]
- mov r12, r2
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- add r3, r2, #0x0
- ldr r2, _02074DD8 ; =0x00000716
- mul r3, r0
- add r3, r5, r3
- sub r2, r2, #0x1
- ldrsb r2, [r3, r2]
- strb r2, [r6, r7]
- add r2, r1, #0x1
- ldrb r2, [r4, r2]
- mul r0, r2
- ldr r2, _02074DD8 ; =0x00000716
- add r0, r5, r0
- sub r3, r2, #0x1
- mov r2, r12
- strb r2, [r0, r3]
- ldrb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02072D1C
- ldr r1, _02074DD4 ; =0x00000301
- add r0, r5, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02072D1C
- mov r1, #0x3
- lsl r1, r1, #0x8
- ldrb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02072E14
- ldr r1, _02074DD4 ; =0x00000301
- add r0, r5, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02072E14
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02074DE4
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02074DE4
- mov r0, #0x3
- lsl r0, r0, #0x8
- ldrb r1, [r4, r0]
- mov r2, #0x2c
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02074DDC ; =0x0000070E
- ldrh r2, [r3, r2]
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- ldr r0, _02074DD4 ; =0x00000301
- mov r2, #0x2c
- ldrb r1, [r4, r0]
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02074DDC ; =0x0000070E
- ldrh r2, [r3, r2]
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- mov r0, #0x3
- lsl r0, r0, #0x8
- ldrb r1, [r4, r0]
- mov r2, #0x2c
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02074DE0 ; =0x0000070C
- ldrh r2, [r3, r2]
- bl FUN_02073A78
- ldr r0, _02074DD4 ; =0x00000301
- mov r2, #0x2c
- ldrb r1, [r4, r0]
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02074DE0 ; =0x0000070C
- ldrh r2, [r3, r2]
- bl FUN_02073A78
- mov r1, #0x3
- lsl r1, r1, #0x8
- ldrb r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02073B3C
- ldr r1, _02074DD4 ; =0x00000301
- add r0, r5, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02073B3C
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_02074DD0: .word 0x0000080C
-_02074DD4: .word 0x00000301
-_02074DD8: .word 0x00000716
-_02074DDC: .word 0x0000070E
-_02074DE0: .word 0x0000070C
-
- thumb_func_start FUN_02074DE4
-FUN_02074DE4: ; 0x02074DE4
- push {r3-r7, lr}
- add r7, r1, #0x0
- ldr r1, _02074E6C ; =0x0000080C
- add r6, r0, #0x0
- add r4, r6, r1
- mov r1, #0xc0
- mul r1, r7
- add r5, r4, r1
- bl FUN_020703BC
- add r3, r0, #0x0
- mov r0, #0x3
- add r1, r4, r7
- lsl r0, r0, #0x8
- ldrb r1, [r1, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r6, r0
- mov r0, #0x71
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _02074E3C
- mov r3, #0xf
- mov r1, #0x0
- lsl r3, r3, #0xc
- mov r4, #0x17
-_02074E1A:
- lsl r0, r1, #0x1
- add r2, r5, r0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- add r0, r5, r0
- add r0, #0x6c
- and r2, r3
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- orr r2, r4
- strh r2, [r0, #0x0]
- add r0, r1, #0x1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- cmp r1, #0x9
- blo _02074E1A
- pop {r3-r7, pc}
-_02074E3C:
- mov r6, #0xf
- ldr r0, _02074E70 ; =0x00000FFF
- mov r4, #0x0
- lsl r6, r6, #0xc
-_02074E44:
- lsl r2, r4, #0x1
- add r1, r5, r2
- add r1, #0x6c
- ldrh r1, [r1, #0x0]
- ldrh r7, [r3, r2]
- and r1, r6
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- and r7, r0
- orr r7, r1
- add r1, r5, r2
- add r1, #0x6c
- strh r7, [r1, #0x0]
- add r1, r4, #0x1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r4, #0x9
- blo _02074E44
- pop {r3-r7, pc}
- nop
-_02074E6C: .word 0x0000080C
-_02074E70: .word 0x00000FFF
-
- thumb_func_start FUN_02074E74
-FUN_02074E74: ; 0x02074E74
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r6, r1, #0x0
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02073DB4
- ldr r0, _02074F5C ; =0x000005A4
- mov r4, #0x0
- ldr r0, [r5, r0]
- add r1, r0, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- beq _02074EFA
-_02074E9E:
- add r2, r0, r4
- add r2, #0x2c
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _02074EF0
- ldr r1, _02074F60 ; =0x00000B25
- add r0, r0, r4
- ldrb r2, [r5, r1]
- add r0, #0x2c
- add r2, r2, #0x1
- strb r2, [r0, #0x0]
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- bl FUN_02073024
- add r0, r5, #0x0
- mov r1, #0x22
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02074F64 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200C664
- ldr r0, _02074F5C ; =0x000005A4
- ldr r0, [r5, r0]
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- sub r0, r0, #0x1
- cmp r4, r0
- bne _02074EEA
- add r0, r5, #0x0
- mov r1, #0x6
- bl FUN_02070E60
-_02074EEA:
- mov r0, #0x1
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
-_02074EF0:
- add r2, r4, #0x1
- lsl r2, r2, #0x18
- lsr r4, r2, #0x18
- cmp r4, r1
- blo _02074E9E
-_02074EFA:
- cmp r1, #0x5
- bhi _02074F50
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02074F0A: ; jump table (using 16-bit offset)
- .short _02074F50 - _02074F0A - 2; case 0
- .short _02074F16 - _02074F0A - 2; case 1
- .short _02074F22 - _02074F0A - 2; case 2
- .short _02074F2E - _02074F0A - 2; case 3
- .short _02074F3A - _02074F0A - 2; case 4
- .short _02074F46 - _02074F0A - 2; case 5
-_02074F16:
- add r0, r5, #0x0
- mov r1, #0x7b
- mov r2, #0x1
- bl FUN_020731E8
- b _02074F50
-_02074F22:
- add r0, r5, #0x0
- mov r1, #0x64
- mov r2, #0x1
- bl FUN_020731E8
- b _02074F50
-_02074F2E:
- add r0, r5, #0x0
- mov r1, #0x7c
- mov r2, #0x1
- bl FUN_020731E8
- b _02074F50
-_02074F3A:
- add r0, r5, #0x0
- mov r1, #0x7d
- mov r2, #0x1
- bl FUN_020731E8
- b _02074F50
-_02074F46:
- add r0, r5, #0x0
- mov r1, #0x7e
- mov r2, #0x1
- bl FUN_020731E8
-_02074F50:
- ldr r0, _02074F68 ; =0x00000B22
- mov r1, #0x13
- strb r1, [r5, r0]
- mov r0, #0x14
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
- .balign 4
-_02074F5C: .word 0x000005A4
-_02074F60: .word 0x00000B25
-_02074F64: .word 0x000005C8
-_02074F68: .word 0x00000B22
-
- thumb_func_start FUN_02074F6C
-FUN_02074F6C: ; 0x02074F6C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02074FA4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02074F9E
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x22
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02074FA8 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
- pop {r4, pc}
-_02074F9E:
- mov r0, #0x13
- pop {r4, pc}
- nop
-_02074FA4: .word 0x021C48B8
-_02074FA8: .word 0x000005C8
-
- thumb_func_start FUN_02074FAC
-FUN_02074FAC: ; 0x02074FAC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02075080 ; =0x000005A4
- str r1, [sp, #0x0]
- ldr r1, [r5, r0]
- mov r4, #0x0
- add r0, r1, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r2, r0, #0x1c
- beq _0207502C
- ldr r0, _02075084 ; =0x00000B25
- ldrb r0, [r5, r0]
- add r0, r0, #0x1
-_02074FCA:
- add r3, r1, r4
- add r3, #0x2c
- ldrb r3, [r3, #0x0]
- cmp r0, r3
- bne _02075022
- add r0, r1, r4
- mov r2, #0x0
- add r0, #0x2c
- strb r2, [r0, #0x0]
- ldr r0, _02075080 ; =0x000005A4
- ldr r6, [r5, r0]
- add r0, r6, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- sub r0, r0, #0x1
- cmp r4, r0
- bge _0207502C
- ldr r0, _02075080 ; =0x000005A4
- add r1, r0, #0x0
-_02074FF4:
- add r3, r6, r4
- add r3, #0x2d
- ldrb r3, [r3, #0x0]
- add r6, r6, r4
- add r6, #0x2c
- strb r3, [r6, #0x0]
- ldr r3, [r5, r0]
- add r3, r3, r4
- add r3, #0x2d
- strb r2, [r3, #0x0]
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- ldr r6, [r5, r1]
- lsr r4, r3, #0x18
- add r3, r6, #0x0
- add r3, #0x32
- ldrb r3, [r3, #0x0]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x1c
- sub r3, r3, #0x1
- cmp r4, r3
- blt _02074FF4
- b _0207502C
-_02075022:
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- lsr r4, r3, #0x18
- cmp r4, r2
- blo _02074FCA
-_0207502C:
- ldr r6, _02075088 ; =0x00000729
- mov r4, #0x0
- mov r7, #0x2c
-_02075032:
- add r0, r4, #0x0
- mul r0, r7
- add r0, r5, r0
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _02075046
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02073024
-_02075046:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _02075032
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02073DB4
- add r0, r5, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _0207508C ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200C664
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
- nop
-_02075080: .word 0x000005A4
-_02075084: .word 0x00000B25
-_02075088: .word 0x00000729
-_0207508C: .word 0x000005C8
-
- thumb_func_start FUN_02075090
-FUN_02075090: ; 0x02075090
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020750B8 ; =0x000005A4
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _020750BC ; =0x000006FC
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _020750C0 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- mov r0, #0x1b
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- nop
-_020750B8: .word 0x000005A4
-_020750BC: .word 0x000006FC
-_020750C0: .word 0x000006F8
-
- thumb_func_start FUN_020750C4
-FUN_020750C4: ; 0x020750C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020750EC ; =0x000005A4
- add r4, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x1
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _020750F0 ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _020750F4 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- mov r0, #0x1b
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_020750EC: .word 0x000005A4
-_020750F0: .word 0x000006FC
-_020750F4: .word 0x000006F8
-
- thumb_func_start FUN_020750F8
-FUN_020750F8: ; 0x020750F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02073DB4
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02075118
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02075118
-FUN_02075118: ; 0x02075118
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02075190 ; =0x000005A4
- ldr r1, _02075194 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa1
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- ldr r2, _02075198 ; =0x0000069C
- bne _0207515C
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- mov r1, #0x81
- bl FUN_0200A8E0
- ldr r0, _02075194 ; =0x00000B25
- ldrb r0, [r4, r0]
- add r0, #0x16
- lsl r0, r0, #0x2
- add r1, r4, r0
- mov r0, #0x5b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- mov r1, #0x1
- bl FUN_020200A0
- b _0207516E
-_0207515C:
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- mov r1, #0x82
- bl FUN_0200A8E0
- ldr r0, _02075194 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
-_0207516E:
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02075190 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _0207519C ; =0x00000B22
- mov r1, #0x15
- strb r1, [r4, r0]
- mov r0, #0x14
- pop {r4, pc}
- nop
-_02075190: .word 0x000005A4
-_02075194: .word 0x00000B25
-_02075198: .word 0x0000069C
-_0207519C: .word 0x00000B22
-
- thumb_func_start FUN_020751A0
-FUN_020751A0: ; 0x020751A0
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r4, r0, #0x0
- ldr r1, _02075234 ; =0x000005A4
- mov r0, #0x1
- ldr r1, [r4, r1]
- add r1, #0x23
- ldrb r1, [r1, #0x0]
- sub r1, #0xb
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_02063948
- add r1, r0, #0x0
- beq _020751C8
- ldr r0, _02075234 ; =0x000005A4
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x18]
- blx r1
- b _020751CA
-_020751C8:
- mov r0, #0x1
-_020751CA:
- cmp r0, #0x4
- bhi _0207520A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020751DA: ; jump table (using 16-bit offset)
- .short _020751E4 - _020751DA - 2; case 0
- .short _020751FC - _020751DA - 2; case 1
- .short _02075200 - _020751DA - 2; case 2
- .short _02075204 - _020751DA - 2; case 3
- .short _02075208 - _020751DA - 2; case 4
-_020751E4:
- ldr r0, _02075238 ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_02001C5C
- ldr r0, _0207523C ; =0x000006F8
- ldr r0, [r4, r0]
- bl FUN_02012870
- mov r0, #0x1b
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
-_020751FC:
- mov r5, #0x68
- b _0207520A
-_02075200:
- mov r5, #0x4c
- b _0207520A
-_02075204:
- mov r5, #0xc4
- b _0207520A
-_02075208:
- mov r5, #0x66
-_0207520A:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- bl FUN_02073DB4
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02075240 ; =0x00000B22
- mov r1, #0x3
- strb r1, [r4, r0]
- mov r0, #0x14
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
- nop
-_02075234: .word 0x000005A4
-_02075238: .word 0x000006FC
-_0207523C: .word 0x000006F8
-_02075240: .word 0x00000B22
-
- thumb_func_start FUN_02075244
-FUN_02075244: ; 0x02075244
- ldr r2, _02075254 ; =0x000005A4
- mov r3, #0xb
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075258 ; =FUN_020751A0
- bx r3
- nop
-_02075254: .word 0x000005A4
-_02075258: .word FUN_020751A0
-
- thumb_func_start FUN_0207525C
-FUN_0207525C: ; 0x0207525C
- ldr r2, _0207526C ; =0x000005A4
- mov r3, #0x10
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075270 ; =FUN_020751A0
- bx r3
- nop
-_0207526C: .word 0x000005A4
-_02075270: .word FUN_020751A0
-
- thumb_func_start FUN_02075274
-FUN_02075274: ; 0x02075274
- ldr r2, _02075284 ; =0x000005A4
- mov r3, #0xe
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075288 ; =FUN_020751A0
- bx r3
- nop
-_02075284: .word 0x000005A4
-_02075288: .word FUN_020751A0
-
- thumb_func_start FUN_0207528C
-FUN_0207528C: ; 0x0207528C
- ldr r2, _0207529C ; =0x000005A4
- mov r3, #0xd
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _020752A0 ; =FUN_020751A0
- bx r3
- nop
-_0207529C: .word 0x000005A4
-_020752A0: .word FUN_020751A0
-
- thumb_func_start FUN_020752A4
-FUN_020752A4: ; 0x020752A4
- ldr r2, _020752B4 ; =0x000005A4
- mov r3, #0xf
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _020752B8 ; =FUN_020751A0
- bx r3
- nop
-_020752B4: .word 0x000005A4
-_020752B8: .word FUN_020751A0
-
- thumb_func_start FUN_020752BC
-FUN_020752BC: ; 0x020752BC
- ldr r2, _020752CC ; =0x000005A4
- mov r3, #0x12
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _020752D0 ; =FUN_020751A0
- bx r3
- nop
-_020752CC: .word 0x000005A4
-_020752D0: .word FUN_020751A0
-
- thumb_func_start FUN_020752D4
-FUN_020752D4: ; 0x020752D4
- ldr r2, _020752E4 ; =0x000005A4
- mov r3, #0xc
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _020752E8 ; =FUN_020751A0
- bx r3
- nop
-_020752E4: .word 0x000005A4
-_020752E8: .word FUN_020751A0
-
- thumb_func_start FUN_020752EC
-FUN_020752EC: ; 0x020752EC
- ldr r2, _020752FC ; =0x000005A4
- mov r3, #0x11
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075300 ; =FUN_020751A0
- bx r3
- nop
-_020752FC: .word 0x000005A4
-_02075300: .word FUN_020751A0
-
- thumb_func_start FUN_02075304
-FUN_02075304: ; 0x02075304
- ldr r2, _02075314 ; =0x000005A4
- mov r3, #0x13
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075318 ; =FUN_020751A0
- bx r3
- nop
-_02075314: .word 0x000005A4
-_02075318: .word FUN_020751A0
-
- thumb_func_start FUN_0207531C
-FUN_0207531C: ; 0x0207531C
- ldr r2, _0207532C ; =0x000005A4
- mov r3, #0x14
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075330 ; =FUN_020751A0
- bx r3
- nop
-_0207532C: .word 0x000005A4
-_02075330: .word FUN_020751A0
-
- thumb_func_start FUN_02075334
-FUN_02075334: ; 0x02075334
- ldr r2, _02075344 ; =0x000005A4
- mov r3, #0x15
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075348 ; =FUN_020751A0
- bx r3
- nop
-_02075344: .word 0x000005A4
-_02075348: .word FUN_020751A0
-
- thumb_func_start FUN_0207534C
-FUN_0207534C: ; 0x0207534C
- ldr r2, _0207535C ; =0x000005A4
- mov r3, #0x16
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075360 ; =FUN_020751A0
- bx r3
- nop
-_0207535C: .word 0x000005A4
-_02075360: .word FUN_020751A0
-
- thumb_func_start FUN_02075364
-FUN_02075364: ; 0x02075364
- ldr r2, _02075374 ; =0x000005A4
- mov r3, #0x17
- ldr r2, [r0, r2]
- add r2, #0x23
- strb r3, [r2, #0x0]
- ldr r3, _02075378 ; =FUN_020751A0
- bx r3
- nop
-_02075374: .word 0x000005A4
-_02075378: .word FUN_020751A0
-
- thumb_func_start FUN_0207537C
-FUN_0207537C: ; 0x0207537C
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020753B4
- str r0, [r5, #0x0]
- cmp r0, #0x1a
- bne _02075392
- ldr r0, _02075394 ; =0x00000B2E
- mov r1, #0xd
- strh r1, [r4, r0]
-_02075392:
- pop {r3-r5, pc}
- .balign 4
-_02075394: .word 0x00000B2E
-
- thumb_func_start FUN_02075398
-FUN_02075398: ; 0x02075398
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020753B4
- str r0, [r5, #0x0]
- cmp r0, #0x1a
- bne _020753AE
- ldr r0, _020753B0 ; =0x00000B2E
- mov r1, #0xe
- strh r1, [r4, r0]
-_020753AE:
- pop {r3-r5, pc}
- .balign 4
-_020753B0: .word 0x00000B2E
-
- thumb_func_start FUN_020753B4
-FUN_020753B4: ; 0x020753B4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- bl FUN_02073DB4
- ldr r0, _020754A8 ; =0x00000B25
- ldrb r1, [r4, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r4, r0
- ldr r0, _020754AC ; =0x00000708
- ldrh r0, [r1, r0]
- mov r1, #0x5
- bl _s32_div_f
- ldr r1, _020754B0 ; =0x00000B28
- strh r0, [r4, r1]
- sub r0, r1, #0x3
- ldrb r2, [r4, r0]
- mov r0, #0x2c
- mul r0, r2
- add r2, r4, r0
- ldr r0, _020754B4 ; =0x00000706
- ldrh r2, [r2, r0]
- ldrh r0, [r4, r1]
- cmp r2, r0
- bhi _0207540E
- add r0, r4, #0x0
- mov r1, #0x8a
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _020754B8 ; =0x00000B22
- mov r1, #0x3
- strb r1, [r4, r0]
- add sp, #0x4
- mov r0, #0x14
- pop {r3-r4, pc}
-_0207540E:
- sub r0, r1, #0x5
- ldrb r2, [r4, r0]
- mov r0, #0x40
- orr r2, r0
- sub r0, r1, #0x5
- strb r2, [r4, r0]
- ldrb r0, [r4, r0]
- mov r2, #0x3f
- bic r0, r2
- sub r2, r1, #0x3
- ldrb r3, [r4, r2]
- mov r2, #0x3f
- and r2, r3
- orr r2, r0
- sub r0, r1, #0x5
- strb r2, [r4, r0]
- ldr r0, _020754BC ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- ldr r0, _020754BC ; =0x000005C8
- add r1, sp, #0x0
- ldr r0, [r4, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_0200C75C
- ldr r0, _020754C0 ; =0x000005CC
- add r3, sp, #0x0
- mov r1, #0x2
- mov r2, #0x0
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- ldr r0, _020754C4 ; =0x000005A4
- ldr r1, _020754C8 ; =0x00000B23
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020714BC
- add r1, r0, #0x0
- ldr r0, _020754C0 ; =0x000005CC
- add r1, r1, #0x2
- ldr r0, [r4, r0]
- bl FUN_02020130
- ldr r0, _020754C0 ; =0x000005CC
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r1, _020754C8 ; =0x00000B23
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1a
- bl FUN_020709FC
- add r0, r4, #0x0
- mov r1, #0x24
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _020754CC ; =0x00000B2A
- mov r1, #0x0
- strh r1, [r4, r0]
- mov r0, #0x1a
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_020754A8: .word 0x00000B25
-_020754AC: .word 0x00000708
-_020754B0: .word 0x00000B28
-_020754B4: .word 0x00000706
-_020754B8: .word 0x00000B22
-_020754BC: .word 0x000005C8
-_020754C0: .word 0x000005CC
-_020754C4: .word 0x000005A4
-_020754C8: .word 0x00000B23
-_020754CC: .word 0x00000B2A
-
- thumb_func_start FUN_020754D0
-FUN_020754D0: ; 0x020754D0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02075504 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r1, r0
- beq _02075500
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0x1
- bl FUN_020731C0
- ldr r0, _02075508 ; =0x000005C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x1
-_02075500:
- pop {r4, pc}
- nop
-_02075504: .word 0x021C48B8
-_02075508: .word 0x000005C8
-
- thumb_func_start FUN_0207550C
-FUN_0207550C: ; 0x0207550C
- push {r3-r5, lr}
- mov r1, #0x0
- mov r2, #0xc
- bl FUN_0206E710
- mov r1, #0xe
- add r4, r0, #0x0
- bl FUN_0206E7DC
- cmp r0, #0x1
- beq _0207552C
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1c
- pop {r3-r5, pc}
-_0207552C:
- add r0, r4, #0x0
- mov r1, #0x1b
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x1c
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x1d
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x1e
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x1f
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02075580
- add r0, r4, #0x0
- mov r1, #0x21
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0207558A
-_02075580:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_0207558A:
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020755A0
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_020755A0:
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020755B6
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x2
- pop {r3-r5, pc}
-_020755B6:
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_0206E7DC
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_0206E7DC
- lsl r0, r0, #0x1
- add r5, r5, r0
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_0206E7DC
- lsl r0, r0, #0x2
- add r5, r5, r0
- add r0, r4, #0x0
- mov r1, #0x12
- bl FUN_0206E7DC
- lsl r0, r0, #0x3
- add r5, r5, r0
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_0206E7DC
- lsl r0, r0, #0x4
- add r5, r5, r0
- add r0, r4, #0x0
- mov r1, #0x14
- bl FUN_0206E7DC
- lsl r0, r0, #0x5
- add r5, r5, r0
- cmp r5, #0x10
- bgt _02075624
- bge _0207565A
- cmp r5, #0x8
- bhi _0207568E
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02075612: ; jump table (using 16-bit offset)
- .short _0207568E - _02075612 - 2; case 0
- .short _02075632 - _02075612 - 2; case 1
- .short _0207563C - _02075612 - 2; case 2
- .short _0207568E - _02075612 - 2; case 3
- .short _02075646 - _02075612 - 2; case 4
- .short _0207568E - _02075612 - 2; case 5
- .short _0207568E - _02075612 - 2; case 6
- .short _0207568E - _02075612 - 2; case 7
- .short _02075650 - _02075612 - 2; case 8
-_02075624:
- cmp r5, #0x20
- bgt _0207562C
- beq _02075664
- b _0207568E
-_0207562C:
- cmp r5, #0x3f
- beq _0207566E
- b _0207568E
-_02075632:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x3
- pop {r3-r5, pc}
-_0207563C:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x4
- pop {r3-r5, pc}
-_02075646:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x5
- pop {r3-r5, pc}
-_02075650:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x6
- pop {r3-r5, pc}
-_0207565A:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x7
- pop {r3-r5, pc}
-_02075664:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x8
- pop {r3-r5, pc}
-_0207566E:
- add r0, r4, #0x0
- mov r1, #0x26
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02075684
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xb
- pop {r3-r5, pc}
-_02075684:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x9
- pop {r3-r5, pc}
-_0207568E:
- add r0, r4, #0x0
- mov r1, #0x15
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020756A4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xa
- pop {r3-r5, pc}
-_020756A4:
- add r0, r4, #0x0
- mov r1, #0x26
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020756BA
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xb
- pop {r3-r5, pc}
-_020756BA:
- add r0, r4, #0x0
- mov r1, #0x30
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _020756D0
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xc
- pop {r3-r5, pc}
-_020756D0:
- bge _020756DC
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x12
- pop {r3-r5, pc}
-_020756DC:
- add r0, r4, #0x0
- mov r1, #0x31
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _020756F2
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xd
- pop {r3-r5, pc}
-_020756F2:
- bge _020756FE
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x13
- pop {r3-r5, pc}
-_020756FE:
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02075714
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xe
- pop {r3-r5, pc}
-_02075714:
- bge _02075720
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x14
- pop {r3-r5, pc}
-_02075720:
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02075736
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0xf
- pop {r3-r5, pc}
-_02075736:
- bge _02075742
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x15
- pop {r3-r5, pc}
-_02075742:
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02075758
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x10
- pop {r3-r5, pc}
-_02075758:
- bge _02075764
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x16
- pop {r3-r5, pc}
-_02075764:
- add r0, r4, #0x0
- mov r1, #0x35
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _0207577A
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x11
- pop {r3-r5, pc}
-_0207577A:
- bge _02075786
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x17
- pop {r3-r5, pc}
-_02075786:
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0207579C
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x18
- pop {r3-r5, pc}
-_0207579C:
- add r0, r4, #0x0
- mov r1, #0x22
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020757B2
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x19
- pop {r3-r5, pc}
-_020757B2:
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020757C8
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1a
- pop {r3-r5, pc}
-_020757C8:
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _020757E0
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020757EA
-_020757E0:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1b
- pop {r3-r5, pc}
-_020757EA:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1c
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020757F4
-FUN_020757F4: ; 0x020757F4
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, _02075B8C ; =0x000005A4
- add r6, r1, #0x0
- ldr r1, _02075B90 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- add r5, r2, #0x0
- bl FUN_0206B9B0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- add r0, r6, #0x0
- bl FUN_0207550C
- cmp r0, #0x1b
- bls _02075828
- b _02075C40
-_02075828:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02075834: ; jump table (using 16-bit offset)
- .short _02075C40 - _02075834 - 2; case 0
- .short _02075C40 - _02075834 - 2; case 1
- .short _02075C40 - _02075834 - 2; case 2
- .short _02075890 - _02075834 - 2; case 3
- .short _0207586C - _02075834 - 2; case 4
- .short _020758B4 - _02075834 - 2; case 5
- .short _020758D8 - _02075834 - 2; case 6
- .short _020758FC - _02075834 - 2; case 7
- .short _02075920 - _02075834 - 2; case 8
- .short _02075968 - _02075834 - 2; case 9
- .short _02075944 - _02075834 - 2; case 10
- .short _02075C40 - _02075834 - 2; case 11
- .short _0207598C - _02075834 - 2; case 12
- .short _020759BE - _02075834 - 2; case 13
- .short _020759F0 - _02075834 - 2; case 14
- .short _02075A22 - _02075834 - 2; case 15
- .short _02075A54 - _02075834 - 2; case 16
- .short _02075A86 - _02075834 - 2; case 17
- .short _02075AB8 - _02075834 - 2; case 18
- .short _02075AEC - _02075834 - 2; case 19
- .short _02075B20 - _02075834 - 2; case 20
- .short _02075B54 - _02075834 - 2; case 21
- .short _02075B88 - _02075834 - 2; case 22
- .short _02075BCA - _02075834 - 2; case 23
- .short _02075C40 - _02075834 - 2; case 24
- .short _02075BFE - _02075834 - 2; case 25
- .short _02075BFE - _02075834 - 2; case 26
- .short _02075C30 - _02075834 - 2; case 27
-_0207586C:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x41
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075890:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x5b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_020758B4:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x43
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_020758D8:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x44
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_020758FC:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x42
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075920:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x49
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075944:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4a
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075968:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x47
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_0207598C:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_020759BE:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- mov r1, #0x1
- ldr r0, [r4, r0]
- add r2, r1, #0x0
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_020759F0:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x2
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075A22:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x3
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075A54:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x4
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075A86:
- ldr r0, _02075B94 ; =0x0000069C
- mov r1, #0x4b
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x5
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075AB8:
- ldr r0, _02075B94 ; =0x0000069C
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075AEC:
- ldr r0, _02075B94 ; =0x0000069C
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- mov r1, #0x1
- ldr r0, [r4, r0]
- add r2, r1, #0x0
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075B20:
- ldr r0, _02075B94 ; =0x0000069C
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x2
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075B54:
- ldr r0, _02075B94 ; =0x0000069C
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x3
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075B88:
- ldr r0, _02075B94 ; =0x0000069C
- b _02075B98
- .balign 4
-_02075B8C: .word 0x000005A4
-_02075B90: .word 0x00000B25
-_02075B94: .word 0x0000069C
-_02075B98:
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x4
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075BCA:
- ldr r0, _02075C50 ; =0x0000069C
- add r5, #0x6e
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- mov r2, #0x5
- bl FUN_0200AF50
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075BFE:
- ldr r0, _02075C50 ; =0x0000069C
- mov r1, #0x48
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r6, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r2, r5, #0x0
- bl FUN_0200AD5C
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r6, #0x0
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- pop {r4-r6, pc}
-_02075C30:
- ldr r2, _02075C50 ; =0x0000069C
- mov r1, #0x45
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- pop {r4-r6, pc}
-_02075C40:
- ldr r2, _02075C50 ; =0x0000069C
- mov r1, #0x69
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- pop {r4-r6, pc}
- .balign 4
-_02075C50: .word 0x0000069C
-
- thumb_func_start FUN_02075C54
-FUN_02075C54: ; 0x02075C54
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02075CCC ; =0x000005A4
- ldr r0, [r4, r0]
- ldrh r0, [r0, #0x24]
- bl FUN_0207550C
- cmp r0, #0x1c
- bhi _02075CCA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02075C72: ; jump table (using 16-bit offset)
- .short _02075CCA - _02075C72 - 2; case 0
- .short _02075CCA - _02075C72 - 2; case 1
- .short _02075CAC - _02075C72 - 2; case 2
- .short _02075CB4 - _02075C72 - 2; case 3
- .short _02075CB4 - _02075C72 - 2; case 4
- .short _02075CB4 - _02075C72 - 2; case 5
- .short _02075CB4 - _02075C72 - 2; case 6
- .short _02075CB4 - _02075C72 - 2; case 7
- .short _02075CB4 - _02075C72 - 2; case 8
- .short _02075CB4 - _02075C72 - 2; case 9
- .short _02075CB4 - _02075C72 - 2; case 10
- .short _02075CC4 - _02075C72 - 2; case 11
- .short _02075CB4 - _02075C72 - 2; case 12
- .short _02075CB4 - _02075C72 - 2; case 13
- .short _02075CB4 - _02075C72 - 2; case 14
- .short _02075CB4 - _02075C72 - 2; case 15
- .short _02075CB4 - _02075C72 - 2; case 16
- .short _02075CB4 - _02075C72 - 2; case 17
- .short _02075CBC - _02075C72 - 2; case 18
- .short _02075CBC - _02075C72 - 2; case 19
- .short _02075CBC - _02075C72 - 2; case 20
- .short _02075CBC - _02075C72 - 2; case 21
- .short _02075CBC - _02075C72 - 2; case 22
- .short _02075CBC - _02075C72 - 2; case 23
- .short _02075CCA - _02075C72 - 2; case 24
- .short _02075CB4 - _02075C72 - 2; case 25
- .short _02075CB4 - _02075C72 - 2; case 26
- .short _02075CB4 - _02075C72 - 2; case 27
- .short _02075CCA - _02075C72 - 2; case 28
-_02075CAC:
- ldr r1, _02075CD0 ; =FUN_0207640C
- ldr r0, _02075CD4 ; =0x00000B14
- str r1, [r4, r0]
- pop {r4, pc}
-_02075CB4:
- ldr r1, _02075CD8 ; =FUN_02075D20
- ldr r0, _02075CD4 ; =0x00000B14
- str r1, [r4, r0]
- pop {r4, pc}
-_02075CBC:
- ldr r1, _02075CDC ; =FUN_02075DC0
- ldr r0, _02075CD4 ; =0x00000B14
- str r1, [r4, r0]
- pop {r4, pc}
-_02075CC4:
- ldr r1, _02075CE0 ; =FUN_02075F60
- ldr r0, _02075CD4 ; =0x00000B14
- str r1, [r4, r0]
-_02075CCA:
- pop {r4, pc}
- .balign 4
-_02075CCC: .word 0x000005A4
-_02075CD0: .word FUN_0207640C
-_02075CD4: .word 0x00000B14
-_02075CD8: .word FUN_02075D20
-_02075CDC: .word FUN_02075DC0
-_02075CE0: .word FUN_02075F60
-
- thumb_func_start FUN_02075CE4
-FUN_02075CE4: ; 0x02075CE4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02075D14 ; =0x00000B24
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- beq _02075CF8
- mov r0, #0x5
- pop {r4, pc}
-_02075CF8:
- ldr r0, _02075D18 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02075D10
- ldr r0, _02075D1C ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- mov r0, #0x1b
- pop {r4, pc}
-_02075D10:
- mov r0, #0x5
- pop {r4, pc}
- .balign 4
-_02075D14: .word 0x00000B24
-_02075D18: .word 0x021C48B8
-_02075D1C: .word 0x000005A4
-
- thumb_func_start FUN_02075D20
-FUN_02075D20: ; 0x02075D20
- push {r3-r5, lr}
- sub sp, #0x8
- ldr r1, _02075DA8 ; =0x000005A4
- add r5, r0, #0x0
- ldr r4, [r5, r1]
- bl FUN_020772CC
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r2, _02075DAC ; =0x00000B25
- ldrh r1, [r4, #0x24]
- ldrb r2, [r5, r2]
- ldr r0, [r4, #0x0]
- mov r3, #0x0
- bl FUN_02084DD0
- ldr r1, _02075DAC ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_0207008C
- ldr r1, _02075DAC ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072D1C
- ldr r1, _02075DAC ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072DDC
- ldr r0, _02075DAC ; =0x00000B25
- mov r2, #0x2c
- ldrb r1, [r5, r0]
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02075DB0 ; =0x0000070E
- ldrh r2, [r3, r2]
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- ldr r1, _02075DA8 ; =0x000005A4
- add r0, r5, #0x0
- ldr r1, [r5, r1]
- mov r2, #0x0
- ldrh r1, [r1, #0x24]
- bl FUN_020757F4
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02075DB4 ; =0x000005EC
- bl FUN_020054C8
- ldr r1, _02075DB8 ; =FUN_02075CE4
- ldr r0, _02075DBC ; =0x00000B14
- str r1, [r5, r0]
- mov r0, #0x5
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02075DA8: .word 0x000005A4
-_02075DAC: .word 0x00000B25
-_02075DB0: .word 0x0000070E
-_02075DB4: .word 0x000005EC
-_02075DB8: .word FUN_02075CE4
-_02075DBC: .word 0x00000B14
-
- thumb_func_start FUN_02075DC0
-FUN_02075DC0: ; 0x02075DC0
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- ldr r0, _02075F4C ; =0x000005A4
- ldr r1, _02075F50 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xd
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, _02075F4C ; =0x000005A4
- ldr r6, [r5, r0]
- add r0, r5, #0x0
- bl FUN_020772CC
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r2, _02075F50 ; =0x00000B25
- ldrh r1, [r6, #0x24]
- ldrb r2, [r5, r2]
- ldr r0, [r6, #0x0]
- mov r3, #0x0
- bl FUN_02084DD0
- ldr r1, _02075F50 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_0207008C
- ldr r1, _02075F50 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072D1C
- ldr r1, _02075F50 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072DDC
- ldr r0, _02075F50 ; =0x00000B25
- mov r2, #0x2c
- ldrb r1, [r5, r0]
- add r0, r5, #0x0
- mul r2, r1
- add r3, r5, r2
- ldr r2, _02075F54 ; =0x0000070E
- ldrh r2, [r3, r2]
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r0, r4, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x1c]
- cmp r1, r0
- bne _02075EFA
- add r0, r4, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x18]
- cmp r1, r0
- bne _02075EFA
- add r0, r4, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x14]
- cmp r1, r0
- bne _02075EFA
- add r0, r4, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x10]
- cmp r1, r0
- bne _02075EFA
- add r0, r4, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0xc]
- cmp r1, r0
- bne _02075EFA
- add r0, r4, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x8]
- cmp r1, r0
- beq _02075F26
-_02075EFA:
- add r0, r4, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- ldr r1, _02075F4C ; =0x000005A4
- beq _02075F18
- ldr r1, [r5, r1]
- add r0, r5, #0x0
- ldrh r1, [r1, #0x24]
- mov r2, #0x0
- bl FUN_020757F4
- b _02075F34
-_02075F18:
- ldr r1, [r5, r1]
- add r0, r5, #0x0
- ldrh r1, [r1, #0x24]
- mov r2, #0x1
- bl FUN_020757F4
- b _02075F34
-_02075F26:
- ldr r1, _02075F4C ; =0x000005A4
- add r0, r5, #0x0
- ldr r1, [r5, r1]
- mov r2, #0x2
- ldrh r1, [r1, #0x24]
- bl FUN_020757F4
-_02075F34:
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _02075F58 ; =FUN_02075CE4
- ldr r0, _02075F5C ; =0x00000B14
- str r1, [r5, r0]
- mov r0, #0x5
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_02075F4C: .word 0x000005A4
-_02075F50: .word 0x00000B25
-_02075F54: .word 0x0000070E
-_02075F58: .word FUN_02075CE4
-_02075F5C: .word 0x00000B14
-
- thumb_func_start FUN_02075F60
-FUN_02075F60: ; 0x02075F60
- push {r4-r7, lr}
- sub sp, #0xc
- ldr r1, _02076080 ; =0x000005A4
- add r5, r0, #0x0
- ldr r4, [r5, r1]
- bl FUN_020772CC
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r2, _02076084 ; =0x00000B25
- ldrh r1, [r4, #0x24]
- ldrb r2, [r5, r2]
- ldr r0, [r4, #0x0]
- mov r3, #0x0
- bl FUN_02084DD0
- ldr r0, _02076080 ; =0x000005A4
- ldr r1, _02076084 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa2
- mov r2, #0x0
- str r0, [sp, #0x8]
- bl FUN_020671BC
- add r4, r0, #0x0
- ldr r0, _02076084 ; =0x00000B25
- ldrb r1, [r5, r0]
- mov r0, #0x2c
- mul r0, r1
- add r1, r5, r0
- ldr r0, _02076088 ; =0x00000706
- ldrh r1, [r1, r0]
- cmp r1, #0x0
- bne _02075FBC
- sub r0, #0x6a
- ldr r0, [r5, r0]
- mov r1, #0x46
- bl FUN_0200A914
- add r7, r0, #0x0
- b _02075FDA
-_02075FBC:
- cmp r4, r1
- bne _02075FCE
- sub r0, #0x6a
- ldr r0, [r5, r0]
- mov r1, #0x47
- bl FUN_0200A914
- add r7, r0, #0x0
- b _02075FDA
-_02075FCE:
- sub r0, #0x6a
- ldr r0, [r5, r0]
- mov r1, #0x40
- bl FUN_0200A914
- add r7, r0, #0x0
-_02075FDA:
- ldr r0, [sp, #0x8]
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- mov r3, #0x6a
- str r0, [sp, #0x0]
- mov r1, #0x1
- ldr r2, _02076084 ; =0x00000B25
- str r1, [sp, #0x4]
- ldrb r6, [r5, r2]
- mov r2, #0x2c
- lsl r3, r3, #0x4
- mul r2, r6
- ldr r0, [r5, r3]
- add r2, r5, r2
- add r3, #0x66
- ldrh r2, [r2, r3]
- mov r3, #0x3
- sub r2, r4, r2
- bl FUN_0200AD38
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r7, #0x0
- bl FUN_0200B7B8
- add r0, r7, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x8]
- bl FUN_0207C2D4
- add r4, r0, #0x0
- ldr r1, _02076084 ; =0x00000B25
- lsl r2, r4, #0x18
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- cmp r4, #0x7
- bne _02076062
- ldr r1, _02076084 ; =0x00000B25
- ldr r0, _0207608C ; =0x0000070E
- ldrb r3, [r5, r1]
- add r2, r5, r0
- mov r0, #0x2c
- mul r0, r3
- ldrh r4, [r2, r0]
- ldr r3, _02076090 ; =0xFFFFF000
- and r4, r3
- mov r3, #0x7
- orr r3, r4
- strh r3, [r2, r0]
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- bl FUN_02072B20
-_02076062:
- ldr r1, _02076084 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_020709FC
- ldr r1, _02076094 ; =FUN_020760A0
- ldr r0, _02076098 ; =0x00000B14
- str r1, [r5, r0]
- ldr r0, _0207609C ; =0x000005EC
- bl FUN_020054C8
- mov r0, #0x5
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02076080: .word 0x000005A4
-_02076084: .word 0x00000B25
-_02076088: .word 0x00000706
-_0207608C: .word 0x0000070E
-_02076090: .word 0xFFFFF000
-_02076094: .word FUN_020760A0
-_02076098: .word 0x00000B14
-_0207609C: .word 0x000005EC
-
- thumb_func_start FUN_020760A0
-FUN_020760A0: ; 0x020760A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076130 ; =0x000005A4
- ldr r1, _02076134 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _02076134 ; =0x00000B25
- add r4, r0, #0x0
- ldrb r2, [r5, r1]
- ldr r0, _02076138 ; =0x00000706
- mov r1, #0x2c
- add r3, r2, #0x0
- add r0, r5, r0
- mul r3, r1
- ldrh r1, [r0, r3]
- cmp r4, r1
- beq _020760D4
- add r1, r1, #0x1
- strh r1, [r0, r3]
-_020760D4:
- ldr r1, _02076134 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072BBC
- ldr r1, _02076134 ; =0x00000B25
- add r0, r5, #0x4
- ldrb r2, [r5, r1]
- lsl r1, r2, #0x2
- add r1, r2, r1
- add r1, r1, #0x3
- lsl r1, r1, #0x4
- add r0, r0, r1
- mov r1, #0x0
- bl FUN_02019620
- ldr r1, _02076134 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072B7C
- ldr r1, _02076134 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072C28
- ldr r0, _02076134 ; =0x00000B25
- mov r1, #0x2c
- ldrb r0, [r5, r0]
- add r2, r0, #0x0
- mul r2, r1
- ldr r0, _02076138 ; =0x00000706
- add r2, r5, r2
- ldrh r0, [r2, r0]
- cmp r4, r0
- bne _0207612C
- add r0, r5, #0x0
- sub r1, #0x2d
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _0207613C ; =FUN_02075CE4
- ldr r0, _02076140 ; =0x00000B14
- str r1, [r5, r0]
-_0207612C:
- mov r0, #0x5
- pop {r3-r5, pc}
- .balign 4
-_02076130: .word 0x000005A4
-_02076134: .word 0x00000B25
-_02076138: .word 0x00000706
-_0207613C: .word FUN_02075CE4
-_02076140: .word 0x00000B14
-
- thumb_func_start FUN_02076144
-FUN_02076144: ; 0x02076144
- push {r3, lr}
- mov r1, #0x18
- mov r2, #0xc
- bl FUN_0206E7B8
- cmp r0, #0x0
- beq _02076156
- mov r0, #0x1
- pop {r3, pc}
-_02076156:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207615C
-FUN_0207615C: ; 0x0207615C
- push {r3-r6}
- cmp r1, #0x6
- blo _02076168
- mov r0, #0xff
- pop {r3-r6}
- bx lr
-_02076168:
- bhs _02076194
- ldr r2, _0207619C ; =0x00000706
- mov r3, #0x2c
- add r4, r2, #0x0
- add r4, #0x23
-_02076172:
- add r5, r1, #0x0
- mul r5, r3
- add r6, r0, r5
- ldrb r5, [r6, r4]
- cmp r5, #0x0
- beq _0207618A
- ldrh r5, [r6, r2]
- cmp r5, #0x0
- bne _0207618A
- add r0, r1, #0x0
- pop {r3-r6}
- bx lr
-_0207618A:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x6
- blo _02076172
-_02076194:
- mov r0, #0xff
- pop {r3-r6}
- bx lr
- nop
-_0207619C: .word 0x00000706
-
- thumb_func_start FUN_020761A0
-FUN_020761A0: ; 0x020761A0
- push {r3-r7, lr}
- ldr r1, _020763DC ; =0x00000B22
- add r4, r0, #0x0
- ldrb r2, [r4, r1]
- cmp r2, #0x3
- bls _020761AE
- b _020763D6
-_020761AE:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020761BA: ; jump table (using 16-bit offset)
- .short _020761C2 - _020761BA - 2; case 0
- .short _02076212 - _020761BA - 2; case 1
- .short _020762DC - _020761BA - 2; case 2
- .short _02076360 - _020761BA - 2; case 3
-_020761C2:
- mov r1, #0x0
- bl FUN_0207615C
- ldr r1, _020763E0 ; =0x00000B25
- strb r0, [r4, r1]
- ldrb r0, [r4, r1]
- cmp r0, #0xff
- bne _02076206
- ldr r2, _020763E4 ; =0x0000069C
- mov r1, #0x69
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _020763E8 ; =FUN_02075CE4
- ldr r0, _020763EC ; =0x00000B14
- mov r2, #0x1
- str r1, [r4, r0]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02073CB4
- ldr r0, _020763E0 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
- mov r0, #0x5
- pop {r3-r7, pc}
-_02076206:
- cmp r0, #0x0
- beq _02076212
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020709FC
-_02076212:
- ldr r0, _020763F0 ; =0x000005A4
- ldr r1, _020763E0 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020772CC
- add r3, r0, #0x0
- mov r0, #0xc
- str r0, [sp, #0x0]
- ldr r1, _020763F0 ; =0x000005A4
- add r0, r5, #0x0
- ldr r1, [r4, r1]
- mov r2, #0x0
- ldrh r1, [r1, #0x24]
- bl FUN_02084810
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- ldr r0, _020763E4 ; =0x0000069C
- mov r1, #0x46
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r6, #0x0
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- ldr r7, _020763E0 ; =0x00000B25
- ldr r3, _020763F4 ; =0x0000070E
- ldrb r5, [r4, r7]
- mov r2, #0x2c
- add r1, r4, r3
- add r0, r5, #0x0
- mul r0, r2
- ldrh r6, [r1, r0]
- ldr r5, _020763F8 ; =0xFFFFF000
- and r6, r5
- mov r5, #0x7
- orr r5, r6
- strh r5, [r1, r0]
- ldrb r1, [r4, r7]
- add r0, r4, #0x0
- mul r2, r1
- add r2, r4, r2
- ldrh r2, [r2, r3]
- lsl r2, r2, #0x14
- lsr r2, r2, #0x14
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- add r1, r7, #0x0
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_02072B20
- add r1, r7, #0x0
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_020709FC
- add r1, r7, #0x0
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02073CB4
- ldr r0, _020763FC ; =0x000005EC
- bl FUN_020054C8
- sub r0, r7, #0x3
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- b _020763D6
-_020762DC:
- ldr r0, _020763F0 ; =0x000005A4
- add r1, r1, #0x3
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- ldr r2, _020763E0 ; =0x00000B25
- add r5, r0, #0x0
- ldr r0, _02076400 ; =0x00000706
- ldrb r3, [r4, r2]
- add r1, r4, r0
- mov r0, #0x2c
- mul r0, r3
- ldrh r3, [r1, r0]
- add r3, r3, #0x1
- strh r3, [r1, r0]
- ldrb r1, [r4, r2]
- add r0, r4, #0x0
- bl FUN_02072BBC
- ldr r1, _020763E0 ; =0x00000B25
- add r0, r4, #0x4
- ldrb r2, [r4, r1]
- lsl r1, r2, #0x2
- add r1, r2, r1
- add r1, r1, #0x3
- lsl r1, r1, #0x4
- add r0, r0, r1
- mov r1, #0x0
- bl FUN_02019620
- ldr r1, _020763E0 ; =0x00000B25
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02072B7C
- ldr r1, _020763E0 ; =0x00000B25
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02072C28
- ldr r0, _020763E0 ; =0x00000B25
- mov r1, #0x2c
- ldrb r0, [r4, r0]
- add r2, r0, #0x0
- mul r2, r1
- ldr r0, _02076400 ; =0x00000706
- add r2, r4, r2
- ldrh r0, [r2, r0]
- cmp r5, r0
- bne _020763D6
- add r0, r4, #0x0
- sub r1, #0x2d
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _020763DC ; =0x00000B22
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- b _020763D6
-_02076360:
- add r0, r1, #0x2
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _020763D6
- ldr r0, _02076404 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _020763D6
- ldr r0, _02076408 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _020763E0 ; =0x00000B25
- ldrb r5, [r4, r0]
- add r0, r4, #0x0
- add r1, r5, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0207615C
- ldr r1, _020763E0 ; =0x00000B25
- strb r0, [r4, r1]
- ldrb r0, [r4, r1]
- cmp r0, #0xff
- beq _020763B2
- mov r0, #0x89
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020709FC
- ldr r0, _020763DC ; =0x00000B22
- mov r1, #0x1
- strb r1, [r4, r0]
- b _020763D6
-_020763B2:
- ldr r0, _020763F0 ; =0x000005A4
- mov r2, #0x1
- ldr r1, [r4, r0]
- mov r3, #0xc
- ldr r0, [r1, #0x4]
- ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
- ldr r0, _020763F0 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _020763E0 ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
- mov r0, #0x1b
- pop {r3-r7, pc}
-_020763D6:
- mov r0, #0x7
- pop {r3-r7, pc}
- nop
-_020763DC: .word 0x00000B22
-_020763E0: .word 0x00000B25
-_020763E4: .word 0x0000069C
-_020763E8: .word FUN_02075CE4
-_020763EC: .word 0x00000B14
-_020763F0: .word 0x000005A4
-_020763F4: .word 0x0000070E
-_020763F8: .word 0xFFFFF000
-_020763FC: .word 0x000005EC
-_02076400: .word 0x00000706
-_02076404: .word 0x021C48B8
-_02076408: .word 0x000005DC
-
- thumb_func_start FUN_0207640C
-FUN_0207640C: ; 0x0207640C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _020765B0 ; =0x000005A4
- ldr r1, _020765B4 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- mov r1, #0xa3
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- ldr r1, _020765B8 ; =0x00000B28
- mov r2, #0x0
- strh r0, [r5, r1]
- add r0, r4, #0x0
- mov r1, #0xa4
- bl FUN_020671BC
- ldr r1, _020765BC ; =0x00000B2A
- mov r2, #0x0
- strh r0, [r5, r1]
- add r0, r4, #0x0
- mov r1, #0xa5
- bl FUN_020671BC
- ldr r1, _020765C0 ; =0x00000B2C
- mov r2, #0x0
- strh r0, [r5, r1]
- add r0, r4, #0x0
- mov r1, #0xa7
- bl FUN_020671BC
- ldr r1, _020765C4 ; =0x00000B2E
- mov r2, #0x0
- strh r0, [r5, r1]
- add r0, r4, #0x0
- mov r1, #0xa8
- bl FUN_020671BC
- mov r1, #0xb3
- lsl r1, r1, #0x4
- strh r0, [r5, r1]
- add r0, r4, #0x0
- mov r1, #0xa6
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020765C8 ; =0x00000B32
- strh r0, [r5, r1]
- ldr r0, _020765B0 ; =0x000005A4
- ldr r6, [r5, r0]
- add r0, r5, #0x0
- bl FUN_020772CC
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r2, _020765B4 ; =0x00000B25
- ldrh r1, [r6, #0x24]
- ldrb r2, [r5, r2]
- ldr r0, [r6, #0x0]
- mov r3, #0x0
- bl FUN_02084DD0
- add r0, r4, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020765B4 ; =0x00000B25
- ldrb r2, [r5, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r5, r1
- ldr r1, _020765CC ; =0x0000070A
- strh r0, [r2, r1]
- add r0, r4, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020765B4 ; =0x00000B25
- ldrb r2, [r5, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r5, r1
- ldr r1, _020765D0 ; =0x00000706
- strh r0, [r2, r1]
- add r0, r4, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020765B4 ; =0x00000B25
- ldrb r2, [r5, r1]
- mov r1, #0x2c
- mul r1, r2
- add r2, r5, r1
- ldr r1, _020765D4 ; =0x00000708
- strh r0, [r2, r1]
- sub r1, #0x6c
- ldr r0, [r5, r1]
- mov r1, #0xc1
- bl FUN_0200A914
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- mov r3, #0x6a
- str r0, [sp, #0x0]
- mov r1, #0x1
- ldr r2, _020765B4 ; =0x00000B25
- str r1, [sp, #0x4]
- ldrb r6, [r5, r2]
- mov r2, #0x2c
- lsl r3, r3, #0x4
- mul r2, r6
- ldr r0, [r5, r3]
- add r2, r5, r2
- add r3, #0x6a
- ldrh r2, [r2, r3]
- mov r3, #0x3
- bl FUN_0200AD38
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r7, #0x0
- bl FUN_0200B7B8
- add r0, r7, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_0207C2D4
- add r4, r0, #0x0
- ldr r1, _020765B4 ; =0x00000B25
- lsl r2, r4, #0x18
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02073A4C
- cmp r4, #0x7
- bne _0207656E
- ldr r1, _020765B4 ; =0x00000B25
- ldr r0, _020765D8 ; =0x0000070E
- ldrb r3, [r5, r1]
- add r2, r5, r0
- mov r0, #0x2c
- mul r0, r3
- ldrh r4, [r2, r0]
- ldr r3, _020765DC ; =0xFFFFF000
- and r4, r3
- mov r3, #0x7
- orr r3, r4
- strh r3, [r2, r0]
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- bl FUN_02072B20
-_0207656E:
- ldr r1, _020765B4 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_020709FC
- ldr r0, _020765E0 ; =FUN_020760A0
- ldr r1, _020765E4 ; =0x00000B14
- str r0, [r5, r1]
- add r1, #0x11
- ldrb r1, [r5, r1]
- add r0, r5, #0x0
- bl FUN_02072D1C
- ldr r1, _020765B4 ; =0x00000B25
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_02072DDC
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r1, _020765E8 ; =FUN_020765EC
- ldr r0, _020765E4 ; =0x00000B14
- str r1, [r5, r0]
- mov r1, #0x0
- add r0, #0x13
- strb r1, [r5, r0]
- mov r0, #0x5
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020765B0: .word 0x000005A4
-_020765B4: .word 0x00000B25
-_020765B8: .word 0x00000B28
-_020765BC: .word 0x00000B2A
-_020765C0: .word 0x00000B2C
-_020765C4: .word 0x00000B2E
-_020765C8: .word 0x00000B32
-_020765CC: .word 0x0000070A
-_020765D0: .word 0x00000706
-_020765D4: .word 0x00000708
-_020765D8: .word 0x0000070E
-_020765DC: .word 0xFFFFF000
-_020765E0: .word FUN_020760A0
-_020765E4: .word 0x00000B14
-_020765E8: .word FUN_020765EC
-
- thumb_func_start FUN_020765EC
-FUN_020765EC: ; 0x020765EC
- push {r3-r5, lr}
- ldr r1, _0207686C ; =0x00000B27
- add r4, r0, #0x0
- ldrb r0, [r4, r1]
- cmp r0, #0x6
- bhi _020766A8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02076604: ; jump table (using 16-bit offset)
- .short _02076612 - _02076604 - 2; case 0
- .short _0207663C - _02076604 - 2; case 1
- .short _0207665A - _02076604 - 2; case 2
- .short _02076680 - _02076604 - 2; case 3
- .short _02076780 - _02076604 - 2; case 4
- .short _020767A4 - _02076604 - 2; case 5
- .short _02076814 - _02076604 - 2; case 6
-_02076612:
- sub r0, r1, #0x3
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _020766A8
- ldr r0, _02076870 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _020766A8
- ldr r0, _02076874 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020734C0
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x1
- strb r1, [r4, r0]
- b _02076868
-_0207663C:
- ldr r0, _02076870 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _020766A8
- ldr r0, _02076874 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207363C
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x2
- strb r1, [r4, r0]
- b _02076868
-_0207665A:
- ldr r0, _02076870 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _020766A8
- ldr r0, _02076874 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020736F4
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x3
- strb r1, [r4, r0]
- ldr r0, _02076878 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- str r1, [r0, #0x34]
- b _02076868
-_02076680:
- ldr r0, _02076878 ; =0x000005A4
- sub r1, r1, #0x2
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldr r1, _02076878 ; =0x000005A4
- add r5, r0, #0x0
- ldr r2, [r4, r1]
- add r1, r2, #0x0
- add r1, #0x34
- add r2, #0x26
- bl FUN_02069818
- cmp r0, #0x0
- beq _020766B2
- ldr r1, _0207687C ; =0x0000FFFE
- cmp r0, r1
- bne _020766AA
-_020766A8:
- b _02076868
-_020766AA:
- add r1, r1, #0x1
- cmp r0, r1
- beq _020766BA
- b _02076724
-_020766B2:
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x6
- strb r1, [r4, r0]
- b _02076868
-_020766BA:
- add r0, r5, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- ldr r0, [r4, r2]
- sub r2, #0xfc
- ldr r2, [r4, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x26]
- bl FUN_0200AD5C
- ldr r0, _02076880 ; =0x0000069C
- mov r1, #0x34
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076884 ; =FUN_02076950
- ldr r1, _02076888 ; =0x00000B18
- ldr r2, _0207688C ; =FUN_020769A4
- str r0, [r4, r1]
- add r0, r1, #0x4
- str r2, [r4, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r4, r1]
- mov r0, #0x14
- pop {r3-r5, pc}
-_02076724:
- add r0, r5, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- ldr r0, [r4, r2]
- sub r2, #0xfc
- ldr r2, [r4, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x26]
- bl FUN_0200AD5C
- ldr r0, _02076880 ; =0x0000069C
- mov r1, #0xc2
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x4
- strb r1, [r4, r0]
- b _02076868
-_02076780:
- sub r0, r1, #0x3
- ldrb r0, [r4, r0]
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02076868
- ldr r0, _02076870 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02076868
- ldr r0, _02076874 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x3
- strb r1, [r4, r0]
- b _02076868
-_020767A4:
- ldr r0, _02076870 ; =0x021C48B8
- ldr r2, [r0, #0x48]
- mov r0, #0x3
- tst r0, r2
- beq _02076868
- ldr r0, _02076878 ; =0x000005A4
- sub r1, r1, #0x2
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldr r2, _02076878 ; =0x000005A4
- add r1, r0, #0x0
- ldr r2, [r4, r2]
- add r0, r4, #0x0
- add r2, #0x28
- ldrb r2, [r2, #0x0]
- bl FUN_02076F2C
- ldr r0, _02076880 ; =0x0000069C
- mov r1, #0x3d
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r5, r0, #0x0
- ldr r0, [r4, r2]
- sub r2, #0xfc
- ldr r2, [r4, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x26]
- bl FUN_0200AD5C
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _0207686C ; =0x00000B27
- mov r1, #0x4
- strb r1, [r4, r0]
- b _02076868
-_02076814:
- ldr r0, _02076878 ; =0x000005A4
- sub r1, r1, #0x2
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r5, r0, #0x0
- ldr r0, _02076878 ; =0x000005A4
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034A04
- add r3, r0, #0x0
- ldr r0, _02076878 ; =0x000005A4
- lsl r3, r3, #0x10
- ldr r1, [r4, r0]
- mov r2, #0x0
- add r0, r1, #0x0
- add r0, #0x3c
- str r0, [sp, #0x0]
- ldr r0, [r1, #0x0]
- add r1, r5, #0x0
- lsr r3, r3, #0x10
- bl FUN_02069168
- ldr r1, _02076878 ; =0x000005A4
- ldr r2, [r4, r1]
- strh r0, [r2, #0x38]
- ldr r1, [r4, r1]
- ldrh r0, [r1, #0x38]
- cmp r0, #0x0
- beq _0207685E
- mov r0, #0x9
- b _02076860
-_0207685E:
- mov r0, #0x0
-_02076860:
- add r1, #0x23
- strb r0, [r1, #0x0]
- mov r0, #0x1b
- pop {r3-r5, pc}
-_02076868:
- mov r0, #0x5
- pop {r3-r5, pc}
- .balign 4
-_0207686C: .word 0x00000B27
-_02076870: .word 0x021C48B8
-_02076874: .word 0x000005DC
-_02076878: .word 0x000005A4
-_0207687C: .word 0x0000FFFE
-_02076880: .word 0x0000069C
-_02076884: .word FUN_02076950
-_02076888: .word 0x00000B18
-_0207688C: .word FUN_020769A4
-
- thumb_func_start FUN_02076890
-FUN_02076890: ; 0x02076890
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _0207693C ; =FUN_020765EC
- ldr r1, _02076940 ; =0x00000B14
- mov r2, #0x3
- str r0, [r4, r1]
- add r0, r1, #0x0
- add r0, #0x13
- strb r2, [r4, r0]
- ldr r0, _02076944 ; =0x000005A4
- add r1, #0x11
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r5, r0, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r0, _02076944 ; =0x000005A4
- ldr r2, [r4, r0]
- add r1, r2, #0x0
- add r1, #0x28
- ldrb r1, [r1, #0x0]
- cmp r1, #0x4
- bne _020768E6
- add r0, #0xfc
- ldrh r2, [r2, #0x26]
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200AD5C
- add r0, r4, #0x0
- bl FUN_020769A4
- pop {r3-r5, pc}
-_020768E6:
- add r0, r5, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200AD5C
- ldr r0, _02076948 ; =0x0000069C
- mov r1, #0x3c
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _0207694C ; =0x00000B22
- mov r1, #0x5
- strb r1, [r4, r0]
- add r0, r0, #0x5
- strb r1, [r4, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_0207693C: .word FUN_020765EC
-_02076940: .word 0x00000B14
-_02076944: .word 0x000005A4
-_02076948: .word 0x0000069C
-_0207694C: .word 0x00000B22
-
- thumb_func_start FUN_02076950
-FUN_02076950: ; 0x02076950
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076998 ; =0x0000069C
- mov r1, #0x3b
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _0207699C ; =0x000005A4
- mov r1, #0x5
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _020769A0 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_02076998: .word 0x0000069C
-_0207699C: .word 0x000005A4
-_020769A0: .word 0x00000B22
-
- thumb_func_start FUN_020769A4
-FUN_020769A4: ; 0x020769A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020769EC ; =0x0000069C
- mov r1, #0x37
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _020769F0 ; =FUN_020769FC
- ldr r1, _020769F4 ; =0x00000B18
- ldr r2, _020769F8 ; =FUN_02076A48
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_020769EC: .word 0x0000069C
-_020769F0: .word FUN_020769FC
-_020769F4: .word 0x00000B18
-_020769F8: .word FUN_02076A48
-
- thumb_func_start FUN_020769FC
-FUN_020769FC: ; 0x020769FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076A40 ; =0x0000069C
- mov r1, #0x3a
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076A44 ; =0x00000B22
- mov r1, #0x5
- strb r1, [r5, r0]
- mov r1, #0x4
- add r0, r0, #0x5
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_02076A40: .word 0x0000069C
-_02076A44: .word 0x00000B22
-
- thumb_func_start FUN_02076A48
-FUN_02076A48: ; 0x02076A48
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076A90 ; =0x0000069C
- mov r1, #0x34
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076A94 ; =FUN_02076950
- ldr r1, _02076A98 ; =0x00000B18
- ldr r2, _02076A9C ; =FUN_020769A4
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_02076A90: .word 0x0000069C
-_02076A94: .word FUN_02076950
-_02076A98: .word 0x00000B18
-_02076A9C: .word FUN_020769A4
-
- thumb_func_start FUN_02076AA0
-FUN_02076AA0: ; 0x02076AA0
- push {r3-r7, lr}
- ldr r7, _02076AF4 ; =0x000005A4
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r4, #0x0
-_02076AAA:
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r5, r7]
- ldrh r1, [r0, #0x26]
- cmp r2, r1
- bne _02076AC6
- mov r0, #0xfd
- pop {r3-r7, pc}
-_02076AC6:
- cmp r2, #0x0
- beq _02076AD4
- add r1, r4, #0x1
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- cmp r4, #0x4
- blo _02076AAA
-_02076AD4:
- ldrh r0, [r0, #0x24]
- bl FUN_0206EA7C
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0206A13C
- cmp r0, #0x0
- bne _02076AEA
- mov r0, #0xff
- pop {r3-r7, pc}
-_02076AEA:
- cmp r4, #0x4
- bne _02076AF0
- mov r4, #0xfe
-_02076AF0:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02076AF4: .word 0x000005A4
-
- thumb_func_start FUN_02076AF8
-FUN_02076AF8: ; 0x02076AF8
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, _02076C78 ; =0x000005A4
- ldr r1, _02076C7C ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02076AA0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- mov r2, #0x6a
- lsl r2, r2, #0x4
- ldr r0, [r4, r2]
- sub r2, #0xfc
- ldr r2, [r4, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x26]
- bl FUN_0200AD5C
- cmp r5, #0xfd
- bhi _02076B5A
- bhs _02076BB2
- cmp r5, #0x3
- bhi _02076B60
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02076B52: ; jump table (using 16-bit offset)
- .short _02076B68 - _02076B52 - 2; case 0
- .short _02076B68 - _02076B52 - 2; case 1
- .short _02076B68 - _02076B52 - 2; case 2
- .short _02076B68 - _02076B52 - 2; case 3
-_02076B5A:
- cmp r5, #0xfe
- bhi _02076B62
- beq _02076BF2
-_02076B60:
- b _02076C72
-_02076B62:
- cmp r5, #0xff
- beq _02076C34
- b _02076C72
-_02076B68:
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02076F2C
- ldr r0, _02076C80 ; =0x0000069C
- mov r1, #0x3d
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076C78 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076C84 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r4, r0]
- b _02076C72
-_02076BB2:
- ldr r0, _02076C80 ; =0x0000069C
- mov r1, #0x3f
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076C78 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076C84 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r4, r0]
- b _02076C72
-_02076BF2:
- ldr r0, _02076C80 ; =0x0000069C
- mov r1, #0x34
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076C88 ; =FUN_02076DD4
- ldr r1, _02076C8C ; =0x00000B18
- ldr r2, _02076C90 ; =FUN_02076E28
- str r0, [r4, r1]
- add r0, r1, #0x4
- str r2, [r4, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r4, r1]
- b _02076C72
-_02076C34:
- ldr r0, _02076C80 ; =0x0000069C
- mov r1, #0x3e
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076C78 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076C84 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r4, r0]
-_02076C72:
- mov r0, #0x14
- pop {r4-r6, pc}
- nop
-_02076C78: .word 0x000005A4
-_02076C7C: .word 0x00000B25
-_02076C80: .word 0x0000069C
-_02076C84: .word 0x00000B22
-_02076C88: .word FUN_02076DD4
-_02076C8C: .word 0x00000B18
-_02076C90: .word FUN_02076E28
-
- thumb_func_start FUN_02076C94
-FUN_02076C94: ; 0x02076C94
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _02076D2C ; =0x000005A4
- ldr r1, _02076D30 ; =0x00000B25
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r5, r0, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ACF8
- ldr r0, _02076D2C ; =0x000005A4
- ldr r2, [r4, r0]
- add r1, r2, #0x0
- add r1, #0x28
- ldrb r1, [r1, #0x0]
- cmp r1, #0x4
- bne _02076CDC
- add r0, #0xfc
- ldrh r2, [r2, #0x26]
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200AD5C
- add r0, r4, #0x0
- bl FUN_02076E28
- pop {r3-r5, pc}
-_02076CDC:
- add r0, r5, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_0200AD5C
- ldr r0, _02076D34 ; =0x0000069C
- mov r1, #0x3c
- ldr r0, [r4, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r5, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076D38 ; =0x00000B22
- mov r1, #0x12
- strb r1, [r4, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_02076D2C: .word 0x000005A4
-_02076D30: .word 0x00000B25
-_02076D34: .word 0x0000069C
-_02076D38: .word 0x00000B22
-
- thumb_func_start FUN_02076D3C
-FUN_02076D3C: ; 0x02076D3C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076DC0 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _02076DBC
- ldr r0, _02076DC4 ; =0x000005A4
- ldr r1, _02076DC8 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- ldr r2, _02076DC4 ; =0x000005A4
- add r1, r0, #0x0
- ldr r2, [r5, r2]
- add r0, r5, #0x0
- add r2, #0x28
- ldrb r2, [r2, #0x0]
- bl FUN_02076F2C
- ldr r0, _02076DCC ; =0x0000069C
- mov r1, #0x3d
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r2, #0x6a
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- ldr r0, [r5, r2]
- sub r2, #0xfc
- ldr r2, [r5, r2]
- mov r1, #0x1
- ldrh r2, [r2, #0x26]
- bl FUN_0200AD5C
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076DC4 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076DD0 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
-_02076DBC:
- mov r0, #0x12
- pop {r3-r5, pc}
- .balign 4
-_02076DC0: .word 0x021C48B8
-_02076DC4: .word 0x000005A4
-_02076DC8: .word 0x00000B25
-_02076DCC: .word 0x0000069C
-_02076DD0: .word 0x00000B22
-
- thumb_func_start FUN_02076DD4
-FUN_02076DD4: ; 0x02076DD4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076E1C ; =0x0000069C
- mov r1, #0x3b
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076E20 ; =0x000005A4
- mov r1, #0x4
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076E24 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_02076E1C: .word 0x0000069C
-_02076E20: .word 0x000005A4
-_02076E24: .word 0x00000B22
-
- thumb_func_start FUN_02076E28
-FUN_02076E28: ; 0x02076E28
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076E70 ; =0x0000069C
- mov r1, #0x37
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02076E74 ; =FUN_02076E80
- ldr r1, _02076E78 ; =0x00000B18
- ldr r2, _02076E7C ; =FUN_02076ED4
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_02076E70: .word 0x0000069C
-_02076E74: .word FUN_02076E80
-_02076E78: .word 0x00000B18
-_02076E7C: .word FUN_02076ED4
-
- thumb_func_start FUN_02076E80
-FUN_02076E80: ; 0x02076E80
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076EC8 ; =0x0000069C
- mov r1, #0x3a
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076ECC ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02076ED0 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r3-r5, pc}
- nop
-_02076EC8: .word 0x0000069C
-_02076ECC: .word 0x000005A4
-_02076ED0: .word 0x00000B22
-
- thumb_func_start FUN_02076ED4
-FUN_02076ED4: ; 0x02076ED4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02076F1C ; =0x0000069C
- mov r1, #0x34
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x6a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x0
- bl FUN_020731E8
- ldr r0, _02076F20 ; =FUN_02076DD4
- ldr r1, _02076F24 ; =0x00000B18
- ldr r2, _02076F28 ; =FUN_02076E28
- str r0, [r5, r1]
- add r0, r1, #0x4
- str r2, [r5, r0]
- mov r0, #0x16
- add r1, #0xa
- strb r0, [r5, r1]
- mov r0, #0x14
- pop {r3-r5, pc}
- .balign 4
-_02076F1C: .word 0x0000069C
-_02076F20: .word FUN_02076DD4
-_02076F24: .word 0x00000B18
-_02076F28: .word FUN_02076E28
-
- thumb_func_start FUN_02076F2C
-FUN_02076F2C: ; 0x02076F2C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- ldr r0, _02076FAC ; =0x000005A4
- add r6, r2, #0x0
- ldr r0, [r5, r0]
- add r4, r1, #0x0
- ldrh r0, [r0, #0x26]
- add r1, r6, #0x0
- add r1, #0x36
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, #0x3e
- add r2, sp, #0x0
- bl FUN_02067830
- ldr r0, _02076FAC ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x26]
- bl FUN_0206AB30
- add r6, #0x3a
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, sp, #0x0
- bl FUN_02067830
- ldr r0, _02076FAC ; =0x000005A4
- ldr r1, [r5, r0]
- ldrh r0, [r1, #0x24]
- cmp r0, #0x0
- beq _02076FA8
- ldrh r0, [r1, #0x26]
- bl FUN_0206EA54
- cmp r0, #0x0
- bne _02076F98
- ldr r0, _02076FAC ; =0x000005A4
- mov r2, #0x1
- ldr r1, [r5, r0]
- mov r3, #0xc
- ldr r0, [r1, #0x4]
- ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
-_02076F98:
- add r0, r5, #0x0
- bl FUN_020772CC
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020688E8
-_02076FA8:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02076FAC: .word 0x000005A4
-
- thumb_func_start FUN_02076FB0
-FUN_02076FB0: ; 0x02076FB0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0207702C ; =0x000005A4
- add r6, r1, #0x0
- ldr r1, _02077030 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r1, r6, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, _02077034 ; =0x0000069C
- add r1, r6, #0x0
- ldr r0, [r5, r0]
- add r1, #0xa2
- bl FUN_0200A914
- add r7, r0, #0x0
- mov r0, #0x6a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0200AD5C
- mov r1, #0x6a
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- add r1, #0x8
- ldr r1, [r5, r1]
- add r2, r7, #0x0
- bl FUN_0200B7B8
- add r0, r7, #0x0
- bl FUN_02021A20
- cmp r4, #0x0
- ldr r1, _02077038 ; =0x000006F8
- bne _0207701C
- ldr r0, [r5, r1]
- sub r1, #0x50
- mov r2, #0x2
- ldr r1, [r5, r1]
- mvn r2, r2
- bl FUN_020128A0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0207701C:
- ldr r0, [r5, r1]
- sub r1, #0x50
- ldr r1, [r5, r1]
- add r2, r6, #0x0
- bl FUN_020128A0
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0207702C: .word 0x000005A4
-_02077030: .word 0x00000B25
-_02077034: .word 0x0000069C
-_02077038: .word 0x000006F8
-
- thumb_func_start FUN_0207703C
-FUN_0207703C: ; 0x0207703C
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- cmp r1, #0x0
- bne _02077050
- mov r1, #0x29
- mov r2, #0x1
- bl FUN_020731D4
- b _02077058
-_02077050:
- mov r1, #0x28
- mov r2, #0x1
- bl FUN_020731D4
-_02077058:
- mov r0, #0x4
- mov r1, #0xc
- bl FUN_02012838
- ldr r1, _02077108 ; =0x000006F8
- str r0, [r4, r1]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02076FB0
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02076FB0
- add r0, r5, r0
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02076FB0
- add r0, r5, r0
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02076FB0
- add r0, r5, r0
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r0, _02077108 ; =0x000006F8
- mov r2, #0x0
- ldr r0, [r4, r0]
- str r0, [sp, #0x8]
- mov r0, #0x91
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r0, [sp, #0xc]
- add r0, sp, #0x8
- strb r2, [r0, #0x8]
- mov r2, #0x1
- strb r2, [r0, #0x9]
- mov r2, #0x4
- strb r2, [r0, #0xa]
- ldrb r3, [r0, #0xb]
- mov r2, #0xf
- bic r3, r2
- strb r3, [r0, #0xb]
- ldrb r3, [r0, #0xb]
- mov r2, #0x30
- bic r3, r2
- strb r3, [r0, #0xb]
- cmp r1, #0x4
- ldrb r2, [r0, #0xb]
- bne _020770D6
- mov r1, #0xc0
- bic r2, r1
- mov r1, #0x40
- orr r1, r2
- strb r1, [r0, #0xb]
- b _020770DC
-_020770D6:
- mov r1, #0xc0
- bic r2, r1
- strb r2, [r0, #0xb]
-_020770DC:
- mov r0, #0x91
- lsl r0, r0, #0x2
- mov r1, #0x1
- add r0, r4, r0
- add r2, r1, #0x0
- mov r3, #0xe
- bl FUN_0200CCA4
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x2
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x8
- mov r1, #0x8
- add r3, r2, #0x0
- bl FUN_02001C14
- ldr r1, _0207710C ; =0x000006FC
- str r0, [r4, r1]
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-_02077108: .word 0x000006F8
-_0207710C: .word 0x000006FC
-
- thumb_func_start FUN_02077110
-FUN_02077110: ; 0x02077110
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0207722C ; =0x000006FC
- ldr r0, [r5, r0]
- bl FUN_02001C78
- add r4, r0, #0x0
- mov r0, #0x1
- mvn r0, r0
- cmp r4, r0
- beq _02077130
- add r0, r0, #0x1
- cmp r4, r0
- beq _02077226
- b _0207716A
-_02077130:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- mov r0, #0x91
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldr r0, _0207722C ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _02077230 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- add r0, r5, #0x0
- mov r1, #0x20
- mov r2, #0x1
- bl FUN_020731C0
- add sp, #0x8
- mov r0, #0x4
- pop {r4-r6, pc}
-_0207716A:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- mov r0, #0x91
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldr r0, _0207722C ; =0x000006FC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02001C5C
- ldr r0, _02077230 ; =0x000006F8
- ldr r0, [r5, r0]
- bl FUN_02012870
- ldr r0, _02077234 ; =0x000005A4
- ldr r6, [r5, r0]
- add r0, r5, #0x0
- bl FUN_020772CC
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- ldr r2, _02077238 ; =0x00000B25
- lsl r3, r4, #0x18
- ldrh r1, [r6, #0x24]
- ldrb r2, [r5, r2]
- ldr r0, [r6, #0x0]
- lsr r3, r3, #0x18
- bl FUN_02084DD0
- cmp r0, #0x1
- bne _020771F6
- ldr r0, _02077234 ; =0x000005A4
- ldr r1, _02077238 ; =0x00000B25
- ldr r0, [r5, r0]
- ldrb r1, [r5, r1]
- ldr r0, [r0, #0x0]
- bl FUN_0206B9B0
- add r4, #0x36
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _02077234 ; =0x000005A4
- add r2, r0, #0x0
- ldr r1, [r5, r1]
- add r0, r5, #0x0
- ldrh r1, [r1, #0x24]
- bl FUN_020757F4
- ldr r0, _02077234 ; =0x000005A4
- mov r2, #0x1
- ldr r1, [r5, r0]
- mov r3, #0xc
- ldr r0, [r1, #0x4]
- ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
- ldr r0, _0207723C ; =0x000005EC
- bl FUN_020054C8
- b _02077204
-_020771F6:
- ldr r2, _02077240 ; =0x0000069C
- mov r1, #0x69
- ldr r0, [r5, r2]
- add r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
-_02077204:
- mov r1, #0x0
- add r0, r5, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _02077234 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r5, r0]
- add sp, #0x8
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _02077244 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r5, r0]
- mov r0, #0x14
- pop {r4-r6, pc}
-_02077226:
- mov r0, #0x6
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0207722C: .word 0x000006FC
-_02077230: .word 0x000006F8
-_02077234: .word 0x000005A4
-_02077238: .word 0x00000B25
-_0207723C: .word 0x000005EC
-_02077240: .word 0x0000069C
-_02077244: .word 0x00000B22
-
- thumb_func_start FUN_02077248
-FUN_02077248: ; 0x02077248
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_0200D0E0
- ldr r0, _020772BC ; =0x00000B25
- ldr r2, _020772C0 ; =0x0000070C
- ldrb r1, [r4, r0]
- mov r0, #0x2c
- mul r0, r1
- add r0, r4, r0
- ldrh r0, [r0, r2]
- cmp r0, #0x0
- bne _02077286
- add r0, r2, #0x0
- sub r0, #0x70
- sub r2, #0x68
- ldr r0, [r4, r0]
- ldr r2, [r4, r2]
- mov r1, #0x7f
- bl FUN_0200A8E0
- ldr r1, _020772BC ; =0x00000B25
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- bl FUN_02073AB8
- b _0207729C
-_02077286:
- add r0, r2, #0x0
- sub r0, #0x70
- sub r2, #0x68
- ldr r0, [r4, r0]
- ldr r2, [r4, r2]
- mov r1, #0x80
- bl FUN_0200A8E0
- ldr r0, _020772BC ; =0x00000B25
- mov r1, #0x7
- strb r1, [r4, r0]
-_0207729C:
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- mov r2, #0x1
- bl FUN_020731E8
- ldr r0, _020772C4 ; =0x000005A4
- mov r1, #0x0
- ldr r0, [r4, r0]
- add r0, #0x23
- strb r1, [r0, #0x0]
- ldr r0, _020772C8 ; =0x00000B22
- mov r1, #0x15
- strb r1, [r4, r0]
- pop {r4, pc}
- nop
-_020772BC: .word 0x00000B25
-_020772C0: .word 0x0000070C
-_020772C4: .word 0x000005A4
-_020772C8: .word 0x00000B22
-
- thumb_func_start FUN_020772CC
-FUN_020772CC: ; 0x020772CC
- push {r3, lr}
- ldr r1, _020772E4 ; =0x000005A4
- ldr r0, [r0, r1]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r3, pc}
- nop
-_020772E4: .word 0x000005A4
-
- thumb_func_start FUN_020772E8
-FUN_020772E8: ; 0x020772E8
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- ldr r1, [r5, #0x0]
- add r6, r0, #0x0
- cmp r1, #0x0
- beq _020772FE
- cmp r1, #0x1
- bne _020772FC
- b _02077456
-_020772FC:
- b _02077490
-_020772FE:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- bl FUN_02015F1C
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02077498 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0207749C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r2, #0xa
- mov r0, #0x3
- mov r1, #0x12
- lsl r2, r2, #0xe
- bl FUN_0201681C
- mov r1, #0x5d
- add r0, r6, #0x0
- lsl r1, r1, #0x4
- mov r2, #0x12
- bl FUN_02006268
- mov r2, #0x5d
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- bl memset
- mov r0, #0x12
- bl FUN_02016B94
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- mov r0, #0x12
- bl FUN_0200AA80
- mov r2, #0x5a
- lsl r2, r2, #0x2
- str r0, [r4, r2]
- mov r0, #0x0
- mov r1, #0x1a
- add r2, #0xb
- mov r3, #0x12
- bl FUN_0200A86C
- mov r2, #0x5b
- lsl r2, r2, #0x2
- str r0, [r4, r2]
- mov r0, #0x1
- mov r1, #0x1a
- add r2, #0xc
- mov r3, #0x12
- bl FUN_0200A86C
- mov r2, #0x17
- lsl r2, r2, #0x4
- str r0, [r4, r2]
- mov r0, #0x1
- mov r1, #0x1a
- sub r2, #0x2c
- mov r3, #0x12
- bl FUN_0200A86C
- mov r1, #0x5d
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- bl FUN_02077B24
- mov r0, #0x16
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02077B44
- add r0, r6, #0x0
- bl FUN_0200628C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02077B08
- add r0, r4, #0x0
- bl FUN_02077FE8
- mov r0, #0x2
- mov r1, #0x12
- bl FUN_02002C50
- ldr r0, _020774A0 ; =FUN_02077AE8
- mov r1, #0x0
- bl FUN_02015F10
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02077CD4
- mov r0, #0x0
- mov r1, #0x12
- bl FUN_02002C84
- bl FUN_02078110
- add r0, r4, #0x0
- bl FUN_02078140
- add r0, r4, #0x0
- bl FUN_0207835C
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0207890C
- ldr r0, _020774A4 ; =0x000004C4
- mov r3, #0x5f
- add r1, r4, r0
- lsl r3, r3, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r4, r3]
- add r2, r3, #0x0
- str r1, [sp, #0x4]
- sub r2, #0x24
- sub r0, #0xcc
- add r1, r4, #0x0
- sub r3, #0x22
- ldrh r2, [r4, r2]
- add r0, r4, r0
- add r1, #0xd8
- add r3, r4, r3
- bl FUN_0207907C
- mov r1, #0x0
- mov r0, #0x34
- add r2, r1, #0x0
- bl FUN_0200433C
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x12
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x1
- bl FUN_02077C84
- ldr r0, _020774A8 ; =0x021C4918
- mov r1, #0x1
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02077490
-_02077456:
- bl FUN_02006278
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x1
- bne _02077472
- ldr r1, _020774AC ; =0x000004B8
- ldr r2, [r4, #0x4]
- ldr r0, [r4, r1]
- add r1, #0x8
- ldr r1, [r4, r1]
- ldr r3, [r4, #0x8]
- bl FUN_020774B8
-_02077472:
- ldr r0, _020774B0 ; =0x021C5C54
- mov r1, #0x1
- str r4, [r0, #0x0]
- mov r0, #0x0
- mov r2, #0xc
- mov r3, #0x12
- bl FUN_020142EC
- ldr r1, _020774B4 ; =0x000005C4
- add sp, #0xc
- str r0, [r4, r1]
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r6, pc}
-_02077490:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r6, pc}
- nop
-_02077498: .word 0xFFFFE0FF
-_0207749C: .word 0x04001000
-_020774A0: .word FUN_02077AE8
-_020774A4: .word 0x000004C4
-_020774A8: .word 0x021C4918
-_020774AC: .word 0x000004B8
-_020774B0: .word 0x021C5C54
-_020774B4: .word 0x000005C4
-
- thumb_func_start FUN_020774B8
-FUN_020774B8: ; 0x020774B8
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r2, #0x0
- mov r2, #0x2
- ldr r0, [r0, #0x14]
- ldr r1, _020774E8 ; =0x000057E0
- add r6, r3, #0x0
- lsl r2, r2, #0x8
- bl GX_LoadOBJ
- ldr r4, [r4, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_0206B7BC
- lsl r0, r0, #0x5
- add r0, r4, r0
- mov r1, #0xc0
- mov r2, #0x20
- bl GX_LoadOBJPltt
- pop {r4-r6, pc}
- nop
-_020774E8: .word 0x000057E0
-
- thumb_func_start FUN_020774EC
-FUN_020774EC: ; 0x020774EC
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r1, #0x0
- add r6, r0, #0x0
- bl FUN_02006278
- ldr r1, [r5, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x3
- bhi _02077550
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0207750C: ; jump table (using 16-bit offset)
- .short _02077514 - _0207750C - 2; case 0
- .short _02077528 - _0207750C - 2; case 1
- .short _0207755C - _0207750C - 2; case 2
- .short _0207768A - _0207750C - 2; case 3
-_02077514:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02077550
- mov r0, #0x1
- str r0, [r5, #0x0]
- ldr r0, _020776A8 ; =0x000005CC
- mov r1, #0x0
- str r1, [r4, r0]
- b _02077698
-_02077528:
- ldr r1, _020776A8 ; =0x000005CC
- ldr r2, [r4, r1]
- add r2, r2, #0x1
- str r2, [r4, r1]
- bl FUN_020798C4
- mov r2, #0x49
- lsl r2, r2, #0x4
- add r0, r4, r2
- mov r1, #0xcb
- sub r2, #0x30
- lsl r1, r1, #0x2
- ldr r2, [r4, r2]
- add r1, r4, r1
- bl FUN_02079834
- ldr r0, _020776A8 ; =0x000005CC
- ldr r1, [r4, r0]
- cmp r1, #0x5
- bgt _02077552
-_02077550:
- b _02077698
-_02077552:
- mov r1, #0x2
- str r1, [r5, #0x0]
- mov r1, #0x0
- str r1, [r4, r0]
- b _02077698
-_0207755C:
- ldr r3, _020776AC ; =0x0000045C
- ldr r2, [r4, r3]
- cmp r2, #0x7
- bhi _02077636
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02077570: ; jump table (using 16-bit offset)
- .short _02077636 - _02077570 - 2; case 0
- .short _02077636 - _02077570 - 2; case 1
- .short _02077636 - _02077570 - 2; case 2
- .short _02077636 - _02077570 - 2; case 3
- .short _02077580 - _02077570 - 2; case 4
- .short _02077594 - _02077570 - 2; case 5
- .short _020775E0 - _02077570 - 2; case 6
- .short _0207760C - _02077570 - 2; case 7
-_02077580:
- ldr r2, [r4, #0x34]
- cmp r2, #0x0
- bne _0207758C
- bl FUN_020776C4
- str r0, [r5, #0x0]
-_0207758C:
- add r0, r4, #0x0
- bl FUN_020798C4
- b _02077636
-_02077594:
- add r1, r6, #0x0
- bl FUN_02077E90
- ldr r0, _020776B0 ; =0x00000448
- mov r1, #0xf
- add r0, r4, r0
- bl FUN_02019620
- ldr r0, _020776B0 ; =0x00000448
- mov r2, #0x1
- add r0, r4, r0
- mov r1, #0x0
- lsl r2, r2, #0x8
- mov r3, #0xa
- bl FUN_0200D0BC
- mov r3, #0x0
- mov r2, #0x6
- ldr r0, _020776B0 ; =0x00000448
- str r3, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- add r0, r4, r0
- bl FUN_0201BD84
- ldr r1, _020776B4 ; =0x00000458
- str r0, [r4, r1]
- sub r1, #0x10
- add r0, r4, r1
- bl FUN_020191D0
- ldr r0, _020776AC ; =0x0000045C
- mov r1, #0x6
- str r1, [r4, r0]
- b _02077636
-_020775E0:
- sub r0, r3, #0x4
- ldr r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02077636
- ldr r0, _020776B8 ; =0x000005E2
- bl FUN_020054C8
- ldr r1, _020776BC ; =0x000004A8
- mov r2, #0x0
- ldr r0, [r4, r1]
- add r0, r0, #0x1
- str r0, [r4, r1]
- ldr r0, _020776A8 ; =0x000005CC
- sub r1, #0x4c
- str r2, [r4, r0]
- mov r0, #0x7
- str r0, [r4, r1]
- b _02077636
-_0207760C:
- ldr r0, _020776A8 ; =0x000005CC
- ldr r1, [r4, r0]
- add r1, r1, #0x1
- str r1, [r4, r0]
- ldr r0, [r4, r0]
- cmp r0, #0x1e
- ble _02077636
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r1, #0x0
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x12
- str r0, [sp, #0x8]
- mov r0, #0x2
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_0200E1D0
- mov r0, #0x3
- str r0, [r5, #0x0]
-_02077636:
- ldr r3, _020776C0 ; =0x00000464
- mov r1, #0xcb
- add r0, r4, r3
- str r0, [sp, #0x0]
- add r0, r3, #0x4
- add r0, r4, r0
- lsl r1, r1, #0x2
- str r0, [sp, #0x4]
- add r0, r4, r1
- str r0, [sp, #0x8]
- add r0, r3, #0x0
- add r0, #0x4c
- ldr r0, [r4, r0]
- add r2, r3, #0x0
- ldr r0, [r0, #0x14]
- add r1, #0x8c
- str r0, [sp, #0xc]
- mov r0, #0x16
- lsl r0, r0, #0x4
- sub r3, r3, #0x4
- sub r2, #0x8
- ldr r0, [r4, r0]
- ldr r3, [r4, r3]
- add r1, r4, r1
- add r2, r4, r2
- bl FUN_020786B0
- mov r2, #0x49
- lsl r2, r2, #0x4
- add r0, r4, r2
- mov r1, #0xcb
- sub r2, #0x30
- lsl r1, r1, #0x2
- ldr r2, [r4, r2]
- add r1, r4, r1
- bl FUN_02079834
- add r0, r4, #0x0
- add r0, #0x38
- bl FUN_02078E3C
- b _02077698
-_0207768A:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02077698
- add sp, #0x10
- mov r0, #0x1
- pop {r4-r6, pc}
-_02077698:
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201FDEC
- mov r0, #0x0
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_020776A8: .word 0x000005CC
-_020776AC: .word 0x0000045C
-_020776B0: .word 0x00000448
-_020776B4: .word 0x00000458
-_020776B8: .word 0x000005E2
-_020776BC: .word 0x000004A8
-_020776C0: .word 0x00000464
-
- thumb_func_start FUN_020776C4
-FUN_020776C4: ; 0x020776C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02078C98
- ldr r0, _020777BC ; =0x021C48B8
- mov r1, #0x4
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _02077746
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- beq _0207771E
- ldr r1, _020777C0 ; =0x0000045C
- mov r0, #0x0
- str r0, [r5, r1]
- add r2, r1, #0x4
- ldr r2, [r5, r2]
- add r3, r2, #0x1
- add r2, r1, #0x4
- str r3, [r5, r2]
- ldr r2, [r5, r2]
- cmp r2, #0x3
- blt _020776F8
- add r1, r1, #0x4
- str r0, [r5, r1]
-_020776F8:
- mov r2, #0x49
- lsl r2, r2, #0x4
- add r1, r2, #0x0
- sub r1, #0x30
- ldr r1, [r5, r1]
- add r0, r5, r2
- lsl r3, r1, #0x2
- ldr r1, [r0, r3]
- sub r2, #0x30
- add r1, r1, #0x1
- str r1, [r0, r3]
- add r0, r5, #0x0
- ldr r1, [r5, r2]
- add r0, #0x3a
- bl FUN_0207916C
- ldr r0, _020777C4 ; =0x0000069E
- bl FUN_020054C8
-_0207771E:
- mov r2, #0x49
- lsl r2, r2, #0x4
- add r1, r2, #0x0
- sub r1, #0x30
- ldr r1, [r5, r1]
- add r0, r5, r2
- lsl r3, r1, #0x2
- ldr r1, [r0, r3]
- sub r2, #0x30
- add r1, r1, #0x1
- str r1, [r0, r3]
- add r0, r5, #0x0
- ldr r1, [r5, r2]
- add r0, #0x3a
- bl FUN_0207916C
- ldr r0, _020777C4 ; =0x0000069E
- bl FUN_020054C8
- b _020777B8
-_02077746:
- mov r2, #0x1
- add r1, r0, #0x0
- tst r1, r2
- beq _0207776C
- ldr r3, [r5, #0x20]
- mov r1, #0x1a
- mul r1, r3
- add r3, r5, r1
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- lsl r1, r1, #0x1
- add r1, r3, r1
- ldrh r1, [r1, #0x3a]
- bl FUN_020791C0
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [r5, #0x30]
- b _020777B8
-_0207776C:
- ldr r1, _020777C8 ; =0x000005C8
- ldr r1, [r5, r1]
- cmp r1, #0x1
- bne _02077794
- ldr r2, [r5, #0x20]
- mov r1, #0x1a
- mul r1, r2
- add r2, r5, r1
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- lsl r1, r1, #0x1
- add r1, r2, r1
- ldrh r1, [r1, #0x3a]
- mov r2, #0x0
- bl FUN_020791C0
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r5, #0x30]
- b _020777B8
-_02077794:
- mov r1, #0x2
- add r3, r0, #0x0
- tst r3, r1
- beq _020777A8
- ldr r1, _020777CC ; =0x0000E007
- add r0, r5, #0x0
- bl FUN_020791C0
- add r4, r0, #0x0
- b _020777B8
-_020777A8:
- add r1, #0xfe
- tst r0, r1
- beq _020777B8
- ldr r1, _020777D0 ; =0x0000E006
- add r0, r5, #0x0
- bl FUN_020791C0
- add r4, r0, #0x0
-_020777B8:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020777BC: .word 0x021C48B8
-_020777C0: .word 0x0000045C
-_020777C4: .word 0x0000069E
-_020777C8: .word 0x000005C8
-_020777CC: .word 0x0000E007
-_020777D0: .word 0x0000E006
-
- thumb_func_start FUN_020777D4
-FUN_020777D4: ; 0x020777D4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _02077836
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _020777FE
- bl rand_LC
- mov r1, #0x12
- bl _s32_div_f
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_0200A914
- add r6, r0, #0x0
- b _0207781A
-_020777FE:
- cmp r0, #0x1
- bne _0207781A
- bl rand_LC
- mov r1, #0x12
- bl _s32_div_f
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- add r1, #0x12
- bl FUN_0200A914
- add r6, r0, #0x0
-_0207781A:
- ldr r0, [r4, #0x18]
- add r1, r6, #0x0
- bl FUN_02021A74
- add r0, r6, #0x0
- bl FUN_02021A20
- ldr r0, [r4, #0x18]
- add r4, #0x1c
- add r1, r4, #0x0
- mov r2, #0xa
- bl FUN_02021EF0
- pop {r4-r6, pc}
-_02077836:
- cmp r0, #0x3
- bne _02077864
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x58
- bl FUN_0200A914
- add r5, r0, #0x0
- ldr r0, [r4, #0x18]
- add r1, r5, #0x0
- bl FUN_02021A74
- add r0, r5, #0x0
- bl FUN_02021A20
- ldr r0, [r4, #0x18]
- add r4, #0x1c
- add r1, r4, #0x0
- mov r2, #0xa
- bl FUN_02021EF0
- pop {r4-r6, pc}
-_02077864:
- mov r0, #0x1
- str r0, [r4, #0x14]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0207786C
-FUN_0207786C: ; 0x0207786C
- push {r4-r5}
- ldr r1, _0207788C ; =0x000001DE
- ldr r2, _02077890 ; =0x0000FFFF
- mov r5, #0x1
- mov r3, #0x0
-_02077876:
- ldrh r4, [r0, #0x0]
- cmp r4, r2
- beq _02077886
- cmp r4, r1
- beq _02077882
- add r5, r3, #0x0
-_02077882:
- add r0, r0, #0x2
- b _02077876
-_02077886:
- add r0, r5, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-_0207788C: .word 0x000001DE
-_02077890: .word 0x0000FFFF
-
- thumb_func_start FUN_02077894
-FUN_02077894: ; 0x02077894
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x10]
- bl FUN_02006278
- add r4, r0, #0x0
- ldr r0, [sp, #0x10]
- bl FUN_0200628C
- add r5, r0, #0x0
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- ldr r1, _02077A6C ; =0x0000FFFF
- lsl r0, r0, #0x1
- add r0, r4, r0
- add r0, #0xd8
- strh r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- cmp r0, #0x1
- bne _020778DE
- mov r0, #0x12
- bl FUN_020669C0
- mov r3, #0xa
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- ldr r1, [r4, #0x4]
- add r6, r0, #0x0
- mov r2, #0x5
- bl FUN_02066ACC
- add r0, r6, #0x0
- bl FUN_02016A18
-_020778DE:
- mov r1, #0x56
- lsl r1, r1, #0x2
- ldrh r0, [r4, r1]
- cmp r0, #0x0
- beq _02077904
- add r0, r4, #0x0
- sub r1, #0x40
- add r0, #0xd8
- add r1, r4, r1
- bl StringNotEqual
- cmp r0, #0x0
- beq _02077904
- add r0, r4, #0x0
- add r0, #0xd8
- bl FUN_0207786C
- cmp r0, #0x0
- beq _0207790E
-_02077904:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020777D4
- b _02077932
-_0207790E:
- mov r0, #0x46
- lsl r0, r0, #0x2
- add r1, r4, #0x0
- add r0, r4, r0
- add r1, #0xd8
- bl StringCopy
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r0, #0x1c
- add r1, #0xd8
- bl StringCopy
- add r1, r4, #0x0
- ldr r0, [r5, #0x18]
- add r1, #0xd8
- bl FUN_02021E28
-_02077932:
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r7, #0xe7
- mov r6, #0x0
- add r5, r4, #0x0
- lsl r7, r7, #0x2
-_02077944:
- ldr r0, [r5, r7]
- bl FUN_0200621C
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, #0x7
- blt _02077944
- mov r0, #0xb1
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02009C0C
- mov r0, #0xb5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02009C0C
- mov r0, #0xb2
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02009E04
- mov r0, #0xb6
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02009E04
- mov r7, #0xad
- mov r6, #0x0
- add r5, r4, #0x0
- lsl r7, r7, #0x2
-_02077982:
- ldr r0, [r5, r7]
- bl FUN_02008E2C
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, #0x4
- blt _02077982
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201FD58
- bl FUN_02009FA0
- ldr r1, _02077A70 ; =0x000004AC
- mov r0, #0x12
- ldr r1, [r4, r1]
- bl FUN_02016A8C
- ldr r0, [r4, #0x0]
- cmp r0, #0x1
- bne _020779C2
- ldr r1, _02077A74 ; =0x000004B4
- mov r0, #0x12
- ldr r1, [r4, r1]
- bl FUN_02016A8C
- ldr r1, _02077A78 ; =0x000004BC
- mov r0, #0x12
- ldr r1, [r4, r1]
- bl FUN_02016A8C
-_020779C2:
- mov r0, #0x16
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x7
- bl FUN_020178A0
- bl FUN_0201D12C
- bl FUN_0201E08C
- mov r0, #0x16
- lsl r0, r0, #0x4
- mov r1, #0xee
- lsl r1, r1, #0x2
- ldr r0, [r4, r0]
- add r1, r4, r1
- bl FUN_02077FA8
- mov r0, #0x0
- bl FUN_02002CC0
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02077A7C ; =0xFFFF1FFF
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x2
- bl FUN_02002CF8
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02077A0C
- bl FUN_02021A20
-_02077A0C:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r0, #0x5f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r0, #0x5d
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0200AB18
- ldr r0, [sp, #0x10]
- bl FUN_0200627C
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r0, #0x12
- bl FUN_020168D0
- ldr r0, _02077A80 ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- mov r0, #0x1
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02077A6C: .word 0x0000FFFF
-_02077A70: .word 0x000004AC
-_02077A74: .word 0x000004B4
-_02077A78: .word 0x000004BC
-_02077A7C: .word 0xFFFF1FFF
-_02077A80: .word 0x021C4918
-
- thumb_func_start FUN_02077A84
-FUN_02077A84: ; 0x02077A84
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r1, #0x50
- str r0, [sp, #0x0]
- add r7, r2, #0x0
- add r5, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- str r6, [r4, #0x0]
- str r7, [r4, #0x4]
- str r5, [r4, #0xc]
- mov r0, #0x0
- str r0, [r4, #0x14]
- ldr r0, _02077AC0 ; =0x0000FFFF
- ldr r1, [sp, #0x0]
- strh r0, [r4, #0x1c]
- add r0, r5, #0x1
- bl FUN_020219F4
- str r0, [r4, #0x18]
- mov r1, #0x0
- str r1, [r4, #0x44]
- str r1, [r4, #0x48]
- ldr r0, [sp, #0x18]
- str r1, [r4, #0x10]
- str r0, [r4, #0x4c]
- str r1, [r4, #0x8]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02077AC0: .word 0x0000FFFF
-
- thumb_func_start FUN_02077AC4
-FUN_02077AC4: ; 0x02077AC4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- bne _02077AD2
- bl ErrorHandling
-_02077AD2:
- cmp r4, #0x0
- bne _02077ADA
- bl ErrorHandling
-_02077ADA:
- ldr r0, [r4, #0x18]
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02077AE8
-FUN_02077AE8: ; 0x02077AE8
- push {r3, lr}
- bl FUN_0201C30C
- bl FUN_02009F80
- ldr r3, _02077B00 ; =0x027E0000
- ldr r1, _02077B04 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- pop {r3, pc}
- .balign 4
-_02077B00: .word 0x027E0000
-_02077B04: .word 0x00003FF8
-
- thumb_func_start FUN_02077B08
-FUN_02077B08: ; 0x02077B08
- ldr r2, [r1, #0x0]
- str r2, [r0, #0x0]
- ldr r2, [r1, #0x4]
- str r2, [r0, #0x4]
- ldr r2, [r1, #0x8]
- str r2, [r0, #0x8]
- ldr r2, [r1, #0xc]
- str r2, [r0, #0xc]
- ldr r2, [r1, #0x10]
- str r2, [r0, #0x10]
- ldr r1, [r1, #0x4c]
- str r1, [r0, #0x18]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02077B24
-FUN_02077B24: ; 0x02077B24
- push {r4, lr}
- sub sp, #0x28
- ldr r4, _02077B40 ; =0x020FA12C
- add r3, sp, #0x0
- mov r2, #0x5
-_02077B2E:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02077B2E
- add r0, sp, #0x0
- bl FUN_0201E66C
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-_02077B40: .word 0x020FA12C
-
- thumb_func_start FUN_02077B44
-FUN_02077B44: ; 0x02077B44
- push {r3-r5, lr}
- sub sp, #0x80
- ldr r5, _02077C68 ; =0x020F9D4C
- add r3, sp, #0x70
- add r4, r0, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _02077C6C ; =0x020F9EC0
- add r3, sp, #0x54
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02018744
- ldr r5, _02077C70 ; =0x020F9FA0
- add r3, sp, #0x38
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02018744
- ldr r5, _02077C74 ; =0x020FA064
- add r3, sp, #0x1c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02018744
- ldr r5, _02077C78 ; =0x020F9DFC
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02018744
- mov r0, #0x0
- bl FUN_02077C84
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- mov r3, #0x12
- bl FUN_02017F18
- mov r0, #0x4
- mov r1, #0x20
- mov r2, #0x0
- mov r3, #0x12
- bl FUN_02017F18
- mov r0, #0x1
- lsl r0, r0, #0x1a
- add r4, r0, #0x0
- ldr r2, [r0, #0x0]
- ldr r1, _02077C7C ; =0xFFFF1FFF
- add r4, #0x48
- and r2, r1
- lsr r1, r0, #0xd
- orr r1, r2
- str r1, [r0, #0x0]
- ldrh r3, [r4, #0x0]
- mov r2, #0x3f
- mov r1, #0x14
- bic r3, r2
- orr r1, r3
- mov r3, #0x20
- orr r1, r3
- strh r1, [r4, #0x0]
- add r4, r0, #0x0
- add r4, #0x4a
- ldrh r5, [r4, #0x0]
- mov r1, #0x1f
- bic r5, r2
- orr r1, r5
- orr r1, r3
- strh r1, [r4, #0x0]
- add r1, r0, #0x0
- mov r2, #0xff
- add r1, #0x40
- strh r2, [r1, #0x0]
- mov r1, #0x40
- add r0, #0x44
- strh r1, [r0, #0x0]
- ldr r0, _02077C80 ; =0x04001050
- mov r1, #0x0
- strh r1, [r0, #0x0]
- add sp, #0x80
- pop {r3-r5, pc}
- .balign 4
-_02077C68: .word 0x020F9D4C
-_02077C6C: .word 0x020F9EC0
-_02077C70: .word 0x020F9FA0
-_02077C74: .word 0x020FA064
-_02077C78: .word 0x020F9DFC
-_02077C7C: .word 0xFFFF1FFF
-_02077C80: .word 0x04001050
-
- thumb_func_start FUN_02077C84
-FUN_02077C84: ; 0x02077C84
- push {r4, lr}
- add r4, r0, #0x0
- lsl r1, r4, #0x18
- mov r0, #0x1
- lsr r1, r1, #0x18
- bl FUN_0201E6E4
- lsl r1, r4, #0x18
- mov r0, #0x2
- lsr r1, r1, #0x18
- bl FUN_0201E6E4
- lsl r1, r4, #0x18
- mov r0, #0x4
- lsr r1, r1, #0x18
- bl FUN_0201E6E4
- mov r0, #0x8
- mov r1, #0x0
- bl FUN_0201E6E4
- lsl r1, r4, #0x18
- mov r0, #0x10
- lsr r1, r1, #0x18
- bl FUN_0201E6E4
- lsl r1, r4, #0x18
- mov r0, #0x1
- lsr r1, r1, #0x18
- bl FUN_0201E74C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x10
- mov r1, #0x0
- bl FUN_0201E74C
- pop {r4, pc}
-
- thumb_func_start FUN_02077CD4
-FUN_02077CD4: ; 0x02077CD4
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0200628C
- add r7, r0, #0x0
- ldr r0, _02077E7C ; =0x0000045C
- mov r1, #0x4
- str r1, [r4, r0]
- add r0, #0xc
- add r0, r4, r0
- mov r1, #0x0
- bl FUN_02078BA8
- ldr r6, _02077E80 ; =0x00000464
- mov r0, #0x16
- ldr r3, [r4, r6]
- mov r5, #0xc
- lsl r0, r0, #0x4
- lsl r1, r3, #0x18
- mul r5, r3
- add r3, r4, r5
- add r5, r6, #0x4
- ldr r0, [r4, r0]
- ldr r3, [r3, r5]
- lsr r1, r1, #0x18
- mov r2, #0x0
- bl FUN_020179E0
- ldr r3, [r4, r6]
- mov r5, #0xc
- mov r0, #0x16
- lsl r0, r0, #0x4
- lsl r1, r3, #0x18
- mul r5, r3
- add r3, r4, r5
- add r6, #0x8
- ldr r0, [r4, r0]
- ldr r3, [r3, r6]
- lsr r1, r1, #0x18
- mov r2, #0x3
- bl FUN_020179E0
- ldr r6, _02077E80 ; =0x00000464
- mov r0, #0x1
- ldr r1, [r4, r6]
- mov r5, #0xc
- add r3, r1, #0x0
- eor r3, r0
- mov r0, #0x16
- lsl r0, r0, #0x4
- lsl r1, r3, #0x18
- mul r5, r3
- add r3, r4, r5
- add r5, r6, #0x4
- ldr r0, [r4, r0]
- ldr r3, [r3, r5]
- lsr r1, r1, #0x18
- mov r2, #0x0
- bl FUN_020179E0
- ldr r1, [r4, r6]
- mov r0, #0x1
- add r3, r1, #0x0
- eor r3, r0
- mov r5, #0xc
- mov r0, #0x16
- lsl r0, r0, #0x4
- lsl r1, r3, #0x18
- mul r5, r3
- add r3, r4, r5
- add r6, #0x8
- ldr r0, [r4, r0]
- ldr r3, [r3, r6]
- lsr r1, r1, #0x18
- mov r2, #0x3
- bl FUN_020179E0
- mov r1, #0x46
- ldr r0, _02077E84 ; =0x0000FFFF
- lsl r1, r1, #0x2
- strh r0, [r4, r1]
- ldr r0, [r7, #0x18]
- cmp r0, #0x0
- beq _02077D88
- add r1, r4, r1
- mov r2, #0x20
- bl FUN_02021EF0
-_02077D88:
- add r1, r4, #0x0
- mov r0, #0x1
- add r1, #0xd8
- mov r2, #0x40
- bl MIi_CpuClear16
- ldr r0, [r4, #0x0]
- cmp r0, #0x1
- bne _02077DCE
- mov r0, #0x12
- bl FUN_020669C0
- mov r3, #0xa
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- ldr r1, [r4, #0x4]
- add r5, r0, #0x0
- mov r2, #0x5
- bl FUN_02066ACC
- add r0, r5, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200AC60
- add r0, r5, #0x0
- bl FUN_02016A18
-_02077DCE:
- ldr r0, [r7, #0x44]
- cmp r0, #0x0
- beq _02077DD8
- mov r0, #0x1
- str r0, [r4, #0x14]
-_02077DD8:
- ldr r2, [r4, #0x0]
- mov r1, #0x5a
- lsl r1, r1, #0x2
- lsl r3, r2, #0x2
- ldr r2, _02077E88 ; =0x020FA0A0
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r2, [r2, r3]
- ldr r1, [r4, r1]
- mov r3, #0x12
- bl FUN_0200A9C4
- mov r1, #0x5e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r1, #0x0
- sub r0, #0x10
- sub r1, #0xc
- ldr r0, [r4, r0]
- ldr r1, [r4, r1]
- mov r2, #0x8
- mov r3, #0x12
- bl FUN_0200A9C4
- mov r1, #0x5f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- sub r1, #0x10
- ldr r0, [r4, r1]
- mov r1, #0x7
- bl FUN_0200A914
- mov r1, #0x61
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- sub r1, #0x6c
- add r0, r4, r1
- bl StringLength
- mov r1, #0x56
- lsl r1, r1, #0x2
- strh r0, [r4, r1]
- mov r0, #0x0
- str r0, [r4, #0x1c]
- mov r1, #0x1
- str r1, [r4, #0x20]
- sub r1, r1, #0x2
- str r1, [r4, #0x24]
- str r1, [r4, #0x28]
- str r0, [r4, #0x30]
- ldr r2, _02077E8C ; =0x00000484
- str r0, [r4, #0x34]
- str r1, [r4, r2]
- add r1, r2, #0x4
- str r0, [r4, r1]
- add r2, #0x8
- str r0, [r4, r2]
- ldr r1, [r4, #0xc]
- ldr r2, _02077E84 ; =0x0000FFFF
- lsl r1, r1, #0x1
- add r1, r4, r1
- add r1, #0xd8
- strh r2, [r1, #0x0]
- mov r1, #0x49
- add r3, r4, #0x0
- add r2, r0, #0x0
- lsl r1, r1, #0x4
-_02077E5E:
- add r0, r0, #0x1
- str r2, [r3, r1]
- add r3, r3, #0x4
- cmp r0, #0x7
- blt _02077E5E
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- beq _02077E76
- mov r0, #0x49
- mov r1, #0x1
- lsl r0, r0, #0x4
- str r1, [r4, r0]
-_02077E76:
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02077E7C: .word 0x0000045C
-_02077E80: .word 0x00000464
-_02077E84: .word 0x0000FFFF
-_02077E88: .word 0x020FA0A0
-_02077E8C: .word 0x00000484
-
- thumb_func_start FUN_02077E90
-FUN_02077E90: ; 0x02077E90
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0200628C
- add r4, r0, #0x0
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- beq _02077FA0
- mov r0, #0xc8
- mov r1, #0x12
- bl FUN_020219F4
- add r7, r0, #0x0
- mov r0, #0x6
- mov r1, #0x0
- lsl r0, r0, #0x6
- str r1, [r5, r0]
- ldr r0, [r4, #0x48]
- bl FUN_0206B330
- add r6, r0, #0x0
- ldr r0, [r4, #0x48]
- bl FUN_0206B334
- str r0, [sp, #0x10]
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r4, #0x48]
- mov r1, #0x1
- add r3, r6, #0x0
- bl FUN_0200B410
- ldr r0, [sp, #0x10]
- cmp r6, r0
- beq _02077EF4
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r4, #0x48]
- ldr r3, [sp, #0x10]
- mov r1, #0x2
- bl FUN_0200B410
- ldr r0, [r4, #0x44]
- add r0, r0, #0x2
- str r0, [r4, #0x44]
- b _02077F04
-_02077EF4:
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r4, #0x48]
- mov r1, #0x2
- add r3, r6, #0x0
- bl FUN_0200B410
-_02077F04:
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r0, [r5, r0]
- cmp r0, #0x0
- beq _02077F1A
- add r0, r5, #0x0
- add r0, #0xd8
- bl FUN_0207786C
- cmp r0, #0x0
- beq _02077F50
-_02077F1A:
- mov r0, #0x12
- bl FUN_020669C0
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- ldr r1, [r5, #0x4]
- add r6, r0, #0x0
- mov r2, #0x1
- bl FUN_02066ACC
- add r0, r6, #0x0
- bl FUN_020690E4
- add r2, r0, #0x0
- mov r0, #0x5a
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200AC60
- add r0, r6, #0x0
- bl FUN_02016A18
- b _02077F7E
-_02077F50:
- mov r1, #0x56
- lsl r1, r1, #0x2
- ldrh r1, [r5, r1]
- ldr r0, _02077FA4 ; =0x0000FFFF
- lsl r1, r1, #0x1
- add r1, r5, r1
- add r1, #0xd8
- strh r0, [r1, #0x0]
- add r1, r5, #0x0
- add r0, r7, #0x0
- add r1, #0xd8
- bl FUN_02021E28
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x5a
- str r1, [sp, #0x4]
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r2, r7, #0x0
- add r3, r1, #0x0
- bl FUN_0200ABB4
-_02077F7E:
- mov r1, #0x5a
- lsl r1, r1, #0x2
- ldr r0, [r5, r1]
- add r1, #0xc
- ldr r1, [r5, r1]
- ldr r2, [r4, #0x44]
- mov r3, #0x12
- bl FUN_0200A9C4
- mov r1, #0x6
- lsl r1, r1, #0x6
- str r0, [r5, r1]
- mov r0, #0x1
- str r0, [r5, #0x14]
- add r0, r7, #0x0
- bl FUN_02021A20
-_02077FA0:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02077FA4: .word 0x0000FFFF
-
- thumb_func_start FUN_02077FA8
-FUN_02077FA8: ; 0x02077FA8
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r4, #0x0
-_02077FB0:
- add r0, r5, #0x0
- bl FUN_02019178
- add r4, r4, #0x1
- add r5, #0x10
- cmp r4, #0xa
- blt _02077FB0
- add r0, r6, #0x0
- mov r1, #0x4
- bl FUN_020178A0
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_020178A0
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_020178A0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_020178A0
- mov r0, #0x12
- add r1, r6, #0x0
- bl FUN_02016A8C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02077FE8
-FUN_02077FE8: ; 0x02077FE8
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x16
- lsl r0, r0, #0x4
- ldr r4, [r5, r0]
- mov r1, #0x0
- mov r0, #0x60
- str r0, [sp, #0x0]
- mov r0, #0x12
- str r0, [sp, #0x4]
- mov r0, #0x1f
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_02006930
- mov r0, #0x20
- str r0, [sp, #0x0]
- mov r0, #0x12
- str r0, [sp, #0x4]
- mov r0, #0xc
- add r1, r0, #0x0
- mov r2, #0x4
- mov r3, #0x0
- bl FUN_02006930
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_02017FE4
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x2
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x12
- mov r1, #0x2
- str r0, [sp, #0xc]
- mov r0, #0x1f
- add r2, r4, #0x0
- add r3, r1, #0x0
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x8
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- mov r0, #0x1f
- mov r1, #0x4
- add r2, r4, #0x0
- mov r3, #0x2
- bl FUN_020068C8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x2
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- mov r3, #0x1
- str r3, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- mov r0, #0x1f
- mov r1, #0x2
- add r2, r4, #0x0
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xe
- lsl r0, r0, #0x6
- str r0, [sp, #0x4]
- mov r3, #0x1
- str r3, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- mov r0, #0x1f
- mov r1, #0x6
- add r2, r4, #0x0
- bl FUN_020068C8
- mov r3, #0x0
- mov r0, #0xe
- str r3, [sp, #0x0]
- lsl r0, r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- mov r0, #0x1f
- mov r1, #0x7
- add r2, r4, #0x0
- bl FUN_020068C8
- mov r1, #0x6
- mov r0, #0x0
- lsl r1, r1, #0x6
- mov r2, #0x12
- bl FUN_02002EEC
- ldr r0, [r5, #0x18]
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x12
- str r0, [sp, #0x4]
- mov r0, #0x16
- lsl r0, r0, #0x4
- mov r1, #0x4
- add r2, r1, #0x0
- ldr r0, [r5, r0]
- add r2, #0xfc
- mov r3, #0xa
- bl FUN_0200CD68
- mov r1, #0x6
- mov r0, #0x4
- lsl r1, r1, #0x6
- mov r2, #0x12
- bl FUN_02002EEC
- mov r3, #0x4b
- mov r0, #0x12
- lsl r3, r3, #0x4
- str r0, [sp, #0x0]
- mov r0, #0x1f
- mov r1, #0x10
- mov r2, #0x1
- add r3, r5, r3
- bl FUN_02006BB0
- ldr r1, _0207810C ; =0x000004AC
- str r0, [r5, r1]
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_0207810C: .word 0x000004AC
-
- thumb_func_start FUN_02078110
-FUN_02078110: ; 0x02078110
- push {r4, lr}
- sub sp, #0x10
- ldr r4, _0207813C ; =0x020F9D5C
- add r3, sp, #0x0
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_0201D040
- mov r0, #0x14
- mov r1, #0x12
- bl FUN_0201E00C
- bl FUN_0201D168
- bl FUN_0201E0BC
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0207813C: .word 0x020F9D5C
-
- thumb_func_start FUN_02078140
-FUN_02078140: ; 0x02078140
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- bl FUN_020B0FC0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r1, #0x80
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r3, #0x20
- str r3, [sp, #0xc]
- mov r2, #0x12
- str r2, [sp, #0x10]
- add r2, r0, #0x0
- bl FUN_02009EAC
- mov r1, #0x63
- lsl r1, r1, #0x2
- mov r0, #0x2c
- add r1, r5, r1
- mov r2, #0x12
- bl FUN_02008C9C
- mov r1, #0x62
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r1, #0x4
- mov r2, #0x1
- add r0, r5, r0
- mov r1, #0x0
- lsl r2, r2, #0x14
- bl FUN_02008D24
- mov r7, #0xad
- mov r6, #0x0
- add r4, r5, #0x0
- lsl r7, r7, #0x2
-_0207818C:
- mov r0, #0x2
- add r1, r6, #0x0
- mov r2, #0x12
- bl FUN_02008DEC
- str r0, [r4, r7]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _0207818C
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- mov r0, #0x12
- str r0, [sp, #0x8]
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1f
- mov r2, #0xa
- bl FUN_02008F34
- mov r1, #0xb1
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- mov r0, #0x9
- str r0, [sp, #0x8]
- mov r0, #0x12
- sub r1, #0xc
- str r0, [sp, #0xc]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- bl FUN_02008FEC
- mov r1, #0xb2
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x12
- sub r1, #0xc
- str r0, [sp, #0x8]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- mov r2, #0xc
- mov r3, #0x1
- bl FUN_020090AC
- mov r1, #0xb3
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x3
- str r0, [sp, #0x4]
- mov r0, #0x12
- sub r1, #0xc
- str r0, [sp, #0x8]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- mov r2, #0xe
- mov r3, #0x1
- bl FUN_020090AC
- mov r1, #0x2d
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [r5, #0x0]
- cmp r0, #0x1
- bne _02078272
- ldr r0, [r5, #0x4]
- ldr r2, [r5, #0x8]
- mov r1, #0x0
- bl FUN_0206B6D4
- ldr r3, _0207831C ; =0x000004B8
- add r1, r0, #0x0
- mov r0, #0x12
- str r0, [sp, #0x0]
- mov r0, #0x13
- mov r2, #0x0
- add r3, r5, r3
- bl FUN_02006BB0
- ldr r1, _02078320 ; =0x000004B4
- str r0, [r5, r1]
- add r0, r1, #0x4
- mov r1, #0x2
- ldr r0, [r5, r0]
- lsl r1, r1, #0x8
- bl DC_FlushRange
- bl FUN_0206B888
- add r1, r0, #0x0
- mov r0, #0x13
- lsl r2, r0, #0x6
- add r2, r5, r2
- mov r3, #0x12
- bl FUN_02006C08
- ldr r1, _02078324 ; =0x000004BC
- str r0, [r5, r1]
- add r0, r1, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x80
- bl DC_FlushRange
-_02078272:
- mov r3, #0x1
- str r3, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x12
- str r0, [sp, #0x8]
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1f
- mov r2, #0xb
- bl FUN_02008F34
- mov r1, #0xb5
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r2, #0x1
- str r2, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x3
- str r0, [sp, #0x8]
- mov r0, #0x12
- sub r1, #0x1c
- str r0, [sp, #0xc]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- mov r3, #0x0
- bl FUN_02008FEC
- mov r1, #0xb6
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r3, #0x1
- str r3, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x12
- sub r1, #0x1c
- str r0, [sp, #0x8]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- mov r2, #0xd
- bl FUN_020090AC
- mov r1, #0xb7
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r3, #0x1
- str r3, [sp, #0x0]
- mov r0, #0x3
- str r0, [sp, #0x4]
- mov r0, #0x12
- sub r1, #0x1c
- str r0, [sp, #0x8]
- ldr r0, [r5, r1]
- mov r1, #0x1f
- mov r2, #0xf
- bl FUN_020090AC
- mov r1, #0x2e
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- sub r1, #0x1c
- ldr r0, [r5, r1]
- bl FUN_02009A50
- mov r0, #0xb5
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02009A50
- mov r0, #0xb2
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02009CF0
- mov r0, #0xb6
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02009CF0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_0207831C: .word 0x000004B8
-_02078320: .word 0x000004B4
-_02078324: .word 0x000004BC
-
- thumb_func_start FUN_02078328
-FUN_02078328: ; 0x02078328
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0202011C
- ldr r1, [r0, #0x0]
- ldr r0, [r4, #0x8]
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- lsl r1, r0, #0x4
- ldr r0, _02078358 ; =0x020FA1D8
- ldr r0, [r0, r1]
- add r1, sp, #0x0
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x4]
- bl FUN_02020044
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_02078358: .word 0x020FA1D8
-
- thumb_func_start FUN_0207835C
-FUN_0207835C: ; 0x0207835C
- push {r4-r7, lr}
- sub sp, #0x5c
- mov r1, #0x0
- add r6, r0, #0x0
- str r1, [sp, #0x0]
- sub r0, r1, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r2, #0xad
- str r1, [sp, #0xc]
- mov r0, #0x1
- lsl r2, r2, #0x2
- str r0, [sp, #0x10]
- ldr r0, [r6, r2]
- add r3, r1, #0x0
- str r0, [sp, #0x14]
- add r0, r2, #0x4
- ldr r0, [r6, r0]
- str r0, [sp, #0x18]
- add r0, r2, #0x0
- add r0, #0x8
- ldr r0, [r6, r0]
- str r0, [sp, #0x1c]
- add r0, r2, #0x0
- add r0, #0xc
- ldr r0, [r6, r0]
- add r2, #0x30
- str r0, [sp, #0x20]
- str r1, [sp, #0x24]
- add r0, r6, r2
- add r2, r1, #0x0
- str r1, [sp, #0x28]
- bl FUN_02008AA4
- mov r1, #0x1
- mov r3, #0xad
- str r1, [sp, #0x0]
- sub r0, r1, #0x2
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- lsl r3, r3, #0x2
- ldr r2, [r6, r3]
- str r2, [sp, #0x14]
- add r2, r3, #0x4
- ldr r2, [r6, r2]
- str r2, [sp, #0x18]
- add r2, r3, #0x0
- add r2, #0x8
- ldr r2, [r6, r2]
- str r2, [sp, #0x1c]
- add r2, r3, #0x0
- add r2, #0xc
- ldr r2, [r6, r2]
- add r3, #0x54
- str r2, [sp, #0x20]
- str r0, [sp, #0x24]
- str r0, [sp, #0x28]
- add r0, r6, r3
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_02008AA4
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- mov r1, #0x2
- str r0, [sp, #0x2c]
- mov r0, #0xb9
- lsl r0, r0, #0x2
- add r0, r6, r0
- str r0, [sp, #0x30]
- mov r0, #0x6
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- str r0, [sp, #0x38]
- lsr r0, r1, #0x5
- mov r7, #0x0
- str r1, [sp, #0x34]
- str r7, [sp, #0x3c]
- str r0, [sp, #0x40]
- str r0, [sp, #0x44]
- str r0, [sp, #0x48]
- add r0, sp, #0x2c
- strh r7, [r0, #0x20]
- mov r0, #0x1
- str r0, [sp, #0x50]
- str r0, [sp, #0x54]
- mov r0, #0x12
- ldr r4, _02078528 ; =0x020FA1D4
- str r0, [sp, #0x58]
- add r5, r6, #0x0
-_02078418:
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0xc
- str r0, [sp, #0x34]
- ldr r0, [r4, #0x4]
- lsl r0, r0, #0xc
- str r0, [sp, #0x38]
- add r0, sp, #0x2c
- bl FUN_0201FE94
- mov r1, #0xcb
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r1, #0x0
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200BC
- mov r0, #0xcb
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r1, [r4, #0x8]
- bl FUN_02020130
- mov r0, #0xcb
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r1, [r4, #0xc]
- bl FUN_02020310
- add r7, r7, #0x1
- add r4, #0x10
- add r5, r5, #0x4
- cmp r7, #0x9
- blt _02078418
- mov r0, #0xcf
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- mov r1, #0x0
- bl FUN_020200A0
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r7, _02078528 ; =0x020FA1D4
- mov r5, #0x0
- add r4, r6, #0x0
-_0207847A:
- ldr r0, _0207852C ; =FUN_02078328
- mov r1, #0x10
- mov r2, #0x5
- mov r3, #0x12
- bl FUN_020061E8
- mov r1, #0xe7
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0201B6C8
- mov r1, #0xd2
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- str r1, [r0, #0x0]
- mov r1, #0xcb
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r4, r4, #0x4
- str r1, [r0, #0x4]
- ldr r1, [r7, #0x0]
- add r7, #0x10
- lsl r1, r1, #0xc
- str r1, [r0, #0x8]
- str r5, [r0, #0xc]
- add r5, r5, #0x1
- cmp r5, #0x7
- blt _0207847A
- ldr r2, [r6, #0xc]
- mov r7, #0x0
- cmp r2, #0x0
- ble _020784FA
- mov r5, #0x50
- add r4, r6, #0x0
-_020784C2:
- lsl r0, r5, #0xc
- str r0, [sp, #0x34]
- mov r0, #0x27
- lsl r0, r0, #0xc
- str r0, [sp, #0x38]
- add r0, sp, #0x2c
- bl FUN_0201FE94
- mov r1, #0xd9
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r1, #0x0
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200BC
- mov r0, #0xd9
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x2b
- bl FUN_02020130
- ldr r2, [r6, #0xc]
- add r7, r7, #0x1
- add r5, #0xc
- add r4, r4, #0x4
- cmp r7, r2
- blt _020784C2
-_020784FA:
- mov r1, #0x56
- lsl r1, r1, #0x2
- mov r0, #0xd9
- lsl r0, r0, #0x2
- ldrh r1, [r6, r1]
- add r0, r6, r0
- bl FUN_02079710
- add r0, r6, #0x0
- add r1, sp, #0x2c
- bl FUN_02078530
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- add sp, #0x5c
- pop {r4-r7, pc}
- nop
-_02078528: .word 0x020FA1D4
-_0207852C: .word FUN_02078328
-
- thumb_func_start FUN_02078530
-FUN_02078530: ; 0x02078530
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0x6
- add r5, r1, #0x0
- lsl r0, r0, #0xe
- str r0, [r5, #0x8]
- mov r0, #0x2
- lsl r0, r0, #0xe
- str r0, [r5, #0xc]
- add r0, r5, #0x0
- bl FUN_0201FE94
- mov r1, #0xe5
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- mov r1, #0x1
- bl FUN_020200BC
- ldr r0, [r4, #0x0]
- cmp r0, #0x7
- bhi _02078626
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02078568: ; jump table (using 16-bit offset)
- .short _02078578 - _02078568 - 2; case 0
- .short _020785E0 - _02078568 - 2; case 1
- .short _020785D2 - _02078568 - 2; case 2
- .short _0207859A - _02078568 - 2; case 3
- .short _020785C4 - _02078568 - 2; case 4
- .short _020785B6 - _02078568 - 2; case 5
- .short _020785A8 - _02078568 - 2; case 6
- .short _020785C4 - _02078568 - 2; case 7
-_02078578:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _0207858C
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x30
- bl FUN_02020130
- pop {r3-r5, pc}
-_0207858C:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x31
- bl FUN_02020130
- pop {r3-r5, pc}
-_0207859A:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x33
- bl FUN_02020130
- pop {r3-r5, pc}
-_020785A8:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x37
- bl FUN_02020130
- pop {r3-r5, pc}
-_020785B6:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x36
- bl FUN_02020130
- pop {r3-r5, pc}
-_020785C4:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x35
- bl FUN_02020130
- pop {r3-r5, pc}
-_020785D2:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x2f
- bl FUN_02020130
- pop {r3-r5, pc}
-_020785E0:
- mov r0, #0xe5
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x32
- bl FUN_02020130
- ldr r0, [r4, #0x10]
- cmp r0, #0x2
- beq _02078626
- ldr r1, [r4, #0xc]
- mov r0, #0xd
- mul r0, r1
- add r0, #0x50
- lsl r0, r0, #0xc
- str r0, [r5, #0x8]
- mov r0, #0x1b
- lsl r0, r0, #0xc
- str r0, [r5, #0xc]
- add r0, r5, #0x0
- bl FUN_0201FE94
- mov r1, #0xe6
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- ldr r0, [r4, r1]
- bne _02078620
- mov r1, #0x2d
- bl FUN_02020130
- pop {r3-r5, pc}
-_02078620:
- mov r1, #0x2e
- bl FUN_02020130
-_02078626:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02078628
-FUN_02078628: ; 0x02078628
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x4]
- cmp r0, #0x6
- bhi _020786A6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207864A: ; jump table (using 16-bit offset)
- .short _02078658 - _0207864A - 2; case 0
- .short _020786A6 - _0207864A - 2; case 1
- .short _0207866C - _0207864A - 2; case 2
- .short _020786A6 - _0207864A - 2; case 3
- .short _02078680 - _0207864A - 2; case 4
- .short _020786A6 - _0207864A - 2; case 5
- .short _02078694 - _0207864A - 2; case 6
-_02078658:
- mov r0, #0x1
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x0
- bl FUN_02020044
- b _020786A6
-_0207866C:
- mov r0, #0x3
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0xc
- sub r0, r1, r0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x0
- bl FUN_02020044
- b _020786A6
-_02078680:
- mov r0, #0x2
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0xc
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x0
- bl FUN_02020044
- b _020786A6
-_02078694:
- ldr r0, [r4, #0x8]
- add r1, sp, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02020044
- add r0, r5, #0x0
- bl FUN_0200621C
-_020786A6:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020786B0
-FUN_020786B0: ; 0x020786B0
- push {r3-r7, lr}
- sub sp, #0x28
- str r1, [sp, #0x14]
- ldr r1, [sp, #0x40]
- add r5, r2, #0x0
- str r1, [sp, #0x40]
- ldr r1, [sp, #0x48]
- mov r2, #0x1
- str r1, [sp, #0x48]
- ldr r1, [sp, #0x40]
- str r0, [sp, #0x10]
- ldr r6, [r1, #0x0]
- add r7, r3, #0x0
- add r1, r6, #0x0
- eor r1, r2
- str r1, [sp, #0x18]
- ldr r1, [r5, #0x0]
- ldr r4, [sp, #0x44]
- cmp r1, #0x4
- bls _020786DA
- b _0207887E
-_020786DA:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020786E6: ; jump table (using 16-bit offset)
- .short _020786F0 - _020786E6 - 2; case 0
- .short _0207873C - _020786E6 - 2; case 1
- .short _02078762 - _020786E6 - 2; case 2
- .short _020787FC - _020786E6 - 2; case 3
- .short _0207887E - _020786E6 - 2; case 4
-_020786F0:
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xe
- lsl r0, r0, #0x6
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- ldr r2, [sp, #0x10]
- mov r0, #0x1f
- add r1, r7, #0x6
- add r3, r6, #0x0
- bl FUN_020068C8
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02078BA8
- ldr r0, _02078884 ; =0x020F9D2C
- lsl r2, r6, #0x4
- ldrb r1, [r0, r7]
- ldr r0, [sp, #0x4c]
- ldr r3, _02078888 ; =0x000E0F00
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x14]
- add r0, r0, r2
- lsl r2, r1, #0x4
- orr r1, r2
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r2, r7, #0x0
- bl FUN_0207974C
- ldr r0, [r5, #0x0]
- add sp, #0x28
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- pop {r3-r7, pc}
-_0207873C:
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- mov r2, #0x0
- mov r3, #0xee
- bl FUN_020179E0
- mov r2, #0x3
- lsl r1, r6, #0x18
- add r3, r2, #0x0
- ldr r0, [sp, #0x10]
- lsr r1, r1, #0x18
- sub r3, #0x53
- bl FUN_020179E0
- ldr r0, [r5, #0x0]
- add sp, #0x28
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- pop {r3-r7, pc}
-_02078762:
- mov r1, #0xc
- add r0, r6, #0x0
- mul r0, r1
- ldr r2, [r4, r0]
- str r0, [sp, #0x1c]
- sub r2, #0x18
- str r2, [r4, r0]
- ldr r0, [r4, r0]
- sub r1, #0xd
- cmp r0, r1
- bge _020787BA
- ldr r0, _0207888C ; =FUN_02078628
- mov r1, #0x10
- mov r2, #0x0
- mov r3, #0x12
- bl FUN_020061E8
- bl FUN_0201B6C8
- add r7, r0, #0x0
- ldr r0, [sp, #0x48]
- ldr r0, [r0, #0x1c]
- str r0, [r7, #0x0]
- mov r0, #0x0
- str r0, [r7, #0x4]
- ldr r0, [sp, #0x48]
- ldr r0, [r0, #0x1c]
- bl FUN_0202011C
- ldr r0, [r0, #0x0]
- str r0, [r7, #0x8]
- ldr r0, [sp, #0x48]
- ldr r0, [r0, #0x1c]
- bl FUN_0202011C
- ldr r0, [r0, #0x4]
- mov r1, #0xa
- str r0, [r7, #0xc]
- ldr r0, [sp, #0x1c]
- mvn r1, r1
- str r1, [r4, r0]
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
-_020787BA:
- ldr r0, [sp, #0x18]
- mov r1, #0xc
- add r7, r0, #0x0
- add r5, r4, #0x4
- mul r7, r1
- ldr r0, [r5, r7]
- sub r0, #0xa
- str r0, [r5, r7]
- add r0, r1, #0x0
- ldr r2, [r5, r7]
- sub r0, #0xd0
- cmp r2, r0
- bge _020787D8
- sub r1, #0xd0
- str r1, [r5, r7]
-_020787D8:
- ldr r3, [sp, #0x1c]
- lsl r1, r6, #0x18
- ldr r0, [sp, #0x10]
- ldr r3, [r4, r3]
- lsr r1, r1, #0x18
- mov r2, #0x0
- bl FUN_020179E0
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x10]
- lsl r1, r1, #0x18
- ldr r3, [r5, r7]
- lsr r1, r1, #0x18
- mov r2, #0x3
- bl FUN_020179E0
- add sp, #0x28
- pop {r3-r7, pc}
-_020787FC:
- ldr r1, [sp, #0x18]
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- str r2, [sp, #0x20]
- add r7, r4, #0x4
- ldr r2, [r7, r2]
- ldr r1, [sp, #0x20]
- sub r2, #0xa
- str r2, [r7, r1]
- ldr r2, [r7, r1]
- add r1, r0, #0x0
- sub r1, #0xd0
- cmp r2, r1
- bge _02078820
- ldr r1, [sp, #0x20]
- sub r0, #0xd0
- str r0, [r7, r1]
-_02078820:
- mov r0, #0xc
- mul r0, r6
- str r0, [sp, #0x24]
- ldr r3, [sp, #0x24]
- lsl r1, r6, #0x18
- ldr r0, [sp, #0x10]
- ldr r3, [r4, r3]
- lsr r1, r1, #0x18
- mov r2, #0x0
- bl FUN_020179E0
- ldr r1, [sp, #0x18]
- ldr r3, [sp, #0x20]
- lsl r1, r1, #0x18
- ldr r0, [sp, #0x10]
- ldr r3, [r7, r3]
- lsr r1, r1, #0x18
- mov r2, #0x3
- bl FUN_020179E0
- ldr r0, [sp, #0x24]
- mov r1, #0xa
- ldr r0, [r4, r0]
- mvn r1, r1
- cmp r0, r1
- bne _0207887E
- ldr r0, [sp, #0x20]
- sub r1, #0xb9
- ldr r0, [r7, r0]
- cmp r0, r1
- bne _0207887E
- ldr r0, [r5, #0x0]
- add r2, r4, #0x0
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x40]
- ldr r1, [r0, #0x0]
- mov r0, #0x1
- eor r1, r0
- ldr r0, [sp, #0x40]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x10]
- bl FUN_02078B88
- ldr r0, _02078890 ; =0x0000069B
- bl FUN_020054C8
-_0207887E:
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_02078884: .word 0x020F9D2C
-_02078888: .word 0x000E0F00
-_0207888C: .word FUN_02078628
-_02078890: .word 0x0000069B
-
- thumb_func_start FUN_02078894
-FUN_02078894: ; 0x02078894
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- mov r2, #0x1
- mov r1, #0x0
- lsl r2, r2, #0x8
- mov r3, #0xa
- add r5, r0, #0x0
- bl FUN_0200D0BC
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r5, #0x0
- bl FUN_020191D0
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020788C4
-FUN_020788C4: ; 0x020788C4
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r0, #0x0
- add r1, r6, #0x0
- add r2, r0, #0x0
- mov r4, #0x10
- bl FUN_02002E14
- cmp r0, #0x82
- ble _020788DE
- mov r4, #0x0
-_020788DE:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02019620
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, _02078908 ; =0x000E0F01
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
- add r0, r5, #0x0
- bl FUN_020191D0
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02078908: .word 0x000E0F01
-
- thumb_func_start FUN_0207890C
-FUN_0207890C: ; 0x0207890C
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1a
- str r0, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r0, #0xf4
- str r0, [sp, #0x10]
- mov r0, #0x16
- lsl r0, r0, #0x4
- mov r1, #0xee
- lsl r1, r1, #0x2
- ldr r0, [r5, r0]
- add r1, r5, r1
- mov r2, #0x0
- mov r3, #0x2
- bl FUN_02019064
- mov r2, #0x1
- mov r1, #0xf2
- lsl r1, r1, #0x2
- str r2, [sp, #0x0]
- mov r0, #0x1a
- str r0, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- mov r0, #0x8e
- str r2, [sp, #0xc]
- lsl r0, r0, #0x2
- str r0, [sp, #0x10]
- sub r0, #0xd8
- ldr r0, [r5, r0]
- add r1, r5, r1
- mov r3, #0x2
- bl FUN_02019064
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- bne _020789AE
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xe
- lsl r0, r0, #0x6
- str r0, [sp, #0x4]
- mov r3, #0x1
- mov r2, #0x16
- str r3, [sp, #0x8]
- mov r0, #0x12
- str r0, [sp, #0xc]
- lsl r2, r2, #0x4
- ldr r2, [r5, r2]
- mov r0, #0x1f
- mov r1, #0x9
- bl FUN_020068C8
- mov r0, #0x46
- mov r1, #0x4
- lsl r0, r0, #0x4
- str r1, [r5, r0]
- add r0, r5, #0x0
- add r0, #0x3a
- bl FUN_0207916C
- mov r0, #0x4b
- lsl r0, r0, #0x4
- ldr r1, [r5, r0]
- sub r0, #0xe8
- ldr r1, [r1, #0x14]
- ldr r3, _02078B6C ; =0x000E0F00
- str r1, [sp, #0x0]
- ldr r1, _02078B70 ; =0x00000A0A
- add r0, r5, r0
- mov r2, #0x4
- bl FUN_0207974C
- b _020789D8
-_020789AE:
- mov r0, #0x46
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r5, r0]
- add r0, r5, #0x0
- add r0, #0x3a
- bl FUN_0207916C
- mov r1, #0x4b
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- ldr r3, _02078B6C ; =0x000E0F00
- ldr r0, [r0, #0x14]
- mov r2, #0x0
- str r0, [sp, #0x0]
- add r0, r1, #0x0
- sub r0, #0xe8
- add r0, r5, r0
- sub r1, #0xac
- bl FUN_0207974C
-_020789D8:
- mov r2, #0x2
- str r2, [sp, #0x0]
- mov r3, #0x16
- str r3, [sp, #0x4]
- mov r1, #0x37
- str r2, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- lsl r1, r1, #0x4
- str r1, [sp, #0x10]
- lsl r0, r3, #0x4
- add r1, #0x68
- ldr r0, [r5, r0]
- add r1, r5, r1
- mov r3, #0x7
- bl FUN_02019064
- ldr r1, [r5, #0xc]
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- asr r0, r2, #0x2
- lsr r0, r0, #0x1d
- add r0, r2, r0
- asr r0, r0, #0x3
- add r4, r0, #0x1
- mov r0, #0x3
- str r0, [sp, #0x0]
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- mov r2, #0x2
- mov r1, #0xe7
- str r2, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- lsl r1, r1, #0x2
- mov r0, #0x16
- str r1, [sp, #0x10]
- lsl r0, r0, #0x4
- add r1, #0x4c
- ldr r0, [r5, r0]
- add r1, r5, r1
- mov r3, #0xa
- bl FUN_02019064
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0x3
- str r0, [sp, #0x0]
- mov r0, #0x7
- str r0, [sp, #0x4]
- mov r2, #0x2
- mov r1, #0xf
- add r4, #0x9
- lsl r3, r4, #0x18
- str r2, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- lsl r1, r1, #0x6
- mov r0, #0x16
- str r1, [sp, #0x10]
- lsl r0, r0, #0x4
- add r1, #0x78
- ldr r0, [r5, r0]
- add r1, r5, r1
- lsr r3, r3, #0x18
- bl FUN_02019064
- ldr r0, _02078B74 ; =0x00000438
- mov r1, #0x1
- add r0, r5, r0
- bl FUN_02019620
- ldr r1, [r5, #0x0]
- cmp r1, #0x5
- bne _02078A90
- mov r2, #0x61
- ldr r0, _02078B74 ; =0x00000438
- lsl r2, r2, #0x2
- ldr r2, [r5, r2]
- add r0, r5, r0
- bl FUN_020788C4
- ldr r0, _02078B74 ; =0x00000438
- add r0, r5, r0
- bl FUN_020191D0
-_02078A90:
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r2, #0x4
- ldr r1, _02078B78 ; =0x00000448
- str r2, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- mov r0, #0x84
- str r0, [sp, #0x10]
- add r0, #0xdc
- ldr r0, [r5, r0]
- add r1, r5, r1
- mov r3, #0x2
- bl FUN_02019064
- ldr r0, _02078B78 ; =0x00000448
- mov r1, #0xf
- add r0, r5, r0
- bl FUN_02019620
- mov r2, #0x5e
- ldr r0, _02078B78 ; =0x00000448
- lsl r2, r2, #0x2
- ldr r1, [r5, #0x0]
- ldr r2, [r5, r2]
- add r0, r5, r0
- bl FUN_02078894
- add r0, r6, #0x0
- bl FUN_0200628C
- mov r1, #0x46
- lsl r1, r1, #0x2
- ldrh r2, [r5, r1]
- ldr r0, _02078B7C ; =0x0000FFFF
- cmp r2, r0
- beq _02078B06
- add r0, r5, #0x0
- add r0, #0xd8
- add r1, r5, r1
- bl StringCopy
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- add r1, r5, #0x0
- ldr r0, _02078B80 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r5, r0
- add r1, #0xd8
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
-_02078B06:
- mov r0, #0xee
- lsl r0, r0, #0x2
- mov r4, #0x0
- add r7, r5, r0
-_02078B0E:
- add r0, r4, #0x4
- lsl r6, r0, #0x4
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x78
- str r0, [sp, #0x10]
- add r0, #0xe8
- ldr r0, [r5, r0]
- add r1, r7, r6
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_02019064
- add r0, r7, r6
- mov r1, #0x0
- bl FUN_02019620
- add r4, r4, #0x1
- cmp r4, #0x3
- blt _02078B0E
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- mov r2, #0x2
- str r2, [sp, #0x8]
- ldr r1, _02078B84 ; =0x00000428
- str r3, [sp, #0xc]
- mov r0, #0x84
- str r0, [sp, #0x10]
- add r0, #0xdc
- ldr r0, [r5, r0]
- add r1, r5, r1
- bl FUN_02019064
- ldr r0, _02078B84 ; =0x00000428
- mov r1, #0x0
- add r0, r5, r0
- bl FUN_02019620
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02078B6C: .word 0x000E0F00
-_02078B70: .word 0x00000A0A
-_02078B74: .word 0x00000438
-_02078B78: .word 0x00000448
-_02078B7C: .word 0x0000FFFF
-_02078B80: .word 0x000E0F01
-_02078B84: .word 0x00000428
-
- thumb_func_start FUN_02078B88
-FUN_02078B88: ; 0x02078B88
- push {r4, lr}
- add r4, r1, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- bl FUN_020178BC
- mov r0, #0x1
- eor r0, r4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x2
- bl FUN_020178BC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02078BA8
-FUN_02078BA8: ; 0x02078BA8
- push {r3-r4}
- mov r3, #0xc
- add r4, r1, #0x0
- mul r4, r3
- mov r2, #0xee
- str r2, [r0, r4]
- add r2, r3, #0x0
- sub r2, #0x5c
- add r4, r0, r4
- str r2, [r4, #0x4]
- mov r4, #0x1
- eor r1, r4
- mul r3, r1
- sub r4, #0xc
- str r4, [r0, r3]
- add r0, r0, r3
- str r2, [r0, #0x4]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02078BD0
-FUN_02078BD0: ; 0x02078BD0
- cmp r0, r2
- blt _02078BD6
- add r0, r1, #0x0
-_02078BD6:
- cmp r0, r1
- bge _02078BDC
- sub r0, r2, #0x1
-_02078BDC:
- bx lr
- .balign 4
-
- thumb_func_start FUN_02078BE0
-FUN_02078BE0: ; 0x02078BE0
- push {r3-r7, lr}
- add r5, r0, #0x0
- cmp r1, #0x0
- beq _02078C84
- ldr r3, [r5, #0x20]
- mov r2, #0x1a
- mul r2, r3
- ldr r0, [r5, #0x1c]
- add r3, r5, r2
- lsl r2, r0, #0x1
- add r2, r3, r2
- ldrh r2, [r2, #0x3a]
- lsl r6, r1, #0x3
- ldr r1, _02078C88 ; =0x020FA154
- str r2, [sp, #0x0]
- ldr r1, [r1, r6]
- mov r2, #0xd
- add r0, r0, r1
- mov r1, #0x0
- bl FUN_02078BD0
- add r4, r0, #0x0
- ldr r0, _02078C8C ; =0x020FA158
- ldr r1, [r5, #0x20]
- ldr r0, [r0, r6]
- mov r2, #0x6
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02078BD0
- add r7, r0, #0x0
- ldr r0, _02078C88 ; =0x020FA154
- add r6, r0, r6
- b _02078C62
-_02078C24:
- ldr r1, [r5, #0x28]
- cmp r1, #0x0
- bne _02078C46
- ldr r1, _02078C90 ; =0x0000D004
- cmp r0, r1
- bne _02078C46
- ldr r0, [r6, #0x4]
- cmp r0, #0x0
- beq _02078C46
- ldr r0, [r5, #0x2c]
- mov r1, #0x0
- add r0, r4, r0
- mov r2, #0xd
- bl FUN_02078BD0
- add r4, r0, #0x0
- b _02078C62
-_02078C46:
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r0, r4, r0
- mov r2, #0xd
- bl FUN_02078BD0
- add r4, r0, #0x0
- ldr r0, [r6, #0x4]
- mov r1, #0x0
- add r0, r7, r0
- mov r2, #0x6
- bl FUN_02078BD0
- add r7, r0, #0x0
-_02078C62:
- mov r0, #0x1a
- mul r0, r7
- lsl r1, r4, #0x1
- add r0, r5, r0
- add r0, r1, r0
- ldrh r0, [r0, #0x3a]
- ldr r1, _02078C90 ; =0x0000D004
- cmp r0, r1
- beq _02078C24
- ldr r1, [sp, #0x0]
- cmp r1, r0
- bne _02078C80
- ldr r1, _02078C94 ; =0x0000E001
- cmp r0, r1
- bhi _02078C24
-_02078C80:
- str r4, [r5, #0x1c]
- str r7, [r5, #0x20]
-_02078C84:
- pop {r3-r7, pc}
- nop
-_02078C88: .word 0x020FA154
-_02078C8C: .word 0x020FA158
-_02078C90: .word 0x0000D004
-_02078C94: .word 0x0000E001
-
- thumb_func_start FUN_02078C98
-FUN_02078C98: ; 0x02078C98
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _02078D70 ; =0x021C48B8
- mov r4, #0x0
- ldr r1, [r0, #0x4c]
- mov r0, #0x40
- add r6, r4, #0x0
- tst r0, r1
- beq _02078CC0
- ldr r0, _02078D74 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r6, #0x1
- add r4, r4, #0x1
-_02078CC0:
- ldr r0, _02078D70 ; =0x021C48B8
- ldr r1, [r0, #0x4c]
- mov r0, #0x80
- tst r0, r1
- beq _02078CE0
- ldr r0, _02078D74 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r6, #0x2
- add r4, r4, #0x1
-_02078CE0:
- ldr r0, _02078D70 ; =0x021C48B8
- ldr r1, [r0, #0x4c]
- mov r0, #0x20
- tst r0, r1
- beq _02078D00
- ldr r0, _02078D74 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r6, #0x3
- add r4, r4, #0x1
-_02078D00:
- ldr r0, _02078D70 ; =0x021C48B8
- ldr r1, [r0, #0x4c]
- mov r0, #0x10
- tst r0, r1
- beq _02078D20
- ldr r0, _02078D74 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r6, #0x4
- add r4, r4, #0x1
-_02078D20:
- ldr r0, _02078D70 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x8
- tst r0, r1
- beq _02078D46
- ldr r0, _02078D74 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r0, #0xc
- str r0, [r5, #0x1c]
- mov r0, #0x0
- str r0, [r5, #0x20]
- add r4, r4, #0x1
-_02078D46:
- add r0, r5, #0x0
- bl FUN_02079930
- ldr r1, _02078D78 ; =0x000005C8
- str r0, [r5, r1]
- ldr r0, [r5, r1]
- cmp r0, #0x1
- bne _02078D5A
- mov r6, #0x0
- add r4, r4, #0x1
-_02078D5A:
- cmp r4, #0x0
- beq _02078D6E
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02078BE0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02078D7C
-_02078D6E:
- pop {r4-r6, pc}
- .balign 4
-_02078D70: .word 0x021C48B8
-_02078D74: .word 0x000005DC
-_02078D78: .word 0x000005C8
-
- thumb_func_start FUN_02078D7C
-FUN_02078D7C: ; 0x02078D7C
- push {r3-r5, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x20]
- cmp r1, #0x0
- beq _02078DC6
- ldr r0, [r5, #0x28]
- cmp r0, #0x0
- bne _02078DA0
- cmp r0, r1
- beq _02078DA0
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x27
- bl FUN_02020130
-_02078DA0:
- ldr r0, [r5, #0x1c]
- lsl r0, r0, #0x4
- add r0, #0x1a
- lsl r0, r0, #0xc
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x20]
- sub r1, r0, #0x1
- mov r0, #0x13
- mul r0, r1
- add r0, #0x5b
- lsl r0, r0, #0xc
- str r0, [sp, #0x10]
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, sp, #0xc
- bl FUN_02020044
- b _02078E02
-_02078DC6:
- mov r0, #0x1a
- mul r0, r1
- add r1, r5, r0
- ldr r0, [r5, #0x1c]
- lsl r0, r0, #0x1
- add r0, r1, r0
- ldrh r1, [r0, #0x3a]
- ldr r0, _02078E2C ; =0x0000E002
- sub r1, r1, r0
- ldr r0, _02078E30 ; =0x020F9D6C
- lsl r2, r1, #0x1
- ldrh r0, [r0, r2]
- ldr r2, _02078E34 ; =0x020F9D38
- lsl r0, r0, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x11
- lsl r0, r0, #0xe
- str r0, [sp, #0x4]
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldrb r1, [r2, r1]
- ldr r0, [r5, r0]
- bl FUN_02020130
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, sp, #0x0
- bl FUN_02020044
-_02078E02:
- mov r0, #0xb4
- strh r0, [r5, #0x38]
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02020208
- ldr r0, [r5, #0x1c]
- lsl r1, r4, #0x3
- str r0, [r5, #0x24]
- ldr r0, [r5, #0x20]
- str r0, [r5, #0x28]
- ldr r0, _02078E38 ; =0x020FA154
- ldr r0, [r0, r1]
- cmp r0, #0x0
- beq _02078E26
- str r0, [r5, #0x2c]
-_02078E26:
- add sp, #0x18
- pop {r3-r5, pc}
- nop
-_02078E2C: .word 0x0000E002
-_02078E30: .word 0x020F9D6C
-_02078E34: .word 0x020F9D38
-_02078E38: .word 0x020FA154
-
- thumb_func_start FUN_02078E3C
-FUN_02078E3C: ; 0x02078E3C
- push {r3, lr}
- ldrh r1, [r0, #0x0]
- add r1, #0x14
- strh r1, [r0, #0x0]
- ldrh r2, [r0, #0x0]
- mov r1, #0x5a
- lsl r1, r1, #0x2
- cmp r2, r1
- bls _02078E52
- mov r1, #0x0
- strh r1, [r0, #0x0]
-_02078E52:
- ldrh r0, [r0, #0x0]
- bl FUN_0201B970
- mov r1, #0xa
- mul r1, r0
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- add r0, #0xf
- lsl r1, r0, #0x5
- mov r0, #0x1d
- orr r1, r0
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- add r0, sp, #0x0
- mov r1, #0x3a
- mov r2, #0x2
- bl GX_LoadOBJPltt
- pop {r3, pc}
-
- thumb_func_start FUN_02078E7C
-FUN_02078E7C: ; 0x02078E7C
- push {r4-r7, lr}
- sub sp, #0x3c
- str r0, [sp, #0x18]
- add r7, r1, #0x0
- mov r0, #0x2
- mov r1, #0x12
- str r2, [sp, #0x1c]
- str r3, [sp, #0x20]
- mov r4, #0x0
- bl FUN_020219F4
- str r0, [sp, #0x28]
- ldrh r1, [r7, #0x0]
- ldr r0, _02078F6C ; =0x0000FFFF
- cmp r1, r0
- beq _02078F62
- ldr r0, [sp, #0x54]
- ldr r6, [sp, #0x50]
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x58]
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x20]
- add r0, r0, #0x2
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x5c]
- str r0, [sp, #0x30]
-_02078EB4:
- lsl r0, r4, #0x1
- ldrh r1, [r7, r0]
- ldr r0, _02078F70 ; =0x00002FFF
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x2
- bhi _02078F00
- mov r0, #0xc
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- add r2, r4, #0x0
- ldr r0, [sp, #0x1c]
- mul r2, r6
- add r0, r0, r2
- ldr r2, _02078F74 ; =0x0000D001
- lsl r0, r0, #0x10
- sub r1, r1, r2
- lsl r1, r1, #0x10
- lsr r0, r0, #0x10
- lsr r2, r1, #0x8
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x2c]
- lsr r1, r2, #0x1f
- add r1, r2, r1
- str r0, [sp, #0xc]
- mov r0, #0xc
- asr r2, r1, #0x1
- ldr r1, [sp, #0x30]
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- add r1, r1, r2
- mov r2, #0x0
- ldr r0, [sp, #0x18]
- add r3, r2, #0x0
- bl FUN_02019658
- b _02078F56
-_02078F00:
- ldr r0, _02078F78 ; =0x0000D004
- cmp r1, r0
- bne _02078F0A
- add r4, r4, #0x1
- b _02078F58
-_02078F0A:
- add r0, sp, #0x38
- strh r1, [r0, #0x0]
- ldr r1, _02078F6C ; =0x0000FFFF
- strh r1, [r0, #0x2]
- mov r0, #0x0
- add r1, sp, #0x38
- add r2, r0, #0x0
- bl FUN_02002DE0
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- add r1, sp, #0x38
- bl FUN_02021E28
- ldr r0, [sp, #0x20]
- sub r3, r6, r5
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- lsr r5, r3, #0x1f
- add r5, r3, r5
- asr r3, r5, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x34]
- mov r12, r3
- add r5, r4, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r3, [sp, #0x1c]
- mul r5, r6
- add r3, r3, r5
- mov r5, r12
- ldr r0, [sp, #0x18]
- ldr r2, [sp, #0x28]
- mov r1, #0x0
- add r3, r5, r3
- bl FUN_0201BDE0
-_02078F56:
- add r4, r4, #0x1
-_02078F58:
- lsl r0, r4, #0x1
- ldrh r1, [r7, r0]
- ldr r0, _02078F6C ; =0x0000FFFF
- cmp r1, r0
- bne _02078EB4
-_02078F62:
- ldr r0, [sp, #0x28]
- bl FUN_02021A20
- add sp, #0x3c
- pop {r4-r7, pc}
- .balign 4
-_02078F6C: .word 0x0000FFFF
-_02078F70: .word 0x00002FFF
-_02078F74: .word 0x0000D001
-_02078F78: .word 0x0000D004
-
- thumb_func_start FUN_02078F7C
-FUN_02078F7C: ; 0x02078F7C
- push {r4-r6, lr}
- sub sp, #0x10
- mov r5, #0x0
- add r6, r1, #0x0
- str r5, [sp, #0x0]
- mov r1, #0xff
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- add r1, r2, #0x0
- add r2, r6, #0x0
- add r3, r5, #0x0
- add r4, r0, #0x0
- str r5, [sp, #0xc]
- bl FUN_0201BDE0
- ldr r0, [r4, #0xc]
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02078FA0
-FUN_02078FA0: ; 0x02078FA0
- push {r3-r7, lr}
- sub sp, #0x38
- add r6, r0, #0x0
- str r1, [sp, #0x8]
- add r0, #0x30
- mov r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02019620
- add r0, r6, #0x0
- ldr r3, _0207906C ; =0x000D0E0F
- add r0, #0x30
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_02078F7C
- mov r1, #0x2
- lsl r1, r1, #0xa
- bl DC_FlushRange
- add r7, r6, #0x0
- mov r4, #0x0
- add r7, #0x30
-_02078FD0:
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r1, #0x4
- mov r2, #0x2
- lsl r3, r4, #0x2
- str r5, [sp, #0x4]
- bl FUN_02011B20
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x8
- bl DC_FlushRange
- ldr r1, _02079070 ; =0x020F9D28
- mov r2, #0x1
- ldrb r1, [r1, r4]
- add r0, r5, #0x0
- lsl r2, r2, #0x8
- lsl r1, r1, #0x5
- bl GXS_LoadOBJ
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _02078FD0
- mov r0, #0x15
- mov r1, #0x12
- bl FUN_020219F4
- add r4, r0, #0x0
- mov r5, #0x0
-_02079012:
- ldr r0, [sp, #0x8]
- lsl r1, r5, #0x1
- ldrh r1, [r0, r1]
- add r0, sp, #0xc
- lsl r7, r5, #0x4
- strh r1, [r0, #0x0]
- ldr r1, _02079074 ; =0x0000FFFF
- strh r1, [r0, #0x2]
- add r0, r6, r7
- mov r1, #0x0
- bl FUN_02019620
- add r0, r4, #0x0
- add r1, sp, #0xc
- bl FUN_02021E28
- ldr r3, _0207906C ; =0x000D0E0F
- add r0, r6, r7
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_02078F7C
- mov r1, #0x80
- add r7, r0, #0x0
- bl DC_FlushRange
- ldr r1, _02079078 ; =0x020F9D40
- lsl r2, r5, #0x2
- ldr r1, [r1, r2]
- add r0, r7, #0x0
- lsl r1, r1, #0x5
- mov r2, #0x80
- bl GXS_LoadOBJ
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x3
- blo _02079012
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x38
- pop {r3-r7, pc}
- nop
-_0207906C: .word 0x000D0E0F
-_02079070: .word 0x020F9D28
-_02079074: .word 0x0000FFFF
-_02079078: .word 0x020F9D40
-
- thumb_func_start FUN_0207907C
-FUN_0207907C: ; 0x0207907C
- push {r3-r5, lr}
- cmp r2, #0x0
- bne _02079086
- ldr r1, _02079158 ; =0x0000D003
- b _0207908C
-_02079086:
- sub r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrh r1, [r1, r2]
-_0207908C:
- ldr r4, _0207915C ; =0x0000E003
- cmp r1, r4
- bgt _020790BC
- bge _020790E2
- ldr r2, _02079160 ; =0x0000D004
- cmp r1, r2
- bgt _020790B4
- sub r2, r2, #0x3
- sub r2, r1, r2
- bmi _020790E4
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020790AC: ; jump table (using 16-bit offset)
- .short _020790E2 - _020790AC - 2; case 0
- .short _020790E2 - _020790AC - 2; case 1
- .short _020790E2 - _020790AC - 2; case 2
- .short _020790E2 - _020790AC - 2; case 3
-_020790B4:
- ldr r2, _02079164 ; =0x0000E002
- cmp r1, r2
- beq _020790E2
- b _020790E4
-_020790BC:
- add r2, r4, #0x1
- cmp r1, r2
- bgt _020790C6
- beq _020790E2
- b _020790E4
-_020790C6:
- add r2, r4, #0x2
- sub r2, r1, r2
- cmp r2, #0x3
- bhi _020790E4
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020790DA: ; jump table (using 16-bit offset)
- .short _020790E2 - _020790DA - 2; case 0
- .short _020790E2 - _020790DA - 2; case 1
- .short _020790E2 - _020790DA - 2; case 2
- .short _020790E2 - _020790DA - 2; case 3
-_020790E2:
- mov r1, #0x1
-_020790E4:
- mov r4, #0x0
- add r5, r3, #0x0
- mov r2, #0x1
-_020790EA:
- add r4, r4, #0x1
- strh r2, [r5, #0x0]
- add r5, r5, #0x2
- cmp r4, #0x3
- blt _020790EA
- strh r1, [r3, #0x0]
- cmp r1, #0x1
- beq _0207914A
- ldr r5, _02079168 ; =0x020FA40E
- mov r2, #0x0
-_020790FE:
- ldrh r4, [r5, #0x0]
- cmp r1, r4
- bne _02079120
- mov r4, #0x6
- ldr r5, _02079168 ; =0x020FA40E
- mul r4, r2
- add r4, r5, r4
- mov r1, #0x0
- add r5, r3, #0x0
-_02079110:
- ldrh r2, [r4, #0x0]
- add r1, r1, #0x1
- add r4, r4, #0x2
- strh r2, [r5, #0x0]
- add r5, r5, #0x2
- cmp r1, #0x3
- blt _02079110
- b _0207914A
-_02079120:
- ldrh r4, [r5, #0x4]
- cmp r1, r4
- bne _02079142
- mov r4, #0x6
- ldr r5, _02079168 ; =0x020FA40E
- mul r4, r2
- add r4, r5, r4
- mov r1, #0x0
- add r5, r3, #0x0
-_02079132:
- ldrh r2, [r4, #0x0]
- add r1, r1, #0x1
- add r4, r4, #0x2
- strh r2, [r5, #0x0]
- add r5, r5, #0x2
- cmp r1, #0x3
- blt _02079132
- b _0207914A
-_02079142:
- add r2, r2, #0x1
- add r5, r5, #0x6
- cmp r2, #0x52
- blo _020790FE
-_0207914A:
- add r1, r3, #0x0
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x14]
- bl FUN_02078FA0
- pop {r3-r5, pc}
- nop
-_02079158: .word 0x0000D003
-_0207915C: .word 0x0000E003
-_02079160: .word 0x0000D004
-_02079164: .word 0x0000E002
-_02079168: .word 0x020FA40E
-
- thumb_func_start FUN_0207916C
-FUN_0207916C: ; 0x0207916C
- push {r4-r7}
- mov r4, #0x0
- ldr r3, _020791B8 ; =0x02106058
- add r5, r4, #0x0
- add r6, r0, #0x0
- lsl r2, r1, #0x2
-_02079178:
- ldr r7, [r3, r2]
- add r4, r4, #0x1
- ldrh r7, [r7, r5]
- add r5, r5, #0x2
- strh r7, [r6, #0x0]
- add r6, r6, #0x2
- cmp r4, #0xd
- blt _02079178
- mov r3, #0x14
- ldr r4, _020791BC ; =0x0210606C
- mul r3, r1
- mov r2, #0x0
- add r3, r4, r3
- add r1, r2, #0x0
-_02079194:
- add r6, r1, #0x0
- add r4, r1, #0x0
- add r5, r0, #0x0
-_0207919A:
- ldr r7, [r3, #0x0]
- add r6, r6, #0x1
- ldrh r7, [r7, r4]
- add r4, r4, #0x2
- strh r7, [r5, #0x1a]
- add r5, r5, #0x2
- cmp r6, #0xd
- blt _0207919A
- add r2, r2, #0x1
- add r3, r3, #0x4
- add r0, #0x1a
- cmp r2, #0x5
- blt _02079194
- pop {r4-r7}
- bx lr
- .balign 4
-_020791B8: .word 0x02106058
-_020791BC: .word 0x0210606C
-
- thumb_func_start FUN_020791C0
-FUN_020791C0: ; 0x020791C0
- push {r4-r6, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r0, _0207952C ; =0x00002FFD
- add r6, r2, #0x0
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x1
- bhi _020791D6
- mov r1, #0x1
-_020791D6:
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- bne _020791EA
- ldr r0, _02079530 ; =0x00001FFE
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x3
- bhi _020791EA
- mov r1, #0x1
-_020791EA:
- ldr r0, _02079534 ; =0x0000E002
- cmp r1, r0
- bgt _02079208
- blt _020791F4
- b _0207931C
-_020791F4:
- ldr r3, _02079538 ; =0x0000D002
- cmp r1, r3
- bgt _02079206
- sub r0, r3, #0x1
- cmp r1, r0
- blt _02079206
- beq _0207922A
- cmp r1, r3
- beq _0207927C
-_02079206:
- b _0207945C
-_02079208:
- add r0, r0, #0x1
- sub r0, r1, r0
- cmp r0, #0x5
- bls _02079212
- b _0207945C
-_02079212:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207921E: ; jump table (using 16-bit offset)
- .short _0207931C - _0207921E - 2; case 0
- .short _0207931C - _0207921E - 2; case 1
- .short _0207931C - _0207921E - 2; case 2
- .short _020792CA - _0207921E - 2; case 3
- .short _0207935E - _0207921E - 2; case 4
- .short _0207940E - _0207921E - 2; case 5
-_0207922A:
- add r0, r4, #0x0
- add r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- ldr r3, _0207953C ; =0x0000D001
- mov r1, #0x52
- str r0, [sp, #0x4]
- mov r0, #0x2a
- mov r2, #0x1
- bl FUN_020795FC
- cmp r0, #0x0
- bne _0207924A
- b _02079526
-_0207924A:
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- ldr r0, _02079540 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- add r4, #0xd8
- add r1, r4, #0x0
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
- ldr r0, _02079544 ; =0x000005EB
- bl FUN_020054C8
- b _02079526
-_0207927C:
- add r0, r4, #0x0
- add r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- mov r1, #0x52
- mov r2, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x48
- bl FUN_020795FC
- cmp r0, #0x0
- beq _02079368
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- ldr r0, _02079540 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- add r4, #0xd8
- add r1, r4, #0x0
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
- ldr r0, _02079544 ; =0x000005EB
- bl FUN_020054C8
- b _02079526
-_020792CA:
- mov r3, #0x56
- lsl r3, r3, #0x2
- ldrh r3, [r4, r3]
- add r2, r4, #0x0
- mov r0, #0x0
- mov r1, #0x52
- add r2, #0xd8
- bl FUN_02079590
- cmp r0, #0x0
- beq _02079368
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- add r1, r4, #0x0
- ldr r0, _02079540 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- add r1, #0xd8
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
- mov r0, #0x4a
- lsl r0, r0, #0x4
- ldr r1, [r4, r0]
- add r1, r1, #0x1
- str r1, [r4, r0]
- ldr r0, _02079544 ; =0x000005EB
- bl FUN_020054C8
- b _02079526
-_0207931C:
- mov r2, #0x46
- lsl r2, r2, #0x4
- ldr r0, _02079534 ; =0x0000E002
- ldr r3, [r4, r2]
- sub r5, r1, r0
- cmp r3, r5
- beq _02079368
- mov r1, #0x0
- sub r0, r2, #0x4
- str r1, [r4, r0]
- str r5, [r4, r2]
- add r0, r4, #0x0
- ldr r1, [r4, r2]
- add r0, #0x3a
- bl FUN_0207916C
- mov r0, #0x49
- lsl r0, r0, #0x4
- add r2, r4, r0
- lsl r1, r5, #0x2
- ldr r0, [r2, r1]
- add r0, r0, #0x1
- str r0, [r2, r1]
- ldr r0, _02079548 ; =0x0000069E
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, r6, #0x0
- bl FUN_020200A0
- b _02079526
-_0207935E:
- mov r1, #0x56
- lsl r1, r1, #0x2
- ldrh r0, [r4, r1]
- cmp r0, #0x0
- bne _0207936A
-_02079368:
- b _02079526
-_0207936A:
- sub r0, r0, #0x1
- lsl r0, r0, #0x1
- add r0, r4, r0
- ldr r2, _0207954C ; =0x0000FFFF
- add r0, #0xd8
- strh r2, [r0, #0x0]
- ldrh r0, [r4, r1]
- sub r0, r0, #0x1
- strh r0, [r4, r1]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- cmp r0, #0x0
- bne _0207939E
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_020191D0
- b _020793BC
-_0207939E:
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- ldr r0, _02079540 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r1, r4, #0x0
- add r0, r4, r0
- add r1, #0xd8
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
-_020793BC:
- ldr r0, _02079550 ; =0x000004C4
- mov r3, #0x5f
- add r1, r4, r0
- lsl r3, r3, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r4, r3]
- add r2, r3, #0x0
- str r1, [sp, #0x4]
- sub r2, #0x24
- sub r0, #0xcc
- add r1, r4, #0x0
- sub r3, #0x22
- ldrh r2, [r4, r2]
- add r0, r4, r0
- add r1, #0xd8
- add r3, r4, r3
- bl FUN_0207907C
- mov r1, #0x56
- lsl r1, r1, #0x2
- mov r0, #0xd9
- lsl r0, r0, #0x2
- ldrh r1, [r4, r1]
- ldr r2, [r4, #0xc]
- add r0, r4, r0
- bl FUN_02079710
- ldr r0, _02079554 ; =0x000004A4
- ldr r1, [r4, r0]
- add r1, r1, #0x1
- str r1, [r4, r0]
- ldr r0, _02079558 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, r6, #0x0
- bl FUN_020200A0
- b _02079526
-_0207940E:
- ldr r0, _0207955C ; =0x000005C4
- ldr r0, [r4, r0]
- bl FUN_020143D0
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, r6, #0x0
- bl FUN_020200A0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02079454
- ldr r0, _02079560 ; =0x000005E2
- bl FUN_020054C8
- ldr r0, _02079564 ; =0x000004A8
- ldr r1, [r4, r0]
- add r1, r1, #0x1
- str r1, [r4, r0]
- mov r1, #0x0
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x12
- str r0, [sp, #0x8]
- mov r0, #0x2
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_0200E1D0
- add sp, #0x10
- mov r0, #0x3
- pop {r4-r6, pc}
-_02079454:
- ldr r0, _02079568 ; =0x0000045C
- mov r1, #0x5
- str r1, [r4, r0]
- b _02079526
-_0207945C:
- mov r0, #0x46
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- cmp r0, #0x4
- bne _02079470
- cmp r1, #0x1
- bne _02079470
- add sp, #0x10
- mov r0, #0x2
- pop {r4-r6, pc}
-_02079470:
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r2, [r4, r0]
- ldr r0, [r4, #0xc]
- cmp r2, r0
- beq _02079526
- lsl r0, r2, #0x1
- add r0, r4, r0
- add r0, #0xd8
- strh r1, [r0, #0x0]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x1
- bl FUN_02019620
- mov r0, #0xc
- str r0, [sp, #0x0]
- mov r2, #0x0
- add r1, r4, #0x0
- ldr r0, _02079540 ; =0x000E0F01
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xfa
- lsl r0, r0, #0x2
- add r0, r4, r0
- add r1, #0xd8
- add r3, r2, #0x0
- str r2, [sp, #0xc]
- bl FUN_02078E7C
- mov r1, #0x56
- lsl r1, r1, #0x2
- ldrh r0, [r4, r1]
- add r0, r0, #0x1
- strh r0, [r4, r1]
- mov r0, #0xd9
- lsl r0, r0, #0x2
- ldrh r1, [r4, r1]
- ldr r2, [r4, #0xc]
- add r0, r4, r0
- bl FUN_02079710
- ldr r0, _02079544 ; =0x000005EB
- bl FUN_020054C8
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_02020398
- mov r3, #0x8
- ldr r0, _0207956C ; =0x04000050
- mov r1, #0x0
- mov r2, #0x7
- str r3, [sp, #0x0]
- bl G2x_SetBlendAlpha_
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x3c
- bl FUN_02020130
- mov r0, #0x1
- str r0, [r4, #0x34]
- ldr r0, _02079550 ; =0x000004C4
- mov r3, #0x5f
- add r1, r4, r0
- lsl r3, r3, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r4, r3]
- add r2, r3, #0x0
- str r1, [sp, #0x4]
- sub r2, #0x24
- sub r0, #0xcc
- add r1, r4, #0x0
- sub r3, #0x22
- ldrh r2, [r4, r2]
- add r0, r4, r0
- add r1, #0xd8
- add r3, r4, r3
- bl FUN_0207907C
-_02079526:
- mov r0, #0x2
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0207952C: .word 0x00002FFD
-_02079530: .word 0x00001FFE
-_02079534: .word 0x0000E002
-_02079538: .word 0x0000D002
-_0207953C: .word 0x0000D001
-_02079540: .word 0x000E0F01
-_02079544: .word 0x000005EB
-_02079548: .word 0x0000069E
-_0207954C: .word 0x0000FFFF
-_02079550: .word 0x000004C4
-_02079554: .word 0x000004A4
-_02079558: .word 0x000005DC
-_0207955C: .word 0x000005C4
-_02079560: .word 0x000005E2
-_02079564: .word 0x000004A8
-_02079568: .word 0x0000045C
-_0207956C: .word 0x04000050
-
- thumb_func_start FUN_02079570
-FUN_02079570: ; 0x02079570
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- mov r6, #0x3
-_02079578:
- add r0, r1, #0x1
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02078BD0
- add r1, r0, #0x0
- lsl r0, r1, #0x1
- ldrh r0, [r5, r0]
- cmp r0, #0x1
- beq _02079578
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02079590
-FUN_02079590: ; 0x02079590
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, r1, #0x0
- str r2, [sp, #0x0]
- cmp r3, #0x0
- bne _020795A4
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_020795A4:
- sub r1, r3, #0x1
- lsl r1, r1, #0x1
- str r1, [sp, #0x4]
- ldrh r3, [r2, r1]
- cmp r4, r0
- bge _020795F2
- mov r1, #0x6
- ldr r2, _020795F8 ; =0x020FA40E
- mul r1, r4
- add r5, r2, r1
- mov r7, #0x0
-_020795BA:
- add r2, r7, #0x0
- add r6, r5, #0x0
-_020795BE:
- ldrh r1, [r6, #0x0]
- cmp r3, r1
- bne _020795E2
- cmp r3, #0x1
- beq _020795E2
- mov r0, #0x6
- ldr r1, _020795F8 ; =0x020FA40E
- mul r0, r4
- add r0, r1, r0
- add r1, r2, #0x0
- bl FUN_02079570
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add sp, #0x8
- strh r0, [r2, r1]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020795E2:
- add r2, r2, #0x1
- add r6, r6, #0x2
- cmp r2, #0x3
- blt _020795BE
- add r4, r4, #0x1
- add r5, r5, #0x6
- cmp r4, r0
- blt _020795BA
-_020795F2:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020795F8: .word 0x020FA40E
-
- thumb_func_start FUN_020795FC
-FUN_020795FC: ; 0x020795FC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- ldr r1, [sp, #0x1c]
- mov lr, r2
- mov r12, r3
- cmp r1, #0x0
- beq _02079618
- sub r1, r1, #0x1
- ldr r6, [sp, #0x18]
- lsl r7, r1, #0x1
- ldrh r5, [r6, r7]
- cmp r5, #0x1
- bne _0207961C
-_02079618:
- mov r0, #0x0
- pop {r3-r7, pc}
-_0207961C:
- add r2, r4, #0x0
- cmp r4, r0
- bge _0207964E
- mov r1, #0x6
- ldr r3, _020796F4 ; =0x020FA40E
- mul r1, r4
- add r3, r3, r1
-_0207962A:
- ldrh r1, [r3, #0x0]
- cmp r5, r1
- bne _02079646
- add r3, r2, #0x0
- mov r0, #0x6
- mul r3, r0
- mov r0, lr
- ldr r2, _020796F4 ; =0x020FA40E
- lsl r1, r0, #0x1
- add r0, r2, r3
- ldrh r0, [r1, r0]
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_02079646:
- add r2, r2, #0x1
- add r3, r3, #0x6
- cmp r2, r0
- blt _0207962A
-_0207964E:
- cmp r4, r0
- bge _0207967E
- mov r2, lr
- ldr r1, _020796F4 ; =0x020FA40E
- lsl r2, r2, #0x1
- add r1, r1, r2
- mov r2, #0x6
- mul r2, r4
- add r2, r1, r2
-_02079660:
- ldrh r1, [r2, #0x0]
- cmp r5, r1
- bne _02079676
- mov r0, #0x6
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _020796F4 ; =0x020FA40E
- ldrh r0, [r0, r1]
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_02079676:
- add r4, r4, #0x1
- add r2, r2, #0x6
- cmp r4, r0
- blt _02079660
-_0207967E:
- ldr r1, _020796F8 ; =0x0000D001
- mov r0, r12
- cmp r0, r1
- beq _02079698
- add r1, r1, #0x1
- mov r0, r12
- cmp r0, r1
- beq _020796B8
- ldr r1, _020796FC ; =0x0000E006
- mov r0, r12
- cmp r0, r1
- beq _020796D8
- b _020796F0
-_02079698:
- ldr r1, _02079700 ; =0x020FA1A4
- mov r2, #0x0
-_0207969C:
- ldrh r0, [r1, #0x0]
- cmp r5, r0
- bne _020796AE
- ldr r0, _02079704 ; =0x020FA1A6
- lsl r1, r2, #0x2
- ldrh r0, [r0, r1]
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020796AE:
- add r2, r2, #0x1
- add r1, r1, #0x4
- cmp r2, #0xc
- blo _0207969C
- b _020796F0
-_020796B8:
- ldr r1, _02079708 ; =0x020FA17C
- mov r2, #0x0
-_020796BC:
- ldrh r0, [r1, #0x0]
- cmp r5, r0
- bne _020796CE
- ldr r0, _0207970C ; =0x020FA17E
- lsl r1, r2, #0x2
- ldrh r0, [r0, r1]
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020796CE:
- add r2, r2, #0x1
- add r1, r1, #0x4
- cmp r2, #0xa
- blo _020796BC
- b _020796F0
-_020796D8:
- cmp r5, #0x26
- bne _020796E4
- mov r0, #0x24
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020796E4:
- cmp r5, #0x76
- bne _020796F0
- mov r0, #0x74
- strh r0, [r6, r7]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020796F0:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020796F4: .word 0x020FA40E
-_020796F8: .word 0x0000D001
-_020796FC: .word 0x0000E006
-_02079700: .word 0x020FA1A4
-_02079704: .word 0x020FA1A6
-_02079708: .word 0x020FA17C
-_0207970C: .word 0x020FA17E
-
- thumb_func_start FUN_02079710
-FUN_02079710: ; 0x02079710
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- mov r4, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- cmp r6, #0x0
- ble _02079734
- add r5, r0, #0x0
- mov r7, #0x2b
-_02079724:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- bl FUN_02020130
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r6
- blt _02079724
-_02079734:
- ldr r0, [sp, #0x4]
- cmp r0, r6
- beq _02079746
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x0]
- ldr r0, [r0, r1]
- mov r1, #0x2c
- bl FUN_02020130
-_02079746:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207974C
-FUN_0207974C: ; 0x0207974C
- push {r3-r7, lr}
- sub sp, #0x18
- str r2, [sp, #0x10]
- ldr r2, [sp, #0x30]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r5, r0, #0x0
- str r3, [sp, #0x14]
- str r2, [sp, #0x30]
- bl FUN_02019620
- ldr r1, _0207982C ; =0x020F9D30
- ldr r0, [sp, #0x10]
- mov r7, #0x0
- ldrb r4, [r1, r0]
- mov r6, #0x10
-_0207976C:
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x13
- lsl r2, r6, #0x10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x0
- bl FUN_020196F4
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x13
- lsl r2, r6, #0x10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x26
- bl FUN_020196F4
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x13
- lsl r2, r6, #0x10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x4c
- bl FUN_020196F4
- add r7, r7, #0x1
- add r6, #0x20
- cmp r7, #0x6
- blt _0207976C
- mov r7, #0x0
- add r6, r7, #0x0
-_020797BA:
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x13
- lsl r2, r6, #0x10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x13
- bl FUN_020196F4
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x13
- lsl r2, r6, #0x10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x39
- bl FUN_020196F4
- add r7, r7, #0x1
- add r6, #0x20
- cmp r7, #0x7
- blt _020797BA
- ldr r0, [sp, #0x10]
- mov r1, #0x14
- ldr r2, _02079830 ; =0x0210606C
- mul r1, r0
- mov r7, #0x0
- mov r6, #0x4
- add r4, r2, r1
-_020797FC:
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x14]
- mov r2, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x30]
- add r3, r6, #0x0
- str r0, [sp, #0xc]
- ldr r1, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02078E7C
- add r7, r7, #0x1
- add r6, #0x13
- add r4, r4, #0x4
- cmp r7, #0x5
- blt _020797FC
- add r0, r5, #0x0
- bl FUN_020191D0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_0207982C: .word 0x020F9D30
-_02079830: .word 0x0210606C
-
- thumb_func_start FUN_02079834
-FUN_02079834: ; 0x02079834
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- str r0, [sp, #0x0]
- mov r7, #0x0
- add r1, r0, #0x0
-_02079840:
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _02079876
- mov r0, #0x0
- ldr r4, _020798B8 ; =0x020FA1D4
- str r0, [sp, #0x4]
- add r5, r6, #0x0
-_0207984E:
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x8]
- bl FUN_02020130
- ldr r0, [sp, #0x4]
- add r4, #0x10
- add r0, r0, #0x1
- add r5, r5, #0x4
- str r0, [sp, #0x4]
- cmp r0, #0x3
- blt _0207984E
- ldr r1, _020798BC ; =0x020FA1DC
- lsl r2, r7, #0x4
- lsl r0, r7, #0x2
- ldr r1, [r1, r2]
- ldr r0, [r6, r0]
- sub r1, r1, #0x3
- bl FUN_02020130
- b _0207987E
-_02079876:
- add r7, r7, #0x1
- add r1, r1, #0x4
- cmp r7, #0x3
- blt _02079840
-_0207987E:
- ldr r4, [sp, #0x0]
- ldr r5, _020798C0 ; =0x020FA224
- mov r7, #0x5
- add r4, #0x14
- add r6, #0x14
-_02079888:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02079898
- ldr r1, [r5, #0x8]
- ldr r0, [r6, #0x0]
- add r1, r1, #0x1
- bl FUN_02020130
-_02079898:
- add r7, r7, #0x1
- add r4, r4, #0x4
- add r5, #0x10
- add r6, r6, #0x4
- cmp r7, #0x7
- blt _02079888
- mov r2, #0x0
- add r1, r2, #0x0
-_020798A8:
- ldr r0, [sp, #0x0]
- add r2, r2, #0x1
- stmia r0!, {r1}
- str r0, [sp, #0x0]
- cmp r2, #0x7
- blt _020798A8
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020798B8: .word 0x020FA1D4
-_020798BC: .word 0x020FA1DC
-_020798C0: .word 0x020FA224
-
- thumb_func_start FUN_020798C4
-FUN_020798C4: ; 0x020798C4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02020388
- cmp r0, #0x0
- bne _0207992E
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldrh r1, [r4, r0]
- ldr r0, [r4, #0xc]
- cmp r1, r0
- bne _020798F8
- mov r0, #0xc
- str r0, [r4, #0x1c]
- mov r0, #0x0
- str r0, [r4, #0x20]
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x27
- bl FUN_02020130
- b _02079904
-_020798F8:
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x27
- bl FUN_02020130
-_02079904:
- ldr r0, [r4, #0x30]
- cmp r0, #0x0
- bne _02079918
- mov r0, #0xd3
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- b _02079920
-_02079918:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02078D7C
-_02079920:
- mov r1, #0x0
- mov r0, #0xd3
- str r1, [r4, #0x34]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02020398
-_0207992E:
- pop {r4, pc}
-
- thumb_func_start FUN_02079930
-FUN_02079930: ; 0x02079930
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- mov r0, #0x0
- mov r12, r0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x4
- bne _02079944
- mov r0, #0x4
- mov r12, r0
-_02079944:
- ldr r2, _020799E0 ; =0x021C48F8
- ldrh r0, [r2, #0x20]
- cmp r0, #0x0
- beq _020799DA
- ldrh r0, [r2, #0x1c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov lr, r0
- ldrh r0, [r2, #0x1e]
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- mov r0, r12
- cmp r0, #0x47
- bhs _020799DA
- mov r0, #0x6
- mov r2, r12
- mul r0, r2
- ldr r2, _020799E4 ; =0x020FA264
- add r2, r2, r0
- add r3, r2, #0x0
-_0207996C:
- ldrh r4, [r3, #0x2]
- ldrb r0, [r2, #0x0]
- ldrb r6, [r2, #0x1]
- lsl r4, r4, #0x1e
- lsr r4, r4, #0x1e
- beq _02079982
- cmp r4, #0x1
- beq _02079988
- cmp r4, #0x2
- beq _0207998E
- b _02079992
-_02079982:
- mov r5, #0x1f
- mov r1, #0x16
- b _02079992
-_02079988:
- mov r5, #0x20
- mov r1, #0x16
- b _02079992
-_0207998E:
- mov r5, #0x10
- mov r1, #0x13
-_02079992:
- mov r4, lr
- cmp r4, r0
- blo _020799CC
- cmp r7, r6
- blo _020799CC
- add r4, r0, r5
- mov r0, lr
- cmp r0, r4
- bgt _020799CC
- add r0, r6, r1
- cmp r7, r0
- bgt _020799CC
- ldr r2, _020799E4 ; =0x020FA264
- mov r1, #0x6
- mov r0, r12
- mul r1, r0
- add r2, r2, r1
- ldrb r0, [r2, #0x4]
- lsl r0, r0, #0x1b
- lsr r1, r0, #0x1b
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x1c]
- ldrb r0, [r2, #0x5]
- lsl r0, r0, #0x1b
- lsr r1, r0, #0x1b
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x20]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020799CC:
- mov r0, r12
- add r0, r0, #0x1
- add r2, r2, #0x6
- add r3, r3, #0x6
- mov r12, r0
- cmp r0, #0x47
- blo _0207996C
-_020799DA:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_020799E0: .word 0x021C48F8
-_020799E4: .word 0x020FA264
-
- thumb_func_start FUN_020799E8
-FUN_020799E8: ; 0x020799E8
- lsl r1, r0, #0x1
- ldr r0, _020799F0 ; =0x020FA60C
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_020799F0: .word 0x020FA60C
-
- thumb_func_start FUN_020799F4
-FUN_020799F4: ; 0x020799F4
- push {r3, lr}
- add r2, r0, #0x0
- mul r2, r0
- add r0, r1, #0x0
- mul r0, r1
- add r0, r2, r0
- lsl r0, r0, #0x4
- bl SVC_Sqrt
- lsr r0, r0, #0x2
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02079A0C
-FUN_02079A0C: ; 0x02079A0C
- push {r4, lr}
- add r4, r0, #0x0
- mul r0, r2
- bl _u32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bne _02079A22
- cmp r4, #0x0
- beq _02079A22
- mov r0, #0x1
-_02079A22:
- pop {r4, pc}
-
- thumb_func_start FUN_02079A24
-FUN_02079A24: ; 0x02079A24
- push {r4, lr}
- add r4, r0, #0x0
- lsl r0, r1, #0x8
- lsl r4, r4, #0x8
- lsr r1, r0, #0x1
- cmp r4, r1
- bls _02079A36
- mov r0, #0x3
- pop {r4, pc}
-_02079A36:
- mov r1, #0x5
- bl _u32_div_f
- cmp r4, r0
- bls _02079A44
- mov r0, #0x2
- pop {r4, pc}
-_02079A44:
- cmp r4, #0x0
- beq _02079A4C
- mov r0, #0x1
- b _02079A4E
-_02079A4C:
- mov r0, #0x0
-_02079A4E:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r4, pc}
-
- thumb_func_start FUN_02079A54
-FUN_02079A54: ; 0x02079A54
- push {r4, lr}
- add r4, r2, #0x0
- cmp r0, r1
- bne _02079A60
- mov r0, #0x4
- pop {r4, pc}
-_02079A60:
- lsl r2, r4, #0x18
- lsr r2, r2, #0x18
- bl FUN_02079A0C
- add r1, r4, #0x0
- bl FUN_02079A24
- pop {r4, pc}
-
- thumb_func_start FUN_02079A70
-FUN_02079A70: ; 0x02079A70
- push {lr}
- sub sp, #0xc
- cmp r0, #0x0
- bne _02079A90
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- mov r0, #0x0
- str r1, [sp, #0x8]
- add r1, r2, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- add sp, #0xc
- pop {pc}
-_02079A90:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r1, [sp, #0x8]
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_02079AAC
-FUN_02079AAC: ; 0x02079AAC
- push {r4-r5}
- ldr r3, _02079B5C ; =0x021C48B8
- mov r2, #0x0
- ldr r3, [r3, #0x4c]
- mov r5, #0x40
- ldrsh r4, [r0, r2]
- tst r5, r3
- beq _02079ADE
- add r3, r4, #0x1
- strh r3, [r0, #0x0]
- ldrsh r2, [r0, r2]
- cmp r2, r1
- ble _02079ACA
- mov r1, #0x1
- strh r1, [r0, #0x0]
-_02079ACA:
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, r4
- bne _02079AD8
- add r0, r1, #0x0
- pop {r4-r5}
- bx lr
-_02079AD8:
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02079ADE:
- mov r5, #0x80
- tst r5, r3
- beq _02079B04
- sub r3, r4, #0x1
- strh r3, [r0, #0x0]
- ldrsh r2, [r0, r2]
- cmp r2, #0x0
- bgt _02079AF0
- strh r1, [r0, #0x0]
-_02079AF0:
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, r4
- bne _02079AFE
- add r0, r1, #0x0
- pop {r4-r5}
- bx lr
-_02079AFE:
- mov r0, #0x2
- pop {r4-r5}
- bx lr
-_02079B04:
- mov r5, #0x20
- tst r5, r3
- beq _02079B2E
- add r1, r4, #0x0
- sub r1, #0xa
- strh r1, [r0, #0x0]
- ldrsh r1, [r0, r2]
- cmp r1, #0x0
- bgt _02079B1A
- mov r1, #0x1
- strh r1, [r0, #0x0]
-_02079B1A:
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, r4
- bne _02079B28
- add r0, r1, #0x0
- pop {r4-r5}
- bx lr
-_02079B28:
- mov r0, #0x2
- pop {r4-r5}
- bx lr
-_02079B2E:
- mov r5, #0x10
- tst r3, r5
- beq _02079B56
- add r3, r4, #0x0
- add r3, #0xa
- strh r3, [r0, #0x0]
- ldrsh r2, [r0, r2]
- cmp r2, r1
- ble _02079B42
- strh r1, [r0, #0x0]
-_02079B42:
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, r4
- bne _02079B50
- add r0, r1, #0x0
- pop {r4-r5}
- bx lr
-_02079B50:
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02079B56:
- add r0, r2, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-_02079B5C: .word 0x021C48B8
-
- thumb_func_start FUN_02079B60
-FUN_02079B60: ; 0x02079B60
- push {r4-r7, lr}
- sub sp, #0x14
- add r7, r1, #0x0
- add r6, r0, #0x0
- ldr r1, [sp, #0x28]
- add r0, r3, #0x0
- str r2, [sp, #0x4]
- ldr r5, [sp, #0x2c]
- ldr r4, [sp, #0x34]
- bl LoadFromNARC_7
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020169D8
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x28]
- add r2, r7, #0x0
- bl FUN_02006774
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- beq _02079B9A
- cmp r0, #0x1
- beq _02079BC6
- cmp r0, #0x2
- beq _02079C10
- b _02079C36
-_02079B9A:
- add r0, r7, #0x0
- add r1, sp, #0x10
- bl FUN_020B0088
- cmp r4, #0x0
- bne _02079BAE
- ldr r0, [sp, #0x10]
- ldr r0, [r0, #0x10]
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_02079BAE:
- add r0, sp, #0x18
- ldrh r0, [r0, #0x20]
- lsl r1, r5, #0x18
- lsr r1, r1, #0x18
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x10]
- add r0, r6, #0x0
- ldr r2, [r2, #0x14]
- add r3, r4, #0x0
- bl FUN_02017E14
- b _02079C36
-_02079BC6:
- add r0, r7, #0x0
- add r1, sp, #0xc
- bl FUN_020B0180
- cmp r4, #0x0
- bne _02079BDA
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0x8]
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_02079BDA:
- lsl r1, r5, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- bl FUN_0201886C
- cmp r0, #0x0
- beq _02079BF8
- ldr r2, [sp, #0xc]
- lsl r1, r5, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- add r2, #0xc
- add r3, r4, #0x0
- bl FUN_02017DFC
-_02079BF8:
- add r0, sp, #0x18
- ldrh r0, [r0, #0x20]
- lsl r1, r5, #0x18
- lsr r1, r1, #0x18
- str r0, [sp, #0x0]
- ldr r2, [sp, #0xc]
- add r0, r6, #0x0
- add r2, #0xc
- add r3, r4, #0x0
- bl FUN_02017CE8
- b _02079C36
-_02079C10:
- add r0, r7, #0x0
- add r1, sp, #0x8
- bl FUN_020B0138
- cmp r4, #0x0
- bne _02079C24
- ldr r0, [sp, #0x8]
- ldr r0, [r0, #0x8]
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_02079C24:
- ldr r1, [sp, #0x8]
- add r3, sp, #0x18
- lsl r0, r5, #0x18
- ldrh r3, [r3, #0x20]
- ldr r1, [r1, #0xc]
- lsr r0, r0, #0x18
- add r2, r4, #0x0
- bl FUN_02017FB4
-_02079C36:
- add r0, r7, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02079C40
-FUN_02079C40: ; 0x02079C40
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r6, r0, #0x0
- add r0, r1, #0x0
- add r1, r5, #0x0
- add r7, r3, #0x0
- bl LoadFromNARC_7
- add r1, r0, #0x0
- ldr r0, [sp, #0x18]
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02006774
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_020B0180
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02079C70
-FUN_02079C70: ; 0x02079C70
- push {r3, lr}
- bl FUN_020462AC
- bl FUN_0205F184
- pop {r3, pc}
-
- thumb_func_start FUN_02079C7C
-FUN_02079C7C: ; 0x02079C7C
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- bl FUN_02015F1C
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r1, #0x1
- lsl r1, r1, #0x1a
- ldr r0, [r1, #0x0]
- ldr r2, _02079DA0 ; =0xFFFFE0FF
- and r0, r2
- str r0, [r1, #0x0]
- ldr r0, _02079DA4 ; =0x04001000
- ldr r3, [r0, #0x0]
- and r2, r3
- str r2, [r0, #0x0]
- ldr r3, [r1, #0x0]
- ldr r2, _02079DA8 ; =0xFFFF1FFF
- and r3, r2
- str r3, [r1, #0x0]
- ldr r3, [r0, #0x0]
- add r1, #0x50
- and r2, r3
- str r2, [r0, #0x0]
- mov r2, #0x0
- strh r2, [r1, #0x0]
- add r0, #0x50
- strh r2, [r0, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- mov r2, #0x1
- mov r0, #0x3
- mov r1, #0x13
- lsl r2, r2, #0x12
- bl FUN_0201681C
- ldr r1, _02079DAC ; =0x0000069C
- add r0, r4, #0x0
- mov r2, #0x13
- bl FUN_02006268
- ldr r2, _02079DAC ; =0x0000069C
- mov r1, #0x0
- add r5, r0, #0x0
- bl memset
- add r0, r4, #0x0
- bl FUN_0200628C
- mov r1, #0x93
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- mov r0, #0x13
- bl FUN_02016B94
- mov r1, #0x1
- str r0, [r5, #0x0]
- mov r0, #0x13
- add r2, r1, #0x0
- bl FUN_02014BF4
- mov r1, #0x2d
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- mov r0, #0x0
- mov r1, #0x13
- bl FUN_02002C84
- bl FUN_0201CC08
- mov r0, #0x4
- bl FUN_0201CC24
- add r0, r5, #0x0
- bl FUN_0207B028
- bl FUN_02079F58
- ldr r0, [r5, #0x0]
- bl FUN_02079F78
- add r0, r5, #0x0
- bl FUN_0207A0CC
- bl FUN_0207A188
- add r0, r5, #0x0
- bl FUN_0207EF6C
- add r0, r5, #0x0
- bl FUN_0207A1A0
- add r0, r5, #0x0
- bl FUN_0207AAB0
- add r0, r5, #0x0
- bl FUN_0207C328
- add r0, r5, #0x0
- bl FUN_0207C448
- add r0, r5, #0x0
- bl FUN_0207F840
- add r0, r5, #0x0
- bl FUN_0207C71C
- add r0, r5, #0x0
- bl FUN_0207C77C
- add r0, r5, #0x0
- bl FUN_0207D5BC
- add r0, r5, #0x0
- bl FUN_0207AF58
- add r0, r5, #0x0
- bl FUN_0207F95C
- add r0, r5, #0x0
- bl FUN_0207F098
- ldr r0, _02079DB0 ; =FUN_02079F24
- add r1, r5, #0x0
- bl FUN_02015F10
- bl FUN_0201E788
- mov r1, #0x0
- mov r0, #0x3d
- add r2, r1, #0x0
- bl FUN_0200433C
- bl FUN_02033F20
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02079DA0: .word 0xFFFFE0FF
-_02079DA4: .word 0x04001000
-_02079DA8: .word 0xFFFF1FFF
-_02079DAC: .word 0x0000069C
-_02079DB0: .word FUN_02079F24
-
- thumb_func_start FUN_02079DB4
-FUN_02079DB4: ; 0x02079DB4
- push {r3-r5, lr}
- add r4, r1, #0x0
- bl FUN_02006278
- ldr r1, [r4, #0x0]
- add r5, r0, #0x0
- cmp r1, #0x13
- bhi _02079EA2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02079DD0: ; jump table (using 16-bit offset)
- .short _02079DF8 - _02079DD0 - 2; case 0
- .short _02079E06 - _02079DD0 - 2; case 1
- .short _02079E0E - _02079DD0 - 2; case 2
- .short _02079E16 - _02079DD0 - 2; case 3
- .short _02079E1E - _02079DD0 - 2; case 4
- .short _02079E26 - _02079DD0 - 2; case 5
- .short _02079E2E - _02079DD0 - 2; case 6
- .short _02079E36 - _02079DD0 - 2; case 7
- .short _02079E3E - _02079DD0 - 2; case 8
- .short _02079E46 - _02079DD0 - 2; case 9
- .short _02079E4E - _02079DD0 - 2; case 10
- .short _02079E56 - _02079DD0 - 2; case 11
- .short _02079E5E - _02079DD0 - 2; case 12
- .short _02079E66 - _02079DD0 - 2; case 13
- .short _02079E6E - _02079DD0 - 2; case 14
- .short _02079E76 - _02079DD0 - 2; case 15
- .short _02079E7E - _02079DD0 - 2; case 16
- .short _02079E86 - _02079DD0 - 2; case 17
- .short _02079E8E - _02079DD0 - 2; case 18
- .short _02079E96 - _02079DD0 - 2; case 19
-_02079DF8:
- mov r0, #0x0
- mov r1, #0x13
- bl FUN_02079A70
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E06:
- bl FUN_0207A2D8
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E0E:
- bl FUN_0207A310
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E16:
- bl FUN_0207A448
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E1E:
- bl FUN_0207A45C
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E26:
- bl FUN_0207A470
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E2E:
- bl FUN_0207A484
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E36:
- bl FUN_0207A498
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E3E:
- bl FUN_0207A57C
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E46:
- bl FUN_0207A654
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E4E:
- bl FUN_0207A760
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E56:
- bl FUN_0207A77C
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E5E:
- bl FUN_0207A790
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E66:
- bl FUN_0207A7A4
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E6E:
- bl FUN_0207A818
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E76:
- bl FUN_0207A884
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E7E:
- bl FUN_0207AA20
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E86:
- bl FUN_0207AA70
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E8E:
- bl FUN_0207AA88
- str r0, [r4, #0x0]
- b _02079EA2
-_02079E96:
- bl FUN_0207AA98
- cmp r0, #0x1
- bne _02079EA2
- mov r0, #0x1
- pop {r3-r5, pc}
-_02079EA2:
- add r0, r5, #0x0
- bl FUN_0207C3F4
- add r0, r5, #0x0
- bl FUN_0207CC88
- add r0, r5, #0x0
- bl FUN_0207D3F4
- ldr r0, _02079EC8 ; =0x00000404
- ldr r0, [r5, r0]
- bl FUN_0200BC1C
- add r0, r5, #0x0
- bl FUN_0207F008
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02079EC8: .word 0x00000404
-
- thumb_func_start FUN_02079ECC
-FUN_02079ECC: ; 0x02079ECC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02006278
- add r5, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- add r0, r5, #0x0
- bl FUN_0207F068
- add r0, r5, #0x0
- bl FUN_0207C3D4
- add r0, r5, #0x0
- bl FUN_0207D74C
- ldr r0, [r5, #0x0]
- bl FUN_0207A08C
- bl FUN_0201CD04
- bl FUN_0201C29C
- add r0, r5, #0x0
- bl FUN_0207A264
- mov r0, #0x0
- bl FUN_02002CC0
- ldr r0, _02079F20 ; =0x04000050
- mov r1, #0x0
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0200627C
- mov r0, #0x13
- bl FUN_020168D0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02079F20: .word 0x04000050
-
- thumb_func_start FUN_02079F24
-FUN_02079F24: ; 0x02079F24
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0201AB60
- mov r0, #0xae
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020081C4
- bl FUN_0201C30C
- bl FUN_0200BC30
- ldr r3, _02079F50 ; =0x027E0000
- ldr r1, _02079F54 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- pop {r4, pc}
- nop
-_02079F50: .word 0x027E0000
-_02079F54: .word 0x00003FF8
-
- thumb_func_start FUN_02079F58
-FUN_02079F58: ; 0x02079F58
- push {r4, lr}
- sub sp, #0x28
- ldr r4, _02079F74 ; =0x020FA6C0
- add r3, sp, #0x0
- mov r2, #0x5
-_02079F62:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02079F62
- add r0, sp, #0x0
- bl FUN_0201E66C
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-_02079F74: .word 0x020FA6C0
-
- thumb_func_start FUN_02079F78
-FUN_02079F78: ; 0x02079F78
- push {r4-r5, lr}
- sub sp, #0x9c
- ldr r5, _0207A074 ; =0x020FA624
- add r3, sp, #0x8c
- add r4, r0, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _0207A078 ; =0x020FA650
- add r3, sp, #0x70
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02018744
- ldr r5, _0207A07C ; =0x020FA66C
- add r3, sp, #0x54
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02018744
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x88
- bl FUN_0201AEE4
- ldr r5, _0207A080 ; =0x020FA688
- add r3, sp, #0x38
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- ldr r5, _0207A084 ; =0x020FA6A4
- add r3, sp, #0x1c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02018744
- ldr r5, _0207A088 ; =0x020FA634
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x5
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- mov r0, #0x1
- mov r1, #0x20
- mov r2, #0x0
- mov r3, #0x13
- bl FUN_02017F18
- mov r0, #0x4
- mov r1, #0x20
- mov r2, #0x0
- mov r3, #0x13
- bl FUN_02017F18
- add sp, #0x9c
- pop {r4-r5, pc}
- nop
-_0207A074: .word 0x020FA624
-_0207A078: .word 0x020FA650
-_0207A07C: .word 0x020FA66C
-_0207A080: .word 0x020FA688
-_0207A084: .word 0x020FA6A4
-_0207A088: .word 0x020FA634
-
- thumb_func_start FUN_0207A08C
-FUN_0207A08C: ; 0x0207A08C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201E6D8
- bl FUN_0201E740
- add r0, r4, #0x0
- mov r1, #0x5
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_020178A0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020178A0
- mov r0, #0x13
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207A0CC
-FUN_0207A0CC: ; 0x0207A0CC
- push {r4, lr}
- sub sp, #0x10
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r4, r0, #0x0
- str r1, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- mov r3, #0x3
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- mov r1, #0x3
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- add r3, r1, #0x0
- bl FUN_020068C8
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x13
- str r0, [sp, #0x4]
- mov r0, #0x27
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_02006930
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- mov r1, #0xb
- mov r3, #0x2
- bl FUN_020068C8
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- mov r1, #0x2
- mov r3, #0x4
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- mov r1, #0x10
- mov r3, #0x5
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x13
- str r0, [sp, #0xc]
- ldr r2, [r4, #0x0]
- mov r0, #0x27
- mov r1, #0xf
- mov r3, #0x5
- bl FUN_020068C8
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x13
- str r0, [sp, #0x4]
- mov r0, #0x27
- mov r1, #0xe
- mov r2, #0x4
- bl FUN_02006930
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_0207A188
-FUN_0207A188: ; 0x0207A188
- push {r3, lr}
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, _0207A19C ; =0x04000050
- mov r1, #0x1
- mov r2, #0x1e
- mov r3, #0x17
- bl G2x_SetBlendAlpha_
- pop {r3, pc}
- .balign 4
-_0207A19C: .word 0x04000050
-
- thumb_func_start FUN_0207A1A0
-FUN_0207A1A0: ; 0x0207A1A0
- push {r4, lr}
- mov r2, #0x65
- add r4, r0, #0x0
- mov r0, #0x0
- mov r1, #0x1a
- lsl r2, r2, #0x2
- mov r3, #0x13
- bl FUN_0200A86C
- ldr r1, _0207A250 ; =0x00000674
- mov r2, #0x79
- str r0, [r4, r1]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- mov r3, #0x13
- bl FUN_0200A86C
- ldr r1, _0207A254 ; =0x00000678
- mov r2, #0x0
- str r0, [r4, r1]
- mov r0, #0x1
- mov r1, #0x2
- mov r3, #0x13
- bl FUN_0200B870
- mov r1, #0x67
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- mov r0, #0x13
- bl FUN_0200AA80
- ldr r1, _0207A258 ; =0x0000067C
- str r0, [r4, r1]
- mov r0, #0xc
- mov r1, #0x13
- bl FUN_020219F4
- mov r1, #0x25
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- mov r0, #0xc
- mov r1, #0x13
- bl FUN_020219F4
- mov r1, #0x95
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x8
- mov r1, #0x13
- bl FUN_020219F4
- mov r1, #0x96
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x80
- mov r1, #0x13
- bl FUN_020219F4
- mov r1, #0x1a
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- mov r2, #0x93
- mov r0, #0x0
- mov r1, #0x1a
- lsl r2, r2, #0x2
- mov r3, #0x13
- bl FUN_0200A86C
- ldr r1, _0207A25C ; =0x00000688
- str r0, [r4, r1]
- mov r0, #0x8
- mov r1, #0x13
- bl FUN_020219F4
- ldr r2, _0207A260 ; =0x00000684
- str r0, [r4, r2]
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _0207A24C
- ldr r0, [r4, r2]
- bl FUN_02021E28
-_0207A24C:
- pop {r4, pc}
- nop
-_0207A250: .word 0x00000674
-_0207A254: .word 0x00000678
-_0207A258: .word 0x0000067C
-_0207A25C: .word 0x00000688
-_0207A260: .word 0x00000684
-
- thumb_func_start FUN_0207A264
-FUN_0207A264: ; 0x0207A264
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207A2C4 ; =0x00000688
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- ldr r0, _0207A2C8 ; =0x00000678
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- ldr r0, _0207A2CC ; =0x00000674
- ldr r0, [r4, r0]
- bl FUN_0200A8B8
- mov r0, #0x67
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_0200B990
- ldr r0, _0207A2D0 ; =0x0000067C
- ldr r0, [r4, r0]
- bl FUN_0200AB18
- mov r0, #0x25
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r0, #0x95
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r0, #0x96
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02021A20
- mov r0, #0x1a
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- bl FUN_02021A20
- ldr r0, _0207A2D4 ; =0x00000684
- ldr r0, [r4, r0]
- bl FUN_02021A20
- pop {r4, pc}
- .balign 4
-_0207A2C4: .word 0x00000688
-_0207A2C8: .word 0x00000678
-_0207A2CC: .word 0x00000674
-_0207A2D0: .word 0x0000067C
-_0207A2D4: .word 0x00000684
-
- thumb_func_start FUN_0207A2D8
-FUN_0207A2D8: ; 0x0207A2D8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0207A30C
- add r0, r4, #0x0
- bl FUN_0207F8D0
- add r0, r4, #0x0
- bl FUN_0207AF20
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x2
- bne _0207A300
- mov r0, #0x9
- pop {r4, pc}
-_0207A300:
- cmp r0, #0x4
- bne _0207A308
- mov r0, #0xf
- pop {r4, pc}
-_0207A308:
- mov r0, #0x2
- pop {r4, pc}
-_0207A30C:
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0207A310
-FUN_0207A310: ; 0x0207A310
- push {r4-r6, lr}
- ldr r3, _0207A438 ; =0x0000068F
- add r4, r0, #0x0
- ldrb r1, [r4, r3]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- cmp r1, #0x1
- bne _0207A32E
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- strb r1, [r0, #0x17]
- mov r0, #0x12
- pop {r4-r6, pc}
-_0207A32E:
- ldr r2, _0207A43C ; =0x021C48B8
- mov r1, #0x20
- ldr r5, [r2, #0x4c]
- add r6, r5, #0x0
- tst r6, r1
- beq _0207A344
- sub r1, #0x21
- bl FUN_0207B178
- mov r0, #0x2
- pop {r4-r6, pc}
-_0207A344:
- mov r1, #0x10
- tst r1, r5
- beq _0207A354
- mov r1, #0x1
- bl FUN_0207B178
- mov r0, #0x2
- pop {r4-r6, pc}
-_0207A354:
- mov r1, #0x40
- add r6, r5, #0x0
- tst r6, r1
- beq _0207A366
- sub r1, #0x41
- bl FUN_0207B3F0
- mov r0, #0x2
- pop {r4-r6, pc}
-_0207A366:
- mov r1, #0x80
- tst r1, r5
- beq _0207A376
- mov r1, #0x1
- bl FUN_0207B3F0
- mov r0, #0x2
- pop {r4-r6, pc}
-_0207A376:
- ldr r1, [r2, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _0207A394
- sub r3, #0xb2
- add r0, r3, #0x0
- bl FUN_020054C8
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- strb r1, [r0, #0x17]
- mov r0, #0x12
- pop {r4-r6, pc}
-_0207A394:
- mov r0, #0x1
- tst r0, r1
- beq _0207A420
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x3
- bne _0207A3BE
- sub r0, r3, #0x3
- ldrsb r0, [r4, r0]
- cmp r0, #0x4
- bne _0207A3BE
- sub r3, #0xb2
- add r0, r3, #0x0
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207C23C
- pop {r4-r6, pc}
-_0207A3BE:
- ldr r0, _0207A440 ; =0x0000068C
- ldrsb r1, [r4, r0]
- cmp r1, #0x3
- bne _0207A3D6
- add r0, #0x10
- bl FUN_020054C8
- ldr r0, _0207A444 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r0, #0x3
- pop {r4-r6, pc}
-_0207A3D6:
- cmp r1, #0x5
- bne _0207A3EA
- add r0, #0x10
- bl FUN_020054C8
- ldr r0, _0207A444 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r0, #0x5
- pop {r4-r6, pc}
-_0207A3EA:
- cmp r1, #0x6
- bne _0207A408
- add r1, r0, #0x0
- add r1, #0xd
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- beq _0207A420
- sub r0, #0xaf
- bl FUN_020054C8
- ldr r0, _0207A444 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r0, #0xb
- pop {r4-r6, pc}
-_0207A408:
- cmp r1, #0x7
- bne _0207A420
- sub r0, #0xaf
- bl FUN_020054C8
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- strb r1, [r0, #0x17]
- mov r0, #0x12
- pop {r4-r6, pc}
-_0207A420:
- add r0, r4, #0x0
- bl FUN_0207B200
- cmp r0, #0x1
- bne _0207A434
- ldr r0, _0207A444 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- mov r0, #0xe
- pop {r4-r6, pc}
-_0207A434:
- mov r0, #0x2
- pop {r4-r6, pc}
- .balign 4
-_0207A438: .word 0x0000068F
-_0207A43C: .word 0x021C48B8
-_0207A440: .word 0x0000068C
-_0207A444: .word 0x0000068E
-
- thumb_func_start FUN_0207A448
-FUN_0207A448: ; 0x0207A448
- push {r3, lr}
- bl FUN_0207B66C
- cmp r0, #0x1
- bne _0207A456
- mov r0, #0x7
- pop {r3, pc}
-_0207A456:
- mov r0, #0x3
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A45C
-FUN_0207A45C: ; 0x0207A45C
- push {r3, lr}
- bl FUN_0207B788
- cmp r0, #0x1
- bne _0207A46A
- mov r0, #0x2
- pop {r3, pc}
-_0207A46A:
- mov r0, #0x4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A470
-FUN_0207A470: ; 0x0207A470
- push {r3, lr}
- bl FUN_0207BAEC
- cmp r0, #0x1
- bne _0207A47E
- mov r0, #0x7
- pop {r3, pc}
-_0207A47E:
- mov r0, #0x5
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A484
-FUN_0207A484: ; 0x0207A484
- push {r3, lr}
- bl FUN_0207BBF0
- cmp r0, #0x1
- bne _0207A492
- mov r0, #0x2
- pop {r3, pc}
-_0207A492:
- mov r0, #0x6
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A498
-FUN_0207A498: ; 0x0207A498
- push {r4, lr}
- ldr r1, _0207A568 ; =0x021C48B8
- add r4, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x40
- add r3, r2, #0x0
- tst r3, r1
- beq _0207A4C2
- sub r1, #0x41
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A4BE
- ldr r0, _0207A56C ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A4BE:
- mov r0, #0x7
- pop {r4, pc}
-_0207A4C2:
- mov r1, #0x80
- tst r1, r2
- beq _0207A4E2
- mov r1, #0x1
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A4DE
- ldr r0, _0207A56C ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A4DE:
- mov r0, #0x7
- pop {r4, pc}
-_0207A4E2:
- mov r0, #0x1
- tst r0, r2
- beq _0207A542
- ldr r0, _0207A570 ; =0x0000068D
- ldrb r1, [r4, r0]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- cmp r1, #0x4
- bne _0207A510
- add r0, #0xf
- bl FUN_020054C8
- ldr r0, _0207A574 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- sub r0, r0, #0x2
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207A50C
- mov r0, #0x4
- pop {r4, pc}
-_0207A50C:
- mov r0, #0x6
- pop {r4, pc}
-_0207A510:
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldrb r1, [r1, #0x12]
- cmp r1, #0x1
- beq _0207A542
- sub r0, #0xb0
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207CBE8
- ldr r2, _0207A570 ; =0x0000068D
- mov r1, #0xf0
- ldrb r3, [r4, r2]
- add r0, r3, #0x0
- bic r0, r1
- lsl r1, r3, #0x1c
- lsr r1, r1, #0x1c
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x18
- orr r0, r1
- strb r0, [r4, r2]
- mov r0, #0x8
- pop {r4, pc}
-_0207A542:
- mov r0, #0x2
- tst r0, r2
- beq _0207A564
- ldr r0, _0207A578 ; =0x0000069C
- bl FUN_020054C8
- ldr r0, _0207A574 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- sub r0, r0, #0x2
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207A560
- mov r0, #0x4
- pop {r4, pc}
-_0207A560:
- mov r0, #0x6
- pop {r4, pc}
-_0207A564:
- mov r0, #0x7
- pop {r4, pc}
- .balign 4
-_0207A568: .word 0x021C48B8
-_0207A56C: .word 0x000005DC
-_0207A570: .word 0x0000068D
-_0207A574: .word 0x0000068E
-_0207A578: .word 0x0000069C
-
- thumb_func_start FUN_0207A57C
-FUN_0207A57C: ; 0x0207A57C
- push {r4, lr}
- ldr r1, _0207A644 ; =0x021C48B8
- add r4, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x40
- add r3, r2, #0x0
- tst r3, r1
- beq _0207A5A6
- sub r1, #0x41
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A5A2
- ldr r0, _0207A648 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A5A2:
- mov r0, #0x8
- pop {r4, pc}
-_0207A5A6:
- mov r1, #0x80
- tst r1, r2
- beq _0207A5C6
- mov r1, #0x1
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A5C2
- ldr r0, _0207A648 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A5C2:
- mov r0, #0x8
- pop {r4, pc}
-_0207A5C6:
- mov r0, #0x1
- tst r0, r2
- beq _0207A622
- mov r0, #0x43
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207A64C ; =0x0000068D
- ldrb r1, [r4, r0]
- lsl r2, r1, #0x1c
- lsr r2, r2, #0x1c
- cmp r2, #0x4
- beq _0207A618
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- cmp r2, r1
- beq _0207A618
- sub r0, #0xb0
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B9C0
- ldr r1, _0207A64C ; =0x0000068D
- add r0, r4, #0x0
- ldrb r2, [r4, r1]
- lsl r1, r2, #0x1c
- lsl r2, r2, #0x18
- lsr r1, r1, #0x1c
- lsr r2, r2, #0x1c
- bl FUN_0207CB08
- add r0, r4, #0x0
- bl FUN_0207ED30
- add r0, r4, #0x0
- bl FUN_0207B8D8
- b _0207A61E
-_0207A618:
- ldr r0, _0207A650 ; =0x000005DD
- bl FUN_020054C8
-_0207A61E:
- mov r0, #0x7
- pop {r4, pc}
-_0207A622:
- mov r0, #0x2
- tst r0, r2
- beq _0207A63E
- ldr r0, _0207A650 ; =0x000005DD
- bl FUN_020054C8
- mov r0, #0x43
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- mov r0, #0x7
- pop {r4, pc}
-_0207A63E:
- mov r0, #0x8
- pop {r4, pc}
- nop
-_0207A644: .word 0x021C48B8
-_0207A648: .word 0x000005DC
-_0207A64C: .word 0x0000068D
-_0207A650: .word 0x000005DD
-
- thumb_func_start FUN_0207A654
-FUN_0207A654: ; 0x0207A654
- push {r4, lr}
- ldr r1, _0207A750 ; =0x021C48B8
- add r4, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x20
- add r3, r2, #0x0
- tst r3, r1
- beq _0207A66E
- sub r1, #0x21
- bl FUN_0207B178
- mov r0, #0x9
- pop {r4, pc}
-_0207A66E:
- mov r1, #0x10
- tst r1, r2
- beq _0207A67E
- mov r1, #0x1
- bl FUN_0207B178
- mov r0, #0x9
- pop {r4, pc}
-_0207A67E:
- mov r1, #0x40
- add r3, r2, #0x0
- tst r3, r1
- beq _0207A6A0
- sub r1, #0x41
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A69C
- ldr r0, _0207A754 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A69C:
- mov r0, #0x9
- pop {r4, pc}
-_0207A6A0:
- mov r1, #0x80
- tst r1, r2
- beq _0207A6C0
- mov r1, #0x1
- bl FUN_0207B878
- cmp r0, #0x1
- bne _0207A6BC
- ldr r0, _0207A754 ; =0x000005DC
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_0207B8D8
-_0207A6BC:
- mov r0, #0x9
- pop {r4, pc}
-_0207A6C0:
- mov r0, #0x1
- tst r0, r2
- beq _0207A72C
- ldr r0, _0207A758 ; =0x000005DD
- bl FUN_020054C8
- ldr r0, _0207A75C ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- cmp r0, #0x4
- beq _0207A712
- lsl r0, r0, #0x1
- add r1, r4, r0
- mov r0, #0xa1
- lsl r0, r0, #0x2
- ldrh r0, [r1, r0]
- bl FUN_0206EA54
- cmp r0, #0x1
- bne _0207A712
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0207A712
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C63C
- add r0, r4, #0x0
- bl FUN_0207BD58
- add r0, r4, #0x0
- bl FUN_0207EDB4
- mov r0, #0xa
- pop {r4, pc}
-_0207A712:
- ldr r0, _0207A75C ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1c
- lsr r2, r0, #0x1c
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- strb r2, [r1, #0x16]
- ldr r0, [r4, r0]
- mov r1, #0x0
- strb r1, [r0, #0x17]
- mov r0, #0x12
- pop {r4, pc}
-_0207A72C:
- mov r0, #0x2
- tst r0, r2
- beq _0207A74C
- ldr r0, _0207A758 ; =0x000005DD
- bl FUN_020054C8
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- mov r2, #0x4
- strb r2, [r1, #0x16]
- ldr r0, [r4, r0]
- mov r1, #0x1
- strb r1, [r0, #0x17]
- mov r0, #0x12
- pop {r4, pc}
-_0207A74C:
- mov r0, #0x9
- pop {r4, pc}
- .balign 4
-_0207A750: .word 0x021C48B8
-_0207A754: .word 0x000005DC
-_0207A758: .word 0x000005DD
-_0207A75C: .word 0x0000068D
-
- thumb_func_start FUN_0207A760
-FUN_0207A760: ; 0x0207A760
- push {r3, lr}
- ldr r1, _0207A778 ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- beq _0207A774
- bl FUN_0207B8D8
- mov r0, #0x9
- pop {r3, pc}
-_0207A774:
- mov r0, #0xa
- pop {r3, pc}
- .balign 4
-_0207A778: .word 0x021C48B8
-
- thumb_func_start FUN_0207A77C
-FUN_0207A77C: ; 0x0207A77C
- push {r3, lr}
- bl FUN_0207BE68
- cmp r0, #0x1
- bne _0207A78A
- mov r0, #0xd
- pop {r3, pc}
-_0207A78A:
- mov r0, #0xb
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A790
-FUN_0207A790: ; 0x0207A790
- push {r3, lr}
- bl FUN_0207BF90
- cmp r0, #0x1
- bne _0207A79E
- mov r0, #0x2
- pop {r3, pc}
-_0207A79E:
- mov r0, #0xc
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207A7A4
-FUN_0207A7A4: ; 0x0207A7A4
- push {r3-r5, lr}
- ldr r3, _0207A80C ; =0x021C48B8
- mov r1, #0x20
- ldr r2, [r3, #0x4c]
- add r4, r0, #0x0
- add r5, r2, #0x0
- tst r5, r1
- beq _0207A7BE
- sub r1, #0x21
- bl FUN_0207C07C
- mov r0, #0xd
- pop {r3-r5, pc}
-_0207A7BE:
- mov r1, #0x10
- tst r1, r2
- beq _0207A7CE
- mov r1, #0x1
- bl FUN_0207C07C
- mov r0, #0xd
- pop {r3-r5, pc}
-_0207A7CE:
- mov r1, #0x40
- add r5, r2, #0x0
- tst r5, r1
- beq _0207A7E0
- sub r1, #0x44
- bl FUN_0207C07C
- mov r0, #0xd
- pop {r3-r5, pc}
-_0207A7E0:
- mov r1, #0x80
- tst r1, r2
- beq _0207A7F0
- mov r1, #0x4
- bl FUN_0207C07C
- mov r0, #0xd
- pop {r3-r5, pc}
-_0207A7F0:
- ldr r1, [r3, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0207A808
- ldr r0, _0207A810 ; =0x000005DD
- bl FUN_020054C8
- ldr r0, _0207A814 ; =0x0000068E
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r0, #0xc
- pop {r3-r5, pc}
-_0207A808:
- mov r0, #0xd
- pop {r3-r5, pc}
- .balign 4
-_0207A80C: .word 0x021C48B8
-_0207A810: .word 0x000005DD
-_0207A814: .word 0x0000068E
-
- thumb_func_start FUN_0207A818
-FUN_0207A818: ; 0x0207A818
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207FB28
- cmp r0, #0x1
- bne _0207A82A
- ldr r0, _0207A878 ; =0x0000068E
- ldrb r0, [r4, r0]
- pop {r4, pc}
-_0207A82A:
- ldr r1, _0207A87C ; =0x00000695
- ldrb r0, [r4, r1]
- cmp r0, #0x1
- bne _0207A874
- add r1, r1, #0x1
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0207FC40
- add r1, r0, #0x0
- cmp r1, #0x7
- bne _0207A850
- ldr r2, _0207A880 ; =0x0000068F
- mov r0, #0xf0
- ldrb r3, [r4, r2]
- bic r3, r0
- mov r0, #0x10
- orr r0, r3
- strb r0, [r4, r2]
-_0207A850:
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _0207A86E
- cmp r1, #0x1
- beq _0207A866
- cmp r1, #0x7
- bne _0207A874
-_0207A866:
- add r0, r4, #0x0
- bl FUN_0207B0CC
- b _0207A874
-_0207A86E:
- add r0, r4, #0x0
- bl FUN_0207B0CC
-_0207A874:
- mov r0, #0xe
- pop {r4, pc}
- .balign 4
-_0207A878: .word 0x0000068E
-_0207A87C: .word 0x00000695
-_0207A880: .word 0x0000068F
-
- thumb_func_start FUN_0207A884
-FUN_0207A884: ; 0x0207A884
- push {r4-r6, lr}
- sub sp, #0x8
- ldr r1, _0207AA00 ; =0x021C48B8
- add r5, r0, #0x0
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- bne _0207A896
- b _0207A9FA
-_0207A896:
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- ldrb r1, [r1, #0x11]
- cmp r1, #0x2
- bne _0207A8BA
- bl FUN_0207B628
- add r6, r0, #0x0
- mov r0, #0x13
- bl FUN_020669C0
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02069A64
- b _0207A8C0
-_0207A8BA:
- bl FUN_0207B628
- add r4, r0, #0x0
-_0207A8C0:
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x24]
- bl FUN_0208821C
- ldr r0, _0207AA04 ; =0x0000068E
- mov r2, #0x0
- strb r2, [r5, r0]
- ldr r0, _0207AA08 ; =0x00000295
- mov r1, #0x13
- ldrb r6, [r5, r0]
- add r0, r4, #0x0
- bl FUN_020671BC
- ldr r1, _0207AA08 ; =0x00000295
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- cmp r6, r0
- beq _0207A8F4
- ldr r1, _0207AA04 ; =0x0000068E
- mov r0, #0x1
- ldrb r2, [r5, r1]
- orr r0, r2
- strb r0, [r5, r1]
-_0207A8F4:
- ldr r0, _0207AA0C ; =0x00000296
- mov r1, #0x14
- ldrb r6, [r5, r0]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _0207AA0C ; =0x00000296
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- cmp r6, r0
- beq _0207A916
- ldr r1, _0207AA04 ; =0x0000068E
- mov r0, #0x2
- ldrb r2, [r5, r1]
- orr r0, r2
- strb r0, [r5, r1]
-_0207A916:
- ldr r0, _0207AA10 ; =0x00000297
- mov r1, #0x15
- ldrb r6, [r5, r0]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _0207AA10 ; =0x00000297
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- cmp r6, r0
- beq _0207A938
- ldr r1, _0207AA04 ; =0x0000068E
- mov r0, #0x4
- ldrb r2, [r5, r1]
- orr r0, r2
- strb r0, [r5, r1]
-_0207A938:
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldrb r6, [r5, r0]
- add r0, r4, #0x0
- mov r1, #0x16
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0xa6
- lsl r1, r1, #0x2
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- cmp r6, r0
- beq _0207A95E
- ldr r1, _0207AA04 ; =0x0000068E
- mov r0, #0x8
- ldrb r2, [r5, r1]
- orr r0, r2
- strb r0, [r5, r1]
-_0207A95E:
- ldr r0, _0207AA14 ; =0x00000299
- mov r1, #0x17
- ldrb r6, [r5, r0]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _0207AA14 ; =0x00000299
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- cmp r6, r0
- beq _0207A980
- ldr r1, _0207AA04 ; =0x0000068E
- mov r0, #0x10
- ldrb r2, [r5, r1]
- orr r0, r2
- strb r0, [r5, r1]
-_0207A980:
- add r0, r4, #0x0
- mov r1, #0x18
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _0207AA18 ; =0x0000029A
- strb r0, [r5, r1]
- sub r1, #0x4e
- ldr r0, [r5, r1]
- ldrb r0, [r0, #0x11]
- cmp r0, #0x2
- bne _0207A99E
- add r0, r4, #0x0
- bl FUN_02016A18
-_0207A99E:
- mov r1, #0x7
- mov r0, #0x0
- lsl r1, r1, #0x6
- mov r2, #0x13
- bl FUN_02002EEC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x4]
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x13
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- ldr r2, _0207AA1C ; =0x000003E2
- mov r1, #0x1
- mov r3, #0xd
- bl FUN_0200CD68
- ldr r0, _0207AA04 ; =0x0000068E
- ldrb r0, [r5, r0]
- cmp r0, #0x0
- bne _0207A9E2
- add r0, r5, #0x0
- mov r1, #0xfe
- bl FUN_0207EECC
- add sp, #0x8
- mov r0, #0x11
- pop {r4-r6, pc}
-_0207A9E2:
- add r0, r5, #0x0
- bl FUN_0207F608
- add r0, r5, #0x0
- bl FUN_0207CC24
- add r0, r5, #0x0
- bl FUN_0207CF78
- add sp, #0x8
- mov r0, #0x10
- pop {r4-r6, pc}
-_0207A9FA:
- mov r0, #0xf
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0207AA00: .word 0x021C48B8
-_0207AA04: .word 0x0000068E
-_0207AA08: .word 0x00000295
-_0207AA0C: .word 0x00000296
-_0207AA10: .word 0x00000297
-_0207AA14: .word 0x00000299
-_0207AA18: .word 0x0000029A
-_0207AA1C: .word 0x000003E2
-
- thumb_func_start FUN_0207AA20
-FUN_0207AA20: ; 0x0207AA20
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0207AA68 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0207AA62
- ldr r0, _0207AA6C ; =0x0000068E
- mov r1, #0x0
- ldrb r2, [r5, r0]
- mov r0, #0x1
-_0207AA36:
- add r4, r0, #0x0
- lsl r4, r1
- add r3, r2, #0x0
- tst r3, r4
- beq _0207AA58
- add r0, r5, #0x0
- bl FUN_0207EECC
- ldr r0, _0207AA6C ; =0x0000068E
- ldrb r1, [r5, r0]
- eor r1, r4
- strb r1, [r5, r0]
- ldrb r0, [r5, r0]
- cmp r0, #0x0
- bne _0207AA62
- mov r0, #0x11
- pop {r3-r5, pc}
-_0207AA58:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x5
- blo _0207AA36
-_0207AA62:
- mov r0, #0x10
- pop {r3-r5, pc}
- nop
-_0207AA68: .word 0x021C48B8
-_0207AA6C: .word 0x0000068E
-
- thumb_func_start FUN_0207AA70
-FUN_0207AA70: ; 0x0207AA70
- ldr r0, _0207AA84 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0207AA7E
- mov r0, #0x12
- bx lr
-_0207AA7E:
- mov r0, #0x11
- bx lr
- nop
-_0207AA84: .word 0x021C48B8
-
- thumb_func_start FUN_0207AA88
-FUN_0207AA88: ; 0x0207AA88
- push {r3, lr}
- mov r0, #0x1
- mov r1, #0x13
- bl FUN_02079A70
- mov r0, #0x13
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207AA98
-FUN_0207AA98: ; 0x0207AA98
- push {r3, lr}
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0207AAA6
- mov r0, #0x1
- b _0207AAA8
-_0207AAA6:
- mov r0, #0x0
-_0207AAA8:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207AAB0
-FUN_0207AAB0: ; 0x0207AAB0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207B628
- mov r2, #0x93
- lsl r2, r2, #0x2
- add r1, r0, #0x0
- ldr r0, [r4, r2]
- ldrb r0, [r0, #0x11]
- cmp r0, #0x2
- bne _0207AAD2
- add r2, r2, #0x4
- add r0, r4, #0x0
- add r2, r4, r2
- bl FUN_0207AAE0
- pop {r4, pc}
-_0207AAD2:
- add r2, r2, #0x4
- add r0, r4, #0x0
- add r2, r4, r2
- bl FUN_0207AB0C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207AAE0
-FUN_0207AAE0: ; 0x0207AAE0
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x13
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_020669C0
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02069A64
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0207AB0C
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207AB0C
-FUN_0207AB0C: ; 0x0207AB0C
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r5, r2, #0x0
- bl FUN_020669D4
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0xc]
- add r0, r6, #0x0
- bl FUN_020690E4
- ldr r2, _0207AEAC ; =0x00000674
- add r4, r0, #0x0
- ldr r0, [r7, r2]
- add r2, #0xc
- ldr r2, [r7, r2]
- mov r1, #0xb
- bl FUN_0200A8E0
- ldr r0, _0207AEB0 ; =0x0000067C
- mov r1, #0x0
- ldr r0, [r7, r0]
- add r2, r4, #0x0
- bl FUN_0200AC60
- ldr r2, _0207AEB0 ; =0x0000067C
- mov r1, #0x25
- ldr r0, [r7, r2]
- lsl r1, r1, #0x4
- add r2, r2, #0x4
- ldr r1, [r7, r1]
- ldr r2, [r7, r2]
- bl FUN_0200B7B8
- ldr r2, _0207AEAC ; =0x00000674
- mov r1, #0x0
- ldr r0, [r7, r2]
- add r2, #0xc
- ldr r2, [r7, r2]
- bl FUN_0200A8E0
- ldr r0, _0207AEB0 ; =0x0000067C
- mov r1, #0x0
- ldr r0, [r7, r0]
- add r2, r4, #0x0
- bl FUN_0200ACF8
- ldr r2, _0207AEB0 ; =0x0000067C
- mov r1, #0x95
- ldr r0, [r7, r2]
- lsl r1, r1, #0x2
- add r2, r2, #0x4
- ldr r1, [r7, r1]
- ldr r2, [r7, r2]
- bl FUN_0200B7B8
- ldr r2, _0207AEAC ; =0x00000674
- mov r1, #0xe
- ldr r0, [r7, r2]
- add r2, #0xc
- ldr r2, [r7, r2]
- bl FUN_0200A8E0
- ldr r0, _0207AEB0 ; =0x0000067C
- mov r1, #0x0
- ldr r0, [r7, r0]
- add r2, r4, #0x0
- bl FUN_0200AD18
- ldr r2, _0207AEB0 ; =0x0000067C
- mov r1, #0x96
- ldr r0, [r7, r2]
- lsl r1, r1, #0x2
- add r2, r2, #0x4
- ldr r1, [r7, r1]
- ldr r2, [r7, r2]
- bl FUN_0200B7B8
- add r0, r6, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0xe]
- add r0, r6, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldrb r1, [r5, #0x12]
- mov r2, #0x7f
- lsl r0, r0, #0x18
- bic r1, r2
- lsr r2, r0, #0x18
- mov r0, #0x7f
- and r0, r2
- orr r0, r1
- strb r0, [r5, #0x12]
- add r0, r6, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x1f
- ldr r2, [r5, #0x50]
- ldr r1, _0207AEB4 ; =0xEFFFFFFF
- lsr r0, r0, #0x3
- and r1, r2
- orr r0, r1
- str r0, [r5, #0x50]
- add r0, r6, #0x0
- mov r1, #0xaf
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _0207AC16
- ldr r0, [r5, #0x50]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- bne _0207AC16
- ldrb r1, [r5, #0x12]
- mov r0, #0x80
- bic r1, r0
- strb r1, [r5, #0x12]
- b _0207AC1E
-_0207AC16:
- ldrb r1, [r5, #0x12]
- mov r0, #0x80
- orr r0, r1
- strb r0, [r5, #0x12]
-_0207AC1E:
- add r0, r6, #0x0
- bl FUN_020689E0
- ldrb r1, [r5, #0x13]
- mov r2, #0x3
- bic r1, r2
- mov r2, #0x3
- and r0, r2
- orr r0, r1
- strb r0, [r5, #0x13]
- add r0, r6, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1a
- ldrb r1, [r5, #0x13]
- mov r2, #0xfc
- lsr r0, r0, #0x18
- bic r1, r2
- orr r0, r1
- strb r0, [r5, #0x13]
- add r0, r6, #0x0
- mov r1, #0xb0
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x10]
- add r0, r6, #0x0
- mov r1, #0xb1
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x11]
- add r0, r6, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x14]
- add r0, r6, #0x0
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x18]
- add r0, r6, #0x0
- mov r1, #0x9c
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x44
- strb r0, [r1, #0x0]
- ldrb r1, [r5, #0x12]
- ldrh r0, [r5, #0xc]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x19
- bl FUN_02068758
- str r0, [r5, #0x1c]
- ldrb r0, [r5, #0x12]
- lsl r0, r0, #0x19
- lsr r1, r0, #0x19
- cmp r1, #0x64
- bne _0207ACAA
- ldr r0, [r5, #0x1c]
- b _0207ACB2
-_0207ACAA:
- ldrh r0, [r5, #0xc]
- add r1, r1, #0x1
- bl FUN_02068758
-_0207ACB2:
- str r0, [r5, #0x20]
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x24]
- add r0, r6, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x26]
- add r0, r6, #0x0
- mov r1, #0xa4
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x28]
- add r0, r6, #0x0
- mov r1, #0xa5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x2a]
- add r0, r6, #0x0
- mov r1, #0xa7
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x2c]
- add r0, r6, #0x0
- mov r1, #0xa8
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x2e]
- add r0, r6, #0x0
- mov r1, #0xa6
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x30]
- add r0, r6, #0x0
- mov r1, #0xa
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x32
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_02068854
- add r1, r5, #0x0
- add r1, #0x33
- strb r0, [r1, #0x0]
- mov r4, #0x0
-_0207AD26:
- lsl r0, r4, #0x1
- add r0, r5, r0
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x0]
- mov r2, #0x0
- strh r0, [r1, #0x34]
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x3a
- bl FUN_020671BC
- add r1, r5, r4
- add r1, #0x3c
- strb r0, [r1, #0x0]
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x3e
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x34]
- bl FUN_0206AB30
- add r1, r5, r4
- add r1, #0x40
- strb r0, [r1, #0x0]
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _0207AD26
- add r0, r6, #0x0
- mov r1, #0x13
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x45
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x14
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x46
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x15
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x47
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x16
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x48
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x17
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x49
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x18
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x4a
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- mov r1, #0x5
- add r0, #0x4b
- strb r1, [r0, #0x0]
- mov r4, #0x0
-_0207ADE0:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02069BC8
- cmp r0, #0x1
- bne _0207ADF4
- add r0, r5, #0x0
- add r0, #0x4b
- strb r4, [r0, #0x0]
- b _0207ADFE
-_0207ADF4:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x5
- blo _0207ADE0
-_0207ADFE:
- add r0, r6, #0x0
- mov r1, #0xb
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x4c
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x4e
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0207C2D4
- mov r1, #0xf
- ldr r2, [r5, #0x50]
- lsl r1, r1, #0x1c
- and r2, r1
- ldr r1, _0207AEB8 ; =0x0FFFFFFF
- and r0, r1
- orr r0, r2
- str r0, [r5, #0x50]
- add r0, r6, #0x0
- bl FUN_02069E94
- cmp r0, #0x1
- bne _0207AE4E
- ldr r1, [r5, #0x50]
- ldr r0, _0207AEBC ; =0x3FFFFFFF
- and r1, r0
- mov r0, #0x2
- lsl r0, r0, #0x1e
- orr r0, r1
- str r0, [r5, #0x50]
- b _0207AE84
-_0207AE4E:
- add r0, r6, #0x0
- bl FUN_02069E74
- cmp r0, #0x1
- bne _0207AE7C
- ldr r2, [r5, #0x50]
- ldr r1, _0207AEBC ; =0x3FFFFFFF
- add r0, r5, #0x0
- and r2, r1
- add r1, r1, #0x1
- orr r1, r2
- str r1, [r5, #0x50]
- lsl r1, r1, #0x4
- lsr r1, r1, #0x4
- add r0, #0x50
- cmp r1, #0x7
- bne _0207AE84
- mov r1, #0xf
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x1c
- and r1, r2
- str r1, [r0, #0x0]
- b _0207AE84
-_0207AE7C:
- ldr r1, [r5, #0x50]
- ldr r0, _0207AEBC ; =0x3FFFFFFF
- and r0, r1
- str r0, [r5, #0x50]
-_0207AE84:
- add r0, r6, #0x0
- bl FUN_02068A80
- cmp r0, #0x1
- ldr r1, [r5, #0x50]
- bne _0207AE98
- mov r0, #0x2
- lsl r0, r0, #0x1c
- orr r0, r1
- b _0207AE9C
-_0207AE98:
- ldr r0, _0207AEC0 ; =0xDFFFFFFF
- and r0, r1
-_0207AE9C:
- str r0, [r5, #0x50]
- mov r4, #0x0
- str r4, [r5, #0x54]
- str r4, [r5, #0x58]
- str r4, [r5, #0x5c]
- ldr r0, _0207AEC4 ; =0x00000699
- b _0207AEC8
- nop
-_0207AEAC: .word 0x00000674
-_0207AEB0: .word 0x0000067C
-_0207AEB4: .word 0xEFFFFFFF
-_0207AEB8: .word 0x0FFFFFFF
-_0207AEBC: .word 0x3FFFFFFF
-_0207AEC0: .word 0xDFFFFFFF
-_0207AEC4: .word 0x00000699
-_0207AEC8:
- str r4, [r5, #0x60]
- strb r4, [r7, r0]
-_0207AECC:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207AF04
- lsr r0, r4, #0x5
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x1f
- add r2, r4, #0x0
- and r2, r1
- mov r1, #0x1
- ldr r3, [r0, #0x54]
- lsl r1, r2
- orr r1, r3
- str r1, [r0, #0x54]
- ldr r0, _0207AF1C ; =0x00000699
- ldrb r0, [r7, r0]
- add r1, r0, #0x1
- ldr r0, _0207AF1C ; =0x00000699
- strb r1, [r7, r0]
-_0207AF04:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x50
- blo _0207AECC
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_02066A20
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0207AF1C: .word 0x00000699
-
- thumb_func_start FUN_0207AF20
-FUN_0207AF20: ; 0x0207AF20
- push {r3, lr}
- mov r2, #0x2a
- lsl r2, r2, #0x4
- ldr r1, [r0, r2]
- lsl r1, r1, #0x3
- lsr r1, r1, #0x1f
- bne _0207AF54
- add r1, r2, #0x0
- sub r1, #0x44
- ldrh r3, [r0, r1]
- add r1, r2, #0x0
- sub r1, #0xe7
- cmp r3, r1
- bne _0207AF4E
- sub r2, #0x54
- ldr r0, [r0, r2]
- mov r1, #0x0
- ldr r0, [r0, #0x28]
- mov r2, #0x64
- add r3, r1, #0x0
- bl FUN_02005E90
- pop {r3, pc}
-_0207AF4E:
- add r0, r3, #0x0
- bl FUN_02005578
-_0207AF54:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0207AF58
-FUN_0207AF58: ; 0x0207AF58
- push {r4, lr}
- mov r1, #0x93
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- ldr r0, [r4, r1]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x4
- bhi _0207AFA4
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207AF74: ; jump table (using 16-bit offset)
- .short _0207AF7E - _0207AF74 - 2; case 0
- .short _0207AF7E - _0207AF74 - 2; case 1
- .short _0207AF96 - _0207AF74 - 2; case 2
- .short _0207AF9E - _0207AF74 - 2; case 3
- .short _0207AF9E - _0207AF74 - 2; case 4
-_0207AF7E:
- add r1, #0x54
- ldr r0, [r4, r1]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- ldr r0, _0207AFFC ; =0x0000068C
- bne _0207AF90
- mov r1, #0x0
- strb r1, [r4, r0]
- b _0207AFA4
-_0207AF90:
- mov r1, #0x1
- strb r1, [r4, r0]
- b _0207AFA4
-_0207AF96:
- ldr r0, _0207AFFC ; =0x0000068C
- mov r1, #0x3
- strb r1, [r4, r0]
- b _0207AFA4
-_0207AF9E:
- ldr r0, _0207AFFC ; =0x0000068C
- mov r1, #0x4
- strb r1, [r4, r0]
-_0207AFA4:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- add r0, r4, #0x0
- bl FUN_0207C5D4
- add r0, r4, #0x0
- bl FUN_0207C838
- add r0, r4, #0x0
- bl FUN_0207D2C8
- add r0, r4, #0x0
- bl FUN_0207C6A4
- add r0, r4, #0x0
- bl FUN_0207CE4C
- add r0, r4, #0x0
- bl FUN_0207CC24
- add r0, r4, #0x0
- bl FUN_0207D604
- add r0, r4, #0x0
- bl FUN_0207DD88
- add r0, r4, #0x0
- bl FUN_0207B228
- add r0, r4, #0x0
- bl FUN_0207F2A0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x2
- bne _0207AFFA
- add r0, r4, #0x0
- bl FUN_0207BA74
-_0207AFFA:
- pop {r4, pc}
- .balign 4
-_0207AFFC: .word 0x0000068C
-
- thumb_func_start FUN_0207B000
-FUN_0207B000: ; 0x0207B000
- push {r3-r6}
- mov r6, #0x0
- strb r6, [r0, #0x15]
- add r0, #0x15
- mov r3, #0x1
-_0207B00A:
- ldrb r5, [r1, r6]
- cmp r5, #0x8
- beq _0207B024
- add r2, r3, #0x0
- ldrb r4, [r0, #0x0]
- lsl r2, r5
- orr r2, r4
- strb r2, [r0, #0x0]
- add r2, r6, #0x1
- lsl r2, r2, #0x18
- lsr r6, r2, #0x18
- cmp r6, #0x8
- blo _0207B00A
-_0207B024:
- pop {r3-r6}
- bx lr
-
- thumb_func_start FUN_0207B028
-FUN_0207B028: ; 0x0207B028
- push {r3-r4}
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r4, [r0, r1]
- ldr r1, [r4, #0x2c]
- cmp r1, #0x1
- beq _0207B06C
- ldrb r2, [r4, #0x15]
- mov r1, #0x10
- add r3, r2, #0x0
- tst r3, r1
- beq _0207B044
- eor r1, r2
- strb r1, [r4, #0x15]
-_0207B044:
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r4, [r0, r1]
- mov r1, #0x20
- ldrb r2, [r4, #0x15]
- add r3, r2, #0x0
- tst r3, r1
- beq _0207B058
- eor r1, r2
- strb r1, [r4, #0x15]
-_0207B058:
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r3, [r0, r1]
- mov r0, #0x40
- ldrb r1, [r3, #0x15]
- add r2, r1, #0x0
- tst r2, r0
- beq _0207B06C
- eor r0, r1
- strb r0, [r3, #0x15]
-_0207B06C:
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0207B070
-FUN_0207B070: ; 0x0207B070
- mov r2, #0x2a
- lsl r2, r2, #0x4
- ldr r2, [r0, r2]
- lsl r2, r2, #0x3
- lsr r2, r2, #0x1f
- beq _0207B088
- cmp r1, #0x1
- beq _0207B088
- cmp r1, #0x7
- beq _0207B088
- mov r0, #0x0
- bx lr
-_0207B088:
- mov r2, #0x93
- lsl r2, r2, #0x2
- ldr r0, [r0, r2]
- ldrb r2, [r0, #0x15]
- mov r0, #0x1
- lsl r0, r1
- and r0, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-
- thumb_func_start FUN_0207B09C
-FUN_0207B09C: ; 0x0207B09C
- push {r3-r4}
- mov r3, #0x93
- lsl r3, r3, #0x2
- ldr r0, [r0, r3]
- mov r2, #0x0
- ldrb r0, [r0, #0x15]
- add r1, r2, #0x0
- mov r3, #0x1
-_0207B0AC:
- add r4, r3, #0x0
- lsl r4, r1
- tst r4, r0
- beq _0207B0BA
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
-_0207B0BA:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x8
- blo _0207B0AC
- add r0, r2, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0207B0CC
-FUN_0207B0CC: ; 0x0207B0CC
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- ldr r1, _0207B174 ; =0x0000068C
- add r5, r0, #0x0
- ldrsb r1, [r5, r1]
- cmp r1, r4
- beq _0207B170
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- ldrb r1, [r1, #0x12]
- cmp r1, #0x2
- bne _0207B0EC
- bl FUN_0207BDD8
-_0207B0EC:
- add r0, r5, #0x0
- bl FUN_0207D6F8
- ldr r0, _0207B174 ; =0x0000068C
- mov r1, #0x0
- strb r4, [r5, r0]
- add r0, r5, #0x0
- bl FUN_0207CFAC
- add r0, r5, #0x0
- bl FUN_0207C5D4
- add r0, r5, #0x0
- bl FUN_0207C6A4
- add r0, r5, #0x0
- bl FUN_0207C838
- add r0, r5, #0x0
- bl FUN_0207D2C8
- add r0, r5, #0x0
- bl FUN_0207CC24
- add r0, r5, #0x0
- bl FUN_0207D604
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0207D418
- mov r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0x13
- str r0, [sp, #0x4]
- mov r0, #0x14
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- mov r3, #0xe
- bl FUN_02018540
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- bl FUN_02017CD0
- add r0, r5, #0x0
- bl FUN_0207DD88
- add r0, r5, #0x0
- bl FUN_0207B228
- add r0, r5, #0x0
- bl FUN_0207F2A0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x2
- bne _0207B170
- add r0, r5, #0x0
- bl FUN_0207BDF4
-_0207B170:
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_0207B174: .word 0x0000068C
-
- thumb_func_start FUN_0207B178
-FUN_0207B178: ; 0x0207B178
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0207B1F8 ; =0x0000068C
- mov r6, #0x1
- ldrsb r4, [r5, r0]
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r12, r4
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- add r7, r6, #0x0
-_0207B190:
- add r2, r4, r1
- lsl r2, r2, #0x18
- asr r4, r2, #0x18
- bpl _0207B19C
- mov r4, #0x7
- b _0207B1A2
-_0207B19C:
- cmp r4, #0x7
- ble _0207B1A2
- mov r4, #0x0
-_0207B1A2:
- cmp r0, #0x0
- bne _0207B1B8
- mov r2, #0x93
- lsl r2, r2, #0x2
- ldr r2, [r5, r2]
- ldrb r3, [r2, #0x15]
- add r2, r6, #0x0
- lsl r2, r4
- tst r2, r3
- bne _0207B1D0
- b _0207B190
-_0207B1B8:
- mov r2, #0x93
- lsl r2, r2, #0x2
- ldr r2, [r5, r2]
- ldrb r3, [r2, #0x15]
- add r2, r7, #0x0
- lsl r2, r4
- tst r2, r3
- beq _0207B190
- cmp r4, #0x1
- beq _0207B1D0
- cmp r4, #0x7
- bne _0207B190
-_0207B1D0:
- mov r0, r12
- cmp r4, r0
- beq _0207B1F4
- ldr r0, _0207B1FC ; =0x000005E1
- bl FUN_020054C8
- add r0, r5, #0x0
- bl FUN_0207FA38
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0207D418
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0207B0CC
-_0207B1F4:
- pop {r3-r7, pc}
- nop
-_0207B1F8: .word 0x0000068C
-_0207B1FC: .word 0x000005E1
-
- thumb_func_start FUN_0207B200
-FUN_0207B200: ; 0x0207B200
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207FA80
- cmp r0, #0xff
- bne _0207B210
- mov r0, #0x0
- pop {r4, pc}
-_0207B210:
- ldr r1, _0207B224 ; =0x00000694
- mov r3, #0x0
- strb r3, [r4, r1]
- add r2, r1, #0x2
- strb r0, [r4, r2]
- add r0, r1, #0x1
- strb r3, [r4, r0]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0207B224: .word 0x00000694
-
- thumb_func_start FUN_0207B228
-FUN_0207B228: ; 0x0207B228
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r5, r0]
- ldrb r0, [r1, #0x12]
- cmp r0, #0x2
- bne _0207B250
- ldrh r0, [r1, #0x18]
- cmp r0, #0x0
- beq _0207B250
- ldr r0, _0207B2AC ; =0x0000068C
- ldrsb r0, [r5, r0]
- cmp r0, #0x3
- bne _0207B24C
- mov r1, #0xc
- b _0207B256
-_0207B24C:
- mov r1, #0xd
- b _0207B256
-_0207B250:
- ldr r0, _0207B2AC ; =0x0000068C
- ldrsb r0, [r5, r0]
- add r1, r0, #0x3
-_0207B256:
- mov r0, #0x27
- mov r2, #0x13
- bl LoadFromNarc_2
- add r1, sp, #0xc
- add r4, r0, #0x0
- bl FUN_020B0180
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- add r2, #0xc
- bl FUN_02018148
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, _0207B2AC ; =0x0000068C
- ldrsb r0, [r5, r0]
- cmp r0, #0x0
- bne _0207B29C
- add r0, r5, #0x0
- bl FUN_0207B364
- add sp, #0x10
- pop {r3-r5, pc}
-_0207B29C:
- cmp r0, #0x2
- bne _0207B2A6
- add r0, r5, #0x0
- bl FUN_0207B2B0
-_0207B2A6:
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_0207B2AC: .word 0x0000068C
-
- thumb_func_start FUN_0207B2B0
-FUN_0207B2B0: ; 0x0207B2B0
- push {r4-r7, lr}
- sub sp, #0x14
- mov r1, #0x9d
- add r6, r0, #0x0
- lsl r1, r1, #0x2
- ldrh r0, [r6, r1]
- add r1, r1, #0x2
- ldrh r1, [r6, r1]
- mov r2, #0x30
- bl FUN_02079A54
- cmp r0, #0x4
- bhi _0207B2EC
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207B2D6: ; jump table (using 16-bit offset)
- .short _0207B2E0 - _0207B2D6 - 2; case 0
- .short _0207B2E8 - _0207B2D6 - 2; case 1
- .short _0207B2E4 - _0207B2D6 - 2; case 2
- .short _0207B2E0 - _0207B2D6 - 2; case 3
- .short _0207B2E0 - _0207B2D6 - 2; case 4
-_0207B2E0:
- ldr r7, _0207B35C ; =0x0000A0C0
- b _0207B2EC
-_0207B2E4:
- ldr r7, _0207B360 ; =0x0000A0E0
- b _0207B2EC
-_0207B2E8:
- mov r7, #0xa1
- lsl r7, r7, #0x8
-_0207B2EC:
- mov r1, #0x9d
- lsl r1, r1, #0x2
- ldrh r0, [r6, r1]
- add r1, r1, #0x2
- ldrh r1, [r6, r1]
- mov r2, #0x30
- bl FUN_02079A0C
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x8
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r5, #0x0
- str r0, [sp, #0x10]
-_0207B30A:
- cmp r4, #0x8
- blo _0207B312
- ldr r2, [sp, #0x10]
- b _0207B318
-_0207B312:
- add r0, r7, r4
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
-_0207B318:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r3, r5, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x11
- add r3, #0x18
- str r0, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [r6, #0x0]
- mov r1, #0x3
- lsr r3, r3, #0x18
- bl FUN_02018540
- cmp r4, #0x8
- bhs _0207B33E
- mov r4, #0x0
- b _0207B344
-_0207B33E:
- sub r4, #0x8
- lsl r0, r4, #0x18
- lsr r4, r0, #0x18
-_0207B344:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x6
- blo _0207B30A
- ldr r0, [r6, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_0207B35C: .word 0x0000A0C0
-_0207B360: .word 0x0000A0E0
-
- thumb_func_start FUN_0207B364
-FUN_0207B364: ; 0x0207B364
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r2, _0207B3EC ; =0x00000262
- add r6, r0, #0x0
- ldrb r0, [r6, r2]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- cmp r0, #0x64
- bhs _0207B38C
- add r0, r2, #0x0
- add r1, r2, #0x0
- add r0, #0xa
- add r1, #0xe
- add r2, r2, #0x6
- ldr r0, [r6, r0]
- ldr r1, [r6, r1]
- ldr r2, [r6, r2]
- sub r1, r1, r0
- sub r0, r2, r0
- b _0207B390
-_0207B38C:
- mov r1, #0x0
- add r0, r1, #0x0
-_0207B390:
- mov r2, #0x38
- bl FUN_02079A0C
- add r4, r0, #0x0
- mov r5, #0x0
- mov r7, #0x17
-_0207B39C:
- cmp r4, #0x8
- blo _0207B3A4
- mov r2, #0xb4
- b _0207B3AC
-_0207B3A4:
- add r0, r4, #0x0
- add r0, #0xac
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
-_0207B3AC:
- str r7, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r3, r5, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x11
- add r3, #0x17
- str r0, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [r6, #0x0]
- mov r1, #0x3
- lsr r3, r3, #0x18
- bl FUN_02018540
- cmp r4, #0x8
- bhs _0207B3D0
- mov r4, #0x0
- b _0207B3D6
-_0207B3D0:
- sub r4, #0x8
- lsl r0, r4, #0x18
- lsr r4, r0, #0x18
-_0207B3D6:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x7
- blo _0207B39C
- ldr r0, [r6, #0x0]
- mov r1, #0x3
- bl FUN_0201AC68
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0207B3EC: .word 0x00000262
-
- thumb_func_start FUN_0207B3F0
-FUN_0207B3F0: ; 0x0207B3F0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207B4A4
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _0207B49C
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- strb r0, [r1, #0x14]
- add r0, r4, #0x0
- bl FUN_0207AAB0
- add r0, r4, #0x0
- bl FUN_0207AF20
- add r0, r4, #0x0
- bl FUN_0207D768
- add r0, r4, #0x0
- bl FUN_0207D800
- add r0, r4, #0x0
- bl FUN_0207D8A0
- ldr r0, _0207B4A0 ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x0
- bne _0207B436
- add r0, r4, #0x0
- bl FUN_0207B364
- b _0207B44C
-_0207B436:
- cmp r0, #0x2
- bne _0207B442
- add r0, r4, #0x0
- bl FUN_0207B2B0
- b _0207B44C
-_0207B442:
- cmp r0, #0x4
- bne _0207B44C
- add r0, r4, #0x0
- bl FUN_0207F608
-_0207B44C:
- add r0, r4, #0x0
- bl FUN_0207F934
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- add r0, r4, #0x0
- bl FUN_0207C5D4
- add r0, r4, #0x0
- bl FUN_0207C6A4
- add r0, r4, #0x0
- bl FUN_0207CA44
- add r0, r4, #0x0
- bl FUN_0207C838
- add r0, r4, #0x0
- bl FUN_0207D2C8
- add r0, r4, #0x0
- bl FUN_0207CFEC
- add r0, r4, #0x0
- bl FUN_0207C71C
- add r0, r4, #0x0
- bl FUN_0207C77C
- add r0, r4, #0x0
- bl FUN_0207CC24
- add r0, r4, #0x0
- bl FUN_0207CE4C
- add r0, r4, #0x0
- bl FUN_0207DD88
-_0207B49C:
- pop {r4, pc}
- nop
-_0207B4A0: .word 0x0000068C
-
- thumb_func_start FUN_0207B4A4
-FUN_0207B4A4: ; 0x0207B4A4
- push {r3, lr}
- mov r2, #0x93
- lsl r2, r2, #0x2
- ldr r2, [r0, r2]
- ldrb r2, [r2, #0x11]
- cmp r2, #0x0
- beq _0207B4BC
- cmp r2, #0x1
- beq _0207B4C2
- cmp r2, #0x2
- beq _0207B4C8
- b _0207B4CE
-_0207B4BC:
- bl FUN_0207B4FC
- pop {r3, pc}
-_0207B4C2:
- bl FUN_0207B564
- pop {r3, pc}
-_0207B4C8:
- bl FUN_0207B5C0
- pop {r3, pc}
-_0207B4CE:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
-
- thumb_func_start FUN_0207B4D4
-FUN_0207B4D4: ; 0x0207B4D4
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r0, r1]
- ldrb r1, [r1, #0x12]
- cmp r1, #0x3
- bne _0207B4E4
- mov r0, #0x0
- bx lr
-_0207B4E4:
- ldr r1, _0207B4F8 ; =0x0000068C
- ldrsb r0, [r0, r1]
- cmp r0, #0x1
- beq _0207B4F4
- cmp r0, #0x7
- beq _0207B4F4
- mov r0, #0x0
- bx lr
-_0207B4F4:
- mov r0, #0x1
- bx lr
- .balign 4
-_0207B4F8: .word 0x0000068C
-
- thumb_func_start FUN_0207B4FC
-FUN_0207B4FC: ; 0x0207B4FC
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r5, r0]
- mov r0, #0x14
- ldrsb r4, [r1, r0]
-_0207B50C:
- ldr r0, [sp, #0x0]
- add r0, r4, r0
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
- bmi _0207B522
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldrb r0, [r0, #0x13]
- cmp r4, r0
- blt _0207B528
-_0207B522:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0207B528:
- bl FUN_020690C4
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- add r7, r4, #0x0
- ldr r6, [r1, #0x0]
- mul r7, r0
- add r0, r6, r7
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207B50C
- add r0, r6, r7
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207B55E
- add r0, r5, #0x0
- bl FUN_0207B4D4
- cmp r0, #0x1
- bne _0207B50C
-_0207B55E:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207B564
-FUN_0207B564: ; 0x0207B564
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- add r7, r1, #0x0
- ldr r1, [r5, r0]
- mov r0, #0x14
- ldrsb r4, [r1, r0]
-_0207B574:
- add r0, r4, r7
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
- bmi _0207B588
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r5, r0]
- ldrb r0, [r1, #0x13]
- cmp r4, r0
- blt _0207B58E
-_0207B588:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0207B58E:
- ldr r0, [r1, #0x0]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207B574
- add r0, r6, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0207B5BC
- add r0, r5, #0x0
- bl FUN_0207B4D4
- cmp r0, #0x1
- bne _0207B574
-_0207B5BC:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0207B5C0
-FUN_0207B5C0: ; 0x0207B5C0
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r5, r0]
- mov r0, #0x14
- ldrsb r4, [r1, r0]
-_0207B5D0:
- ldr r0, [sp, #0x0]
- add r0, r4, r0
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
- bmi _0207B5E6
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldrb r0, [r0, #0x13]
- cmp r4, r0
- blt _0207B5EC
-_0207B5E6:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0207B5EC:
- bl FUN_020690C8
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- add r7, r4, #0x0
- ldr r6, [r1, #0x0]
- mul r7, r0
- add r0, r6, r7
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0207B5D0
- add r0, r6, r7
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _0207B622
- add r0, r5, #0x0
- bl FUN_0207B4D4
- cmp r0, #0x1
- bne _0207B5D0
-_0207B622:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207B628
-FUN_0207B628: ; 0x0207B628
- push {r4, lr}
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r4, [r0, r1]
- ldrb r0, [r4, #0x11]
- cmp r0, #0x0
- beq _0207B640
- cmp r0, #0x1
- beq _0207B64E
- cmp r0, #0x2
- beq _0207B658
- b _0207B666
-_0207B640:
- bl FUN_020690C4
- ldrb r1, [r4, #0x14]
- ldr r2, [r4, #0x0]
- mul r0, r1
- add r0, r2, r0
- pop {r4, pc}
-_0207B64E:
- ldrb r1, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9B0
- pop {r4, pc}
-_0207B658:
- bl FUN_020690C8
- ldrb r1, [r4, #0x14]
- ldr r2, [r4, #0x0]
- mul r0, r1
- add r0, r2, r0
- pop {r4, pc}
-_0207B666:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207B66C
-FUN_0207B66C: ; 0x0207B66C
- push {r4, lr}
- ldr r1, _0207B774 ; =0x0000068E
- add r4, r0, #0x0
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- beq _0207B682
- cmp r1, #0x1
- beq _0207B6E2
- cmp r1, #0x2
- beq _0207B70E
- b _0207B76E
-_0207B682:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x88
- bl FUN_0201AEE4
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_0201AEE4
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207C6F0
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201958C
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- ldr r1, _0207B778 ; =0x0000068D
- mov r0, #0xf
- ldrb r2, [r4, r1]
- bic r2, r0
- strb r2, [r4, r1]
- mov r2, #0x1
- add r0, r1, #0x1
- strb r2, [r4, r0]
- b _0207B76E
-_0207B6E2:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B48
- cmp r0, #0x40
- ldr r0, [r4, #0x0]
- bgt _0207B702
- mov r2, #0x0
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0201AEE4
- ldr r0, _0207B774 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207B76E
-_0207B702:
- mov r1, #0x2
- add r2, r1, #0x0
- mov r3, #0x40
- bl FUN_0201AEE4
- b _0207B76E
-_0207B70E:
- bl FUN_0207ECDC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x1
- beq _0207B732
- add r0, r4, #0x0
- mov r1, #0x98
- bl FUN_0207D924
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
-_0207B732:
- add r0, r4, #0x0
- bl FUN_0207B8D8
- ldr r0, _0207B77C ; =0x00000434
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- add r0, r4, #0x0
- bl FUN_0207D06C
- mov r0, #0x26
- lsl r0, r0, #0x4
- ldrb r1, [r4, r0]
- add r0, r0, #0x1
- ldrb r0, [r4, r0]
- cmp r1, r0
- beq _0207B760
- ldr r0, _0207B780 ; =0x00000438
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
-_0207B760:
- ldr r0, _0207B784 ; =0x0000042C
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x1
- pop {r4, pc}
-_0207B76E:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207B774: .word 0x0000068E
-_0207B778: .word 0x0000068D
-_0207B77C: .word 0x00000434
-_0207B780: .word 0x00000438
-_0207B784: .word 0x0000042C
-
- thumb_func_start FUN_0207B788
-FUN_0207B788: ; 0x0207B788
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207B864 ; =0x0000068E
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- beq _0207B79E
- cmp r0, #0x1
- beq _0207B7F8
- cmp r0, #0x2
- beq _0207B824
- b _0207B860
-_0207B79E:
- ldr r0, _0207B868 ; =0x00000434
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- ldr r0, _0207B86C ; =0x00000438
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200C63C
- ldr r0, _0207B870 ; =0x00000454
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- ldr r0, _0207B874 ; =0x0000042C
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- add r0, r4, #0x0
- bl FUN_0207ED18
- add r0, r4, #0x0
- bl FUN_0207EC94
- ldr r0, _0207B864 ; =0x0000068E
- mov r1, #0x1
- strb r1, [r4, r0]
- b _0207B860
-_0207B7F8:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B48
- cmp r0, #0x80
- ldr r0, [r4, #0x0]
- blt _0207B818
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x88
- bl FUN_0201AEE4
- ldr r0, _0207B864 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207B860
-_0207B818:
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x40
- bl FUN_0201AEE4
- b _0207B860
-_0207B824:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_02019220
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- add r0, r4, #0x0
- mov r1, #0x81
- bl FUN_0207D924
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0207C6F0
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x1
- pop {r4, pc}
-_0207B860:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0207B864: .word 0x0000068E
-_0207B868: .word 0x00000434
-_0207B86C: .word 0x00000438
-_0207B870: .word 0x00000454
-_0207B874: .word 0x0000042C
-
- thumb_func_start FUN_0207B878
-FUN_0207B878: ; 0x0207B878
- push {r4-r7}
- add r5, r0, #0x0
- ldr r0, _0207B8D4 ; =0x0000068D
- mov r6, #0xa1
- ldrb r0, [r5, r0]
- mov r2, #0x4
- lsl r6, r6, #0x2
- lsl r0, r0, #0x1c
- lsr r4, r0, #0x1c
- add r3, r4, #0x0
- mov r0, #0x0
-_0207B88E:
- add r3, r3, r1
- lsl r3, r3, #0x18
- asr r3, r3, #0x18
- bpl _0207B89A
- add r3, r2, #0x0
- b _0207B8A0
-_0207B89A:
- cmp r3, #0x5
- bne _0207B8A0
- add r3, r0, #0x0
-_0207B8A0:
- lsl r7, r3, #0x1
- add r7, r5, r7
- ldrh r7, [r7, r6]
- cmp r7, #0x0
- bne _0207B8AE
- cmp r3, #0x4
- bne _0207B88E
-_0207B8AE:
- cmp r3, r4
- beq _0207B8CC
- ldr r2, _0207B8D4 ; =0x0000068D
- mov r1, #0xf
- ldrb r0, [r5, r2]
- bic r0, r1
- lsl r1, r3, #0x18
- lsr r3, r1, #0x18
- mov r1, #0xf
- and r1, r3
- orr r0, r1
- strb r0, [r5, r2]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_0207B8CC:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- nop
-_0207B8D4: .word 0x0000068D
-
- thumb_func_start FUN_0207B8D8
-FUN_0207B8D8: ; 0x0207B8D8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207CBC0
- ldr r2, _0207B95C ; =0x0000068D
- ldrb r0, [r4, r2]
- lsl r0, r0, #0x1c
- lsr r1, r0, #0x1c
- cmp r1, #0x4
- bne _0207B930
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrh r1, [r0, #0x18]
- cmp r1, #0x0
- beq _0207B910
- sub r0, r2, #0x1
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207B908
- add r0, r4, #0x0
- bl FUN_0207B960
- pop {r4, pc}
-_0207B908:
- add r0, r4, #0x0
- bl FUN_0207B99C
- pop {r4, pc}
-_0207B910:
- sub r0, r2, #0x1
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207B924
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- bl FUN_0207B960
- pop {r4, pc}
-_0207B924:
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- bl FUN_0207B99C
- pop {r4, pc}
-_0207B930:
- sub r0, r2, #0x1
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207B94A
- lsl r1, r1, #0x1
- add r2, r4, r1
- mov r1, #0xa1
- lsl r1, r1, #0x2
- ldrh r1, [r2, r1]
- add r0, r4, #0x0
- bl FUN_0207B960
- pop {r4, pc}
-_0207B94A:
- lsl r1, r1, #0x1
- add r2, r4, r1
- mov r1, #0xa1
- lsl r1, r1, #0x2
- ldrh r1, [r2, r1]
- add r0, r4, #0x0
- bl FUN_0207B99C
- pop {r4, pc}
- .balign 4
-_0207B95C: .word 0x0000068D
-
- thumb_func_start FUN_0207B960
-FUN_0207B960: ; 0x0207B960
- push {r3-r5, lr}
- mov r2, #0x0
- add r4, r1, #0x0
- mvn r2, r2
- add r5, r0, #0x0
- cmp r4, r2
- bne _0207B980
- bl FUN_0207EC94
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_0200C63C
- pop {r3-r5, pc}
-_0207B980:
- bl FUN_0207EB64
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207CB70
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_0200C63C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0207B99C
-FUN_0207B99C: ; 0x0207B99C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0207BD84
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _0207B9B6
- add r0, r5, #0x0
- bl FUN_0207EEB0
- pop {r3-r5, pc}
-_0207B9B6:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207EE2C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0207B9C0
-FUN_0207B9C0: ; 0x0207B9C0
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl FUN_0207B628
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldrb r1, [r1, #0x11]
- cmp r1, #0x2
- ldr r1, _0207BA70 ; =0x0000068D
- bne _0207B9E6
- ldrb r2, [r4, r1]
- lsl r1, r2, #0x1c
- lsl r2, r2, #0x18
- lsr r1, r1, #0x1c
- lsr r2, r2, #0x1c
- bl FUN_020698E8
- b _0207B9F4
-_0207B9E6:
- ldrb r2, [r4, r1]
- lsl r1, r2, #0x1c
- lsl r2, r2, #0x18
- lsr r1, r1, #0x1c
- lsr r2, r2, #0x1c
- bl FUN_020698E0
-_0207B9F4:
- ldr r0, _0207BA70 ; =0x0000068D
- mov r1, #0xa1
- ldrb r6, [r4, r0]
- lsl r1, r1, #0x2
- add r5, r4, r1
- lsl r2, r6, #0x1c
- lsl r6, r6, #0x18
- lsr r6, r6, #0x1c
- lsl r6, r6, #0x1
- lsr r3, r2, #0x1b
- add r6, r4, r6
- ldrh r2, [r5, r3]
- ldrh r6, [r6, r1]
- strh r6, [r5, r3]
- ldrb r3, [r4, r0]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x1c
- lsl r3, r3, #0x1
- add r3, r4, r3
- strh r2, [r3, r1]
- add r2, r1, #0x0
- add r2, #0x8
- ldrb r6, [r4, r0]
- add r5, r4, r2
- lsl r2, r6, #0x1c
- lsl r6, r6, #0x18
- lsr r6, r6, #0x1c
- add r7, r4, r6
- add r6, r1, #0x0
- lsr r3, r2, #0x1c
- add r6, #0x8
- ldrb r2, [r5, r3]
- ldrb r6, [r7, r6]
- strb r6, [r5, r3]
- ldrb r3, [r4, r0]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x1c
- add r5, r4, r3
- add r3, r1, #0x0
- add r3, #0x8
- strb r2, [r5, r3]
- add r2, r1, #0x0
- add r2, #0xc
- ldrb r6, [r4, r0]
- add r5, r4, r2
- lsl r2, r6, #0x1c
- lsl r6, r6, #0x18
- lsr r6, r6, #0x1c
- add r7, r4, r6
- add r6, r1, #0x0
- lsr r3, r2, #0x1c
- add r6, #0xc
- ldrb r2, [r5, r3]
- ldrb r6, [r7, r6]
- add r1, #0xc
- strb r6, [r5, r3]
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- add r0, r4, r0
- strb r2, [r0, r1]
- pop {r3-r7, pc}
- .balign 4
-_0207BA70: .word 0x0000068D
-
- thumb_func_start FUN_0207BA74
-FUN_0207BA74: ; 0x0207BA74
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201958C
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r2, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0201AEE4
- add r0, r4, #0x0
- bl FUN_0207ECDC
- add r0, r4, #0x0
- bl FUN_0207B8D8
- ldr r0, _0207BAE0 ; =0x00000434
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- add r0, r4, #0x0
- bl FUN_0207D06C
- mov r0, #0x26
- lsl r0, r0, #0x4
- ldrb r1, [r4, r0]
- add r0, r0, #0x1
- ldrb r0, [r4, r0]
- cmp r1, r0
- beq _0207BAD4
- ldr r0, _0207BAE4 ; =0x00000438
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
-_0207BAD4:
- ldr r0, _0207BAE8 ; =0x0000042C
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
- .balign 4
-_0207BAE0: .word 0x00000434
-_0207BAE4: .word 0x00000438
-_0207BAE8: .word 0x0000042C
-
- thumb_func_start FUN_0207BAEC
-FUN_0207BAEC: ; 0x0207BAEC
- push {r4, lr}
- ldr r1, _0207BBE4 ; =0x0000068E
- add r4, r0, #0x0
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- beq _0207BB02
- cmp r1, #0x1
- beq _0207BB6E
- cmp r1, #0x2
- beq _0207BB9A
- b _0207BBDE
-_0207BB02:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x88
- bl FUN_0201AEE4
- mov r2, #0x3
- add r3, r2, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- add r3, #0xfd
- bl FUN_0201AEE4
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- bl FUN_0207BD84
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207C6F0
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201958C
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- ldr r1, _0207BBE8 ; =0x0000068D
- mov r0, #0xf
- ldrb r2, [r4, r1]
- bic r2, r0
- strb r2, [r4, r1]
- mov r2, #0x1
- add r0, r1, #0x1
- strb r2, [r4, r0]
- b _0207BBDE
-_0207BB6E:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B48
- cmp r0, #0x40
- ldr r0, [r4, #0x0]
- bgt _0207BB8E
- mov r2, #0x0
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0201AEE4
- ldr r0, _0207BBE4 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207BBDE
-_0207BB8E:
- mov r1, #0x2
- add r2, r1, #0x0
- mov r3, #0x40
- bl FUN_0201AEE4
- b _0207BBDE
-_0207BB9A:
- bl FUN_0207ECDC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x1
- beq _0207BBBE
- add r0, r4, #0x0
- mov r1, #0x98
- bl FUN_0207D924
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
-_0207BBBE:
- add r0, r4, #0x0
- bl FUN_0207B8D8
- add r0, r4, #0x0
- bl FUN_0207D06C
- add r0, r4, #0x0
- bl FUN_0207D10C
- ldr r0, _0207BBEC ; =0x0000042C
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x1
- pop {r4, pc}
-_0207BBDE:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207BBE4: .word 0x0000068E
-_0207BBE8: .word 0x0000068D
-_0207BBEC: .word 0x0000042C
-
- thumb_func_start FUN_0207BBF0
-FUN_0207BBF0: ; 0x0207BBF0
- push {r4, lr}
- ldr r1, _0207BCBC ; =0x0000068E
- add r4, r0, #0x0
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- beq _0207BC06
- cmp r1, #0x1
- beq _0207BC4E
- cmp r1, #0x2
- beq _0207BC7A
- b _0207BCB6
-_0207BC06:
- bl FUN_0207D22C
- ldr r0, _0207BCC0 ; =0x00000454
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- mov r1, #0x0
- add r0, r4, #0x0
- mvn r1, r1
- bl FUN_0207BD84
- ldr r0, _0207BCC4 ; =0x0000042C
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- add r0, r4, #0x0
- bl FUN_0207ED18
- add r0, r4, #0x0
- bl FUN_0207EEB0
- ldr r0, _0207BCBC ; =0x0000068E
- mov r1, #0x1
- strb r1, [r4, r0]
- b _0207BCB6
-_0207BC4E:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B48
- cmp r0, #0x80
- ldr r0, [r4, #0x0]
- blt _0207BC6E
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x88
- bl FUN_0201AEE4
- ldr r0, _0207BCBC ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207BCB6
-_0207BC6E:
- mov r1, #0x2
- mov r2, #0x1
- mov r3, #0x40
- bl FUN_0201AEE4
- b _0207BCB6
-_0207BC7A:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_02019220
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- add r0, r4, #0x0
- mov r1, #0x9e
- bl FUN_0207D924
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0207C6F0
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x1
- pop {r4, pc}
-_0207BCB6:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207BCBC: .word 0x0000068E
-_0207BCC0: .word 0x00000454
-_0207BCC4: .word 0x0000042C
-
- thumb_func_start FUN_0207BCC8
-FUN_0207BCC8: ; 0x0207BCC8
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x2f
- str r0, [sp, #0x0]
- mov r0, #0x1
- lsl r6, r2, #0x1
- add r4, r1, #0x0
- str r0, [sp, #0x4]
- add r7, r6, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- lsl r3, r7, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- add r2, r4, #0x0
- lsr r3, r3, #0x18
- bl FUN_02018540
- mov r0, #0x2f
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r6, r6, #0x3
- str r0, [sp, #0x8]
- mov r0, #0x10
- add r2, r4, #0x1
- str r0, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r6, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- mov r0, #0x30
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r2, r4, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x10
- add r2, #0x20
- str r0, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r7, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- mov r0, #0x30
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- add r4, #0x21
- str r0, [sp, #0xc]
- lsl r2, r4, #0x10
- lsl r3, r6, #0x18
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0207BD58
-FUN_0207BD58: ; 0x0207BD58
- push {r4-r6, lr}
- ldr r6, _0207BD80 ; =0x0000012E
- add r5, r0, #0x0
- mov r4, #0x0
-_0207BD60:
- lsl r2, r4, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_0207BCC8
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x6
- blo _0207BD60
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- bl FUN_0201AC68
- pop {r4-r6, pc}
- .balign 4
-_0207BD80: .word 0x0000012E
-
- thumb_func_start FUN_0207BD84
-FUN_0207BD84: ; 0x0207BD84
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0207BD58
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _0207BDCC
- add r0, r4, #0x0
- mov r1, #0xa
- bl FUN_0206AB18
- bl FUN_02083114
- mov r1, #0xa
- bl _s32_div_f
- lsl r0, r0, #0x18
- asr r6, r0, #0x18
- mov r4, #0x0
- cmp r6, #0x0
- ble _0207BDCC
- mov r7, #0x4b
- lsl r7, r7, #0x2
-_0207BDB6:
- lsl r2, r4, #0x18
- add r0, r5, #0x0
- add r1, r7, #0x0
- lsr r2, r2, #0x18
- bl FUN_0207BCC8
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r6
- blt _0207BDB6
-_0207BDCC:
- ldr r0, [r5, #0x0]
- mov r1, #0x2
- bl FUN_0201AC68
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207BDD8
-FUN_0207BDD8: ; 0x0207BDD8
- push {r3, lr}
- ldr r1, _0207BDF0 ; =0x0000068C
- ldrsb r1, [r0, r1]
- cmp r1, #0x3
- bne _0207BDE8
- bl FUN_0207EC94
- pop {r3, pc}
-_0207BDE8:
- bl FUN_0207EEB0
- pop {r3, pc}
- nop
-_0207BDF0: .word 0x0000068C
-
- thumb_func_start FUN_0207BDF4
-FUN_0207BDF4: ; 0x0207BDF4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0207ECDC
- add r0, r4, #0x0
- bl FUN_0207B8D8
- add r0, r4, #0x0
- bl FUN_0207D06C
- ldr r0, _0207BE5C ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- bne _0207BE46
- add r0, r4, #0x0
- bl FUN_0207D22C
- ldr r0, _0207BE60 ; =0x00000434
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- mov r0, #0x26
- lsl r0, r0, #0x4
- ldrb r1, [r4, r0]
- add r0, r0, #0x1
- ldrb r0, [r4, r0]
- cmp r1, r0
- beq _0207BE38
- ldr r0, _0207BE64 ; =0x00000438
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
-_0207BE38:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_0201AEE4
- pop {r4, pc}
-_0207BE46:
- add r0, r4, #0x0
- bl FUN_0207D10C
- mov r2, #0x3
- add r3, r2, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- add r3, #0xfd
- bl FUN_0201AEE4
- pop {r4, pc}
- .balign 4
-_0207BE5C: .word 0x0000068C
-_0207BE60: .word 0x00000434
-_0207BE64: .word 0x00000438
-
- thumb_func_start FUN_0207BE68
-FUN_0207BE68: ; 0x0207BE68
- push {r4, lr}
- ldr r1, _0207BF78 ; =0x0000068E
- add r4, r0, #0x0
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- beq _0207BE7E
- cmp r1, #0x1
- beq _0207BEEA
- cmp r1, #0x2
- beq _0207BF16
- b _0207BF74
-_0207BE7E:
- mov r1, #0x2
- add r3, r1, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- add r3, #0xfe
- bl FUN_0201AEE4
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_0201AEE4
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207C6F0
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201958C
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x79
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- ldr r1, _0207BF7C ; =0x00000697
- mov r2, #0x0
- strb r2, [r4, r1]
- add r0, r1, #0x1
- strb r2, [r4, r0]
- mov r0, #0x1
- sub r1, #0x9
- strb r0, [r4, r1]
- b _0207BF74
-_0207BEEA:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B54
- cmp r0, #0x30
- ldr r0, [r4, #0x0]
- blt _0207BF0A
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x38
- bl FUN_0201AEE4
- ldr r0, _0207BF78 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207BF74
-_0207BF0A:
- mov r1, #0x2
- mov r2, #0x4
- mov r3, #0x10
- bl FUN_0201AEE4
- b _0207BF74
-_0207BF16:
- mov r1, #0xb5
- bl FUN_0207D924
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- ldr r0, _0207BF80 ; =0x00000514
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x52
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- ldr r0, _0207BF84 ; =0x00000504
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207BF88 ; =0x00000508
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207BF8C ; =0x0000050C
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x51
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207C07C
- mov r0, #0x1
- pop {r4, pc}
-_0207BF74:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0207BF78: .word 0x0000068E
-_0207BF7C: .word 0x00000697
-_0207BF80: .word 0x00000514
-_0207BF84: .word 0x00000504
-_0207BF88: .word 0x00000508
-_0207BF8C: .word 0x0000050C
-
- thumb_func_start FUN_0207BF90
-FUN_0207BF90: ; 0x0207BF90
- push {r4, lr}
- ldr r1, _0207C078 ; =0x0000068E
- add r4, r0, #0x0
- ldrb r0, [r4, r1]
- cmp r0, #0x0
- beq _0207BFA6
- cmp r0, #0x1
- beq _0207BFF6
- cmp r0, #0x2
- beq _0207C022
- b _0207C072
-_0207BFA6:
- add r0, r1, #0x0
- mov r2, #0x0
- add r0, #0x9
- strb r2, [r4, r0]
- add r1, #0xa
- mov r0, #0x91
- strb r2, [r4, r1]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_0201958C
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207CFAC
- add r0, r4, #0x0
- bl FUN_0207D2C8
- ldr r0, _0207C078 ; =0x0000068E
- mov r1, #0x1
- strb r1, [r4, r0]
- b _0207C072
-_0207BFF6:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02017B54
- cmp r0, #0x8
- ldr r0, [r4, #0x0]
- bgt _0207C016
- mov r1, #0x2
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_0201AEE4
- ldr r0, _0207C078 ; =0x0000068E
- mov r1, #0x2
- strb r1, [r4, r0]
- b _0207C072
-_0207C016:
- mov r1, #0x2
- mov r2, #0x5
- mov r3, #0x10
- bl FUN_0201AEE4
- b _0207C072
-_0207C022:
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_02019220
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x79
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- add r0, r4, #0x0
- mov r1, #0xb4
- bl FUN_0207D924
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0207C6F0
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x1
- pop {r4, pc}
-_0207C072:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207C078: .word 0x0000068E
-
- thumb_func_start FUN_0207C07C
-FUN_0207C07C: ; 0x0207C07C
- push {r4-r6, lr}
- ldr r2, _0207C1D0 ; =0x00000697
- add r5, r0, #0x0
- add r3, r2, #0x1
- ldrb r0, [r5, r2]
- ldrb r4, [r5, r3]
- cmp r1, #0x1
- bne _0207C0A8
- mov r1, #0x3
- and r1, r0
- cmp r1, #0x3
- beq _0207C0B6
- lsl r1, r4, #0x2
- add r1, r0, r1
- add r3, r1, #0x1
- add r1, r2, #0x2
- ldrb r1, [r5, r1]
- cmp r3, r1
- bge _0207C14A
- add r1, r0, #0x1
- strb r1, [r5, r2]
- b _0207C14A
-_0207C0A8:
- mov r3, #0x0
- mvn r3, r3
- cmp r1, r3
- bne _0207C0BE
- mov r1, #0x3
- tst r1, r0
- bne _0207C0B8
-_0207C0B6:
- b _0207C1CE
-_0207C0B8:
- sub r1, r0, #0x1
- strb r1, [r5, r2]
- b _0207C14A
-_0207C0BE:
- cmp r1, #0x4
- bne _0207C12C
- cmp r0, #0x4
- bhs _0207C0F2
- add r1, r2, #0x2
- ldrb r3, [r5, r1]
- lsl r1, r4, #0x2
- add r1, r0, r1
- add r1, r1, #0x4
- cmp r1, r3
- blt _0207C0EC
- cmp r3, #0x4
- bls _0207C14A
- lsr r1, r3, #0x1f
- lsl r6, r3, #0x1e
- sub r6, r6, r1
- mov r3, #0x1e
- ror r6, r3
- add r1, r1, r6
- beq _0207C14A
- add r1, r1, #0x3
- strb r1, [r5, r2]
- b _0207C14A
-_0207C0EC:
- add r1, r0, #0x4
- strb r1, [r5, r2]
- b _0207C14A
-_0207C0F2:
- add r1, r2, #0x2
- ldrb r1, [r5, r1]
- lsl r3, r4, #0x2
- add r3, #0x8
- cmp r3, r1
- bge _0207C14A
- add r1, r2, #0x1
- ldrb r1, [r5, r1]
- add r6, r2, #0x1
- add r3, r1, #0x1
- add r1, r2, #0x1
- strb r3, [r5, r1]
- add r1, r2, #0x2
- ldrb r6, [r5, r6]
- ldrb r3, [r5, r1]
- ldrb r1, [r5, r2]
- lsl r6, r6, #0x2
- add r1, r1, r6
- cmp r1, r3
- blt _0207C14A
- lsr r1, r3, #0x1f
- lsl r6, r3, #0x1e
- sub r6, r6, r1
- mov r3, #0x1e
- ror r6, r3
- add r1, r1, r6
- add r1, r1, #0x3
- strb r1, [r5, r2]
- b _0207C14A
-_0207C12C:
- sub r3, r3, #0x3
- cmp r1, r3
- bne _0207C14A
- cmp r0, #0x4
- blo _0207C13C
- sub r1, r0, #0x4
- strb r1, [r5, r2]
- b _0207C14A
-_0207C13C:
- cmp r4, #0x0
- beq _0207C14A
- add r1, r2, #0x1
- ldrb r1, [r5, r1]
- sub r3, r1, #0x1
- add r1, r2, #0x1
- strb r3, [r5, r1]
-_0207C14A:
- ldr r1, _0207C1D0 ; =0x00000697
- ldrb r2, [r5, r1]
- cmp r0, r2
- bne _0207C15A
- add r0, r1, #0x1
- ldrb r0, [r5, r0]
- cmp r4, r0
- beq _0207C160
-_0207C15A:
- ldr r0, _0207C1D4 ; =0x000005DC
- bl FUN_020054C8
-_0207C160:
- ldr r1, _0207C1D0 ; =0x00000697
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- bl FUN_0207C1E8
- ldr r1, _0207C1D8 ; =0x0000069A
- strb r0, [r5, r1]
- add r0, r5, #0x0
- bl FUN_0207D3C4
- ldr r0, _0207C1DC ; =0x00000698
- ldrb r0, [r5, r0]
- cmp r4, r0
- beq _0207C182
- add r0, r5, #0x0
- bl FUN_0207D364
-_0207C182:
- add r0, r5, #0x0
- bl FUN_0207E9A0
- add r0, r5, #0x0
- bl FUN_0207E840
- ldr r0, _0207C1DC ; =0x00000698
- ldrb r0, [r5, r0]
- cmp r0, #0x0
- ldr r0, _0207C1E0 ; =0x00000518
- beq _0207C1A2
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- b _0207C1AA
-_0207C1A2:
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
-_0207C1AA:
- ldr r0, _0207C1DC ; =0x00000698
- ldrb r1, [r5, r0]
- add r0, r0, #0x1
- ldrb r0, [r5, r0]
- lsl r1, r1, #0x2
- add r1, #0x8
- cmp r1, r0
- ldr r0, _0207C1E4 ; =0x0000051C
- bge _0207C1C6
- ldr r0, [r5, r0]
- mov r1, #0x1
- bl FUN_020200A0
- pop {r4-r6, pc}
-_0207C1C6:
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
-_0207C1CE:
- pop {r4-r6, pc}
- .balign 4
-_0207C1D0: .word 0x00000697
-_0207C1D4: .word 0x000005DC
-_0207C1D8: .word 0x0000069A
-_0207C1DC: .word 0x00000698
-_0207C1E0: .word 0x00000518
-_0207C1E4: .word 0x0000051C
-
- thumb_func_start FUN_0207C1E8
-FUN_0207C1E8: ; 0x0207C1E8
- push {r4-r7}
- ldr r2, _0207C238 ; =0x00000698
- mov r6, #0x0
- ldrb r2, [r0, r2]
- add r4, r6, #0x0
- lsl r2, r2, #0x2
- add r1, r1, r2
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- mov r1, #0xa9
- mov r2, #0x1
- lsl r1, r1, #0x2
-_0207C200:
- mov r3, #0x1f
- add r7, r4, #0x0
- and r7, r3
- add r3, r2, #0x0
- lsl r3, r7
- lsr r7, r4, #0x5
- lsl r7, r7, #0x2
- add r7, r0, r7
- ldr r7, [r7, r1]
- tst r3, r7
- beq _0207C228
- cmp r5, r6
- bne _0207C222
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- pop {r4-r7}
- bx lr
-_0207C222:
- add r3, r6, #0x1
- lsl r3, r3, #0x18
- lsr r6, r3, #0x18
-_0207C228:
- add r3, r4, #0x1
- lsl r3, r3, #0x10
- lsr r4, r3, #0x10
- cmp r4, #0x50
- blo _0207C200
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- .balign 4
-_0207C238: .word 0x00000698
-
- thumb_func_start FUN_0207C23C
-FUN_0207C23C: ; 0x0207C23C
- push {r4, lr}
- sub sp, #0x8
- ldr r1, _0207C29C ; =0x0000029A
- add r4, r0, #0x0
- ldrb r0, [r4, r1]
- cmp r0, #0xff
- bne _0207C28E
- mov r0, #0x0
- sub r1, #0xda
- mov r2, #0x13
- bl FUN_02002EEC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x4]
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x13
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- ldr r2, _0207C2A0 ; =0x000003E2
- mov r1, #0x1
- mov r3, #0xd
- bl FUN_0200CD68
- add r0, r4, #0x0
- mov r1, #0xff
- bl FUN_0207EECC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- strb r1, [r0, #0x17]
- add sp, #0x8
- mov r0, #0x11
- pop {r4, pc}
-_0207C28E:
- sub r1, #0x4e
- ldr r0, [r4, r1]
- mov r2, #0x0
- strb r2, [r0, #0x17]
- mov r0, #0x12
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_0207C29C: .word 0x0000029A
-_0207C2A0: .word 0x000003E2
-
- thumb_func_start FUN_0207C2A4
-FUN_0207C2A4: ; 0x0207C2A4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202398C
- str r0, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_020239BC
- str r0, [r5, #0xc]
- add r0, r4, #0x0
- bl FUN_020239CC
- strb r0, [r5, #0x10]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0207C2C4
-FUN_0207C2C4: ; 0x0207C2C4
- mov r0, #0x40
- bx lr
-
- thumb_func_start FUN_0207C2C8
-FUN_0207C2C8: ; 0x0207C2C8
- mov r0, #0x41
- bx lr
-
- thumb_func_start FUN_0207C2CC
-FUN_0207C2CC: ; 0x0207C2CC
- mov r0, #0x3f
- bx lr
-
- thumb_func_start FUN_0207C2D0
-FUN_0207C2D0: ; 0x0207C2D0
- mov r0, #0x3e
- bx lr
-
- thumb_func_start FUN_0207C2D4
-FUN_0207C2D4: ; 0x0207C2D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x9f
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0207C2F4
- mov r0, #0x6
- pop {r3-r5, pc}
-_0207C2F4:
- mov r0, #0x88
- tst r0, r4
- beq _0207C2FE
- mov r0, #0x4
- pop {r3-r5, pc}
-_0207C2FE:
- mov r0, #0x7
- add r1, r4, #0x0
- tst r1, r0
- beq _0207C30A
- mov r0, #0x3
- pop {r3-r5, pc}
-_0207C30A:
- mov r1, #0x10
- tst r1, r4
- beq _0207C314
- mov r0, #0x5
- pop {r3-r5, pc}
-_0207C314:
- mov r1, #0x20
- tst r1, r4
- beq _0207C31E
- mov r0, #0x2
- pop {r3-r5, pc}
-_0207C31E:
- mov r1, #0x40
- tst r1, r4
- beq _0207C326
- mov r0, #0x1
-_0207C326:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0207C328
-FUN_0207C328: ; 0x0207C328
- push {r3-r7, lr}
- sub sp, #0x50
- add r4, r0, #0x0
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- mov r0, #0x20
- mov r1, #0x13
- bl FUN_0201C24C
- mov r0, #0x13
- bl FUN_0200BB14
- mov r1, #0x1
- lsl r1, r1, #0xa
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- bl FUN_0200BB34
- ldr r7, _0207C3C4 ; =0x00000404
- add r2, sp, #0x30
- ldr r3, _0207C3C8 ; =0x020FA73C
- str r0, [r4, r7]
- ldmia r3!, {r0-r1}
- add r6, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- ldr r5, _0207C3CC ; =0x020FA70C
- stmia r2!, {r0-r1}
- add r3, sp, #0x1c
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- str r0, [r3, #0x0]
- sub r0, r7, #0x4
- ldr r0, [r4, r0]
- mov r3, #0x20
- bl FUN_0200BB6C
- sub r1, r7, #0x4
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- mov r2, #0x4d
- bl FUN_0200BBF0
- ldr r5, _0207C3D0 ; =0x020FA720
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- sub r1, r7, #0x4
- str r0, [r3, #0x0]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- bl FUN_0200BD20
- add sp, #0x50
- pop {r3-r7, pc}
- .balign 4
-_0207C3C4: .word 0x00000404
-_0207C3C8: .word 0x020FA73C
-_0207C3CC: .word 0x020FA70C
-_0207C3D0: .word 0x020FA720
-
- thumb_func_start FUN_0207C3D4
-FUN_0207C3D4: ; 0x0207C3D4
- push {r4, lr}
- mov r1, #0x1
- add r4, r0, #0x0
- lsl r1, r1, #0xa
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- bl FUN_0200BCE0
- mov r0, #0x1
- lsl r0, r0, #0xa
- ldr r0, [r4, r0]
- bl FUN_0200BD04
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207C3F4
-FUN_0207C3F4: ; 0x0207C3F4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207C438 ; =0x0000045C
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- mov r0, #0x46
- lsl r0, r0, #0x4
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, _0207C43C ; =0x000004AC
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, _0207C440 ; =0x00000518
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, _0207C444 ; =0x0000051C
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- pop {r4, pc}
- .balign 4
-_0207C438: .word 0x0000045C
-_0207C43C: .word 0x000004AC
-_0207C440: .word 0x00000518
-_0207C444: .word 0x0000051C
-
- thumb_func_start FUN_0207C448
-FUN_0207C448: ; 0x0207C448
- push {r3-r7, lr}
- ldr r6, _0207C550 ; =0x020FA784
- ldr r7, _0207C554 ; =0x00000408
- add r5, r0, #0x0
- mov r4, #0x0
-_0207C452:
- mov r0, #0x1
- ldr r1, _0207C558 ; =0x00000404
- lsl r0, r0, #0xa
- mov r2, #0x28
- mul r2, r4
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- add r2, r6, r2
- bl FUN_0200BE38
- lsl r1, r4, #0x2
- add r1, r5, r1
- str r0, [r1, r7]
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4d
- blo _0207C452
- add r0, r5, #0x0
- bl FUN_0207C7EC
- ldr r0, _0207C55C ; =0x0000042C
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x43
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C560 ; =0x000004AC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x4b
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C564 ; =0x000004B4
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C568 ; =0x000004B8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C56C ; =0x000004BC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x13
- lsl r0, r0, #0x6
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C570 ; =0x000004C4
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C574 ; =0x000004C8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C578 ; =0x000004CC
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x4d
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C57C ; =0x000004D4
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C580 ; =0x000004D8
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C584 ; =0x00000524
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C588 ; =0x00000528
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C58C ; =0x0000052C
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x53
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C590 ; =0x00000534
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207C594 ; =0x00000538
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- pop {r3-r7, pc}
- .balign 4
-_0207C550: .word 0x020FA784
-_0207C554: .word 0x00000408
-_0207C558: .word 0x00000404
-_0207C55C: .word 0x0000042C
-_0207C560: .word 0x000004AC
-_0207C564: .word 0x000004B4
-_0207C568: .word 0x000004B8
-_0207C56C: .word 0x000004BC
-_0207C570: .word 0x000004C4
-_0207C574: .word 0x000004C8
-_0207C578: .word 0x000004CC
-_0207C57C: .word 0x000004D4
-_0207C580: .word 0x000004D8
-_0207C584: .word 0x00000524
-_0207C588: .word 0x00000528
-_0207C58C: .word 0x0000052C
-_0207C590: .word 0x00000534
-_0207C594: .word 0x00000538
-
- thumb_func_start FUN_0207C598
-FUN_0207C598: ; 0x0207C598
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_0207C5A0:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0207B070
- cmp r0, #0x0
- beq _0207C5B2
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-_0207C5B2:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x8
- blo _0207C5A0
- sub r0, r5, #0x1
- lsl r1, r0, #0x4
- add r1, #0x18
- lsr r0, r1, #0x1f
- add r0, r1, r0
- asr r1, r0, #0x1
- mov r0, #0xbc
- sub r0, r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0207C5D4
-FUN_0207C5D4: ; 0x0207C5D4
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r0, #0x0
- bl FUN_0207C598
- str r0, [sp, #0x4]
- ldr r0, _0207C69C ; =0x00000408
- mov r5, #0x0
- add r4, r7, r0
- ldr r0, [sp, #0x4]
- str r5, [sp, #0x8]
- str r0, [sp, #0x0]
- add r0, #0x18
- str r0, [sp, #0x0]
-_0207C5F0:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_0207B070
- cmp r0, #0x0
- bne _0207C608
- lsl r0, r5, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- b _0207C68E
-_0207C608:
- lsl r6, r5, #0x2
- ldr r0, [r4, r6]
- bl FUN_020201DC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, _0207C6A0 ; =0x0000068C
- ldrsb r0, [r7, r0]
- cmp r0, r5
- bne _0207C62A
- cmp r1, #0x8
- bhs _0207C636
- ldr r0, [r4, r6]
- add r1, #0x8
- bl FUN_02020130
- b _0207C636
-_0207C62A:
- cmp r1, #0x8
- blo _0207C636
- ldr r0, [r4, r6]
- sub r1, #0x8
- bl FUN_02020130
-_0207C636:
- add r1, sp, #0xc
- ldr r0, [r4, r6]
- add r1, #0x2
- add r2, sp, #0xc
- bl FUN_0200C75C
- ldr r0, _0207C6A0 ; =0x0000068C
- ldrsb r0, [r7, r0]
- cmp r0, r5
- blt _0207C652
- ldr r0, [sp, #0x8]
- lsl r1, r0, #0x4
- ldr r0, [sp, #0x4]
- b _0207C65A
-_0207C652:
- ldr r0, [sp, #0x8]
- sub r0, r0, #0x1
- lsl r1, r0, #0x4
- ldr r0, [sp, #0x0]
-_0207C65A:
- add r0, r0, r1
- lsl r0, r0, #0x10
- asr r1, r0, #0x10
- add r0, sp, #0xc
- strh r1, [r0, #0x2]
- lsl r0, r5, #0x2
- add r1, r7, r0
- ldr r0, _0207C69C ; =0x00000408
- add r2, sp, #0xc
- ldr r0, [r1, r0]
- mov r1, #0x2
- ldrsh r1, [r2, r1]
- add r3, r2, #0x0
- mov r2, #0x0
- ldrsh r2, [r3, r2]
- bl FUN_0200C6E4
- ldr r0, [r4, r6]
- mov r1, #0x1
- bl FUN_020200A0
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
-_0207C68E:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0207C5F0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0207C69C: .word 0x00000408
-_0207C6A0: .word 0x0000068C
-
- thumb_func_start FUN_0207C6A4
-FUN_0207C6A4: ; 0x0207C6A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0207B09C
- cmp r0, #0x1
- bhi _0207C6B8
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0207C6F0
-_0207C6B8:
- add r0, r5, #0x0
- bl FUN_0207C598
- add r4, r0, #0x0
- ldr r0, _0207C6EC ; =0x0000045C
- add r1, r4, #0x0
- sub r1, #0xc
- lsl r1, r1, #0x10
- ldr r0, [r5, r0]
- asr r1, r1, #0x10
- mov r2, #0x18
- bl FUN_0200C6E4
- mov r1, #0x5d
- mov r0, #0x46
- lsl r1, r1, #0x2
- lsl r0, r0, #0x4
- sub r1, r1, r4
- lsl r1, r1, #0x10
- ldr r0, [r5, r0]
- asr r1, r1, #0x10
- mov r2, #0x18
- bl FUN_0200C6E4
- pop {r3-r5, pc}
- nop
-_0207C6EC: .word 0x0000045C
-
- thumb_func_start FUN_0207C6F0
-FUN_0207C6F0: ; 0x0207C6F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0207B09C
- cmp r0, #0x1
- bhi _0207C700
- mov r4, #0x0
-_0207C700:
- ldr r0, _0207C718 ; =0x0000045C
- add r1, r4, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
- mov r0, #0x46
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- add r1, r4, #0x0
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-_0207C718: .word 0x0000045C
-
- thumb_func_start FUN_0207C71C
-FUN_0207C71C: ; 0x0207C71C
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _0207C774 ; =0x00000263
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r3, r0, #0x1a
- bne _0207C730
- mov r3, #0x15
- b _0207C732
-_0207C730:
- add r3, #0x14
-_0207C732:
- mov r0, #0x0
- mov r1, #0x1
- str r0, [sp, #0x0]
- lsl r1, r1, #0xa
- str r0, [sp, #0x4]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- mov r2, #0x27
- bl FUN_0200C9D8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- mov r1, #0x1
- ldr r3, _0207C774 ; =0x00000263
- str r0, [sp, #0x4]
- ldrb r3, [r4, r3]
- lsl r1, r1, #0xa
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- lsl r3, r3, #0x18
- ldr r1, [r4, r1]
- lsr r4, r3, #0x1a
- ldr r3, _0207C778 ; =0x020FA6F8
- mov r2, #0x27
- ldrb r3, [r3, r4]
- add r3, #0x25
- bl FUN_0200CA0C
- add sp, #0x8
- pop {r4, pc}
- nop
-_0207C774: .word 0x00000263
-_0207C778: .word 0x020FA6F8
-
- thumb_func_start FUN_0207C77C
-FUN_0207C77C: ; 0x0207C77C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- lsl r0, r0, #0x4
- lsr r0, r0, #0x4
- cmp r0, #0x7
- bne _0207C7A4
- ldr r0, _0207C7E4 ; =0x00000458
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207C7E8 ; =0x00000538
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
-_0207C7A4:
- cmp r0, #0x0
- ldr r0, _0207C7E8 ; =0x00000538
- beq _0207C7D0
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207C7E4 ; =0x00000458
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r1, #0x2a
- lsl r1, r1, #0x4
- ldr r0, _0207C7E4 ; =0x00000458
- ldr r1, [r4, r1]
- ldr r0, [r4, r0]
- lsl r1, r1, #0x4
- lsr r1, r1, #0x4
- bl FUN_02020130
- pop {r4, pc}
-_0207C7D0:
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- ldr r0, _0207C7E4 ; =0x00000458
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
- .balign 4
-_0207C7E4: .word 0x00000458
-_0207C7E8: .word 0x00000538
-
- thumb_func_start FUN_0207C7EC
-FUN_0207C7EC: ; 0x0207C7EC
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_0207CA44
- mov r6, #0xa1
- mov r4, #0x0
- mov r7, #0x3
- lsl r6, r6, #0x2
-_0207C7FC:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, r6]
- cmp r0, #0x0
- beq _0207C826
- add r1, r7, #0x0
- bl FUN_0206AB18
- add r3, r0, #0x0
- add r1, r4, #0x0
- add r1, #0xd
- add r2, r4, #0x5
- lsl r1, r1, #0x18
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0207CA6C
-_0207C826:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _0207C7FC
- add r0, r5, #0x0
- bl FUN_0207CFEC
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0207C838
-FUN_0207C838: ; 0x0207C838
- push {r3-r7, lr}
- ldr r6, _0207CA2C ; =0x00000408
- add r5, r0, #0x0
- mov r4, #0xb
- mov r7, #0x0
-_0207C842:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r6]
- add r1, r7, #0x0
- bl FUN_0200C63C
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x13
- bls _0207C842
- ldr r0, _0207CA30 ; =0x0000068C
- ldrsb r0, [r5, r0]
- cmp r0, #0x0
- beq _0207C86C
- cmp r0, #0x3
- beq _0207C8B4
- cmp r0, #0x5
- bne _0207C86A
- b _0207C96E
-_0207C86A:
- pop {r3-r7, pc}
-_0207C86C:
- ldr r0, _0207CA34 ; =0x00000434
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_0200C63C
- mov r0, #0x26
- lsl r0, r0, #0x4
- ldrb r1, [r5, r0]
- add r0, r0, #0x1
- ldrb r0, [r5, r0]
- cmp r1, r0
- ldr r0, _0207CA34 ; =0x00000434
- bne _0207C892
- ldr r0, [r5, r0]
- mov r1, #0xd8
- mov r2, #0x50
- bl FUN_0200C6E4
- pop {r3-r7, pc}
-_0207C892:
- ldr r0, [r5, r0]
- mov r1, #0xc7
- mov r2, #0x50
- bl FUN_0200C6E4
- ldr r0, _0207CA38 ; =0x00000438
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_0200C63C
- ldr r0, _0207CA38 ; =0x00000438
- mov r1, #0xe9
- ldr r0, [r5, r0]
- mov r2, #0x50
- bl FUN_0200C6E4
- pop {r3-r7, pc}
-_0207C8B4:
- mov r7, #0xa1
- mov r4, #0x0
- lsl r7, r7, #0x2
-_0207C8BA:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, r7]
- cmp r0, #0x0
- beq _0207C904
- mov r1, #0x3
- bl FUN_0206AB18
- add r3, r0, #0x0
- add r1, r4, #0x0
- add r1, #0xd
- add r2, r4, #0x5
- lsl r1, r1, #0x18
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0207CA6C
- lsl r0, r4, #0x2
- add r6, r5, r0
- ldr r0, _0207CA3C ; =0x0000043C
- mov r1, #0x1
- ldr r0, [r6, r0]
- bl FUN_0200C63C
- ldr r0, _0207CA3C ; =0x0000043C
- lsl r2, r4, #0x5
- add r2, #0x2a
- lsl r2, r2, #0x10
- ldr r0, [r6, r0]
- mov r1, #0x97
- asr r2, r2, #0x10
- bl FUN_0200C6E4
-_0207C904:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _0207C8BA
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0207C946
- mov r1, #0x3
- bl FUN_0206AB18
- add r3, r0, #0x0
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- mov r1, #0x11
- mov r2, #0x9
- lsr r3, r3, #0x18
- bl FUN_0207CA6C
- ldr r0, _0207CA40 ; =0x0000044C
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_0200C63C
- ldr r0, _0207CA40 ; =0x0000044C
- mov r1, #0x97
- ldr r0, [r5, r0]
- mov r2, #0xaa
- bl FUN_0200C6E4
-_0207C946:
- ldr r0, _0207CA34 ; =0x00000434
- mov r1, #0x3f
- ldr r0, [r5, r0]
- mov r2, #0x34
- bl FUN_0200C6E4
- ldr r0, _0207CA38 ; =0x00000438
- mov r1, #0x61
- ldr r0, [r5, r0]
- mov r2, #0x34
- bl FUN_0200C6E4
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x6c
- mov r2, #0x48
- bl FUN_0200C6E4
- pop {r3-r7, pc}
-_0207C96E:
- mov r7, #0xa1
- mov r4, #0x0
- lsl r7, r7, #0x2
-_0207C974:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, r7]
- cmp r0, #0x0
- beq _0207C9C0
- mov r1, #0xb
- bl FUN_0206AB18
- add r3, r0, #0x0
- add r1, r4, #0x0
- add r1, #0xd
- add r2, r4, #0x5
- add r3, #0x12
- lsl r1, r1, #0x18
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0207CA6C
- lsl r0, r4, #0x2
- add r6, r5, r0
- ldr r0, _0207CA3C ; =0x0000043C
- mov r1, #0x1
- ldr r0, [r6, r0]
- bl FUN_0200C63C
- ldr r0, _0207CA3C ; =0x0000043C
- lsl r2, r4, #0x5
- add r2, #0x2a
- lsl r2, r2, #0x10
- ldr r0, [r6, r0]
- mov r1, #0x97
- asr r2, r2, #0x10
- bl FUN_0200C6E4
-_0207C9C0:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x4
- blo _0207C974
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0207CA04
- mov r1, #0xb
- bl FUN_0206AB18
- add r3, r0, #0x0
- add r3, #0x12
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- mov r1, #0x11
- mov r2, #0x9
- lsr r3, r3, #0x18
- bl FUN_0207CA6C
- ldr r0, _0207CA40 ; =0x0000044C
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_0200C63C
- ldr r0, _0207CA40 ; =0x0000044C
- mov r1, #0x97
- ldr r0, [r5, r0]
- mov r2, #0xaa
- bl FUN_0200C6E4
-_0207CA04:
- ldr r0, _0207CA34 ; =0x00000434
- mov r1, #0x3f
- ldr r0, [r5, r0]
- mov r2, #0x34
- bl FUN_0200C6E4
- ldr r0, _0207CA38 ; =0x00000438
- mov r1, #0x61
- ldr r0, [r5, r0]
- mov r2, #0x34
- bl FUN_0200C6E4
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x6c
- mov r2, #0x48
- bl FUN_0200C6E4
- pop {r3-r7, pc}
- .balign 4
-_0207CA2C: .word 0x00000408
-_0207CA30: .word 0x0000068C
-_0207CA34: .word 0x00000434
-_0207CA38: .word 0x00000438
-_0207CA3C: .word 0x0000043C
-_0207CA40: .word 0x0000044C
-
- thumb_func_start FUN_0207CA44
-FUN_0207CA44: ; 0x0207CA44
- push {r4, lr}
- mov r3, #0x26
- add r4, r0, #0x0
- lsl r3, r3, #0x4
- ldrb r3, [r4, r3]
- mov r1, #0xb
- mov r2, #0x3
- bl FUN_0207CA6C
- ldr r3, _0207CA68 ; =0x00000261
- add r0, r4, #0x0
- ldrb r3, [r4, r3]
- mov r1, #0xc
- mov r2, #0x4
- bl FUN_0207CA6C
- pop {r4, pc}
- nop
-_0207CA68: .word 0x00000261
-
- thumb_func_start FUN_0207CA6C
-FUN_0207CA6C: ; 0x0207CA6C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0206E12C
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- bl FUN_0206E0F0
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r1, _0207CAB4 ; =0x00000404
- str r6, [sp, #0x4]
- lsl r0, r0, #0xa
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- ldr r2, [sp, #0x8]
- bl FUN_0200C9D8
- add r0, r7, #0x0
- bl FUN_0206E114
- add r2, r0, #0x0
- lsl r0, r4, #0x2
- add r1, r5, r0
- ldr r0, _0207CAB8 ; =0x00000408
- ldr r0, [r1, r0]
- add r1, r2, #0x3
- bl FUN_0200C664
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0207CAB4: .word 0x00000404
-_0207CAB8: .word 0x00000408
-
- thumb_func_start FUN_0207CABC
-FUN_0207CABC: ; 0x0207CABC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, r1, #0x0
- ldrb r0, [r0, #0x0]
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- lsl r0, r0, #0x5
- add r0, #0x2a
- lsl r0, r0, #0x10
- add r4, r3, #0x0
- asr r7, r0, #0x10
- mov r6, #0x0
-_0207CAD6:
- ldr r0, _0207CB04 ; =0x0000043C
- ldr r1, [sp, #0x4]
- ldr r0, [r5, r0]
- add r2, r4, #0x0
- bl FUN_0200C75C
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- cmp r7, r0
- bne _0207CAF2
- ldr r0, [sp, #0x0]
- add sp, #0x8
- strb r6, [r0, #0x0]
- pop {r3-r7, pc}
-_0207CAF2:
- add r0, r6, #0x1
- lsl r0, r0, #0x10
- asr r6, r0, #0x10
- add r5, r5, #0x4
- cmp r6, #0x4
- blt _0207CAD6
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0207CB04: .word 0x0000043C
-
- thumb_func_start FUN_0207CB08
-FUN_0207CB08: ; 0x0207CB08
- push {r0-r3}
- push {r4, lr}
- sub sp, #0x8
- add r2, sp, #0x4
- add r1, sp, #0x14
- add r2, #0x2
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_0207CABC
- add r2, sp, #0x0
- add r0, r4, #0x0
- add r1, sp, #0x18
- add r2, #0x2
- add r3, sp, #0x0
- bl FUN_0207CABC
- add r0, sp, #0x10
- ldrb r0, [r0, #0x4]
- add r3, sp, #0x0
- mov r2, #0x0
- add r0, #0xd
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldr r0, _0207CB6C ; =0x00000408
- ldrsh r2, [r3, r2]
- ldr r0, [r1, r0]
- mov r1, #0x2
- ldrsh r1, [r3, r1]
- bl FUN_0200C6E4
- add r0, sp, #0x10
- ldrb r0, [r0, #0x8]
- add r3, sp, #0x0
- mov r2, #0x4
- add r0, #0xd
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldr r0, _0207CB6C ; =0x00000408
- ldrsh r2, [r3, r2]
- ldr r0, [r1, r0]
- mov r1, #0x6
- ldrsh r1, [r3, r1]
- bl FUN_0200C6E4
- add sp, #0x8
- pop {r4}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-_0207CB6C: .word 0x00000408
-
- thumb_func_start FUN_0207CB70
-FUN_0207CB70: ; 0x0207CB70
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x1
- bl FUN_0206AB18
- add r4, r0, #0x0
- bl FUN_0206E2A8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0206E278
- mov r1, #0x1
- add r3, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xa
- str r0, [sp, #0x4]
- lsl r0, r1, #0xa
- ldr r1, _0207CBBC ; =0x00000404
- ldr r0, [r5, r0]
- ldr r1, [r5, r1]
- add r2, r6, #0x0
- bl FUN_0200C9D8
- add r0, r4, #0x0
- bl FUN_0206E290
- add r1, r0, #0x0
- mov r0, #0x45
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- add r1, r1, #0x3
- bl FUN_0200C664
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0207CBBC: .word 0x00000404
-
- thumb_func_start FUN_0207CBC0
-FUN_0207CBC0: ; 0x0207CBC0
- ldr r2, _0207CBDC ; =0x0000068D
- add r3, r0, #0x0
- ldrb r2, [r3, r2]
- ldr r0, _0207CBE0 ; =0x0000042C
- mov r1, #0xc2
- lsl r2, r2, #0x1c
- lsr r2, r2, #0x1c
- lsl r2, r2, #0x5
- ldr r0, [r3, r0]
- add r2, #0x30
- lsl r2, r2, #0x10
- ldr r3, _0207CBE4 ; =FUN_0200C6E4
- asr r2, r2, #0x10
- bx r3
- .balign 4
-_0207CBDC: .word 0x0000068D
-_0207CBE0: .word 0x0000042C
-_0207CBE4: .word FUN_0200C6E4
-
- thumb_func_start FUN_0207CBE8
-FUN_0207CBE8: ; 0x0207CBE8
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, _0207CC20 ; =0x0000042C
- add r1, sp, #0x0
- ldr r0, [r4, r0]
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_0200C75C
- mov r0, #0x43
- lsl r0, r0, #0x4
- add r3, sp, #0x0
- mov r1, #0x2
- mov r2, #0x0
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- mov r0, #0x43
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0207CC20: .word 0x0000042C
-
- thumb_func_start FUN_0207CC24
-FUN_0207CC24: ; 0x0207CC24
- push {r3-r7, lr}
- mov r2, #0x69
- lsl r2, r2, #0x4
- mov r1, #0x0
- strb r1, [r0, r2]
- add r3, r2, #0x3
- strb r1, [r0, r3]
- add r3, r2, #0x2
- strb r1, [r0, r3]
- ldr r3, _0207CC80 ; =0x0000029A
- ldrb r3, [r0, r3]
- cmp r3, #0x0
- bne _0207CC44
- add r2, r2, #0x1
- strb r1, [r0, r2]
- b _0207CC5A
-_0207CC44:
- cmp r3, #0xff
- bne _0207CC50
- mov r3, #0xc
- add r1, r2, #0x1
- strb r3, [r0, r1]
- b _0207CC5A
-_0207CC50:
- mov r1, #0xc
- mul r1, r3
- asr r3, r1, #0x8
- add r1, r2, #0x1
- strb r3, [r0, r1]
-_0207CC5A:
- ldr r7, _0207CC84 ; =0x00000408
- add r5, r0, #0x0
- mov r4, #0x1d
- add r5, #0x74
- add r6, r7, #0x0
-_0207CC64:
- ldr r0, [r5, r7]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, [r5, r6]
- mov r1, #0x0
- bl FUN_02020208
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x28
- bls _0207CC64
- pop {r3-r7, pc}
- nop
-_0207CC80: .word 0x0000029A
-_0207CC84: .word 0x00000408
-
- thumb_func_start FUN_0207CC88
-FUN_0207CC88: ; 0x0207CC88
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, _0207CE38 ; =0x0000068C
- ldrsb r1, [r4, r0]
- cmp r1, #0x4
- bne _0207CC9C
- add r1, r0, #0x5
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- bne _0207CC9E
-_0207CC9C:
- b _0207CE34
-_0207CC9E:
- add r2, r0, #0x4
- ldrb r2, [r4, r2]
- cmp r2, #0x4
- bhi _0207CCCC
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0207CCB2: ; jump table (using 16-bit offset)
- .short _0207CCBC - _0207CCB2 - 2; case 0
- .short _0207CCE0 - _0207CCB2 - 2; case 1
- .short _0207CD50 - _0207CCB2 - 2; case 2
- .short _0207CD70 - _0207CCB2 - 2; case 3
- .short _0207CDCA - _0207CCB2 - 2; case 4
-_0207CCBC:
- add r1, r0, #0x7
- ldrb r1, [r4, r1]
- add r2, r1, #0x1
- add r1, r0, #0x7
- strb r2, [r4, r1]
- ldrb r1, [r4, r1]
- cmp r1, #0x8
- beq _0207CCCE
-_0207CCCC:
- b _0207CDE8
-_0207CCCE:
- mov r2, #0x1
- add r1, r0, #0x4
- strb r2, [r4, r1]
- add r1, r0, #0x7
- mov r2, #0x0
- strb r2, [r4, r1]
- add r0, r0, #0x6
- strb r2, [r4, r0]
- b _0207CDE8
-_0207CCE0:
- add r1, r0, #0x7
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- bne _0207CD3E
- add r0, r0, #0x6
- ldrb r0, [r4, r0]
- add r0, #0x1d
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldr r0, _0207CE3C ; =0x00000408
- ldr r0, [r1, r0]
- mov r1, #0x1
- bl FUN_020200A0
- ldr r0, _0207CE40 ; =0x00000692
- ldrb r0, [r4, r0]
- add r0, #0x1d
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldr r0, _0207CE3C ; =0x00000408
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_02020208
- ldr r0, _0207CE40 ; =0x00000692
- ldrb r0, [r4, r0]
- add r0, #0x1d
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldr r0, _0207CE3C ; =0x00000408
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_02020130
- ldr r0, _0207CE40 ; =0x00000692
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- sub r1, r0, #0x1
- ldrb r2, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r2, r1
- bne _0207CD3E
- mov r1, #0x2
- sub r0, r0, #0x2
- strb r1, [r4, r0]
- b _0207CDE8
-_0207CD3E:
- ldr r0, _0207CE44 ; =0x00000693
- mov r1, #0xa
- ldrb r0, [r4, r0]
- add r0, r0, #0x1
- bl _s32_div_f
- ldr r0, _0207CE44 ; =0x00000693
- strb r1, [r4, r0]
- b _0207CDE8
-_0207CD50:
- add r1, #0x1c
- lsl r0, r1, #0x2
- add r1, r4, r0
- ldr r0, _0207CE3C ; =0x00000408
- ldr r0, [r1, r0]
- bl FUN_02020128
- cmp r0, #0x0
- bne _0207CDE8
- ldr r0, _0207CE44 ; =0x00000693
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r1, #0x3
- sub r0, r0, #0x3
- strb r1, [r4, r0]
- b _0207CDE8
-_0207CD70:
- add r1, r0, #0x7
- ldrb r1, [r4, r1]
- add r2, r1, #0x1
- add r1, r0, #0x7
- strb r2, [r4, r1]
- ldrb r1, [r4, r1]
- cmp r1, #0x20
- bne _0207CDE8
- add r0, r0, #0x5
- ldrb r0, [r4, r0]
- mov r6, #0x1d
- add r0, #0x1d
- cmp r0, #0x1d
- bls _0207CDBC
- add r5, r4, #0x0
- ldr r7, _0207CE48 ; =0x00000691
- add r5, #0x74
-_0207CD92:
- ldr r0, _0207CE3C ; =0x00000408
- mov r1, #0x1
- ldr r0, [r5, r0]
- bl FUN_020200A0
- ldr r0, _0207CE3C ; =0x00000408
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02020208
- ldr r0, _0207CE3C ; =0x00000408
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_02020130
- ldrb r0, [r4, r7]
- add r6, r6, #0x1
- add r5, r5, #0x4
- add r0, #0x1d
- cmp r6, r0
- blo _0207CD92
-_0207CDBC:
- ldr r0, _0207CE44 ; =0x00000693
- mov r1, #0x0
- strb r1, [r4, r0]
- mov r1, #0x4
- sub r0, r0, #0x3
- strb r1, [r4, r0]
- b _0207CDE8
-_0207CDCA:
- add r1, r0, #0x7
- ldrb r1, [r4, r1]
- add r2, r1, #0x1
- add r1, r0, #0x7
- strb r2, [r4, r1]
- ldrb r1, [r4, r1]
- cmp r1, #0x20
- bne _0207CDE8
- mov r2, #0x0
- add r1, r0, #0x4
- strb r2, [r4, r1]
- add r1, r0, #0x7
- strb r2, [r4, r1]
- add r0, r0, #0x6
- strb r2, [r4, r0]
-_0207CDE8:
- ldr r0, _0207CE48 ; =0x00000691
- mov r6, #0x1d
- ldrb r0, [r4, r0]
- add r0, #0x1d
- cmp r0, #0x1d
- bls _0207CE34
- add r5, r4, #0x0
- ldr r7, _0207CE3C ; =0x00000408
- add r5, #0x74
-_0207CDFA:
- ldr r0, [r5, r7]
- bl FUN_02020128
- cmp r0, #0x0
- beq _0207CE26
- ldr r0, _0207CE3C ; =0x00000408
- mov r1, #0x1
- ldr r0, [r5, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, _0207CE3C ; =0x00000408
- ldr r0, [r5, r0]
- bl FUN_0202022C
- cmp r0, #0x6
- bne _0207CE26
- ldr r0, _0207CE3C ; =0x00000408
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_020200A0
-_0207CE26:
- ldr r0, _0207CE48 ; =0x00000691
- add r6, r6, #0x1
- ldrb r0, [r4, r0]
- add r5, r5, #0x4
- add r0, #0x1d
- cmp r6, r0
- blo _0207CDFA
-_0207CE34:
- pop {r3-r7, pc}
- nop
-_0207CE38: .word 0x0000068C
-_0207CE3C: .word 0x00000408
-_0207CE40: .word 0x00000692
-_0207CE44: .word 0x00000693
-_0207CE48: .word 0x00000691
-
- thumb_func_start FUN_0207CE4C
-FUN_0207CE4C: ; 0x0207CE4C
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
- mov r7, #0x1
-_0207CE56:
- mov r0, #0xa7
- lsl r0, r0, #0x2
- ldrh r1, [r6, r0]
- add r0, r7, #0x0
- lsl r0, r4
- tst r0, r1
- ldr r0, _0207CED4 ; =0x00000464
- beq _0207CE70
- ldr r0, [r5, r0]
- add r1, r7, #0x0
- bl FUN_02020130
- b _0207CE78
-_0207CE70:
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02020130
-_0207CE78:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x6
- blo _0207CE56
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- lsl r1, r0, #0x2
- lsr r1, r1, #0x1f
- cmp r1, #0x1
- bne _0207CEA0
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- bne _0207CEA0
- ldr r0, _0207CED8 ; =0x000004DC
- mov r1, #0x1
- ldr r0, [r6, r0]
- bl FUN_0200C63C
- b _0207CEAA
-_0207CEA0:
- ldr r0, _0207CED8 ; =0x000004DC
- mov r1, #0x0
- ldr r0, [r6, r0]
- bl FUN_0200C63C
-_0207CEAA:
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- lsr r0, r0, #0x1e
- cmp r0, #0x2
- bne _0207CEC4
- mov r0, #0x4e
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- mov r1, #0x1
- bl FUN_0200C63C
- pop {r3-r7, pc}
-_0207CEC4:
- mov r0, #0x4e
- lsl r0, r0, #0x4
- ldr r0, [r6, r0]
- mov r1, #0x0
- bl FUN_0200C63C
- pop {r3-r7, pc}
- nop
-_0207CED4: .word 0x00000464
-_0207CED8: .word 0x000004DC
-
- thumb_func_start FUN_0207CEDC
-FUN_0207CEDC: ; 0x0207CEDC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, _0207CF50 ; =0x000004AC
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207CF50 ; =0x000004AC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_02020208
- ldr r0, _0207CF50 ; =0x000004AC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_02020130
- add r1, sp, #0x0
- add r0, r4, #0x0
- add r1, #0x2
- add r2, sp, #0x0
- bl FUN_0207FC04
- ldr r0, _0207CF54 ; =0x0000068F
- add r3, sp, #0x0
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- ldr r0, _0207CF50 ; =0x000004AC
- bne _0207CF32
- mov r2, #0x0
- ldrsh r2, [r3, r2]
- mov r1, #0x2
- ldrsh r1, [r3, r1]
- add r2, #0xc0
- lsl r2, r2, #0x10
- ldr r0, [r4, r0]
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- add sp, #0x4
- pop {r3-r4, pc}
-_0207CF32:
- mov r1, #0x2
- mov r2, #0x0
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- ldr r0, [r4, r0]
- sub r1, r1, #0x4
- add r2, #0xc0
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0207CF50: .word 0x000004AC
-_0207CF54: .word 0x0000068F
-
- thumb_func_start FUN_0207CF58
-FUN_0207CF58: ; 0x0207CF58
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207CF74 ; =0x000004AC
- ldr r0, [r4, r0]
- bl FUN_0202022C
- cmp r0, #0x2
- bne _0207CF72
- ldr r0, _0207CF74 ; =0x000004AC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
-_0207CF72:
- pop {r4, pc}
- .balign 4
-_0207CF74: .word 0x000004AC
-
- thumb_func_start FUN_0207CF78
-FUN_0207CF78: ; 0x0207CF78
- push {r3-r7, lr}
- ldr r7, _0207CFA8 ; =0x0000068E
- add r5, r0, #0x0
- mov r4, #0x0
- mov r6, #0x1
-_0207CF82:
- add r0, r6, #0x0
- ldrb r1, [r5, r7]
- lsl r0, r4
- tst r0, r1
- beq _0207CF9C
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x4b
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- add r1, r6, #0x0
- bl FUN_020200A0
-_0207CF9C:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x5
- blo _0207CF82
- pop {r3-r7, pc}
- .balign 4
-_0207CFA8: .word 0x0000068E
-
- thumb_func_start FUN_0207CFAC
-FUN_0207CFAC: ; 0x0207CFAC
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x0
- bne _0207CFC0
- ldr r0, _0207CFE8 ; =0x000004C4
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
-_0207CFC0:
- add r0, r1, #0x0
- bl FUN_0201AB14
- add r1, r0, #0x0
- ldr r0, _0207CFE8 ; =0x000004C4
- lsl r1, r1, #0x3
- sub r1, #0xa
- lsl r1, r1, #0x10
- ldr r0, [r4, r0]
- asr r1, r1, #0x10
- mov r2, #0x8
- bl FUN_0200C6E4
- ldr r0, _0207CFE8 ; =0x000004C4
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
- nop
-_0207CFE8: .word 0x000004C4
-
- thumb_func_start FUN_0207CFEC
-FUN_0207CFEC: ; 0x0207CFEC
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_0207B628
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldrb r1, [r1, #0x11]
- cmp r1, #0x2
- bne _0207D008
- bl FUN_0206B688
- b _0207D00C
-_0207D008:
- bl FUN_0206B6C8
-_0207D00C:
- add r3, r0, #0x0
- mov r0, #0x0
- mov r1, #0x1
- str r0, [sp, #0x0]
- mov r0, #0xb
- lsl r1, r1, #0xa
- str r0, [sp, #0x4]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- mov r2, #0x13
- bl FUN_0200C9D8
- mov r2, #0x97
- lsl r2, r2, #0x2
- add r1, r2, #0x0
- ldrh r0, [r4, r2]
- add r2, #0x44
- add r1, #0x42
- ldr r2, [r4, r2]
- ldrh r1, [r4, r1]
- lsl r2, r2, #0x3
- lsr r2, r2, #0x1f
- bl FUN_0206B7BC
- add r1, r0, #0x0
- ldr r0, _0207D068 ; =0x00000454
- add r1, r1, #0x7
- ldr r0, [r4, r0]
- bl FUN_0200C664
- mov r0, #0x97
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- mov r1, #0x1c
- bl FUN_02068678
- add r2, r0, #0x0
- ldr r0, _0207D068 ; =0x00000454
- mov r1, #0x1
- ldr r0, [r4, r0]
- eor r1, r2
- bl FUN_02020100
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_0207D068: .word 0x00000454
-
- thumb_func_start FUN_0207D06C
-FUN_0207D06C: ; 0x0207D06C
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_0206B888
- add r3, r0, #0x0
- mov r0, #0x0
- mov r1, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x5
- lsl r1, r1, #0xa
- str r0, [sp, #0x4]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- mov r2, #0x13
- bl FUN_0200CA0C
- ldr r0, _0207D0C0 ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x3
- ldr r0, _0207D0C4 ; =0x00000454
- bne _0207D0A6
- ldr r0, [r4, r0]
- mov r1, #0x18
- mov r2, #0x30
- bl FUN_0200C6E4
- b _0207D0B0
-_0207D0A6:
- ldr r0, [r4, r0]
- mov r1, #0x20
- mov r2, #0x44
- bl FUN_0200C6E4
-_0207D0B0:
- ldr r0, _0207D0C4 ; =0x00000454
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_0200C63C
- add sp, #0x8
- pop {r4, pc}
- nop
-_0207D0C0: .word 0x0000068C
-_0207D0C4: .word 0x00000454
-
- thumb_func_start FUN_0207D0C8
-FUN_0207D0C8: ; 0x0207D0C8
- push {r4, lr}
- add r4, r2, #0x0
- cmp r4, r1
- ble _0207D0EE
- add r0, #0x2c
- sub r1, r4, r1
- mul r1, r0
- lsl r0, r1, #0x10
- mov r1, #0x4b
- lsl r1, r1, #0x2
- bl _u32_div_f
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- sub r0, r4, r0
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- pop {r4, pc}
-_0207D0EE:
- add r0, #0x2c
- sub r1, r1, r4
- mul r1, r0
- lsl r0, r1, #0x10
- mov r1, #0x4b
- lsl r1, r1, #0x2
- bl _u32_div_f
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add r0, r4, r0
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_0207D10C
-FUN_0207D10C: ; 0x0207D10C
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _0207D20C ; =0x00000295
- mov r1, #0x58
- ldrb r0, [r4, r0]
- add r2, r1, #0x0
- bl FUN_0207D0C8
- add r5, r0, #0x0
- ldr r0, _0207D20C ; =0x00000295
- mov r1, #0x31
- ldrb r0, [r4, r0]
- mov r2, #0x49
- bl FUN_0207D0C8
- add r2, r0, #0x0
- ldr r0, _0207D210 ; =0x000004C8
- add r1, r5, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- ldr r0, _0207D214 ; =0x00000296
- mov r1, #0x6e
- ldrb r0, [r4, r0]
- mov r2, #0x58
- bl FUN_0207D0C8
- add r5, r0, #0x0
- ldr r0, _0207D214 ; =0x00000296
- mov r1, #0x41
- ldrb r0, [r4, r0]
- mov r2, #0x49
- bl FUN_0207D0C8
- add r2, r0, #0x0
- ldr r0, _0207D218 ; =0x000004CC
- add r1, r5, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- ldr r0, _0207D21C ; =0x00000297
- mov r1, #0x67
- ldrb r0, [r4, r0]
- mov r2, #0x58
- bl FUN_0207D0C8
- add r5, r0, #0x0
- ldr r0, _0207D21C ; =0x00000297
- mov r1, #0x5c
- ldrb r0, [r4, r0]
- mov r2, #0x49
- bl FUN_0207D0C8
- add r2, r0, #0x0
- mov r0, #0x4d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- add r1, r5, #0x0
- bl FUN_0200C6E4
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- mov r1, #0x48
- mov r2, #0x57
- bl FUN_0207D0C8
- add r5, r0, #0x0
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- mov r1, #0x5c
- mov r2, #0x49
- bl FUN_0207D0C8
- add r2, r0, #0x0
- ldr r0, _0207D220 ; =0x000004D4
- add r1, r5, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- ldr r0, _0207D224 ; =0x00000299
- mov r1, #0x41
- ldrb r0, [r4, r0]
- mov r2, #0x57
- bl FUN_0207D0C8
- add r5, r0, #0x0
- ldr r0, _0207D224 ; =0x00000299
- mov r1, #0x41
- ldrb r0, [r4, r0]
- mov r2, #0x49
- bl FUN_0207D0C8
- add r2, r0, #0x0
- ldr r0, _0207D228 ; =0x000004D8
- add r1, r5, #0x0
- ldr r0, [r4, r0]
- bl FUN_0200C6E4
- ldr r0, _0207D210 ; =0x000004C8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207D218 ; =0x000004CC
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x4d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x1
- bl FUN_020200A0
- ldr r0, _0207D220 ; =0x000004D4
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207D228 ; =0x000004D8
- mov r1, #0x1
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r3-r5, pc}
- nop
-_0207D20C: .word 0x00000295
-_0207D210: .word 0x000004C8
-_0207D214: .word 0x00000296
-_0207D218: .word 0x000004CC
-_0207D21C: .word 0x00000297
-_0207D220: .word 0x000004D4
-_0207D224: .word 0x00000299
-_0207D228: .word 0x000004D8
-
- thumb_func_start FUN_0207D22C
-FUN_0207D22C: ; 0x0207D22C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207D268 ; =0x000004C8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207D26C ; =0x000004CC
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- mov r0, #0x4d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_020200A0
- ldr r0, _0207D270 ; =0x000004D4
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- ldr r0, _0207D274 ; =0x000004D8
- mov r1, #0x0
- ldr r0, [r4, r0]
- bl FUN_020200A0
- pop {r4, pc}
- nop
-_0207D268: .word 0x000004C8
-_0207D26C: .word 0x000004CC
-_0207D270: .word 0x000004D4
-_0207D274: .word 0x000004D8
-
- thumb_func_start FUN_0207D278
-FUN_0207D278: ; 0x0207D278
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x1
- add r4, r2, #0x0
- bl FUN_0207FC5C
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x1
- add r0, #0x1a
- lsl r1, r1, #0xa
- str r0, [sp, #0x4]
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- mov r2, #0x27
- bl FUN_0200C9D8
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_0207FC5C
- add r4, #0x37
- add r2, r0, #0x0
- lsl r0, r4, #0x2
- add r1, r5, r0
- ldr r0, _0207D2C4 ; =0x00000408
- ldr r0, [r1, r0]
- add r1, r2, #0x7
- bl FUN_0200C664
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0207D2C4: .word 0x00000408
-
- thumb_func_start FUN_0207D2C8
-FUN_0207D2C8: ; 0x0207D2C8
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r6, _0207D354 ; =0x00000408
- add r5, r0, #0x0
- mov r4, #0x37
- mov r7, #0x0
-_0207D2D4:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r6]
- add r1, r7, #0x0
- bl FUN_020200A0
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x46
- bls _0207D2D4
- ldr r0, _0207D358 ; =0x0000068C
- ldrsb r0, [r5, r0]
- cmp r0, #0x6
- bne _0207D350
- mov r0, #0x0
- mov r1, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x5
- lsl r1, r1, #0xa
- str r0, [sp, #0x4]
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- mov r2, #0x27
- mov r3, #0x88
- bl FUN_0200CA0C
- ldr r7, _0207D35C ; =0x000004E4
- ldr r6, _0207D360 ; =0x00000699
- mov r4, #0x0
-_0207D312:
- ldrb r0, [r5, r6]
- cmp r4, r0
- bge _0207D33A
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r7]
- mov r1, #0x1
- bl FUN_020200A0
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0207C1E8
- lsl r2, r4, #0x18
- add r1, r0, #0x0
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_0207D278
-_0207D33A:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0xc
- blo _0207D312
- mov r0, #0x52
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02020130
-_0207D350:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0207D354: .word 0x00000408
-_0207D358: .word 0x0000068C
-_0207D35C: .word 0x000004E4
-_0207D360: .word 0x00000699
-
- thumb_func_start FUN_0207D364
-FUN_0207D364: ; 0x0207D364
- push {r3-r7, lr}
- ldr r7, _0207D3BC ; =0x00000698
- add r5, r0, #0x0
- mov r4, #0x0
- add r6, r7, #0x1
-_0207D36E:
- ldrb r0, [r5, r7]
- lsl r0, r0, #0x2
- add r1, r4, r0
- ldrb r0, [r5, r6]
- cmp r1, r0
- bge _0207D3A0
- lsl r0, r4, #0x2
- add r1, r5, r0
- ldr r0, _0207D3C0 ; =0x000004E4
- ldr r0, [r1, r0]
- mov r1, #0x1
- bl FUN_020200A0
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0207C1E8
- lsl r2, r4, #0x18
- add r1, r0, #0x0
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_0207D278
- b _0207D3AE
-_0207D3A0:
- lsl r0, r4, #0x2
- add r1, r5, r0
- ldr r0, _0207D3C0 ; =0x000004E4
- ldr r0, [r1, r0]
- mov r1, #0x0
- bl FUN_020200A0
-_0207D3AE:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x8
- blo _0207D36E
- pop {r3-r7, pc}
- nop
-_0207D3BC: .word 0x00000698
-_0207D3C0: .word 0x000004E4
-
- thumb_func_start FUN_0207D3C4
-FUN_0207D3C4: ; 0x0207D3C4
- ldr r1, _0207D3E8 ; =0x00000697
- ldrb r2, [r0, r1]
- ldr r1, _0207D3EC ; =0x00000514
- ldr r0, [r0, r1]
- lsl r1, r2, #0x1e
- lsr r3, r2, #0x2
- mov r2, #0x28
- mul r2, r3
- lsr r1, r1, #0x19
- add r1, #0x84
- add r2, #0x38
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- ldr r3, _0207D3F0 ; =FUN_0200C6E4
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- bx r3
- nop
-_0207D3E8: .word 0x00000697
-_0207D3EC: .word 0x00000514
-_0207D3F0: .word FUN_0200C6E4
-
- thumb_func_start FUN_0207D3F4
-FUN_0207D3F4: ; 0x0207D3F4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x52
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02020128
- cmp r0, #0x1
- bne _0207D414
- mov r0, #0x52
- lsl r0, r0, #0x4
- mov r1, #0x1
- ldr r0, [r4, r0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
-_0207D414:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207D418
-FUN_0207D418: ; 0x0207D418
- push {r3-r7, lr}
- add r5, r0, #0x0
- cmp r1, #0x0
- bne _0207D43E
- mov r4, #0x0
- ldr r6, _0207D4C0 ; =0x00000524
- add r7, r4, #0x0
-_0207D426:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r6]
- add r1, r7, #0x0
- bl FUN_020200A0
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x5
- blo _0207D426
- pop {r3-r7, pc}
-_0207D43E:
- ldr r0, _0207D4C4 ; =0x00000295
- ldrb r1, [r5, r0]
- add r0, r0, #0x1
- ldrb r0, [r5, r0]
- add r4, r1, #0x0
- cmp r1, r0
- bge _0207D44E
- add r4, r0, #0x0
-_0207D44E:
- ldr r0, _0207D4C8 ; =0x00000297
- ldrb r0, [r5, r0]
- cmp r4, r0
- bge _0207D458
- add r4, r0, #0x0
-_0207D458:
- mov r0, #0xa6
- lsl r0, r0, #0x2
- ldrb r0, [r5, r0]
- cmp r4, r0
- bge _0207D464
- add r4, r0, #0x0
-_0207D464:
- ldr r0, _0207D4CC ; =0x00000299
- ldrb r0, [r5, r0]
- cmp r4, r0
- bge _0207D46E
- add r4, r0, #0x0
-_0207D46E:
- ldr r0, _0207D4C0 ; =0x00000524
- ldr r3, _0207D4D0 ; =0x020FA75C
- ldr r0, [r5, r0]
- add r2, r4, #0x0
- bl FUN_0207D4F4
- ldr r1, _0207D4D4 ; =0x00000296
- ldr r0, _0207D4D8 ; =0x00000528
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- ldr r3, _0207D4DC ; =0x020FA764
- add r2, r4, #0x0
- bl FUN_0207D4F4
- ldr r1, _0207D4C8 ; =0x00000297
- ldr r0, _0207D4E0 ; =0x0000052C
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- ldr r3, _0207D4E4 ; =0x020FA76C
- add r2, r4, #0x0
- bl FUN_0207D4F4
- mov r1, #0x53
- lsl r1, r1, #0x4
- ldr r0, [r5, r1]
- lsr r1, r1, #0x1
- ldrb r1, [r5, r1]
- ldr r3, _0207D4E8 ; =0x020FA774
- add r2, r4, #0x0
- bl FUN_0207D4F4
- ldr r1, _0207D4CC ; =0x00000299
- ldr r0, _0207D4EC ; =0x00000534
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- ldr r3, _0207D4F0 ; =0x020FA77C
- add r2, r4, #0x0
- bl FUN_0207D4F4
- pop {r3-r7, pc}
- nop
-_0207D4C0: .word 0x00000524
-_0207D4C4: .word 0x00000295
-_0207D4C8: .word 0x00000297
-_0207D4CC: .word 0x00000299
-_0207D4D0: .word 0x020FA75C
-_0207D4D4: .word 0x00000296
-_0207D4D8: .word 0x00000528
-_0207D4DC: .word 0x020FA764
-_0207D4E0: .word 0x0000052C
-_0207D4E4: .word 0x020FA76C
-_0207D4E8: .word 0x020FA774
-_0207D4EC: .word 0x00000534
-_0207D4F0: .word 0x020FA77C
-
- thumb_func_start FUN_0207D4F4
-FUN_0207D4F4: ; 0x0207D4F4
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, r3, #0x0
- cmp r5, #0x0
- beq _0207D504
- cmp r5, r2
- beq _0207D50E
-_0207D504:
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_020200A0
- pop {r4-r6, pc}
-_0207D50E:
- mov r1, #0x1
- bl FUN_020200A0
- mov r0, #0x0
- ldrsh r1, [r4, r0]
- mov r0, #0x4
- ldrsh r0, [r4, r0]
- cmp r1, r0
- blt _0207D534
- sub r1, r1, r0
- lsl r2, r1, #0x8
- asr r1, r2, #0x7
- lsr r1, r1, #0x18
- add r1, r2, r1
- asr r1, r1, #0x8
- mul r1, r5
- lsr r1, r1, #0x8
- add r1, r0, r1
- b _0207D546
-_0207D534:
- sub r1, r0, r1
- lsl r2, r1, #0x8
- asr r1, r2, #0x7
- lsr r1, r1, #0x18
- add r1, r2, r1
- asr r1, r1, #0x8
- mul r1, r5
- lsr r1, r1, #0x8
- sub r1, r0, r1
-_0207D546:
- mov r0, #0x2
- ldrsh r2, [r4, r0]
- mov r0, #0x6
- ldrsh r0, [r4, r0]
- cmp r2, r0
- blt _0207D566
- sub r2, r2, r0
- lsl r3, r2, #0x8
- asr r2, r3, #0x7
- lsr r2, r2, #0x18
- add r2, r3, r2
- asr r2, r2, #0x8
- mul r2, r5
- lsr r2, r2, #0x8
- add r2, r0, r2
- b _0207D578
-_0207D566:
- sub r2, r0, r2
- lsl r3, r2, #0x8
- asr r2, r3, #0x7
- lsr r2, r2, #0x18
- add r2, r3, r2
- asr r2, r2, #0x8
- mul r2, r5
- lsr r2, r2, #0x8
- sub r2, r0, r2
-_0207D578:
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- add r0, r6, #0x0
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- bl FUN_0200C6E4
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02020208
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02020130
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0207D598
-FUN_0207D598: ; 0x0207D598
- push {r3-r7, lr}
- mov r7, #0x1
- ldr r6, _0207D5B8 ; =0x00000524
- add r5, r0, #0x0
- mov r4, #0x0
- lsl r7, r7, #0xc
-_0207D5A4:
- ldr r0, [r5, r6]
- add r1, r7, #0x0
- bl FUN_020201E4
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x5
- blo _0207D5A4
- pop {r3-r7, pc}
- nop
-_0207D5B8: .word 0x00000524
-
- thumb_func_start FUN_0207D5BC
-FUN_0207D5BC: ; 0x0207D5BC
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r5, #0x0
- add r4, r7, #0x4
-_0207D5C4:
- ldr r2, _0207D600 ; =0x020FB4AC
- lsl r6, r5, #0x4
- lsl r3, r5, #0x3
- ldr r0, [r7, #0x0]
- add r1, r4, r6
- add r2, r2, r3
- bl FUN_02019150
- add r0, r4, r6
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x24
- blo _0207D5C4
- add r0, r7, #0x0
- bl FUN_0207DB78
- add r0, r7, #0x0
- bl FUN_0207D768
- add r0, r7, #0x0
- bl FUN_0207D800
- add r0, r7, #0x0
- bl FUN_0207D8A0
- pop {r3-r7, pc}
- .balign 4
-_0207D600: .word 0x020FB4AC
-
- thumb_func_start FUN_0207D604
-FUN_0207D604: ; 0x0207D604
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, _0207D6D8 ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x7
- bhi _0207D6D4
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207D61C: ; jump table (using 16-bit offset)
- .short _0207D62C - _0207D61C - 2; case 0
- .short _0207D638 - _0207D61C - 2; case 1
- .short _0207D644 - _0207D61C - 2; case 2
- .short _0207D650 - _0207D61C - 2; case 3
- .short _0207D674 - _0207D61C - 2; case 4
- .short _0207D65C - _0207D61C - 2; case 5
- .short _0207D668 - _0207D61C - 2; case 6
- .short _0207D674 - _0207D61C - 2; case 7
-_0207D62C:
- mov r0, #0x92
- mov r1, #0x6
- lsl r0, r0, #0x2
- ldr r5, _0207D6DC ; =0x020FB3FC
- str r1, [r4, r0]
- b _0207D692
-_0207D638:
- mov r0, #0x92
- mov r1, #0x1
- lsl r0, r0, #0x2
- ldr r5, _0207D6E0 ; =0x020FB38C
- str r1, [r4, r0]
- b _0207D692
-_0207D644:
- mov r0, #0x92
- mov r1, #0x8
- lsl r0, r0, #0x2
- ldr r5, _0207D6E4 ; =0x020FB42C
- str r1, [r4, r0]
- b _0207D692
-_0207D650:
- mov r0, #0x92
- mov r1, #0x8
- lsl r0, r0, #0x2
- ldr r5, _0207D6E8 ; =0x020FB46C
- str r1, [r4, r0]
- b _0207D692
-_0207D65C:
- mov r0, #0x92
- mov r1, #0x6
- lsl r0, r0, #0x2
- ldr r5, _0207D6EC ; =0x020FB3CC
- str r1, [r4, r0]
- b _0207D692
-_0207D668:
- mov r0, #0x92
- mov r1, #0x4
- lsl r0, r0, #0x2
- ldr r5, _0207D6F0 ; =0x020FB3AC
- str r1, [r4, r0]
- b _0207D692
-_0207D674:
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x3
- beq _0207D684
- cmp r0, #0x4
- bne _0207D6D4
-_0207D684:
- mov r0, #0x92
- mov r1, #0x3
- lsl r0, r0, #0x2
- ldr r5, _0207D6F4 ; =0x020FB394
- str r1, [r4, r0]
- b _0207D692
-_0207D690:
- pop {r3-r7, pc}
-_0207D692:
- mov r1, #0x92
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r0, #0x13
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02018FF4
- mov r1, #0x91
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r1, #0x4
- ldr r0, [r4, r0]
- mov r6, #0x0
- cmp r0, #0x0
- bls _0207D6D4
- add r7, r6, #0x0
-_0207D6B4:
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r0, [r4, #0x0]
- add r1, r1, r7
- add r2, r5, #0x0
- bl FUN_02019150
- mov r0, #0x92
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r6, r6, #0x1
- add r5, #0x8
- add r7, #0x10
- cmp r6, r0
- blo _0207D6B4
-_0207D6D4:
- pop {r3-r7, pc}
- nop
-_0207D6D8: .word 0x0000068C
-_0207D6DC: .word 0x020FB3FC
-_0207D6E0: .word 0x020FB38C
-_0207D6E4: .word 0x020FB42C
-_0207D6E8: .word 0x020FB46C
-_0207D6EC: .word 0x020FB3CC
-_0207D6F0: .word 0x020FB3AC
-_0207D6F4: .word 0x020FB394
-
- thumb_func_start FUN_0207D6F8
-FUN_0207D6F8: ; 0x0207D6F8
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _0207D748 ; =0x0000068C
- ldrsb r0, [r1, r0]
- cmp r0, #0x7
- bhi _0207D744
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207D710: ; jump table (using 16-bit offset)
- .short _0207D732 - _0207D710 - 2; case 0
- .short _0207D732 - _0207D710 - 2; case 1
- .short _0207D732 - _0207D710 - 2; case 2
- .short _0207D732 - _0207D710 - 2; case 3
- .short _0207D720 - _0207D710 - 2; case 4
- .short _0207D732 - _0207D710 - 2; case 5
- .short _0207D732 - _0207D710 - 2; case 6
- .short _0207D720 - _0207D710 - 2; case 7
-_0207D720:
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x3
- beq _0207D732
- cmp r0, #0x4
- beq _0207D732
- pop {r3, pc}
-_0207D732:
- mov r2, #0x91
- lsl r2, r2, #0x2
- ldr r0, [r1, r2]
- add r2, r2, #0x4
- ldr r1, [r1, r2]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_020191A4
-_0207D744:
- pop {r3, pc}
- nop
-_0207D748: .word 0x0000068C
-
- thumb_func_start FUN_0207D74C
-FUN_0207D74C: ; 0x0207D74C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0207D6F8
- mov r4, #0x0
- add r5, r5, #0x4
-_0207D758:
- add r0, r5, #0x0
- bl FUN_02019178
- add r4, r4, #0x1
- add r5, #0x10
- cmp r4, #0x24
- blo _0207D758
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0207D768
-FUN_0207D768: ; 0x0207D768
- push {r3-r5, lr}
- sub sp, #0x10
- mov r4, #0x89
- add r5, r0, #0x0
- lsl r4, r4, #0x2
- add r0, r5, r4
- mov r1, #0x0
- bl FUN_02019620
- mov r1, #0x0
- add r2, r4, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207D7F4 ; =0x000F0E00
- add r2, #0x30
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- add r0, r5, r4
- add r3, r1, #0x0
- bl FUN_0201BDE0
- add r0, r4, #0x0
- add r0, #0x3e
- ldrb r1, [r5, r0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1f
- bne _0207D7E8
- add r0, r0, #0x1
- ldrb r0, [r5, r0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- bne _0207D7CA
- ldr r2, _0207D7F8 ; =0x00000674
- mov r1, #0x1
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- mov r2, #0xc1
- add r0, r5, #0x0
- add r1, r5, r4
- lsl r2, r2, #0xa
- mov r3, #0x1
- bl FUN_0207D998
- b _0207D7E8
-_0207D7CA:
- cmp r0, #0x1
- bne _0207D7E8
- ldr r2, _0207D7F8 ; =0x00000674
- mov r1, #0x2
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- ldr r2, _0207D7FC ; =0x00050600
- add r0, r5, #0x0
- add r1, r5, r4
- mov r3, #0x1
- bl FUN_0207D998
-_0207D7E8:
- add r0, r5, r4
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_0207D7F4: .word 0x000F0E00
-_0207D7F8: .word 0x00000674
-_0207D7FC: .word 0x00050600
-
- thumb_func_start FUN_0207D800
-FUN_0207D800: ; 0x0207D800
- push {r4-r6, lr}
- sub sp, #0x10
- mov r6, #0x85
- add r5, r0, #0x0
- lsl r6, r6, #0x2
- add r0, r5, r6
- mov r1, #0x0
- bl FUN_02019620
- add r0, r6, #0x0
- add r0, #0x8c
- ldr r0, [r5, r0]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- bne _0207D88A
- mov r0, #0x5
- str r0, [sp, #0x0]
- mov r0, #0x67
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r1, #0x1
- add r2, r5, r6
- mov r3, #0x0
- bl FUN_0200B9A8
- ldr r0, _0207D894 ; =0x00000674
- mov r1, #0x3
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x0
- add r4, r0, #0x0
- add r2, r6, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r2, #0x4e
- ldrb r2, [r5, r2]
- ldr r0, _0207D898 ; =0x0000067C
- mov r3, #0x3
- lsl r2, r2, #0x19
- ldr r0, [r5, r0]
- lsr r2, r2, #0x19
- bl FUN_0200AD38
- ldr r1, _0207D898 ; =0x0000067C
- add r2, r4, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x0
- mov r2, #0x1a
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207D89C ; =0x00010200
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r5, r2]
- add r0, r5, r6
- mov r3, #0x10
- bl FUN_0201BDE0
-_0207D88A:
- add r0, r5, r6
- bl FUN_02019220
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0207D894: .word 0x00000674
-_0207D898: .word 0x0000067C
-_0207D89C: .word 0x00010200
-
- thumb_func_start FUN_0207D8A0
-FUN_0207D8A0: ; 0x0207D8A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02019620
- ldr r0, _0207D918 ; =0x0000025E
- ldrh r2, [r5, r0]
- cmp r2, #0x0
- beq _0207D8E4
- ldr r0, _0207D91C ; =0x0000067C
- mov r1, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200AE38
- ldr r0, _0207D920 ; =0x00000674
- mov r1, #0x5
- ldr r0, [r5, r0]
- bl FUN_0200A914
- add r4, r0, #0x0
- ldr r1, _0207D91C ; =0x0000067C
- add r2, r4, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- b _0207D8F2
-_0207D8E4:
- ldr r2, _0207D920 ; =0x00000674
- mov r1, #0x6
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
-_0207D8F2:
- mov r2, #0x81
- lsl r2, r2, #0x2
- add r1, r5, r2
- add r0, r5, #0x0
- lsl r2, r2, #0x7
- mov r3, #0x0
- bl FUN_0207D998
- add r0, r5, #0x0
- add r0, #0x64
- bl FUN_02019220
- mov r0, #0x81
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- pop {r3-r5, pc}
- nop
-_0207D918: .word 0x0000025E
-_0207D91C: .word 0x0000067C
-_0207D920: .word 0x00000674
-
- thumb_func_start FUN_0207D924
-FUN_0207D924: ; 0x0207D924
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r4, r1, #0x0
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207D954 ; =0x000F0E00
- add r0, r5, #0x0
- mov r1, #0x23
- add r2, r4, #0x0
- bl FUN_0207DA1C
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- pop {r3-r5, pc}
- nop
-_0207D954: .word 0x000F0E00
-
- thumb_func_start FUN_0207D958
-FUN_0207D958: ; 0x0207D958
- push {r4, lr}
- mov r3, #0x93
- lsl r3, r3, #0x2
- add r1, r0, #0x0
- add r2, r3, #0x0
- add r2, #0x18
- ldr r0, [r1, r3]
- ldr r4, [r1, r2]
- ldr r2, [r0, #0xc]
- cmp r4, r2
- bne _0207D98E
- add r2, r3, #0x0
- add r2, #0x48
- ldrb r2, [r1, r2]
- ldrb r0, [r0, #0x10]
- cmp r2, r0
- bne _0207D98E
- ldr r2, _0207D994 ; =0x00000684
- add r3, #0xc
- ldr r0, [r1, r3]
- ldr r1, [r1, r2]
- bl FUN_02021CE0
- cmp r0, #0x0
- bne _0207D98E
- mov r0, #0x1
- pop {r4, pc}
-_0207D98E:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0207D994: .word 0x00000684
-
- thumb_func_start FUN_0207D998
-FUN_0207D998: ; 0x0207D998
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- cmp r3, #0x0
- beq _0207D9B0
- cmp r3, #0x1
- beq _0207D9B4
- cmp r3, #0x2
- beq _0207D9D8
- b _0207D9FE
-_0207D9B0:
- mov r3, #0x0
- b _0207D9FE
-_0207D9B4:
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r6, #0x0
- bl FUN_0201AB0C
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x18
- sub r0, r0, r5
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- b _0207D9FE
-_0207D9D8:
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- add r0, r6, #0x0
- bl FUN_0201AB0C
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x18
- sub r1, r0, r5
- lsr r0, r1, #0x1f
- add r0, r1, r0
- lsl r0, r0, #0x17
- lsr r3, r0, #0x18
-_0207D9FE:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- str r7, [sp, #0x8]
- mov r2, #0x1a
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- add r0, r6, #0x0
- bl FUN_0201BDE0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207DA1C
-FUN_0207DA1C: ; 0x0207DA1C
- push {r4-r6, lr}
- add r6, r3, #0x0
- ldr r3, _0207DA44 ; =0x00000674
- add r5, r0, #0x0
- ldr r0, [r5, r3]
- add r4, r1, #0x0
- add r3, #0xc
- add r1, r2, #0x0
- ldr r2, [r5, r3]
- bl FUN_0200A8E0
- add r2, r5, #0x4
- lsl r1, r4, #0x4
- add r1, r2, r1
- ldr r3, [sp, #0x10]
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0207D998
- pop {r4-r6, pc}
- .balign 4
-_0207DA44: .word 0x00000674
-
- thumb_func_start FUN_0207DA48
-FUN_0207DA48: ; 0x0207DA48
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0207DA8C ; =0x00000674
- add r6, r2, #0x0
- ldr r0, [r5, r0]
- add r7, r3, #0x0
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- mov r1, #0x0
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _0207DA90 ; =0x0000067C
- add r3, r7, #0x0
- ldr r0, [r5, r0]
- bl FUN_0200AD38
- ldr r1, _0207DA90 ; =0x0000067C
- add r2, r4, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0207DA8C: .word 0x00000674
-_0207DA90: .word 0x0000067C
-
- thumb_func_start FUN_0207DA94
-FUN_0207DA94: ; 0x0207DA94
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- str r3, [sp, #0x10]
- mov r0, #0x91
- lsl r0, r0, #0x2
- lsl r7, r1, #0x4
- ldr r3, _0207DB70 ; =0x00000674
- ldr r5, [r4, r0]
- ldr r0, [r4, r3]
- add r3, #0xc
- add r1, r2, #0x0
- ldr r2, [r4, r3]
- bl FUN_0200A8E0
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- add r1, sp, #0x48
- ldrb r2, [r1, #0x0]
- lsr r1, r0, #0x1
- sub r1, r2, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r0, r1, r0
- str r1, [sp, #0x14]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x18]
- add r0, sp, #0x4c
- ldrb r0, [r0, #0x0]
- mov r2, #0x1a
- mov r1, #0x0
- str r0, [sp, #0x1c]
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207DB74 ; =0x00010200
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r4, r2]
- ldr r3, [sp, #0x14]
- add r0, r5, r7
- bl FUN_0201BDE0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r3, sp, #0x28
- ldrh r2, [r3, #0x14]
- ldrb r3, [r3, #0x1c]
- ldr r1, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_0207DA48
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- mov r12, r0
- ldr r0, [sp, #0x1c]
- mov r2, #0x1a
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207DB74 ; =0x00010200
- mov r1, #0x0
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r3, [sp, #0x14]
- mov r6, r12
- ldr r2, [r4, r2]
- add r0, r5, r7
- sub r3, r3, r6
- bl FUN_0201BDE0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r3, sp, #0x28
- ldrh r2, [r3, #0x18]
- ldrb r3, [r3, #0x1c]
- ldr r1, [sp, #0x38]
- add r0, r4, #0x0
- bl FUN_0207DA48
- ldr r0, [sp, #0x1c]
- mov r2, #0x1a
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207DB74 ; =0x00010200
- mov r1, #0x0
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- ldr r3, [sp, #0x18]
- add r0, r5, r7
- bl FUN_0201BDE0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_0207DB70: .word 0x00000674
-_0207DB74: .word 0x00010200
-
- thumb_func_start FUN_0207DB78
-FUN_0207DB78: ; 0x0207DB78
- push {r4, lr}
- sub sp, #0x10
- ldr r3, _0207DD7C ; =0x000F0E00
- mov r1, #0x0
- mov r2, #0x7
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x1
- mov r2, #0x17
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x6d
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x7e
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x4
- mov r2, #0x80
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x9d
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x6
- mov r2, #0x4
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x8
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x8
- mov r2, #0xa
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x9
- mov r2, #0xc
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0xa
- mov r2, #0xd
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0xb
- mov r2, #0xf
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0xc
- mov r2, #0x11
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0xd
- mov r2, #0x13
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0xf
- mov r2, #0x6e
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x10
- mov r2, #0x6f
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x11
- mov r2, #0x70
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x12
- mov r2, #0x71
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x13
- mov r2, #0x72
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x14
- mov r2, #0x73
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x15
- mov r2, #0x74
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x16
- mov r2, #0x7f
- bl FUN_0207DA1C
- ldr r2, _0207DD80 ; =0x00000674
- mov r1, #0x92
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r2, #0xff
- str r2, [sp, #0x4]
- ldr r0, _0207DD7C ; =0x000F0E00
- mov r1, #0x0
- str r0, [sp, #0x8]
- add r2, #0x85
- add r0, r4, r2
- mov r2, #0x1a
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- add r3, r1, #0x0
- bl FUN_0201BDE0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x19
- mov r2, #0x95
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x1a
- mov r2, #0x93
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x1b
- mov r2, #0x94
- bl FUN_0207DA1C
- mov r0, #0x2
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x1c
- mov r2, #0xa2
- bl FUN_0207DA1C
- mov r0, #0x2
- str r0, [sp, #0x0]
- ldr r3, _0207DD84 ; =0x00010200
- add r0, r4, #0x0
- mov r1, #0x1d
- mov r2, #0xa0
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD84 ; =0x00010200
- add r0, r4, #0x0
- mov r1, #0x1e
- mov r2, #0xb6
- bl FUN_0207DA1C
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, _0207DD7C ; =0x000F0E00
- add r0, r4, #0x0
- mov r1, #0x1f
- mov r2, #0xb3
- bl FUN_0207DA1C
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0207DD7C: .word 0x000F0E00
-_0207DD80: .word 0x00000674
-_0207DD84: .word 0x00010200
-
- thumb_func_start FUN_0207DD88
-FUN_0207DD88: ; 0x0207DD88
- push {r4, lr}
- sub sp, #0x10
- mov r2, #0x0
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_02018540
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x12
- str r0, [sp, #0x4]
- mov r0, #0x16
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- mov r2, #0x0
- mov r3, #0xe
- bl FUN_02018540
- ldr r0, _0207DE38 ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x7
- bhi _0207DE34
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207DDD8: ; jump table (using 16-bit offset)
- .short _0207DDE8 - _0207DDD8 - 2; case 0
- .short _0207DDF2 - _0207DDD8 - 2; case 1
- .short _0207DDFC - _0207DDD8 - 2; case 2
- .short _0207DE10 - _0207DDD8 - 2; case 3
- .short _0207DE06 - _0207DDD8 - 2; case 4
- .short _0207DE1A - _0207DDD8 - 2; case 5
- .short _0207DE24 - _0207DDD8 - 2; case 6
- .short _0207DE2E - _0207DDD8 - 2; case 7
-_0207DDE8:
- add r0, r4, #0x0
- bl FUN_0207DE3C
- add sp, #0x10
- pop {r4, pc}
-_0207DDF2:
- add r0, r4, #0x0
- bl FUN_0207E190
- add sp, #0x10
- pop {r4, pc}
-_0207DDFC:
- add r0, r4, #0x0
- bl FUN_0207E200
- add sp, #0x10
- pop {r4, pc}
-_0207DE06:
- add r0, r4, #0x0
- bl FUN_0207E4A0
- add sp, #0x10
- pop {r4, pc}
-_0207DE10:
- add r0, r4, #0x0
- bl FUN_0207E594
- add sp, #0x10
- pop {r4, pc}
-_0207DE1A:
- add r0, r4, #0x0
- bl FUN_0207E650
- add sp, #0x10
- pop {r4, pc}
-_0207DE24:
- add r0, r4, #0x0
- bl FUN_0207E70C
- add sp, #0x10
- pop {r4, pc}
-_0207DE2E:
- add r0, r4, #0x0
- bl FUN_0207E788
-_0207DE34:
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0207DE38: .word 0x0000068C
-
- thumb_func_start FUN_0207DE3C
-FUN_0207DE3C: ; 0x0207DE3C
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, r4, #0x4
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0x74
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0x84
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0x94
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xa4
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xb4
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xc4
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xe4
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x20
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x40
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x50
- bl FUN_02019620
- mov r1, #0x93
- lsl r1, r1, #0x2
- ldr r0, [r4, r1]
- add r1, #0x10
- ldrh r1, [r4, r1]
- ldr r0, [r0, #0x1c]
- bl FUN_0206BB48
- add r2, r0, #0x0
- beq _0207DEFE
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x9
- mov r3, #0x3
- bl FUN_0207DA48
- b _0207DF0C
-_0207DEFE:
- ldr r2, _0207E0B4 ; =0x00000674
- mov r1, #0x16
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
-_0207DF0C:
- mov r1, #0x2a
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- lsl r0, r0, #0x2
- lsr r0, r0, #0x1f
- bne _0207DF28
- sub r1, #0x5c
- ldr r1, [r4, r1]
- ldr r2, _0207E0B8 ; =0x00010200
- add r0, r4, #0x0
- mov r3, #0x2
- bl FUN_0207D998
- b _0207DF36
-_0207DF28:
- sub r1, #0x5c
- ldr r1, [r4, r1]
- ldr r2, _0207E0BC ; =0x00050600
- add r0, r4, #0x0
- mov r3, #0x2
- bl FUN_0207D998
-_0207DF36:
- mov r1, #0x25
- lsl r1, r1, #0x4
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- mov r2, #0x91
- lsl r2, r2, #0x2
- ldr r3, [r4, r2]
- mov r1, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E0B8 ; =0x00010200
- add r2, #0xc
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r0, r3, #0x0
- ldrb r3, [r3, #0x17]
- ldr r2, [r4, r2]
- add r0, #0x10
- lsl r3, r3, #0x3
- sub r3, r3, r5
- lsr r3, r3, #0x1
- bl FUN_0201BDE0
- mov r1, #0x96
- lsl r1, r1, #0x2
- mov r0, #0x0
- ldr r1, [r4, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- mov r5, #0x91
- lsl r5, r5, #0x2
- ldr r2, [r4, r5]
- add r1, r2, #0x0
- add r1, #0x27
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x3
- sub r0, r1, r0
- lsr r3, r0, #0x1
- add r0, r5, #0x0
- add r0, #0x50
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- bne _0207DFB6
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0xc1
- lsl r0, r0, #0xa
- str r0, [sp, #0x8]
- add r2, #0x20
- str r1, [sp, #0xc]
- add r5, #0x14
- add r0, r2, #0x0
- ldr r2, [r4, r5]
- bl FUN_0201BDE0
- b _0207DFD0
-_0207DFB6:
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E0BC ; =0x00050600
- add r2, #0x20
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r5, #0x14
- add r0, r2, #0x0
- ldr r2, [r4, r5]
- bl FUN_0201BDE0
-_0207DFD0:
- mov r0, #0x2
- mov r2, #0x99
- str r0, [sp, #0x0]
- lsl r2, r2, #0x2
- ldr r2, [r4, r2]
- add r0, r4, #0x0
- lsl r2, r2, #0x10
- mov r1, #0x10
- lsr r2, r2, #0x10
- mov r3, #0x5
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E0B8 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x30
- mov r3, #0x2
- bl FUN_0207D998
- mov r0, #0x1
- mov r2, #0x9a
- str r0, [sp, #0x0]
- lsl r2, r2, #0x2
- ldr r2, [r4, r2]
- add r0, r4, #0x0
- mov r1, #0x12
- mov r3, #0x7
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E0B8 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x40
- mov r3, #0x2
- bl FUN_0207D998
- ldr r3, _0207E0C0 ; =0x00000262
- ldrb r0, [r4, r3]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- cmp r0, #0x64
- bhs _0207E048
- mov r0, #0x1
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r2, #0xe
- ldr r5, [r4, r2]
- add r2, r3, #0x6
- ldr r2, [r4, r2]
- add r0, r4, #0x0
- mov r1, #0x15
- sub r2, r5, r2
- mov r3, #0x7
- bl FUN_0207DA48
- b _0207E058
-_0207E048:
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x15
- mov r2, #0x0
- mov r3, #0x7
- bl FUN_0207DA48
-_0207E058:
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E0B8 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x50
- mov r3, #0x2
- bl FUN_0207D998
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x40
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x50
- bl FUN_02019220
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_0207E0B4: .word 0x00000674
-_0207E0B8: .word 0x00010200
-_0207E0BC: .word 0x00050600
-_0207E0C0: .word 0x00000262
-
- thumb_func_start FUN_0207E0C4
-FUN_0207E0C4: ; 0x0207E0C4
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0x13
- bl FUN_0207FD00
- add r4, r0, #0x0
- ldr r2, [r4, #0x18]
- cmp r2, #0x0
- beq _0207E0F8
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- sub r0, r0, #0x1
- lsl r0, r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E18C ; =0x00010200
- add r3, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
-_0207E0F8:
- ldr r2, [r4, #0x20]
- cmp r2, #0x0
- beq _0207E11A
- ldr r0, [r4, #0x1c]
- mov r1, #0x0
- sub r0, r0, #0x1
- lsl r0, r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E18C ; =0x00010200
- add r3, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
-_0207E11A:
- ldr r2, [r4, #0x28]
- cmp r2, #0x0
- beq _0207E13C
- ldr r0, [r4, #0x24]
- mov r1, #0x0
- sub r0, r0, #0x1
- lsl r0, r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E18C ; =0x00010200
- add r3, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
-_0207E13C:
- ldr r2, [r4, #0x30]
- cmp r2, #0x0
- beq _0207E15E
- ldr r0, [r4, #0x2c]
- mov r1, #0x0
- sub r0, r0, #0x1
- lsl r0, r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E18C ; =0x00010200
- add r3, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
-_0207E15E:
- ldr r2, [r4, #0x38]
- cmp r2, #0x0
- beq _0207E180
- ldr r0, [r4, #0x34]
- mov r1, #0x0
- sub r0, r0, #0x1
- lsl r0, r0, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E18C ; =0x00010200
- add r3, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- bl FUN_0201BDE0
-_0207E180:
- add r0, r4, #0x0
- bl FUN_02080094
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_0207E18C: .word 0x00010200
-
- thumb_func_start FUN_0207E190
-FUN_0207E190: ; 0x0207E190
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x14
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_0207B628
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0207D958
- add r7, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r5, r0]
- ldrb r1, [r1, #0x11]
- cmp r1, #0x2
- bne _0207E1E8
- mov r0, #0x13
- bl FUN_020669C0
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02069A64
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0207E0C4
- add r0, r4, #0x0
- bl FUN_02016A18
- b _0207E1F4
-_0207E1E8:
- sub r0, #0x8
- ldr r0, [r5, r0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0207E0C4
-_0207E1F4:
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02019220
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0207E200
-FUN_0207E200: ; 0x0207E200
- push {r3-r5, lr}
- sub sp, #0x18
- add r4, r0, #0x0
- add r0, #0x24
- bl FUN_02019220
- add r0, r4, #0x0
- add r0, #0xf4
- bl FUN_02019220
- mov r0, #0x41
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x45
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x49
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x4d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x51
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x20
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x40
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x50
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x60
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x70
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201AB0C
- mov r1, #0x76
- str r1, [sp, #0x0]
- mov r1, #0x9d
- lsl r1, r1, #0x2
- ldrh r2, [r4, r1]
- lsl r0, r0, #0x1a
- add r1, r1, #0x2
- str r2, [sp, #0x4]
- ldrh r1, [r4, r1]
- lsr r0, r0, #0x18
- mov r2, #0x75
- str r1, [sp, #0x8]
- mov r1, #0x3
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- mov r1, #0x0
- add r0, r4, #0x0
- mov r3, #0x77
- str r1, [sp, #0x14]
- bl FUN_0207DA94
- mov r0, #0x0
- mov r2, #0x9e
- str r0, [sp, #0x0]
- lsl r2, r2, #0x2
- ldrh r2, [r4, r2]
- add r0, r4, #0x0
- mov r1, #0x78
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x10
- mov r3, #0x1
- bl FUN_0207D998
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r2, _0207E488 ; =0x0000027A
- add r0, r4, #0x0
- ldrh r2, [r4, r2]
- mov r1, #0x79
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x20
- mov r3, #0x1
- bl FUN_0207D998
- mov r0, #0x0
- mov r2, #0x9f
- str r0, [sp, #0x0]
- lsl r2, r2, #0x2
- ldrh r2, [r4, r2]
- add r0, r4, #0x0
- mov r1, #0x7a
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x30
- mov r3, #0x1
- bl FUN_0207D998
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r2, _0207E48C ; =0x0000027E
- add r0, r4, #0x0
- ldrh r2, [r4, r2]
- mov r1, #0x7b
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x40
- mov r3, #0x1
- bl FUN_0207D998
- mov r0, #0x0
- mov r2, #0xa
- str r0, [sp, #0x0]
- lsl r2, r2, #0x6
- ldrh r2, [r4, r2]
- add r0, r4, #0x0
- mov r1, #0x7c
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x50
- mov r3, #0x1
- bl FUN_0207D998
- ldr r2, _0207E490 ; =0x00000282
- ldr r0, _0207E494 ; =0x0000067C
- ldrb r2, [r4, r2]
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_0200ADCC
- ldr r0, _0207E498 ; =0x00000674
- mov r1, #0x7d
- ldr r0, [r4, r0]
- bl FUN_0200A914
- add r5, r0, #0x0
- ldr r1, _0207E494 ; =0x0000067C
- add r2, r5, #0x0
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x60
- mov r3, #0x0
- bl FUN_0207D998
- ldr r2, _0207E49C ; =0x0000022A
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x13
- bl FUN_0200A86C
- ldr r1, _0207E490 ; =0x00000282
- mov r2, #0x1a
- lsl r2, r2, #0x6
- ldrb r1, [r4, r1]
- ldr r2, [r4, r2]
- add r5, r0, #0x0
- bl FUN_0200A8E0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E484 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x70
- mov r3, #0x0
- bl FUN_0207D998
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x40
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x50
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x60
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x70
- bl FUN_02019220
- add sp, #0x18
- pop {r3-r5, pc}
- nop
-_0207E484: .word 0x00010200
-_0207E488: .word 0x0000027A
-_0207E48C: .word 0x0000027E
-_0207E490: .word 0x00000282
-_0207E494: .word 0x0000067C
-_0207E498: .word 0x00000674
-_0207E49C: .word 0x0000022A
-
- thumb_func_start FUN_0207E4A0
-FUN_0207E4A0: ; 0x0207E4A0
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0x34
- bl FUN_02019220
- mov r0, #0x59
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x3
- beq _0207E4C6
- cmp r0, #0x4
- bne _0207E580
-_0207E4C6:
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- ldr r2, _0207E584 ; =0x00000674
- mov r1, #0xa5
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E588 ; =0x000F0E00
- add r0, r4, #0x0
- add r1, #0x10
- mov r3, #0x0
- bl FUN_0207D998
- ldr r1, _0207E58C ; =0x0000029B
- ldr r2, _0207E584 ; =0x00000674
- ldrb r1, [r4, r1]
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- add r1, #0xa6
- bl FUN_0200A8E0
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E590 ; =0x00010200
- mov r1, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x91
- mov r2, #0x1a
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- add r0, #0x10
- add r3, r1, #0x0
- bl FUN_0201BDE0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldrb r1, [r1, #0x12]
- cmp r1, #0x3
- bne _0207E580
- sub r0, #0x8
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- ldr r2, _0207E584 ; =0x00000674
- mov r1, #0xa3
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E588 ; =0x000F0E00
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_0207D998
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0207CFAC
-_0207E580:
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0207E584: .word 0x00000674
-_0207E588: .word 0x000F0E00
-_0207E58C: .word 0x0000029B
-_0207E590: .word 0x00010200
-
- thumb_func_start FUN_0207E594
-FUN_0207E594: ; 0x0207E594
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x44
- bl FUN_02019220
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x2
- bne _0207E5B4
- add r0, r4, #0x0
- mov r1, #0x9b
- bl FUN_0207D924
- b _0207E5BC
-_0207E5B4:
- add r0, r4, #0x0
- mov r1, #0x81
- bl FUN_0207D924
-_0207E5BC:
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x20
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_0207EA44
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_02019220
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207E650
-FUN_0207E650: ; 0x0207E650
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x54
- bl FUN_02019220
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x2
- bne _0207E670
- add r0, r4, #0x0
- mov r1, #0x9f
- bl FUN_0207D924
- b _0207E678
-_0207E670:
- add r0, r4, #0x0
- mov r1, #0x9e
- bl FUN_0207D924
-_0207E678:
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x20
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0207EA44
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_0207EA44
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_02019220
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207E70C
-FUN_0207E70C: ; 0x0207E70C
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x7d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x79
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r2, _0207E780 ; =0x00000699
- add r0, r4, #0x0
- ldrb r2, [r4, r2]
- mov r1, #0xb7
- mov r3, #0x3
- bl FUN_0207DA48
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E784 ; =0x00010200
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_0207D998
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02019220
- ldr r0, _0207E780 ; =0x00000699
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- beq _0207E77A
- add r0, r4, #0x0
- mov r1, #0xb4
- bl FUN_0207D924
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
-_0207E77A:
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_0207E780: .word 0x00000699
-_0207E784: .word 0x00010200
-
- thumb_func_start FUN_0207E788
-FUN_0207E788: ; 0x0207E788
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- mov r0, #0x71
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02019220
- add r0, r4, #0x0
- mov r1, #0xa1
- bl FUN_0207D924
- mov r1, #0x8d
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- bl FUN_0207CFAC
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x12]
- cmp r0, #0x3
- beq _0207E7BC
- cmp r0, #0x4
- bne _0207E82C
-_0207E7BC:
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- ldr r2, _0207E830 ; =0x00000674
- mov r1, #0xa5
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207E834 ; =0x000F0E00
- add r0, r4, #0x0
- add r1, #0x10
- mov r3, #0x0
- bl FUN_0207D998
- ldr r1, _0207E838 ; =0x0000029B
- ldr r2, _0207E830 ; =0x00000674
- ldrb r1, [r4, r1]
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- add r1, #0xa6
- bl FUN_0200A8E0
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E83C ; =0x00010200
- mov r1, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x91
- mov r2, #0x1a
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- lsl r2, r2, #0x6
- ldr r2, [r4, r2]
- add r0, #0x10
- add r3, r1, #0x0
- bl FUN_0201BDE0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x10
- bl FUN_02019220
-_0207E82C:
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0207E830: .word 0x00000674
-_0207E834: .word 0x000F0E00
-_0207E838: .word 0x0000029B
-_0207E83C: .word 0x00010200
-
- thumb_func_start FUN_0207E840
-FUN_0207E840: ; 0x0207E840
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r0, #0x10
- bl FUN_02019620
- ldr r0, _0207E994 ; =0x00000674
- mov r1, #0xba
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x0
- add r4, r0, #0x0
- ldr r2, _0207E998 ; =0x0000067C
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, r2]
- add r2, #0x1d
- ldrb r2, [r5, r2]
- mov r3, #0x3
- bl FUN_0200AD38
- ldr r1, _0207E998 ; =0x0000067C
- add r2, r4, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r5, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x38
- sub r0, r0, r1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- mov r1, #0x0
- mov r2, #0x1a
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E99C ; =0x00010200
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- mov r0, #0x91
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- add r0, #0x10
- add r3, r4, #0x0
- bl FUN_0201BDE0
- ldr r0, _0207E994 ; =0x00000674
- mov r1, #0xb9
- ldr r0, [r5, r0]
- bl FUN_0200A914
- add r6, r0, #0x0
- mov r0, #0x0
- add r1, r6, #0x0
- add r2, r0, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- sub r0, r4, r0
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E99C ; =0x00010200
- add r2, r6, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x91
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r3, r4, #0x0
- add r0, #0x10
- bl FUN_0201BDE0
- add r0, r6, #0x0
- bl FUN_02021A20
- ldr r0, _0207E994 ; =0x00000674
- mov r1, #0xb8
- ldr r0, [r5, r0]
- bl FUN_0200A914
- mov r1, #0x0
- ldr r2, _0207E998 ; =0x0000067C
- add r6, r0, #0x0
- add r3, r2, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, r2]
- add r2, #0x1c
- add r3, #0x1b
- ldrb r2, [r5, r2]
- ldrb r3, [r5, r3]
- lsl r2, r2, #0x2
- add r2, r3, r2
- add r2, r2, #0x1
- mov r3, #0x3
- bl FUN_0200AD38
- ldr r1, _0207E998 ; =0x0000067C
- add r2, r6, #0x0
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldr r1, [r5, r1]
- bl FUN_0200B7B8
- add r0, r6, #0x0
- bl FUN_02021A20
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r5, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- sub r0, r4, r0
- lsl r0, r0, #0x18
- mov r1, #0x0
- lsr r3, r0, #0x18
- mov r2, #0x1a
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207E99C ; =0x00010200
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- mov r0, #0x91
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- add r0, #0x10
- bl FUN_0201BDE0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x10
- bl FUN_02019220
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0207E994: .word 0x00000674
-_0207E998: .word 0x0000067C
-_0207E99C: .word 0x00010200
-
- thumb_func_start FUN_0207E9A0
-FUN_0207E9A0: ; 0x0207E9A0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x20
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x30
- bl FUN_02019620
- ldr r0, _0207EA34 ; =0x0000069A
- mov r1, #0x3
- ldrb r0, [r4, r0]
- bl FUN_0207FC5C
- ldr r2, _0207EA38 ; =0x00000678
- add r1, r0, #0x0
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207EA3C ; =0x000F0E00
- add r0, r4, #0x0
- add r1, #0x20
- mov r3, #0x0
- bl FUN_0207D998
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, _0207EA34 ; =0x0000069A
- ldr r0, [r4, r0]
- ldrb r1, [r4, r1]
- ldr r0, [r0, #0x20]
- bl FUN_0207FCC0
- ldr r2, _0207EA38 ; =0x00000678
- add r1, r0, #0x0
- ldr r0, [r4, r2]
- add r2, #0x8
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r2, _0207EA40 ; =0x00010200
- add r0, r4, #0x0
- add r1, #0x30
- mov r3, #0x0
- bl FUN_0207D998
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x20
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x30
- bl FUN_02019220
- pop {r4, pc}
- .balign 4
-_0207EA34: .word 0x0000069A
-_0207EA38: .word 0x00000678
-_0207EA3C: .word 0x000F0E00
-_0207EA40: .word 0x00010200
-
- thumb_func_start FUN_0207EA44
-FUN_0207EA44: ; 0x0207EA44
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- mov r0, #0x91
- add r7, r1, #0x0
- lsl r0, r0, #0x2
- lsl r6, r7, #0x4
- ldr r4, [r5, r0]
- cmp r7, #0x4
- beq _0207EA76
- lsl r1, r7, #0x1
- add r2, r5, r1
- add r1, r0, #0x0
- add r1, #0x40
- ldrh r1, [r2, r1]
- add r2, r0, #0x0
- add r2, #0x48
- str r1, [sp, #0x20]
- add r1, r5, r7
- ldrb r2, [r1, r2]
- add r0, #0x4c
- str r2, [sp, #0x1c]
- ldrb r0, [r1, r0]
- str r0, [sp, #0x18]
- b _0207EA88
-_0207EA76:
- add r0, #0x8
- ldr r0, [r5, r0]
- mov r1, #0x0
- ldrh r0, [r0, #0x18]
- str r0, [sp, #0x20]
- bl FUN_0206AB30
- str r0, [sp, #0x1c]
- str r0, [sp, #0x18]
-_0207EA88:
- ldr r2, _0207EB54 ; =0x00000688
- ldr r1, [sp, #0x20]
- ldr r0, [r5, r2]
- sub r2, #0x8
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207EB58 ; =0x000F0E00
- mov r2, #0x1a
- str r0, [sp, #0x8]
- mov r1, #0x0
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r5, r2]
- add r0, r4, r6
- mov r3, #0x1
- bl FUN_0201BDE0
- ldr r0, [sp, #0x20]
- ldr r2, _0207EB5C ; =0x00000674
- cmp r0, #0x0
- beq _0207EB10
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- mov r1, #0x87
- bl FUN_0200A8E0
- mov r3, #0x10
- mov r2, #0x1a
- str r3, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207EB60 ; =0x00010200
- mov r1, #0x0
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r5, r2]
- add r0, r4, r6
- bl FUN_0201BDE0
- add r0, r7, #0x0
- add r0, #0x8d
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x18]
- add r7, #0x88
- str r0, [sp, #0x8]
- mov r0, #0x2
- str r0, [sp, #0xc]
- mov r0, #0x3c
- str r0, [sp, #0x10]
- mov r0, #0x10
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- mov r2, #0x75
- add r3, r7, #0x0
- bl FUN_0207DA94
- add sp, #0x24
- pop {r4-r7, pc}
-_0207EB10:
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- mov r1, #0x99
- bl FUN_0200A8E0
- mov r1, #0x1a
- lsl r1, r1, #0x6
- mov r0, #0x0
- ldr r1, [r5, r1]
- add r2, r0, #0x0
- bl FUN_02002E14
- add r3, r0, #0x0
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207EB60 ; =0x00010200
- mov r2, #0x1a
- str r0, [sp, #0x8]
- mov r1, #0x0
- add r0, r4, r6
- lsr r4, r3, #0x1
- mov r3, #0x3c
- str r1, [sp, #0xc]
- lsl r2, r2, #0x6
- ldr r2, [r5, r2]
- sub r3, r3, r4
- bl FUN_0201BDE0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0207EB54: .word 0x00000688
-_0207EB58: .word 0x000F0E00
-_0207EB5C: .word 0x00000674
-_0207EB60: .word 0x00010200
-
- thumb_func_start FUN_0207EB64
-FUN_0207EB64: ; 0x0207EB64
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r5, r0
- add r4, r1, #0x0
- bl FUN_02019220
- mov r0, #0x69
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- mov r0, #0x6d
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r0, #0x50
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r0, #0x60
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r1, #0x0
- add r0, #0x70
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0206AB18
- add r2, r0, #0x0
- cmp r2, #0x1
- bhi _0207EBD2
- ldr r2, _0207EC88 ; =0x00000674
- mov r1, #0x9a
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- b _0207EBE0
-_0207EBD2:
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x96
- mov r3, #0x3
- bl FUN_0207DA48
-_0207EBE0:
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- ldr r2, _0207EC8C ; =0x00010200
- add r0, r5, #0x0
- add r1, #0x50
- mov r3, #0x2
- bl FUN_0207D998
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_0206AB18
- add r2, r0, #0x0
- bne _0207EC0E
- ldr r2, _0207EC88 ; =0x00000674
- mov r1, #0x9a
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- b _0207EC1C
-_0207EC0E:
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x97
- mov r3, #0x3
- bl FUN_0207DA48
-_0207EC1C:
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- ldr r2, _0207EC8C ; =0x00010200
- add r0, r5, #0x0
- add r1, #0x60
- mov r3, #0x2
- bl FUN_0207D998
- ldr r2, _0207EC90 ; =0x0000024B
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x13
- bl FUN_0200A86C
- mov r2, #0x1a
- lsl r2, r2, #0x6
- ldr r2, [r5, r2]
- add r1, r4, #0x0
- add r6, r0, #0x0
- bl FUN_0200A8E0
- mov r1, #0x91
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- ldr r2, _0207EC8C ; =0x00010200
- add r0, r5, #0x0
- add r1, #0x70
- mov r3, #0x0
- bl FUN_0207D998
- add r0, r6, #0x0
- bl FUN_0200A8B8
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x50
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x60
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x70
- bl FUN_02019220
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0207EC88: .word 0x00000674
-_0207EC8C: .word 0x00010200
-_0207EC90: .word 0x0000024B
-
- thumb_func_start FUN_0207EC94
-FUN_0207EC94: ; 0x0207EC94
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x65
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x69
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x6d
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x50
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x60
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x70
- bl FUN_0201958C
- pop {r4, pc}
-
- thumb_func_start FUN_0207ECDC
-FUN_0207ECDC: ; 0x0207ECDC
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldrh r1, [r1, #0x18]
- cmp r1, #0x0
- beq _0207ED0E
- sub r0, #0x8
- ldr r0, [r4, r0]
- mov r1, #0x0
- add r0, #0x40
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_0207EA44
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x40
- bl FUN_02019220
- pop {r4, pc}
-_0207ED0E:
- sub r0, #0xc8
- add r0, r4, r0
- bl FUN_02019220
- pop {r4, pc}
-
- thumb_func_start FUN_0207ED18
-FUN_0207ED18: ; 0x0207ED18
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x61
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- bl FUN_0201AC68
- pop {r4, pc}
-
- thumb_func_start FUN_0207ED30
-FUN_0207ED30: ; 0x0207ED30
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, _0207EDB0 ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, _0207EDB0 ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x4
- add r0, r1, r0
- mov r1, #0x0
- bl FUN_02019620
- ldr r1, _0207EDB0 ; =0x0000068D
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- bl FUN_0207EA44
- ldr r1, _0207EDB0 ; =0x0000068D
- add r0, r4, #0x0
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- bl FUN_0207EA44
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, _0207EDB0 ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, _0207EDB0 ; =0x0000068D
- ldrb r0, [r4, r0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_02019220
- pop {r4, pc}
- nop
-_0207EDB0: .word 0x0000068D
-
- thumb_func_start FUN_0207EDB4
-FUN_0207EDB4: ; 0x0207EDB4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0207EE20 ; =0x0000068C
- ldrsb r0, [r5, r0]
- cmp r0, #0x3
- bne _0207EDEE
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x50
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x60
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x70
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r4, [r5, r0]
- add r4, #0x70
- b _0207EDF6
-_0207EDEE:
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r4, [r5, r0]
- add r4, #0x50
-_0207EDF6:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02019620
- ldr r2, _0207EE24 ; =0x00000674
- mov r1, #0x9c
- ldr r0, [r5, r2]
- add r2, #0xc
- ldr r2, [r5, r2]
- bl FUN_0200A8E0
- ldr r2, _0207EE28 ; =0x00010200
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0207D998
- add r0, r4, #0x0
- bl FUN_02019220
- pop {r3-r5, pc}
- .balign 4
-_0207EE20: .word 0x0000068C
-_0207EE24: .word 0x00000674
-_0207EE28: .word 0x00010200
-
- thumb_func_start FUN_0207EE2C
-FUN_0207EE2C: ; 0x0207EE2C
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r4, r1, #0x0
- add r0, #0x50
- mov r1, #0x0
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0xa
- bl FUN_0206AB18
- bl FUN_0208315C
- add r4, r0, #0x0
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0xc5
- mov r3, #0x13
- bl FUN_0200A86C
- mov r2, #0x1a
- lsl r2, r2, #0x6
- ldr r2, [r5, r2]
- add r1, r4, #0x0
- add r6, r0, #0x0
- bl FUN_0200A8E0
- mov r1, #0x0
- mov r2, #0x1a
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207EEAC ; =0x00010200
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- mov r0, #0x91
- str r1, [sp, #0xc]
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r2, [r5, r2]
- add r0, #0x50
- add r3, r1, #0x0
- bl FUN_0201BDE0
- add r0, r6, #0x0
- bl FUN_0200A8B8
- mov r0, #0x75
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02019220
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r0, #0x50
- bl FUN_02019220
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0207EEAC: .word 0x00010200
-
- thumb_func_start FUN_0207EEB0
-FUN_0207EEB0: ; 0x0207EEB0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x75
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0201958C
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r0, #0x50
- bl FUN_0201958C
- pop {r4, pc}
-
- thumb_func_start FUN_0207EECC
-FUN_0207EECC: ; 0x0207EECC
- push {r4-r6, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- cmp r1, #0x4
- bgt _0207EEF0
- cmp r1, #0x0
- blt _0207EF0E
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207EEE6: ; jump table (using 16-bit offset)
- .short _0207EEF6 - _0207EEE6 - 2; case 0
- .short _0207EEFA - _0207EEE6 - 2; case 1
- .short _0207EEFE - _0207EEE6 - 2; case 2
- .short _0207EF02 - _0207EEE6 - 2; case 3
- .short _0207EF06 - _0207EEE6 - 2; case 4
-_0207EEF0:
- cmp r1, #0xfe
- beq _0207EF0A
- b _0207EF0E
-_0207EEF6:
- mov r5, #0xac
- b _0207EF10
-_0207EEFA:
- mov r5, #0xae
- b _0207EF10
-_0207EEFE:
- mov r5, #0xaf
- b _0207EF10
-_0207EF02:
- mov r5, #0xb0
- b _0207EF10
-_0207EF06:
- mov r5, #0xad
- b _0207EF10
-_0207EF0A:
- mov r5, #0xb1
- b _0207EF10
-_0207EF0E:
- mov r5, #0xb2
-_0207EF10:
- mov r0, #0x91
- lsl r0, r0, #0x2
- ldr r6, [r4, r0]
- ldr r2, _0207EF60 ; =0x000003E2
- add r6, #0x20
- add r0, r6, #0x0
- mov r1, #0x1
- mov r3, #0xd
- bl FUN_0200D0BC
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_02019620
- ldr r2, _0207EF64 ; =0x00000674
- add r1, r5, #0x0
- ldr r0, [r4, r2]
- add r2, #0xc
- ldr r2, [r4, r2]
- bl FUN_0200A8E0
- mov r3, #0x0
- mov r2, #0x1a
- str r3, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _0207EF68 ; =0x0001020F
- lsl r2, r2, #0x6
- str r0, [sp, #0x8]
- str r3, [sp, #0xc]
- ldr r2, [r4, r2]
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_0201BDE0
- add r0, r6, #0x0
- bl FUN_02019220
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0207EF60: .word 0x000003E2
-_0207EF64: .word 0x00000674
-_0207EF68: .word 0x0001020F
-
- thumb_func_start FUN_0207EF6C
-FUN_0207EF6C: ; 0x0207EF6C
- push {r3-r4, lr}
- sub sp, #0x4
- bl FUN_020BB7F4
- bl G3X_Init
- bl G3X_InitMtxStack
- ldr r0, _0207EFEC ; =0x04000060
- ldr r1, _0207EFF0 ; =0xFFFFCFFD
- ldrh r2, [r0, #0x0]
- ldr r3, _0207EFF4 ; =0x0000CFFB
- and r2, r1
- strh r2, [r0, #0x0]
- ldrh r2, [r0, #0x0]
- and r2, r3
- strh r2, [r0, #0x0]
- add r2, r1, #0x2
- ldrh r4, [r0, #0x0]
- add r1, r1, #0x2
- sub r3, #0x1c
- and r4, r2
- mov r2, #0x8
- orr r2, r4
- strh r2, [r0, #0x0]
- ldrh r2, [r0, #0x0]
- and r2, r1
- mov r1, #0x10
- orr r1, r2
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- and r1, r3
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl G3X_SetFog
- mov r0, #0x0
- ldr r2, _0207EFF8 ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- bl G3X_SetClearColor
- ldr r1, _0207EFFC ; =0x04000540
- mov r0, #0x0
- str r0, [r1, #0x0]
- ldr r0, _0207F000 ; =0xBFFF0000
- str r0, [r1, #0x40]
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r1, _0207F004 ; =0x04000008
- mov r0, #0x3
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x2
- orr r0, r2
- strh r0, [r1, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0207EFEC: .word 0x04000060
-_0207EFF0: .word 0xFFFFCFFD
-_0207EFF4: .word 0x0000CFFB
-_0207EFF8: .word 0x00007FFF
-_0207EFFC: .word 0x04000540
-_0207F000: .word 0xBFFF0000
-_0207F004: .word 0x04000008
-
- thumb_func_start FUN_0207F008
-FUN_0207F008: ; 0x0207F008
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0207F05C ; =0x0000068C
- ldrsb r0, [r4, r0]
- cmp r0, #0x4
- bne _0207F046
- bl FUN_020222AC
- bl FUN_0201EBA4
- ldr r2, _0207F060 ; =0x04000440
- mov r3, #0x0
- add r1, r2, #0x0
- str r3, [r2, #0x0]
- add r1, #0x14
- str r3, [r1, #0x0]
- mov r0, #0x2
- str r0, [r2, #0x0]
- str r3, [r1, #0x0]
- bl FUN_020B849C
- mov r0, #0xb7
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0207F108
- bl FUN_020B849C
- add r0, r4, #0x0
- bl FUN_0207F1A4
-_0207F046:
- bl FUN_020B02C8
- mov r0, #0xae
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02006ED4
- ldr r0, _0207F064 ; =0x04000540
- mov r1, #0x1
- str r1, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-_0207F05C: .word 0x0000068C
-_0207F060: .word 0x04000440
-_0207F064: .word 0x04000540
-
- thumb_func_start FUN_0207F068
-FUN_0207F068: ; 0x0207F068
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201EB70
- mov r0, #0x2d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02014D9C
- mov r0, #0x2d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02014C28
- mov r0, #0xae
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020072E8
- pop {r4, pc}
-
- thumb_func_start FUN_0207F098
-FUN_0207F098: ; 0x0207F098
- push {r3-r4, lr}
- sub sp, #0x1c
- ldr r3, _0207F100 ; =0x020FB5CC
- add r4, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x10
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r1, sp, #0x8
- str r0, [r2, #0x0]
- mov r0, #0x0
- strh r0, [r1, #0x0]
- strh r0, [r1, #0x2]
- strh r0, [r1, #0x4]
- strh r0, [r1, #0x6]
- mov r0, #0x13
- bl FUN_0201EB64
- mov r1, #0xad
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r2, #0x1
- str r2, [sp, #0x0]
- ldr r0, [r4, r1]
- lsl r1, r2, #0x10
- str r0, [sp, #0x4]
- ldr r3, _0207F104 ; =0x000005C1
- add r0, sp, #0x10
- add r2, sp, #0x8
- bl FUN_0201ED10
- mov r2, #0xad
- lsl r2, r2, #0x2
- mov r1, #0x19
- ldr r2, [r4, r2]
- mov r0, #0x0
- lsl r1, r1, #0xe
- bl FUN_0201EC94
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201EC88
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0201EB8C
- add sp, #0x1c
- pop {r3-r4, pc}
- nop
-_0207F100: .word 0x020FB5CC
-_0207F104: .word 0x000005C1
-
- thumb_func_start FUN_0207F108
-FUN_0207F108: ; 0x0207F108
- push {r4-r7}
- add r4, r0, #0x0
- ldr r0, _0207F170 ; =0x121400C0
- ldr r1, _0207F174 ; =0x040004A4
- ldr r2, _0207F178 ; =0x00003FE8
- str r0, [r1, #0x0]
- mov r0, #0x1
- str r0, [r1, #0x5c]
- ldr r0, _0207F17C ; =0x0400048C
- mov r3, #0x0
- sub r1, #0x24
-_0207F11E:
- str r2, [r1, #0x0]
- ldrh r7, [r4, #0x2]
- ldrh r5, [r4, #0x0]
- ldrh r6, [r4, #0x4]
- lsl r7, r7, #0x10
- orr r5, r7
- str r5, [r0, #0x0]
- str r6, [r0, #0x0]
- str r2, [r1, #0x0]
- ldrh r7, [r4, #0x8]
- ldrh r5, [r4, #0x6]
- ldrh r6, [r4, #0xa]
- lsl r7, r7, #0x10
- orr r5, r7
- str r5, [r0, #0x0]
- str r6, [r0, #0x0]
- str r2, [r1, #0x0]
- ldrh r7, [r4, #0x14]
- ldrh r5, [r4, #0x12]
- ldrh r6, [r4, #0x16]
- lsl r7, r7, #0x10
- orr r5, r7
- str r5, [r0, #0x0]
- str r6, [r0, #0x0]
- str r2, [r1, #0x0]
- ldrh r7, [r4, #0xe]
- ldrh r5, [r4, #0xc]
- ldrh r6, [r4, #0x10]
- lsl r7, r7, #0x10
- orr r5, r7
- str r5, [r0, #0x0]
- add r3, r3, #0x1
- add r4, #0x18
- str r6, [r0, #0x0]
- cmp r3, #0x4
- blo _0207F11E
- ldr r0, _0207F180 ; =0x04000504
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r4-r7}
- bx lr
- .balign 4
-_0207F170: .word 0x121400C0
-_0207F174: .word 0x040004A4
-_0207F178: .word 0x00003FE8
-_0207F17C: .word 0x0400048C
-_0207F180: .word 0x04000504
-
- thumb_func_start FUN_0207F184
-FUN_0207F184: ; 0x0207F184
- mov r2, #0x0
- ldrsh r3, [r0, r2]
- ldrsh r2, [r1, r2]
- add r2, r3, r2
- strh r2, [r0, #0x0]
- mov r2, #0x2
- ldrsh r3, [r0, r2]
- ldrsh r2, [r1, r2]
- add r2, r3, r2
- strh r2, [r0, #0x2]
- mov r2, #0x4
- ldrsh r3, [r0, r2]
- ldrsh r1, [r1, r2]
- add r1, r3, r1
- strh r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0207F1A4
-FUN_0207F1A4: ; 0x0207F1A4
- push {r3-r7, lr}
- sub sp, #0x18
- mov r2, #0xff
- lsl r2, r2, #0x2
- add r1, r0, #0x0
- ldr r1, [r1, r2]
- str r0, [sp, #0x0]
- cmp r1, #0x4
- bne _0207F1BE
- bl FUN_0207D598
- add sp, #0x18
- pop {r3-r7, pc}
-_0207F1BE:
- cmp r1, #0x3
- bne _0207F1EA
- add r6, r0, #0x0
- add r7, r2, #0x0
- mov r0, #0xb7
- mov r5, #0x0
- sub r7, #0x60
- lsl r0, r0, #0x2
-_0207F1CE:
- add r4, r6, r7
- add r3, r6, r0
- mov r2, #0xc
-_0207F1D4:
- ldrh r1, [r4, #0x0]
- add r4, r4, #0x2
- strh r1, [r3, #0x0]
- add r3, r3, #0x2
- sub r2, r2, #0x1
- bne _0207F1D4
- add r5, r5, #0x1
- add r6, #0x18
- cmp r5, #0x4
- blo _0207F1CE
- b _0207F274
-_0207F1EA:
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r2, #0xc0
- add r0, r0, r2
- str r0, [sp, #0x14]
- mov r0, #0xb7
- lsl r0, r0, #0x2
- ldr r1, [sp, #0x0]
- add r2, r0, #0x0
- add r1, r1, r0
- str r1, [sp, #0x10]
- ldr r1, [sp, #0x0]
- add r2, #0x66
- add r1, r1, r2
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x0]
- add r2, r0, #0x6
- add r1, r1, r2
- str r1, [sp, #0x8]
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r2, #0x6c
- add r7, r1, r2
- add r2, r0, #0x0
- add r2, #0xc
- add r6, r1, r2
- add r2, r0, #0x0
- add r2, #0x72
- add r0, #0x12
- add r4, r1, r2
- add r5, r1, r0
-_0207F22A:
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- bl FUN_0207F184
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- bl FUN_0207F184
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_0207F184
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0207F184
- ldr r0, [sp, #0x14]
- add r7, #0x18
- add r0, #0x18
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x10]
- add r6, #0x18
- add r0, #0x18
- str r0, [sp, #0x10]
- ldr r0, [sp, #0xc]
- add r4, #0x18
- add r0, #0x18
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r5, #0x18
- add r0, #0x18
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, #0x4
- blo _0207F22A
-_0207F274:
- mov r1, #0xff
- ldr r0, [sp, #0x0]
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x0]
- str r2, [r0, r1]
- ldr r0, [r0, r1]
- cmp r0, #0x4
- bne _0207F294
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- bl FUN_0207D418
- add sp, #0x18
- pop {r3-r7, pc}
-_0207F294:
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- bl FUN_0207D418
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0207F2A0
-FUN_0207F2A0: ; 0x0207F2A0
- push {r3-r7, lr}
- sub sp, #0x18
- ldr r1, _0207F420 ; =0x0000068C
- ldrsb r1, [r0, r1]
- cmp r1, #0x4
- beq _0207F2AE
- b _0207F41A
-_0207F2AE:
- ldr r7, _0207F424 ; =0x020FB60C
- add r3, sp, #0x0
- ldrh r1, [r7, #0x8]
- strh r1, [r3, #0x12]
- ldrh r1, [r7, #0xa]
- strh r1, [r3, #0x14]
- ldrh r1, [r7, #0xc]
- strh r1, [r3, #0x16]
- mov r1, #0xb7
- lsl r1, r1, #0x2
- ldrh r5, [r3, #0x12]
- add r2, r1, #0x2
- strh r5, [r0, r1]
- ldrh r4, [r3, #0x14]
- strh r4, [r0, r2]
- ldrh r6, [r3, #0x16]
- add r2, r1, #0x4
- strh r6, [r0, r2]
- add r2, r1, #0x6
- strh r5, [r0, r2]
- add r2, r1, #0x0
- add r2, #0x8
- strh r4, [r0, r2]
- add r2, r1, #0x0
- add r2, #0xa
- strh r6, [r0, r2]
- add r2, r1, #0x0
- add r2, #0xc
- strh r5, [r0, r2]
- add r2, r1, #0x0
- add r2, #0xe
- strh r4, [r0, r2]
- add r2, r1, #0x0
- add r2, #0x10
- strh r6, [r0, r2]
- add r2, r1, #0x0
- add r2, #0x12
- strh r5, [r0, r2]
- add r2, r1, #0x0
- add r2, #0x14
- strh r4, [r0, r2]
- add r2, r1, #0x0
- add r2, #0x16
- strh r6, [r0, r2]
- ldrh r2, [r7, #0x3e]
- ldr r6, _0207F428 ; =0x020FB64C
- add r7, r1, #0x0
- strh r2, [r3, #0xc]
- ldrh r2, [r6, #0x0]
- add r7, #0x1c
- strh r2, [r3, #0xe]
- ldrh r2, [r6, #0x2]
- strh r2, [r3, #0x10]
- add r2, r1, #0x0
- ldrh r5, [r3, #0xc]
- add r2, #0x18
- strh r5, [r0, r2]
- add r2, r1, #0x0
- ldrh r4, [r3, #0xe]
- add r2, #0x1a
- strh r4, [r0, r2]
- ldrh r2, [r3, #0x10]
- strh r2, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x1e
- strh r5, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x20
- strh r4, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x22
- strh r2, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x24
- strh r5, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x26
- strh r4, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x28
- strh r2, [r0, r7]
- add r7, r1, #0x0
- add r7, #0x2a
- strh r5, [r0, r7]
- add r5, r1, #0x0
- add r5, #0x2c
- strh r4, [r0, r5]
- add r4, r1, #0x0
- add r4, #0x2e
- strh r2, [r0, r4]
- ldrh r2, [r6, #0x34]
- strh r2, [r3, #0x6]
- ldrh r2, [r6, #0x36]
- strh r2, [r3, #0x8]
- ldrh r2, [r6, #0x38]
- add r6, r1, #0x0
- add r6, #0x34
- strh r2, [r3, #0xa]
- add r2, r1, #0x0
- ldrh r5, [r3, #0x6]
- add r2, #0x30
- strh r5, [r0, r2]
- add r2, r1, #0x0
- ldrh r4, [r3, #0x8]
- add r2, #0x32
- strh r4, [r0, r2]
- ldrh r2, [r3, #0xa]
- strh r2, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x36
- strh r5, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x38
- strh r4, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x3a
- strh r2, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x3c
- strh r5, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x3e
- strh r4, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x40
- strh r2, [r0, r6]
- add r6, r1, #0x0
- add r6, #0x42
- strh r5, [r0, r6]
- add r5, r1, #0x0
- add r5, #0x44
- strh r4, [r0, r5]
- add r4, r1, #0x0
- add r4, #0x46
- strh r2, [r0, r4]
- ldr r2, _0207F42C ; =0x020FB68C
- ldrh r4, [r2, #0x2a]
- strh r4, [r3, #0x0]
- ldrh r4, [r2, #0x2c]
- strh r4, [r3, #0x2]
- ldrh r2, [r2, #0x2e]
- strh r2, [r3, #0x4]
- add r2, r1, #0x0
- ldrh r5, [r3, #0x0]
- add r2, #0x48
- strh r5, [r0, r2]
- add r2, r1, #0x0
- ldrh r4, [r3, #0x2]
- add r2, #0x4a
- strh r4, [r0, r2]
- ldrh r2, [r3, #0x4]
- add r3, r1, #0x0
- add r3, #0x4c
- strh r2, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x4e
- strh r5, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x50
- strh r4, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x52
- strh r2, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x54
- strh r5, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x56
- strh r4, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x58
- strh r2, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x5a
- strh r5, [r0, r3]
- add r3, r1, #0x0
- add r3, #0x5c
- strh r4, [r0, r3]
- add r1, #0x5e
- strh r2, [r0, r1]
- bl FUN_0207F608
-_0207F41A:
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_0207F420: .word 0x0000068C
-_0207F424: .word 0x020FB60C
-_0207F428: .word 0x020FB64C
-_0207F42C: .word 0x020FB68C
-
- thumb_func_start FUN_0207F430
-FUN_0207F430: ; 0x0207F430
- push {r4-r5}
- cmp r2, #0xff
- bne _0207F446
- ldrh r2, [r0, #0x0]
- strh r2, [r1, #0x0]
- ldrh r2, [r0, #0x2]
- strh r2, [r1, #0x2]
- ldrh r0, [r0, #0x4]
- strh r0, [r1, #0x4]
- pop {r4-r5}
- bx lr
-_0207F446:
- cmp r2, #0x0
- bne _0207F45A
- ldrh r2, [r0, #0x6]
- strh r2, [r1, #0x0]
- ldrh r2, [r0, #0x8]
- strh r2, [r1, #0x2]
- ldrh r0, [r0, #0xa]
- strh r0, [r1, #0x4]
- pop {r4-r5}
- bx lr
-_0207F45A:
- mov r3, #0x6
- ldrsh r5, [r0, r3]
- mov r3, #0xc
- ldrsh r3, [r0, r3]
- add r4, r3, #0x0
- mul r4, r2
- add r3, r5, r4
- strh r3, [r1, #0x0]
- mov r3, #0x8
- ldrsh r5, [r0, r3]
- mov r3, #0xe
- ldrsh r3, [r0, r3]
- add r4, r3, #0x0
- mul r4, r2
- add r3, r5, r4
- strh r3, [r1, #0x2]
- mov r3, #0xa
- ldrsh r4, [r0, r3]
- mov r3, #0x10
- ldrsh r0, [r0, r3]
- mul r2, r0
- add r0, r4, r2
- strh r0, [r1, #0x4]
- pop {r4-r5}
- bx lr
-
- thumb_func_start FUN_0207F48C
-FUN_0207F48C: ; 0x0207F48C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x0
- ldrsh r1, [r4, r0]
- ldrsh r0, [r5, r0]
- add r6, r2, #0x0
- sub r7, r1, r0
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- mov r1, #0x0
- bl _fgr
- bls _0207F4E0
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- bl _ffix
- b _0207F506
-_0207F4E0:
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
- bl _ffix
-_0207F506:
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- strh r0, [r6, #0x0]
- mov r0, #0x2
- ldrsh r1, [r4, r0]
- ldrsh r0, [r5, r0]
- sub r7, r1, r0
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- mov r1, #0x0
- bl _fgr
- bls _0207F558
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- bl _ffix
- b _0207F57E
-_0207F558:
- add r0, r7, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
- bl _ffix
-_0207F57E:
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- strh r0, [r6, #0x2]
- mov r0, #0x4
- ldrsh r1, [r4, r0]
- ldrsh r0, [r5, r0]
- sub r4, r1, r0
- add r0, r4, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- mov r1, #0x0
- bl _fgr
- bls _0207F5D0
- add r0, r4, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- bl _ffix
- b _0207F5F6
-_0207F5D0:
- add r0, r4, #0x0
- bl _fflt
- ldr r1, _0207F600 ; =0x45800000
- bl _fdiv
- ldr r1, _0207F604 ; =0x40800000
- bl _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- bl _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
- bl _ffix
-_0207F5F6:
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- strh r0, [r6, #0x4]
- pop {r3-r7, pc}
- nop
-_0207F600: .word 0x45800000
-_0207F604: .word 0x40800000
-
- thumb_func_start FUN_0207F608
-FUN_0207F608: ; 0x0207F608
- push {r3-r7, lr}
- sub sp, #0x28
- ldr r2, _0207F7D0 ; =0x00000295
- add r5, r0, #0x0
- mov r1, #0xe7
- lsl r1, r1, #0x2
- ldrb r2, [r5, r2]
- ldr r0, _0207F7D4 ; =0x020FB5D8
- add r1, r5, r1
- bl FUN_0207F430
- ldr r2, _0207F7D8 ; =0x00000296
- ldr r1, _0207F7DC ; =0x000003A2
- ldrb r2, [r5, r2]
- ldr r0, _0207F7E0 ; =0x020FB5EA
- add r1, r5, r1
- bl FUN_0207F430
- ldr r2, _0207F7E4 ; =0x00000297
- ldr r1, _0207F7E8 ; =0x000003AE
- ldrb r2, [r5, r2]
- ldr r0, _0207F7EC ; =0x020FB5FC
- add r1, r5, r1
- bl FUN_0207F430
- mov r1, #0xea
- lsl r1, r1, #0x2
- ldr r0, _0207F7F0 ; =0x020FB60E
- add r1, r5, r1
- mov r2, #0x0
- bl FUN_0207F430
- ldr r2, _0207F7F4 ; =0x00000299
- mov r1, #0xed
- lsl r1, r1, #0x2
- ldrb r2, [r5, r2]
- ldr r0, _0207F7F8 ; =0x020FB620
- add r1, r5, r1
- bl FUN_0207F430
- ldr r2, _0207F7D0 ; =0x00000295
- ldr r1, _0207F7FC ; =0x000003BA
- ldrb r2, [r5, r2]
- ldr r0, _0207F800 ; =0x020FB632
- add r1, r5, r1
- bl FUN_0207F430
- ldr r1, _0207F804 ; =0x000003C6
- ldr r0, _0207F808 ; =0x020FB644
- add r1, r5, r1
- mov r2, #0x0
- bl FUN_0207F430
- mov r2, #0xa6
- lsl r2, r2, #0x2
- mov r1, #0xf
- lsl r1, r1, #0x6
- ldrb r2, [r5, r2]
- ldr r0, _0207F80C ; =0x020FB656
- add r1, r5, r1
- bl FUN_0207F430
- ldr r2, _0207F7F4 ; =0x00000299
- mov r1, #0xf3
- lsl r1, r1, #0x2
- ldrb r2, [r5, r2]
- ldr r0, _0207F810 ; =0x020FB668
- add r1, r5, r1
- bl FUN_0207F430
- ldr r1, _0207F814 ; =0x000003D2
- ldr r0, _0207F818 ; =0x020FB67A
- add r1, r5, r1
- mov r2, #0x0
- bl FUN_0207F430
- ldr r2, _0207F7E4 ; =0x00000297
- ldr r1, _0207F81C ; =0x000003DE
- ldrb r2, [r5, r2]
- ldr r0, _0207F820 ; =0x020FB68C
- add r1, r5, r1
- bl FUN_0207F430
- mov r2, #0xa6
- lsl r2, r2, #0x2
- mov r1, #0xf6
- lsl r1, r1, #0x2
- ldrb r2, [r5, r2]
- ldr r0, _0207F824 ; =0x020FB69E
- add r1, r5, r1
- bl FUN_0207F430
- mov r1, #0xf9
- lsl r1, r1, #0x2
- ldr r0, _0207F828 ; =0x020FB6B0
- add r1, r5, r1
- mov r2, #0x0
- bl FUN_0207F430
- ldr r2, _0207F7D8 ; =0x00000296
- ldr r1, _0207F82C ; =0x000003EA
- ldrb r2, [r5, r2]
- ldr r0, _0207F830 ; =0x020FB6C2
- add r1, r5, r1
- bl FUN_0207F430
- ldr r2, _0207F7E4 ; =0x00000297
- ldr r1, _0207F834 ; =0x000003F6
- ldrb r2, [r5, r2]
- ldr r0, _0207F838 ; =0x020FB6D4
- add r1, r5, r1
- bl FUN_0207F430
- mov r2, #0xa6
- lsl r2, r2, #0x2
- mov r1, #0x3f
- lsl r1, r1, #0x4
- ldrb r2, [r5, r2]
- ldr r0, _0207F83C ; =0x020FB6E6
- add r1, r5, r1
- bl FUN_0207F430
- mov r0, #0x0
- str r0, [sp, #0x24]
- mov r0, #0xcf
- lsl r0, r0, #0x2
- add r1, r5, r0
- str r1, [sp, #0x20]
- add r1, r0, #0x0
- add r1, #0x60
- add r1, r5, r1
- str r1, [sp, #0x1c]
- add r1, r0, #0x0
- sub r1, #0x60
- add r1, r5, r1
- str r1, [sp, #0x18]
- add r1, r0, #0x6
- add r1, r5, r1
- str r1, [sp, #0x14]
- add r1, r0, #0x0
- add r1, #0x66
- add r1, r5, r1
- str r1, [sp, #0x10]
- add r1, r0, #0x0
- sub r1, #0x5a
- add r1, r5, r1
- str r1, [sp, #0xc]
- add r1, r0, #0x0
- add r1, #0xc
- add r1, r5, r1
- str r1, [sp, #0x8]
- add r1, r0, #0x0
- add r1, #0x6c
- add r1, r5, r1
- str r1, [sp, #0x4]
- add r1, r0, #0x0
- sub r1, #0x54
- add r1, r5, r1
- str r1, [sp, #0x0]
- add r1, r0, #0x0
- add r1, #0x12
- add r7, r5, r1
- add r1, r0, #0x0
- add r1, #0x72
- sub r0, #0x4e
- add r6, r5, r1
- add r4, r5, r0
-_0207F756:
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x1c]
- ldr r2, [sp, #0x20]
- bl FUN_0207F48C
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x10]
- ldr r2, [sp, #0x14]
- bl FUN_0207F48C
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- bl FUN_0207F48C
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0207F48C
- ldr r0, [sp, #0x20]
- add r7, #0x18
- add r0, #0x18
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x1c]
- add r6, #0x18
- add r0, #0x18
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x18]
- add r4, #0x18
- add r0, #0x18
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x14]
- add r0, #0x18
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x10]
- add r0, #0x18
- str r0, [sp, #0x10]
- ldr r0, [sp, #0xc]
- add r0, #0x18
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r0, #0x18
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r0, #0x18
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r0, r0, #0x1
- str r0, [sp, #0x24]
- cmp r0, #0x4
- blo _0207F756
- mov r0, #0xff
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r5, r0]
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_0207F7D0: .word 0x00000295
-_0207F7D4: .word 0x020FB5D8
-_0207F7D8: .word 0x00000296
-_0207F7DC: .word 0x000003A2
-_0207F7E0: .word 0x020FB5EA
-_0207F7E4: .word 0x00000297
-_0207F7E8: .word 0x000003AE
-_0207F7EC: .word 0x020FB5FC
-_0207F7F0: .word 0x020FB60E
-_0207F7F4: .word 0x00000299
-_0207F7F8: .word 0x020FB620
-_0207F7FC: .word 0x000003BA
-_0207F800: .word 0x020FB632
-_0207F804: .word 0x000003C6
-_0207F808: .word 0x020FB644
-_0207F80C: .word 0x020FB656
-_0207F810: .word 0x020FB668
-_0207F814: .word 0x000003D2
-_0207F818: .word 0x020FB67A
-_0207F81C: .word 0x000003DE
-_0207F820: .word 0x020FB68C
-_0207F824: .word 0x020FB69E
-_0207F828: .word 0x020FB6B0
-_0207F82C: .word 0x000003EA
-_0207F830: .word 0x020FB6C2
-_0207F834: .word 0x000003F6
-_0207F838: .word 0x020FB6D4
-_0207F83C: .word 0x020FB6E6
-
- thumb_func_start FUN_0207F840
-FUN_0207F840: ; 0x0207F840
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- mov r0, #0x13
- bl FUN_02006D98
- mov r1, #0xae
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0207B628
- add r1, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r0, [r0, #0x11]
- cmp r0, #0x2
- add r0, sp, #0x10
- bne _0207F870
- mov r2, #0x2
- bl FUN_02068B70
- b _0207F876
-_0207F870:
- mov r2, #0x2
- bl FUN_02068B68
-_0207F876:
- mov r1, #0xaf
- lsl r1, r1, #0x2
- add r0, r4, r1
- sub r1, #0x60
- ldrh r1, [r4, r1]
- bl FUN_02069010
- mov r0, #0x97
- lsl r0, r0, #0x2
- ldrh r0, [r4, r0]
- mov r1, #0x1c
- bl FUN_02068678
- mov r1, #0x1
- eor r0, r1
- mov r1, #0xb6
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r1, #0x0
- mov r2, #0x0
- str r2, [sp, #0x0]
- sub r0, #0x1c
- str r2, [sp, #0x4]
- add r0, r4, r0
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- sub r1, #0x20
- ldr r0, [r4, r1]
- add r1, sp, #0x10
- mov r2, #0x34
- mov r3, #0x68
- bl FUN_020073A0
- mov r2, #0xb5
- lsl r2, r2, #0x2
- str r0, [r4, r2]
- ldr r0, [r4, r2]
- add r2, r2, #0x4
- ldr r2, [r4, r2]
- mov r1, #0x23
- bl FUN_02007558
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0207F8D0
-FUN_0207F8D0: ; 0x0207F8D0
- push {r3-r4, lr}
- sub sp, #0xc
- mov r1, #0x2a
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r4, r1]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- beq _0207F904
- mov r2, #0x0
- add r0, r1, #0x0
- str r2, [sp, #0x0]
- add r0, #0x38
- ldr r0, [r4, r0]
- mov r3, #0x2
- str r0, [sp, #0x4]
- add r0, r1, #0x0
- str r2, [sp, #0x8]
- add r0, #0x30
- add r1, #0x34
- ldr r0, [r4, r0]
- ldr r1, [r4, r1]
- bl FUN_02069038
- add sp, #0xc
- pop {r3-r4, pc}
-_0207F904:
- add r1, #0x34
- ldr r0, [r4, r1]
- mov r1, #0x1
- bl FUN_02007314
- mov r1, #0x0
- mov r2, #0xb6
- str r1, [sp, #0x0]
- lsl r2, r2, #0x2
- ldr r0, [r4, r2]
- mov r3, #0x2
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- add r0, r2, #0x0
- sub r1, r2, #0x4
- sub r2, #0x7c
- sub r0, #0x8
- ldrh r2, [r4, r2]
- ldr r0, [r4, r0]
- ldr r1, [r4, r1]
- bl FUN_02069038
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0207F934
-FUN_0207F934: ; 0x0207F934
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x2d
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- bl FUN_02014D9C
- mov r0, #0xae
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020072E8
- add r0, r4, #0x0
- bl FUN_0207F840
- add r0, r4, #0x0
- bl FUN_0207F8D0
- pop {r4, pc}
-
- thumb_func_start FUN_0207F95C
-FUN_0207F95C: ; 0x0207F95C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x93
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldrb r1, [r0, #0x12]
- cmp r1, #0x3
- bhi _0207F9AC
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0207F978: ; jump table (using 16-bit offset)
- .short _0207F980 - _0207F978 - 2; case 0
- .short _0207F980 - _0207F978 - 2; case 1
- .short _0207F9AC - _0207F978 - 2; case 2
- .short _0207F9AC - _0207F978 - 2; case 3
-_0207F980:
- ldr r0, [r0, #0x2c]
- ldr r1, _0207F9C4 ; =0x0000068F
- cmp r0, #0x0
- beq _0207F992
- ldrb r2, [r4, r1]
- mov r0, #0xf
- bic r2, r0
- strb r2, [r4, r1]
- b _0207F9BA
-_0207F992:
- ldrb r2, [r4, r1]
- mov r0, #0xf
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r4, r1]
- mov r1, #0x4
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- add r3, r1, #0x0
- bl FUN_0201AEE4
- b _0207F9BA
-_0207F9AC:
- ldr r1, _0207F9C4 ; =0x0000068F
- mov r0, #0xf
- ldrb r2, [r4, r1]
- bic r2, r0
- mov r0, #0xf
- orr r0, r2
- strb r0, [r4, r1]
-_0207F9BA:
- add r0, r4, #0x0
- bl FUN_0207FA38
- pop {r4, pc}
- nop
-_0207F9C4: .word 0x0000068F
-
- thumb_func_start FUN_0207F9C8
-FUN_0207F9C8: ; 0x0207F9C8
- push {r3-r7, lr}
- ldr r0, [r0, #0x0]
- add r4, r1, #0x0
- mov r1, #0x4
- add r5, r2, #0x0
- bl FUN_0201886C
- add r7, r0, #0x0
- lsl r0, r5, #0x2
- add r1, r5, r0
- ldrb r2, [r4, #0x0]
- mov r0, #0x1
- mov r3, #0x0
- add r5, r2, #0x0
- and r5, r0
- mov r0, #0xf
- mul r0, r5
- lsr r5, r2, #0x1
- mov r2, #0x96
- mul r2, r5
- add r0, r0, r2
- add r0, r1, r0
- add r0, #0x1e
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r12, r0
-_0207F9FC:
- mov r0, #0x1e
- add r1, r3, #0x0
- mul r1, r0
- mov r0, r12
- mov r2, #0x0
- add r5, r0, r1
-_0207FA08:
- ldrb r0, [r4, #0x1]
- ldrb r6, [r4, #0x3]
- lsl r1, r0, #0xc
- add r0, r2, r5
- add r1, r1, r0
- add r6, r3, r6
- lsl r6, r6, #0x5
- ldrb r0, [r4, #0x2]
- add r6, r2, r6
- add r0, r0, r6
- lsl r0, r0, #0x1
- strh r1, [r7, r0]
- add r0, r2, #0x1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x5
- blo _0207FA08
- add r0, r3, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x5
- blo _0207F9FC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0207FA38
-FUN_0207FA38: ; 0x0207FA38
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, _0207FA78 ; =0x0000068F
- ldrb r0, [r6, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- cmp r0, #0xf
- beq _0207FA74
- lsl r1, r0, #0x2
- ldr r0, _0207FA7C ; =0x02106148
- mov r5, #0x0
- ldr r4, [r0, r1]
- add r7, r5, #0x0
-_0207FA52:
- lsl r1, r5, #0x2
- ldrb r0, [r4, r1]
- cmp r0, #0xff
- beq _0207FA6C
- add r0, r6, #0x0
- add r1, r4, r1
- add r2, r7, #0x0
- bl FUN_0207F9C8
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- b _0207FA52
-_0207FA6C:
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
-_0207FA74:
- pop {r3-r7, pc}
- nop
-_0207FA78: .word 0x0000068F
-_0207FA7C: .word 0x02106148
-
- thumb_func_start FUN_0207FA80
-FUN_0207FA80: ; 0x0207FA80
- push {r3, lr}
- bl FUN_0207FA98
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _0207FA94
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
-_0207FA94:
- mov r0, #0xff
- pop {r3, pc}
-
- thumb_func_start FUN_0207FA98
-FUN_0207FA98: ; 0x0207FA98
- push {r3, lr}
- ldr r1, _0207FAB8 ; =0x0000068F
- ldrb r0, [r0, r1]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- cmp r0, #0xf
- bne _0207FAAC
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
-_0207FAAC:
- lsl r1, r0, #0x2
- ldr r0, _0207FABC ; =0x0210613C
- ldr r0, [r0, r1]
- bl FUN_02020988
- pop {r3, pc}
- .balign 4
-_0207FAB8: .word 0x0000068F
-_0207FABC: .word 0x0210613C
-
- thumb_func_start FUN_0207FAC0
-FUN_0207FAC0: ; 0x0207FAC0
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0207FB18 ; =0x0000068F
- ldrb r0, [r5, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- cmp r0, #0xf
- bne _0207FADA
- mov r0, #0x0
- add sp, #0x8
- mvn r0, r0
- pop {r3-r5, pc}
-_0207FADA:
- lsl r1, r0, #0x2
- ldr r0, _0207FB1C ; =0x0210613C
- ldr r0, [r0, r1]
- bl FUN_02020968
- add r4, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _0207FB12
- ldr r1, _0207FB20 ; =0x0000FFFE
- add r0, sp, #0x4
- strh r1, [r0, #0x0]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r3, _0207FB24 ; =0x021C48F8
- ldr r0, [r5, #0x0]
- ldrh r2, [r3, #0x1c]
- ldrh r3, [r3, #0x1e]
- mov r1, #0x4
- bl FUN_0201AFBC
- cmp r0, #0x0
- bne _0207FB12
- mov r0, #0x0
- add sp, #0x8
- mvn r0, r0
- pop {r3-r5, pc}
-_0207FB12:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_0207FB18: .word 0x0000068F
-_0207FB1C: .word 0x0210613C
-_0207FB20: .word 0x0000FFFE
-_0207FB24: .word 0x021C48F8
-
- thumb_func_start FUN_0207FB28
-FUN_0207FB28: ; 0x0207FB28
- push {r4-r6, lr}
- ldr r1, _0207FBF4 ; =0x0000068F
- add r5, r0, #0x0
- ldrb r2, [r5, r1]
- lsl r2, r2, #0x1c
- lsr r3, r2, #0x1a
- ldr r2, _0207FBF8 ; =0x02106148
- ldr r4, [r2, r3]
- add r2, r1, #0x6
- ldrb r2, [r5, r2]
- cmp r2, #0x0
- beq _0207FB4A
- cmp r2, #0x1
- beq _0207FB84
- cmp r2, #0x2
- beq _0207FB8C
- b _0207FBEE
-_0207FB4A:
- sub r1, #0xab
- add r0, r1, #0x0
- bl FUN_020054C8
- add r0, r5, #0x0
- bl FUN_0207FA38
- ldr r1, _0207FBFC ; =0x00000696
- add r0, r5, #0x0
- ldrb r1, [r5, r1]
- mov r2, #0x2
- lsl r1, r1, #0x2
- add r1, r4, r1
- bl FUN_0207F9C8
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
- add r0, r5, #0x0
- bl FUN_0207CEDC
- ldr r0, _0207FC00 ; =0x00000694
- mov r1, #0x0
- strb r1, [r5, r0]
- mov r1, #0x1
- add r0, r0, #0x1
- strb r1, [r5, r0]
- b _0207FBEE
-_0207FB84:
- mov r2, #0x2
- add r0, r1, #0x6
- strb r2, [r5, r0]
- b _0207FBEE
-_0207FB8C:
- add r2, r1, #0x5
- ldrb r2, [r5, r2]
- cmp r2, #0x3
- beq _0207FBA0
- add r0, r1, #0x5
- ldrb r0, [r5, r0]
- add r2, r0, #0x1
- add r0, r1, #0x5
- strb r2, [r5, r0]
- b _0207FBEE
-_0207FBA0:
- bl FUN_0207CF58
- ldr r0, _0207FBFC ; =0x00000696
- ldrb r6, [r5, r0]
- add r0, r5, #0x0
- bl FUN_0207FAC0
- cmp r6, r0
- beq _0207FBEE
- mov r0, #0x2a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- lsl r0, r0, #0x3
- lsr r0, r0, #0x1f
- beq _0207FBD6
- lsl r1, r6, #0x2
- ldrb r0, [r4, r1]
- cmp r0, #0x1
- beq _0207FBD6
- cmp r0, #0x7
- beq _0207FBD6
- add r0, r5, #0x0
- add r1, r4, r1
- mov r2, #0x0
- bl FUN_0207F9C8
- b _0207FBE2
-_0207FBD6:
- lsl r1, r6, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- mov r2, #0x1
- bl FUN_0207F9C8
-_0207FBE2:
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- bl FUN_0201AC68
- mov r0, #0x1
- pop {r4-r6, pc}
-_0207FBEE:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0207FBF4: .word 0x0000068F
-_0207FBF8: .word 0x02106148
-_0207FBFC: .word 0x00000696
-_0207FC00: .word 0x00000694
-
- thumb_func_start FUN_0207FC04
-FUN_0207FC04: ; 0x0207FC04
- push {r4-r5}
- ldr r4, _0207FC38 ; =0x0000068F
- ldrb r3, [r0, r4]
- lsl r3, r3, #0x1c
- lsr r5, r3, #0x1a
- ldr r3, _0207FC3C ; =0x02106148
- ldr r3, [r3, r5]
- add r5, r4, #0x7
- ldrb r5, [r0, r5]
- lsl r5, r5, #0x2
- add r5, r3, r5
- ldrb r5, [r5, #0x2]
- lsl r5, r5, #0x3
- add r5, #0x14
- strh r5, [r1, #0x0]
- add r1, r4, #0x7
- ldrb r0, [r0, r1]
- lsl r0, r0, #0x2
- add r0, r3, r0
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x3
- add r0, #0x14
- strh r0, [r2, #0x0]
- pop {r4-r5}
- bx lr
- nop
-_0207FC38: .word 0x0000068F
-_0207FC3C: .word 0x02106148
-
- thumb_func_start FUN_0207FC40
-FUN_0207FC40: ; 0x0207FC40
- ldr r2, _0207FC54 ; =0x0000068F
- ldrb r0, [r0, r2]
- lsl r0, r0, #0x1c
- lsr r2, r0, #0x1a
- ldr r0, _0207FC58 ; =0x02106148
- ldr r2, [r0, r2]
- lsl r0, r1, #0x2
- ldrb r0, [r2, r0]
- bx lr
- nop
-_0207FC54: .word 0x0000068F
-_0207FC58: .word 0x02106148
-
- thumb_func_start FUN_0207FC5C
-FUN_0207FC5C: ; 0x0207FC5C
- cmp r1, #0x4
- bhi _0207FCA8
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0207FC6C: ; jump table (using 16-bit offset)
- .short _0207FC76 - _0207FC6C - 2; case 0
- .short _0207FC80 - _0207FC6C - 2; case 1
- .short _0207FC8A - _0207FC6C - 2; case 2
- .short _0207FC94 - _0207FC6C - 2; case 3
- .short _0207FC9E - _0207FC6C - 2; case 4
-_0207FC76:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCAC ; =0x020FB788
- ldr r0, [r0, r1]
- bx lr
-_0207FC80:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCB0 ; =0x020FB78C
- ldrh r0, [r0, r1]
- bx lr
-_0207FC8A:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCB4 ; =0x020FB78E
- ldrh r0, [r0, r1]
- bx lr
-_0207FC94:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCB8 ; =0x020FB790
- ldrh r0, [r0, r1]
- bx lr
-_0207FC9E:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCBC ; =0x020FB792
- ldrh r0, [r0, r1]
- bx lr
-_0207FCA8:
- mov r0, #0x0
- bx lr
- .balign 4
-_0207FCAC: .word 0x020FB788
-_0207FCB0: .word 0x020FB78C
-_0207FCB4: .word 0x020FB78E
-_0207FCB8: .word 0x020FB790
-_0207FCBC: .word 0x020FB792
-
- thumb_func_start FUN_0207FCC0
-FUN_0207FCC0: ; 0x0207FCC0
- mov r2, #0xc
- mul r2, r1
- ldr r1, _0207FCDC ; =0x020FB792
- ldrh r2, [r1, r2]
- mov r1, #0x2
- lsl r1, r1, #0xe
- tst r1, r2
- beq _0207FCD8
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- ldrb r2, [r0, r1]
- add r2, #0x92
-_0207FCD8:
- add r0, r2, #0x0
- bx lr
- .balign 4
-_0207FCDC: .word 0x020FB792
-
- thumb_func_start FUN_0207FCE0
-FUN_0207FCE0: ; 0x0207FCE0
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0207FCFC ; =0x020FB792
- ldrh r1, [r0, r1]
- mov r0, #0x2
- lsl r0, r0, #0xe
- tst r0, r1
- beq _0207FCF6
- lsl r0, r1, #0x18
- lsr r0, r0, #0x18
- bx lr
-_0207FCF6:
- mov r0, #0xff
- bx lr
- nop
-_0207FCFC: .word 0x020FB792
-
- thumb_func_start FUN_0207FD00
-FUN_0207FD00: ; 0x0207FD00
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r7, #0x0
- mov r1, #0x3c
- bl FUN_02016998
- add r4, r0, #0x0
- mov r2, #0x65
- str r7, [r4, #0x0]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- add r3, r7, #0x0
- bl FUN_0200A86C
- str r0, [r4, #0x4]
- ldr r2, [r4, #0x0]
- mov r0, #0x9
- mov r1, #0x20
- bl FUN_0200AA90
- str r0, [r4, #0x8]
- str r5, [r4, #0xc]
- str r6, [r4, #0x10]
- mov r0, #0x0
- str r0, [r4, #0x14]
- str r0, [r4, #0x18]
- str r0, [r4, #0x1c]
- str r0, [r4, #0x20]
- str r0, [r4, #0x24]
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- str r0, [r4, #0x30]
- str r0, [r4, #0x34]
- str r0, [r4, #0x38]
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0x0]
- bl FUN_020806F4
- cmp r0, #0x14
- bls _0207FD5A
- b _02080090
-_0207FD5A:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0207FD66: ; jump table (using 16-bit offset)
- .short _0207FD90 - _0207FD66 - 2; case 0
- .short _0207FDBC - _0207FD66 - 2; case 1
- .short _0207FDE8 - _0207FD66 - 2; case 2
- .short _0207FE14 - _0207FD66 - 2; case 3
- .short _0207FE40 - _0207FD66 - 2; case 4
- .short _0207FE6C - _0207FD66 - 2; case 5
- .short _0207FE98 - _0207FD66 - 2; case 6
- .short _0207FEC4 - _0207FD66 - 2; case 7
- .short _0207FEF0 - _0207FD66 - 2; case 8
- .short _0207FF1C - _0207FD66 - 2; case 9
- .short _0207FF3E - _0207FD66 - 2; case 10
- .short _0207FF60 - _0207FD66 - 2; case 11
- .short _0207FF82 - _0207FD66 - 2; case 12
- .short _0207FFA4 - _0207FD66 - 2; case 13
- .short _0207FFC6 - _0207FD66 - 2; case 14
- .short _0207FFE8 - _0207FD66 - 2; case 15
- .short _02080014 - _0207FD66 - 2; case 16
- .short _0208002E - _0207FD66 - 2; case 17
- .short _02080046 - _0207FD66 - 2; case 18
- .short _02080060 - _0207FD66 - 2; case 19
- .short _02080078 - _0207FD66 - 2; case 20
-_0207FD90:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x31
- bl FUN_02080108
- mov r0, #0x6
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x7
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FDBC:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_02080108
- mov r0, #0x6
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x7
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FDE8:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_02080108
- mov r0, #0x6
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x7
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FE14:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_02080108
- mov r0, #0x8
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x9
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FE40:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x35
- bl FUN_02080108
- mov r0, #0x8
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x9
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FE6C:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x36
- bl FUN_02080108
- mov r0, #0x8
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x9
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FE98:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x37
- bl FUN_02080108
- mov r0, #0x8
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x9
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FEC4:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x38
- bl FUN_02080108
- mov r0, #0x7
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x8
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FEF0:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x39
- bl FUN_02080108
- mov r0, #0x7
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x8
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_0207FF1C:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3a
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FF3E:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3b
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FF60:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3c
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FF82:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3d
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FFA4:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3e
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FFC6:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x3f
- bl FUN_02080108
- mov r0, #0x9
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- b _02080090
-_0207FFE8:
- mov r0, #0x1
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- bl FUN_020800E0
- mov r0, #0x2
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x40
- bl FUN_02080228
- mov r0, #0x6
- str r0, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_0208048C
- mov r0, #0x7
- str r0, [r4, #0x2c]
- add r0, r4, #0x0
- bl FUN_02080678
- b _02080090
-_02080014:
- mov r0, #0x1
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x65
- mov r2, #0x0
- bl FUN_02080384
- mov r0, #0x6
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- bl FUN_020806B4
- b _02080090
-_0208002E:
- mov r2, #0x1
- add r0, r4, #0x0
- mov r1, #0x66
- str r2, [r4, #0x1c]
- bl FUN_02080384
- mov r0, #0x6
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- bl FUN_020806B4
- b _02080090
-_02080046:
- mov r0, #0x1
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x67
- mov r2, #0x0
- bl FUN_02080384
- mov r0, #0x6
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- bl FUN_020806B4
- b _02080090
-_02080060:
- mov r2, #0x1
- add r0, r4, #0x0
- mov r1, #0x67
- str r2, [r4, #0x1c]
- bl FUN_02080384
- mov r0, #0x6
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- bl FUN_020806B4
- b _02080090
-_02080078:
- mov r0, #0x1
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x68
- mov r2, #0x0
- bl FUN_02080384
- mov r0, #0x6
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- bl FUN_020806B4
-_02080090:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02080094
-FUN_02080094: ; 0x02080094
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _020800A2
- bl FUN_02016A18
-_020800A2:
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _020800AC
- bl FUN_02016A18
-_020800AC:
- ldr r0, [r4, #0x28]
- cmp r0, #0x0
- beq _020800B6
- bl FUN_02016A18
-_020800B6:
- ldr r0, [r4, #0x30]
- cmp r0, #0x0
- beq _020800C0
- bl FUN_02016A18
-_020800C0:
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _020800CA
- bl FUN_02016A18
-_020800CA:
- ldr r0, [r4, #0x8]
- bl FUN_0200AB18
- ldr r0, [r4, #0x4]
- bl FUN_0200A8B8
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020800E0
-FUN_020800E0: ; 0x020800E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02068854
- add r4, r0, #0x0
- cmp r4, #0x18
- bgt _02080106
- ldr r1, [r5, #0x0]
- mov r0, #0x48
- bl FUN_020219F4
- str r0, [r5, #0x18]
- add r4, #0x18
- ldr r0, [r5, #0x4]
- ldr r2, [r5, #0x18]
- add r1, r4, #0x0
- bl FUN_0200A8E0
-_02080106:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02080108
-FUN_02080108: ; 0x02080108
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x9
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x6
- bl FUN_020219F4
- add r4, r0, #0x0
- mov r0, #0x9
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x6
- bl FUN_020219F4
- str r0, [r5, #0x20]
- ldr r0, [r5, #0x4]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0200A8E0
- ldr r0, [r5, #0xc]
- mov r1, #0x94
- mov r2, #0x0
- bl FUN_020671BC
- mov r3, #0x2
- add r2, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x95
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x1
- bl FUN_0200B764
- ldr r0, [r5, #0xc]
- mov r1, #0x96
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x2
- ldr r0, [r5, #0x8]
- add r3, r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x9b
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x3
- ldr r0, [r5, #0x8]
- add r3, r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x98
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- ldr r0, [r5, #0xc]
- mov r1, #0x91
- mov r2, #0x0
- bl FUN_020671BC
- mov r3, #0x2
- add r2, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x5
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x92
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x6
- bl FUN_0200B764
- ldr r0, [r5, #0xc]
- mov r1, #0x93
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x7
- mov r3, #0x2
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x8
- bl FUN_0200B59C
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0x20]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02080228
-FUN_02080228: ; 0x02080228
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x12
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x4
- bl FUN_020219F4
- add r5, r0, #0x0
- mov r0, #0x12
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x4
- bl FUN_020219F4
- str r0, [r4, #0x20]
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0200A8E0
- ldr r0, [r4, #0xc]
- mov r1, #0x94
- mov r2, #0x0
- bl FUN_020671BC
- mov r3, #0x2
- add r2, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r4, #0xc]
- mov r1, #0x95
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_0200B764
- ldr r0, [r4, #0xc]
- mov r1, #0x96
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x2
- ldr r0, [r4, #0x8]
- add r3, r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r4, #0xc]
- mov r1, #0x9b
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r1, #0x3
- ldr r0, [r4, #0x8]
- add r3, r1, #0x0
- bl FUN_0200AD38
- ldr r0, [r4, #0xc]
- mov r1, #0x79
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xf
- bhi _020802F8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020802D8: ; jump table (using 16-bit offset)
- .short _020802F8 - _020802D8 - 2; case 0
- .short _02080334 - _020802D8 - 2; case 1
- .short _02080334 - _020802D8 - 2; case 2
- .short _02080334 - _020802D8 - 2; case 3
- .short _0208030C - _020802D8 - 2; case 4
- .short _0208030C - _020802D8 - 2; case 5
- .short _020802F8 - _020802D8 - 2; case 6
- .short _02080320 - _020802D8 - 2; case 7
- .short _02080320 - _020802D8 - 2; case 8
- .short _020802F8 - _020802D8 - 2; case 9
- .short _0208035C - _020802D8 - 2; case 10
- .short _0208035C - _020802D8 - 2; case 11
- .short _020802F8 - _020802D8 - 2; case 12
- .short _020802F8 - _020802D8 - 2; case 13
- .short _020802F8 - _020802D8 - 2; case 14
- .short _02080348 - _020802D8 - 2; case 15
-_020802F8:
- mov r0, #0x1
- mov r1, #0x7
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- b _0208036E
-_0208030C:
- mov r0, #0x1
- mov r1, #0x3
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- b _0208036E
-_02080320:
- mov r0, #0x1
- mov r1, #0x4
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- b _0208036E
-_02080334:
- mov r0, #0x1
- mov r1, #0x5
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- b _0208036E
-_02080348:
- mov r0, #0x1
- mov r1, #0x8
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
- b _0208036E
-_0208035C:
- mov r0, #0x1
- mov r1, #0x7
- bl FUN_02015CF8
- add r2, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_0200B59C
-_0208036E:
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0x20]
- add r2, r5, #0x0
- bl FUN_0200B7B8
- add r0, r5, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02080384
-FUN_02080384: ; 0x02080384
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- mov r0, #0x5a
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x2
- add r6, r2, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- mov r0, #0x5a
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x2
- bl FUN_020219F4
- str r0, [r5, #0x20]
- ldr r0, [r5, #0x4]
- add r1, r7, #0x0
- add r2, r4, #0x0
- bl FUN_0200A8E0
- cmp r6, #0x0
- ldr r0, [r5, #0xc]
- bne _02080418
- mov r1, #0x91
- mov r2, #0x0
- bl FUN_020671BC
- mov r3, #0x2
- add r2, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x5
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x92
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x6
- bl FUN_0200B764
- ldr r0, [r5, #0xc]
- mov r1, #0x93
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x7
- mov r3, #0x2
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x8
- bl FUN_0200B59C
- b _02080478
-_02080418:
- mov r1, #0x94
- mov r2, #0x0
- bl FUN_020671BC
- mov r3, #0x2
- add r2, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x5
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x95
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x6
- bl FUN_0200B764
- ldr r0, [r5, #0xc]
- mov r1, #0x96
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x8]
- mov r1, #0x7
- mov r3, #0x2
- bl FUN_0200AD38
- ldr r0, [r5, #0xc]
- mov r1, #0x98
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r1, #0x8
- bl FUN_0200B59C
-_02080478:
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0x20]
- add r2, r4, #0x0
- bl FUN_0200B7B8
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0208048C
-FUN_0208048C: ; 0x0208048C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- mov r0, #0x48
- bl FUN_020219F4
- str r0, [r4, #0x28]
- ldr r0, [r4, #0xc]
- mov r1, #0x46
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- ldr r0, [r4, #0xc]
- mov r1, #0x47
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- mov r1, #0x48
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- mov r1, #0x49
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- mov r1, #0x4a
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x4b
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r1, #0x0
- ldr r0, [r4, #0xc]
- add r2, r1, #0x0
- bl FUN_020671BC
- mov r1, #0x6
- bl _u32_div_f
- cmp r1, #0x5
- bhi _02080510
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02080504: ; jump table (using 16-bit offset)
- .short _02080510 - _02080504 - 2; case 0
- .short _02080548 - _02080504 - 2; case 1
- .short _0208057E - _02080504 - 2; case 2
- .short _020805B4 - _02080504 - 2; case 3
- .short _020805EA - _02080504 - 2; case 4
- .short _02080620 - _02080504 - 2; case 5
-_02080510:
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x8]
- add r2, r0, #0x0
- mov r5, #0x0
- cmp r2, r1
- bge _02080520
- mov r5, #0x1
- add r0, r1, #0x0
-_02080520:
- ldr r1, [sp, #0x4]
- cmp r0, r1
- bge _0208052A
- mov r5, #0x2
- add r0, r1, #0x0
-_0208052A:
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bge _02080534
- mov r5, #0x3
- add r0, r1, #0x0
-_02080534:
- cmp r0, r7
- bge _0208053C
- mov r5, #0x4
- add r0, r7, #0x0
-_0208053C:
- cmp r0, r6
- blt _02080542
- b _02080654
-_02080542:
- mov r5, #0x5
- add r0, r6, #0x0
- b _02080654
-_02080548:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r2, r0, #0x0
- mov r5, #0x1
- cmp r2, r1
- bge _02080558
- mov r5, #0x2
- add r0, r1, #0x0
-_02080558:
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bge _02080562
- mov r5, #0x3
- add r0, r1, #0x0
-_02080562:
- cmp r0, r7
- bge _0208056A
- mov r5, #0x4
- add r0, r7, #0x0
-_0208056A:
- cmp r0, r6
- bge _02080572
- mov r5, #0x5
- add r0, r6, #0x0
-_02080572:
- ldr r1, [sp, #0xc]
- cmp r0, r1
- bge _02080654
- mov r5, #0x0
- add r0, r1, #0x0
- b _02080654
-_0208057E:
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- add r2, r0, #0x0
- mov r5, #0x2
- cmp r2, r1
- bge _0208058E
- mov r5, #0x3
- add r0, r1, #0x0
-_0208058E:
- cmp r0, r7
- bge _02080596
- mov r5, #0x4
- add r0, r7, #0x0
-_02080596:
- cmp r0, r6
- bge _0208059E
- mov r5, #0x5
- add r0, r6, #0x0
-_0208059E:
- ldr r1, [sp, #0xc]
- cmp r0, r1
- bge _020805A8
- mov r5, #0x0
- add r0, r1, #0x0
-_020805A8:
- ldr r1, [sp, #0x8]
- cmp r0, r1
- bge _02080654
- mov r5, #0x1
- add r0, r1, #0x0
- b _02080654
-_020805B4:
- ldr r0, [sp, #0x0]
- mov r5, #0x3
- add r1, r0, #0x0
- cmp r1, r7
- bge _020805C2
- mov r5, #0x4
- add r0, r7, #0x0
-_020805C2:
- cmp r0, r6
- bge _020805CA
- mov r5, #0x5
- add r0, r6, #0x0
-_020805CA:
- ldr r1, [sp, #0xc]
- cmp r0, r1
- bge _020805D4
- mov r5, #0x0
- add r0, r1, #0x0
-_020805D4:
- ldr r1, [sp, #0x8]
- cmp r0, r1
- bge _020805DE
- mov r5, #0x1
- add r0, r1, #0x0
-_020805DE:
- ldr r1, [sp, #0x4]
- cmp r0, r1
- bge _02080654
- mov r5, #0x2
- add r0, r1, #0x0
- b _02080654
-_020805EA:
- mov r5, #0x4
- add r0, r7, #0x0
- cmp r7, r6
- bge _020805F6
- mov r5, #0x5
- add r0, r6, #0x0
-_020805F6:
- ldr r1, [sp, #0xc]
- cmp r0, r1
- bge _02080600
- mov r5, #0x0
- add r0, r1, #0x0
-_02080600:
- ldr r1, [sp, #0x8]
- cmp r0, r1
- bge _0208060A
- mov r5, #0x1
- add r0, r1, #0x0
-_0208060A:
- ldr r1, [sp, #0x4]
- cmp r0, r1
- bge _02080614
- mov r5, #0x2
- add r0, r1, #0x0
-_02080614:
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bge _02080654
- mov r5, #0x3
- add r0, r1, #0x0
- b _02080654
-_02080620:
- ldr r1, [sp, #0xc]
- mov r5, #0x5
- add r0, r6, #0x0
- cmp r6, r1
- bge _0208062E
- mov r5, #0x0
- add r0, r1, #0x0
-_0208062E:
- ldr r1, [sp, #0x8]
- cmp r0, r1
- bge _02080638
- mov r5, #0x1
- add r0, r1, #0x0
-_02080638:
- ldr r1, [sp, #0x4]
- cmp r0, r1
- bge _02080642
- mov r5, #0x2
- add r0, r1, #0x0
-_02080642:
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bge _0208064C
- mov r5, #0x3
- add r0, r1, #0x0
-_0208064C:
- cmp r0, r7
- bge _02080654
- mov r5, #0x4
- add r0, r7, #0x0
-_02080654:
- mov r1, #0x5
- bl _s32_div_f
- mov r2, #0xa
- add r6, r5, #0x0
- mul r6, r2
- ldr r3, _02080674 ; =0x020FBB54
- lsl r2, r1, #0x1
- add r1, r3, r6
- ldrh r1, [r2, r1]
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x28]
- bl FUN_0200A8E0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02080674: .word 0x020FBB54
-
- thumb_func_start FUN_02080678
-FUN_02080678: ; 0x02080678
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x0]
- mov r0, #0x48
- bl FUN_020219F4
- mov r6, #0x0
- str r0, [r5, #0x30]
- add r4, r6, #0x0
-_0208068A:
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02069BC8
- cmp r0, #0x1
- bne _02080698
- add r6, r4, #0x1
-_02080698:
- add r4, r4, #0x1
- cmp r4, #0x5
- blt _0208068A
- ldr r1, _020806B0 ; =0x020FBB48
- lsl r2, r6, #0x1
- ldrh r1, [r1, r2]
- ldr r0, [r5, #0x4]
- ldr r2, [r5, #0x30]
- bl FUN_0200A8E0
- pop {r4-r6, pc}
- nop
-_020806B0: .word 0x020FBB48
-
- thumb_func_start FUN_020806B4
-FUN_020806B4: ; 0x020806B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- mov r0, #0x12
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x4
- bl FUN_020219F4
- str r0, [r5, #0x38]
- cmp r4, #0x5
- bgt _020806D8
- mov r1, #0x69
- b _020806EA
-_020806D8:
- cmp r4, #0xa
- bgt _020806E0
- mov r1, #0x6a
- b _020806EA
-_020806E0:
- cmp r4, #0x28
- bgt _020806E8
- mov r1, #0x6b
- b _020806EA
-_020806E8:
- mov r1, #0x6c
-_020806EA:
- ldr r0, [r5, #0x4]
- ldr r2, [r5, #0x38]
- bl FUN_0200A8E0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020806F4
-FUN_020806F4: ; 0x020806F4
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02080708
- b _0208084E
-_02080708:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02080774
- add r0, r5, #0x0
- mov r1, #0x98
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r0, #0x0
- mov r1, #0x37
- bl FUN_02015CF8
- cmp r6, r0
- bne _02080732
- mov r0, #0xf
- pop {r4-r6, pc}
-_02080732:
- add r0, r5, #0x0
- mov r1, #0x6e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _0208074C
- cmp r4, #0x1
- bne _02080748
- mov r0, #0x7
- pop {r4-r6, pc}
-_02080748:
- mov r0, #0x8
- pop {r4-r6, pc}
-_0208074C:
- add r0, r5, #0x0
- mov r1, #0x98
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_02015CF8
- cmp r5, r0
- bne _02080768
- mov r0, #0x2
- pop {r4-r6, pc}
-_02080768:
- cmp r4, #0x1
- bne _02080770
- mov r0, #0x0
- pop {r4-r6, pc}
-_02080770:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02080774:
- add r0, r5, #0x0
- mov r1, #0x6e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _020807D6
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x2
- bl FUN_02015CF8
- cmp r6, r0
- bne _020807A6
- cmp r4, #0x1
- bne _020807A2
- mov r0, #0xd
- pop {r4-r6, pc}
-_020807A2:
- mov r0, #0xe
- pop {r4-r6, pc}
-_020807A6:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_02015CF8
- cmp r5, r0
- bne _020807CA
- cmp r4, #0x1
- bne _020807C6
- mov r0, #0xb
- pop {r4-r6, pc}
-_020807C6:
- mov r0, #0xc
- pop {r4-r6, pc}
-_020807CA:
- cmp r4, #0x1
- bne _020807D2
- mov r0, #0x9
- pop {r4-r6, pc}
-_020807D2:
- mov r0, #0xa
- pop {r4-r6, pc}
-_020807D6:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_02015CF8
- cmp r6, r0
- beq _02080836
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_02015CF8
- cmp r6, r0
- beq _02080836
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x9
- bl FUN_02015CF8
- cmp r6, r0
- beq _02080836
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- mov r0, #0x1
- mov r1, #0xa
- bl FUN_02015CF8
- cmp r5, r0
- bne _02080842
-_02080836:
- cmp r4, #0x1
- bne _0208083E
- mov r0, #0x5
- pop {r4-r6, pc}
-_0208083E:
- mov r0, #0x6
- pop {r4-r6, pc}
-_02080842:
- cmp r4, #0x1
- bne _0208084A
- mov r0, #0x3
- pop {r4-r6, pc}
-_0208084A:
- mov r0, #0x4
- pop {r4-r6, pc}
-_0208084E:
- cmp r4, #0x1
- bne _02080884
- add r0, r5, #0x0
- mov r1, #0x6e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _02080880
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_02015CF8
- cmp r4, r0
- bne _0208087C
- mov r0, #0x14
- pop {r4-r6, pc}
-_0208087C:
- mov r0, #0x12
- pop {r4-r6, pc}
-_02080880:
- mov r0, #0x10
- pop {r4-r6, pc}
-_02080884:
- add r0, r5, #0x0
- mov r1, #0x6e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _02080896
- mov r0, #0x13
- pop {r4-r6, pc}
-_02080896:
- mov r0, #0x11
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0208089C
-FUN_0208089C: ; 0x0208089C
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- bl FUN_020808AC
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020808AC
-FUN_020808AC: ; 0x020808AC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r5, r3, #0x0
- ldr r6, [sp, #0x18]
- cmp r2, #0x6
- bls _020808BC
- b _02080AE0
-_020808BC:
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020808C8: ; jump table (using 16-bit offset)
- .short _020808D6 - _020808C8 - 2; case 0
- .short _0208092A - _020808C8 - 2; case 1
- .short _02080974 - _020808C8 - 2; case 2
- .short _02080994 - _020808C8 - 2; case 3
- .short _020809B0 - _020808C8 - 2; case 4
- .short _02080A38 - _020808C8 - 2; case 5
- .short _02080A58 - _020808C8 - 2; case 6
-_020808D6:
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_02015CF8
- cmp r5, r0
- ble _020808E4
- mov r5, #0x0
-_020808E4:
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _0208090C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- bl FUN_02080C08
- b _0208091E
-_0208090C:
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_02080B30
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02080BA8
-_0208091E:
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02080AE4
- pop {r3-r7, pc}
-_0208092A:
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _02080958
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_02015CF8
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- bl FUN_02080C08
- pop {r3-r7, pc}
-_02080958:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_02015CF8
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- pop {r3-r7, pc}
-_02080974:
- mov r1, #0x0
- bl FUN_02080BA8
- mov r0, #0x0
- mov r1, #0x37
- bl FUN_02015CF8
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- bl FUN_02080C08
- pop {r3-r7, pc}
-_02080994:
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_02080B30
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02080BA8
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02080AE4
- pop {r3-r7, pc}
-_020809B0:
- add r2, r6, #0x0
- bl FUN_0206A9AC
- cmp r0, #0x1
- bne _020809F6
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _020809E2
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- bl FUN_02080C08
- b _02080A30
-_020809E2:
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_02080B30
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02080BA8
- b _02080A30
-_020809F6:
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _02080A1E
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- bl FUN_02080C08
- b _02080A30
-_02080A1E:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02080BA8
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_02080B30
-_02080A30:
- add r0, r4, #0x0
- bl FUN_02080C28
- pop {r3-r7, pc}
-_02080A38:
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _02080AE0
- mov r0, #0x1
- mov r1, #0x2
- bl FUN_02015CF8
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- pop {r3-r7, pc}
-_02080A58:
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_02015CF8
- cmp r5, r0
- ble _02080A66
- mov r5, #0x0
-_02080A66:
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0206A9AC
- cmp r0, #0x0
- bne _02080ACC
- add r0, r4, #0x0
- mov r1, #0x98
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x97
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x94
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x91
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x95
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x92
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x96
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x93
- add r2, sp, #0x0
- bl FUN_02067960
-_02080ACC:
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- bl FUN_02080B30
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02080AE4
-_02080AE0:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02080AE4
-FUN_02080AE4: ; 0x02080AE4
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r6, r2, #0x0
- bl FUN_020239BC
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_020239CC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020239A0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x7
- add r2, sp, #0x4
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x9c
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x90
- add r2, r4, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02080B30
-FUN_02080B30: ; 0x02080B30
- push {r0-r3}
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, sp, #0x0
- add r4, r2, #0x0
- bl FUN_020126B4
- cmp r4, #0x0
- add r2, sp, #0x24
- bne _02080B76
- add r0, r5, #0x0
- mov r1, #0x97
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x91
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x92
- add r2, sp, #0x4
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x93
- add r2, sp, #0x8
- bl FUN_02067960
- add sp, #0x10
- pop {r3-r5}
- pop {r3}
- add sp, #0x10
- bx r3
-_02080B76:
- add r0, r5, #0x0
- mov r1, #0x98
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x94
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x95
- add r2, sp, #0x4
- bl FUN_02067960
- add r0, r5, #0x0
- mov r1, #0x96
- add r2, sp, #0x8
- bl FUN_02067960
- add sp, #0x10
- pop {r3-r5}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-
- thumb_func_start FUN_02080BA8
-FUN_02080BA8: ; 0x02080BA8
- push {r3-r4, lr}
- sub sp, #0x4
- mov r2, #0x0
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- cmp r1, #0x0
- add r2, sp, #0x0
- bne _02080BE0
- mov r1, #0x97
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x91
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x92
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x93
- add r2, sp, #0x0
- bl FUN_02067960
- add sp, #0x4
- pop {r3-r4, pc}
-_02080BE0:
- mov r1, #0x98
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x94
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x95
- add r2, sp, #0x0
- bl FUN_02067960
- add r0, r4, #0x0
- mov r1, #0x96
- add r2, sp, #0x0
- bl FUN_02067960
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02080C08
-FUN_02080C08: ; 0x02080C08
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020672BC
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x9b
- add r2, sp, #0x0
- bl FUN_02067960
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02080C28
-FUN_02080C28: ; 0x02080C28
- push {r3, lr}
- mov r1, #0x1
- str r1, [sp, #0x0]
- mov r1, #0x6e
- add r2, sp, #0x0
- bl FUN_02067960
- pop {r3, pc}
-
- thumb_func_start FUN_02080C38
-FUN_02080C38: ; 0x02080C38
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x8
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r1, _02080C5C ; =FUN_02080C60
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_02080C5C: .word FUN_02080C60
-
- thumb_func_start FUN_02080C60
-FUN_02080C60: ; 0x02080C60
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0xe
- bls _02080C7C
- b _02080DE2
-_02080C7C:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02080C88: ; jump table (using 16-bit offset)
- .short _02080CA6 - _02080C88 - 2; case 0
- .short _02080CB4 - _02080C88 - 2; case 1
- .short _02080D16 - _02080C88 - 2; case 2
- .short _02080D28 - _02080C88 - 2; case 3
- .short _02080D36 - _02080C88 - 2; case 4
- .short _02080D48 - _02080C88 - 2; case 5
- .short _02080D64 - _02080C88 - 2; case 6
- .short _02080D78 - _02080C88 - 2; case 7
- .short _02080D8A - _02080C88 - 2; case 8
- .short _02080D9C - _02080C88 - 2; case 9
- .short _02080DAE - _02080C88 - 2; case 10
- .short _02080DC0 - _02080C88 - 2; case 11
- .short _02080DCE - _02080C88 - 2; case 12
- .short _02080DD4 - _02080C88 - 2; case 13
- .short _02080DE6 - _02080C88 - 2; case 14
-_02080CA6:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080CB4:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- mov r1, #0x0
- bl FUN_0206B9B0
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- mov r1, #0xb
- str r0, [sp, #0x0]
- bl FUN_020239A0
- add r5, r0, #0x0
- mov r1, #0x0
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- mov r1, #0x2
- strb r1, [r0, #0x2]
- ldr r0, [sp, #0x0]
- str r7, [sp, #0xc]
- str r5, [sp, #0x10]
- str r0, [sp, #0x14]
- ldr r0, [r6, #0xc]
- bl FUN_02027E24
- str r0, [sp, #0x18]
- ldr r0, [r6, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x1c]
- add r0, sp, #0x4
- bl FUN_02081214
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02021A20
- ldr r0, [r4, #0x0]
- bl FUN_02081DC4
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D16:
- ldr r0, [r4, #0x0]
- bl FUN_02081EB8
- cmp r0, #0x1
- bne _02080DF2
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D28:
- mov r0, #0x1
- bl FUN_02031588
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D36:
- mov r0, #0x1
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02080DF2
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D48:
- ldr r0, [r4, #0x0]
- bl FUN_020815D0
- ldr r3, [r4, #0x0]
- ldr r2, _02080DF8 ; =0x000019B8
- ldr r1, _02080DFC ; =0x020FBBD8
- ldr r2, [r3, r2]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D64:
- ldr r0, [r4, #0x0]
- bl FUN_02081668
- ldr r0, [r4, #0x0]
- bl FUN_02081ED4
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D78:
- ldr r0, [r4, #0x0]
- bl FUN_02081EC0
- cmp r0, #0x1
- bne _02080DF2
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D8A:
- ldr r1, _02080E00 ; =0x020FBBC8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080D9C:
- ldr r1, _02080E04 ; =0x020FBBF8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080DAE:
- ldr r1, _02080E08 ; =0x020FBBE8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080DC0:
- ldr r0, [r4, #0x0]
- bl FUN_020814E8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080DCE:
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080DD4:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080DF2
-_02080DE2:
- bl ErrorHandling
-_02080DE6:
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x28
- mov r0, #0x1
- pop {r3-r7, pc}
-_02080DF2:
- mov r0, #0x0
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_02080DF8: .word 0x000019B8
-_02080DFC: .word 0x020FBBD8
-_02080E00: .word 0x020FBBC8
-_02080E04: .word 0x020FBBF8
-_02080E08: .word 0x020FBBE8
-
- thumb_func_start FUN_02080E0C
-FUN_02080E0C: ; 0x02080E0C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x8
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, _02080E50 ; =0x00000121
- str r6, [r4, #0x0]
- ldrb r0, [r6, r0]
- cmp r0, #0x0
- beq _02080E36
- cmp r0, #0x1
- beq _02080E36
- cmp r0, #0x2
- bne _02080E42
-_02080E36:
- ldr r1, _02080E54 ; =FUN_02080E5C
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
-_02080E42:
- ldr r1, _02080E58 ; =FUN_02081000
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02080E50: .word 0x00000121
-_02080E54: .word FUN_02080E5C
-_02080E58: .word FUN_02081000
-
- thumb_func_start FUN_02080E5C
-FUN_02080E5C: ; 0x02080E5C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0xd
- bls _02080E74
- b _02080FCE
-_02080E74:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02080E80: ; jump table (using 16-bit offset)
- .short _02080E9C - _02080E80 - 2; case 0
- .short _02080EAA - _02080E80 - 2; case 1
- .short _02080EC6 - _02080E80 - 2; case 2
- .short _02080EDE - _02080E80 - 2; case 3
- .short _02080F00 - _02080E80 - 2; case 4
- .short _02080F1C - _02080E80 - 2; case 5
- .short _02080F3E - _02080E80 - 2; case 6
- .short _02080F58 - _02080E80 - 2; case 7
- .short _02080F6A - _02080E80 - 2; case 8
- .short _02080F8A - _02080E80 - 2; case 9
- .short _02080FA8 - _02080E80 - 2; case 10
- .short _02080FBA - _02080E80 - 2; case 11
- .short _02080FC0 - _02080E80 - 2; case 12
- .short _02080FD2 - _02080E80 - 2; case 13
-_02080E9C:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080EAA:
- ldr r0, [r4, #0x0]
- ldr r1, _02080FE0 ; =0x00000171
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _02080EBE
- bl FUN_02081EC0
- cmp r0, #0x1
- beq _02080EBE
- b _02080FDC
-_02080EBE:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080EC6:
- ldr r1, [r4, #0x0]
- ldr r0, _02080FE0 ; =0x00000171
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _02080ED6
- mov r0, #0x0
- bl FUN_02031588
-_02080ED6:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080EDE:
- ldr r2, [r4, #0x0]
- ldr r1, _02080FE0 ; =0x00000171
- ldrb r1, [r2, r1]
- cmp r1, #0x1
- bne _02080EFA
- mov r0, #0x0
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02080FDC
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080EFA:
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F00:
- ldr r0, [r4, #0x0]
- bl FUN_020815D0
- ldr r3, [r4, #0x0]
- ldr r2, _02080FE4 ; =0x000019B8
- ldr r1, _02080FE8 ; =0x020FBBD8
- ldr r2, [r3, r2]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F1C:
- ldr r0, [r4, #0x0]
- bl FUN_02081668
- ldr r0, [r4, #0x0]
- ldr r1, _02080FE0 ; =0x00000171
- ldrb r1, [r0, r1]
- cmp r1, #0x1
- bne _02080F38
- bl FUN_02081ED4
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F38:
- mov r0, #0x6
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F3E:
- ldr r0, [r4, #0x0]
- ldr r1, _02080FE0 ; =0x00000171
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _02080F50
- bl FUN_02081EC0
- cmp r0, #0x1
- bne _02080FDC
-_02080F50:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F58:
- ldr r1, _02080FEC ; =0x020FBBC8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F6A:
- ldr r2, [r4, #0x0]
- ldr r0, _02080FF0 ; =0x00000121
- ldrb r0, [r2, r0]
- add r0, #0xff
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _02080F82
- ldr r1, _02080FF4 ; =0x020FBBF8
- add r0, r5, #0x0
- bl FUN_02046500
-_02080F82:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080F8A:
- ldr r2, [r4, #0x0]
- ldr r0, _02080FF0 ; =0x00000121
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- beq _02080F98
- cmp r0, #0x2
- bne _02080FA0
-_02080F98:
- ldr r1, _02080FF8 ; =0x020FBBE8
- add r0, r5, #0x0
- bl FUN_02046500
-_02080FA0:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080FA8:
- ldr r1, _02080FFC ; =0x020FBBB8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080FBA:
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080FC0:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02080FDC
-_02080FCE:
- bl ErrorHandling
-_02080FD2:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_02080FDC:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02080FE0: .word 0x00000171
-_02080FE4: .word 0x000019B8
-_02080FE8: .word 0x020FBBD8
-_02080FEC: .word 0x020FBBC8
-_02080FF0: .word 0x00000121
-_02080FF4: .word 0x020FBBF8
-_02080FF8: .word 0x020FBBE8
-_02080FFC: .word 0x020FBBB8
-
- thumb_func_start FUN_02081000
-FUN_02081000: ; 0x02081000
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x9
- bls _0208101A
- b _020811A4
-_0208101A:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02081026: ; jump table (using 16-bit offset)
- .short _0208103A - _02081026 - 2; case 0
- .short _02081048 - _02081026 - 2; case 1
- .short _02081070 - _02081026 - 2; case 2
- .short _0208108A - _02081026 - 2; case 3
- .short _02081090 - _02081026 - 2; case 4
- .short _020810AE - _02081026 - 2; case 5
- .short _020810D2 - _02081026 - 2; case 6
- .short _020810F0 - _02081026 - 2; case 7
- .short _02081196 - _02081026 - 2; case 8
- .short _020811A8 - _02081026 - 2; case 9
-_0208103A:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_02081048:
- ldr r0, [r4, #0x0]
- ldr r1, _020811BC ; =0x00000121
- ldrb r1, [r0, r1]
- cmp r1, #0x3
- beq _02081056
- cmp r1, #0x4
- bne _02081068
-_02081056:
- bl FUN_020815D0
- ldr r3, [r4, #0x0]
- ldr r2, _020811C0 ; =0x000019B8
- ldr r1, _020811C4 ; =0x020FBBD8
- ldr r2, [r3, r2]
- add r0, r5, #0x0
- bl FUN_02046500
-_02081068:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_02081070:
- ldr r0, [r4, #0x0]
- ldr r1, _020811BC ; =0x00000121
- ldrb r1, [r0, r1]
- cmp r1, #0x3
- beq _0208107E
- cmp r1, #0x4
- bne _02081082
-_0208107E:
- bl FUN_02081668
-_02081082:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_0208108A:
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_02081090:
- ldr r2, [r4, #0x0]
- ldr r0, _020811BC ; =0x00000121
- ldrb r0, [r2, r0]
- cmp r0, #0x3
- beq _0208109E
- cmp r0, #0x4
- bne _020810A6
-_0208109E:
- ldr r1, _020811C8 ; =0x020FBBC8
- add r0, r5, #0x0
- bl FUN_02046500
-_020810A6:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_020810AE:
- ldr r0, [r4, #0x0]
- ldr r1, _020811BC ; =0x00000121
- ldrb r1, [r0, r1]
- cmp r1, #0x5
- beq _020810BC
- cmp r1, #0x6
- bne _020810CA
-_020810BC:
- bl FUN_02082D18
- ldr r1, _020811CC ; =0x020FBBF8
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02046500
-_020810CA:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_020810D2:
- ldr r2, [r4, #0x0]
- ldr r0, _020811BC ; =0x00000121
- ldrb r0, [r2, r0]
- cmp r0, #0x7
- beq _020810E0
- cmp r0, #0x8
- bne _020810E8
-_020810E0:
- ldr r1, _020811D0 ; =0x020FBBE8
- add r0, r5, #0x0
- bl FUN_02046500
-_020810E8:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_020810F0:
- ldr r1, [r4, #0x0]
- ldr r0, _020811BC ; =0x00000121
- ldrb r0, [r1, r0]
- cmp r0, #0x8
- bhi _0208116E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02081106: ; jump table (using 16-bit offset)
- .short _0208116E - _02081106 - 2; case 0
- .short _0208116E - _02081106 - 2; case 1
- .short _0208116E - _02081106 - 2; case 2
- .short _02081118 - _02081106 - 2; case 3
- .short _02081118 - _02081106 - 2; case 4
- .short _0208113A - _02081106 - 2; case 5
- .short _0208113A - _02081106 - 2; case 6
- .short _02081156 - _02081106 - 2; case 7
- .short _02081156 - _02081106 - 2; case 8
-_02081118:
- mov r5, #0x0
- add r6, sp, #0x0
-_0208111C:
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_02083308
- add r7, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_0208336C
- add r0, r7, r0
- add r5, r5, #0x1
- stmia r6!, {r0}
- cmp r5, #0x4
- blt _0208111C
- b _0208116E
-_0208113A:
- mov r2, #0x0
- mov r3, #0x4b
- add r0, r2, #0x0
- add r1, sp, #0x0
- lsl r3, r3, #0x2
-_02081144:
- ldr r5, [r4, #0x0]
- add r2, r2, #0x1
- add r5, r5, r0
- ldrsh r5, [r5, r3]
- add r0, #0xc
- cmp r2, #0x4
- stmia r1!, {r5}
- blt _02081144
- b _0208116E
-_02081156:
- mov r2, #0x0
- ldr r3, _020811D4 ; =0x0000012E
- add r0, r2, #0x0
- add r1, sp, #0x0
-_0208115E:
- ldr r5, [r4, #0x0]
- add r2, r2, #0x1
- add r5, r5, r0
- ldrsh r5, [r5, r3]
- add r0, #0xc
- cmp r2, #0x4
- stmia r1!, {r5}
- blt _0208115E
-_0208116E:
- ldr r1, [sp, #0x0]
- mov r2, #0x0
- mov r5, #0x1
- add r3, sp, #0x4
-_02081176:
- ldr r0, [r3, #0x0]
- cmp r1, r0
- bge _0208117E
- add r2, r2, #0x1
-_0208117E:
- add r5, r5, #0x1
- add r3, r3, #0x4
- cmp r5, #0x4
- blt _02081176
- mov r0, #0x13
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_02081196:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _020811B4
-_020811A4:
- bl ErrorHandling
-_020811A8:
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_020811B4:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_020811BC: .word 0x00000121
-_020811C0: .word 0x000019B8
-_020811C4: .word 0x020FBBD8
-_020811C8: .word 0x020FBBC8
-_020811CC: .word 0x020FBBF8
-_020811D0: .word 0x020FBBE8
-_020811D4: .word 0x0000012E
-
- thumb_func_start FUN_020811D8
-FUN_020811D8: ; 0x020811D8
- push {r4, lr}
- ldr r1, _02081204 ; =0x000019C4
- mov r0, #0x14
- bl FUN_02016998
- ldr r2, _02081204 ; =0x000019C4
- mov r1, #0x0
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, _02081208 ; =0x00000123
- mov r1, #0x0
- strb r1, [r4, r0]
- add r1, r0, #0x4
- mov r2, #0x1
- strb r2, [r4, r1]
- mov r1, #0x3
- add r0, r0, #0x3
- strb r1, [r4, r0]
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_02081204: .word 0x000019C4
-_02081208: .word 0x00000123
-
- thumb_func_start FUN_0208120C
-FUN_0208120C: ; 0x0208120C
- ldr r3, _02081210 ; =FUN_02016A18
- bx r3
- .balign 4
-_02081210: .word FUN_02016A18
-
- thumb_func_start FUN_02081214
-FUN_02081214: ; 0x02081214
- push {r3-r7, lr}
- mov r2, #0x1
- add r6, r0, #0x0
- mov r0, #0xb
- mov r1, #0x14
- lsl r2, r2, #0xe
- bl FUN_0201681C
- bl FUN_020811D8
- add r4, r0, #0x0
- bl getseed_LC
- mov r1, #0x67
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0208285C
- ldrb r1, [r6, #0x0]
- ldr r0, _020813E4 ; =0x0000011F
- strb r1, [r4, r0]
- add r1, r0, #0x1
- ldrb r2, [r6, #0x1]
- add r0, r0, #0x2
- strb r2, [r4, r1]
- ldrb r1, [r6, #0x2]
- strb r1, [r4, r0]
- ldrb r0, [r6, #0x1]
- mov r1, #0x0
- bl FUN_02083454
- ldr r1, _020813E8 ; =0x00000122
- mov r7, #0x0
- strb r0, [r4, r1]
- add r0, r1, #0x1
- ldrb r2, [r4, r0]
- sub r0, r1, #0x6
- add r5, r4, #0x0
- strb r2, [r4, r0]
- mov r0, #0x64
- add r1, r0, #0x0
- add r1, #0xc1
- strb r0, [r4, r1]
- add r1, r0, #0x0
- add r1, #0xc1
- ldrb r2, [r4, r1]
- add r1, r0, #0x0
- add r1, #0xb9
- strb r2, [r4, r1]
- mov r1, #0x1
- add r0, #0xba
- strb r1, [r4, r0]
- ldr r1, [r6, #0x14]
- ldr r0, _020813EC ; =0x0000199C
- str r1, [r4, r0]
- add r1, r0, #0x0
- ldr r2, [r6, #0x18]
- sub r1, #0x14
- str r2, [r4, r1]
- add r1, r0, #0x0
- ldr r2, [r6, #0x1c]
- sub r1, #0x10
- str r2, [r4, r1]
- add r1, r0, #0x0
- ldr r2, [r6, #0x8]
- sub r1, #0xc
- str r2, [r4, r1]
- ldrb r2, [r6, #0x5]
- sub r1, r0, #0x4
- strb r2, [r4, r1]
- add r1, r0, #0x0
- ldr r2, [r6, #0x10]
- sub r1, #0x8
- str r2, [r4, r1]
- sub r1, r0, #0x3
- ldrb r2, [r6, #0x3]
- sub r0, r0, #0x2
- strb r2, [r4, r1]
- ldrb r1, [r6, #0x4]
- strb r1, [r4, r0]
-_020812B6:
- mov r0, #0x14
- bl FUN_02026FE8
- add r1, r5, #0x0
- add r1, #0xf8
- add r7, r7, #0x1
- add r5, r5, #0x4
- str r0, [r1, #0x0]
- cmp r7, #0x4
- blt _020812B6
- mov r3, #0x12
- lsl r3, r3, #0x4
- ldrb r0, [r4, r3]
- sub r2, r3, #0x2
- sub r3, r3, #0x1
- str r0, [sp, #0x0]
- ldrb r2, [r4, r2]
- ldrb r3, [r4, r3]
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02082ED0
- mov r0, #0x14
- bl FUN_0206B8AC
- mov r1, #0x56
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r7, #0x0
- add r5, r4, #0x0
-_020812F2:
- mov r0, #0x14
- bl FUN_020669C0
- add r7, r7, #0x1
- stmia r5!, {r0}
- cmp r7, #0x4
- blt _020812F2
- mov r7, #0x0
- add r5, r4, #0x0
-_02081304:
- mov r0, #0x14
- bl FUN_02029EE4
- mov r1, #0x57
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r7, r7, #0x1
- add r5, r5, #0x4
- cmp r7, #0x4
- blt _02081304
- add r0, r1, #0x0
- ldr r0, [r4, r0]
- ldr r1, [r6, #0x20]
- bl FUN_02029F9C
- ldr r0, [r6, #0x8]
- ldr r1, [r4, #0x0]
- bl FUN_02069B88
- mov r0, #0x8
- mov r1, #0x14
- bl FUN_020219F4
- add r1, r4, #0x0
- add r1, #0xe8
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- ldr r1, [r6, #0xc]
- bl FUN_02021A74
- ldr r0, [r6, #0x10]
- bl FUN_020239CC
- mov r1, #0x42
- lsl r1, r1, #0x2
- strb r0, [r4, r1]
- add r0, r1, #0x4
- mov r2, #0x0
- strb r2, [r4, r0]
- add r1, #0x17
- ldrb r1, [r4, r1]
- ldr r0, [r4, #0x0]
- bl FUN_02081540
- mov r1, #0x11
- lsl r1, r1, #0x4
- strb r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_020832EC
- cmp r0, #0x0
- ldr r0, [r6, #0x10]
- bne _0208138E
- bl FUN_020239CC
- cmp r0, #0x0
- bne _02081384
- mov r1, #0xba
- add r0, r1, #0x0
- add r0, #0x5a
- strh r1, [r4, r0]
- b _020813A8
-_02081384:
- mov r1, #0xbb
- add r0, r1, #0x0
- add r0, #0x59
- strh r1, [r4, r0]
- b _020813A8
-_0208138E:
- bl FUN_020239CC
- cmp r0, #0x0
- bne _020813A0
- mov r0, #0x45
- mov r1, #0x0
- lsl r0, r0, #0x2
- strh r1, [r4, r0]
- b _020813A8
-_020813A0:
- mov r1, #0x61
- add r0, r1, #0x0
- add r0, #0xb3
- strh r1, [r4, r0]
-_020813A8:
- ldrb r1, [r6, #0x3]
- ldrb r2, [r6, #0x4]
- add r0, r4, #0x0
- bl FUN_020813F4
- add r0, r4, #0x0
- bl FUN_020832EC
- cmp r0, #0x1
- bne _020813D0
- ldr r1, _020813F0 ; =0x00000172
- mov r5, #0x0
- mov r0, #0x3
-_020813C2:
- sub r3, r0, r5
- add r2, r4, r5
- add r5, r5, #0x1
- strb r3, [r2, r1]
- cmp r5, #0x4
- blt _020813C2
- b _020813DE
-_020813D0:
- ldr r0, _020813F0 ; =0x00000172
- mov r2, #0x0
-_020813D4:
- add r1, r4, r2
- strb r2, [r1, r0]
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _020813D4
-_020813DE:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_020813E4: .word 0x0000011F
-_020813E8: .word 0x00000122
-_020813EC: .word 0x0000199C
-_020813F0: .word 0x00000172
-
- thumb_func_start FUN_020813F4
-FUN_020813F4: ; 0x020813F4
- push {r3-r7, lr}
- sub sp, #0x10
- mov r3, #0x12
- add r5, r0, #0x0
- lsl r3, r3, #0x4
- ldrb r4, [r5, r3]
- str r4, [sp, #0x0]
- add r4, r3, #0x1
- ldrb r4, [r5, r4]
- sub r3, r3, #0x1
- str r4, [sp, #0x4]
- str r1, [sp, #0x8]
- str r2, [sp, #0xc]
- ldrb r3, [r5, r3]
- mov r1, #0xb
- mov r2, #0x3
- bl FUN_020828E4
- add r4, r5, #0x0
- add r4, #0x10
- mov r7, #0x1
- add r6, r5, #0x4
- add r4, #0x30
-_02081422:
- ldr r1, [r6, #0x0]
- add r0, r4, #0x0
- mov r2, #0x14
- bl FUN_02082D60
- add r7, r7, #0x1
- add r6, r6, #0x4
- add r4, #0x30
- cmp r7, #0x4
- blt _02081422
- mov r6, #0x1
- add r4, r5, #0x4
- mov r7, #0x8
-_0208143C:
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02081454
- add r0, r7, #0x0
- mov r1, #0x14
- bl FUN_020219F4
- add r1, r4, #0x0
- add r1, #0xe8
- str r0, [r1, #0x0]
-_02081454:
- add r2, r4, #0x0
- add r2, #0xe8
- ldr r0, [r4, #0x0]
- ldr r2, [r2, #0x0]
- mov r1, #0x90
- bl FUN_020671BC
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _0208143C
- add r0, r5, #0x0
- add r0, #0x30
- mov r2, #0x42
- mov r1, #0x1
- add r0, #0x30
- lsl r2, r2, #0x2
-_02081476:
- ldrh r3, [r0, #0x0]
- add r0, #0x30
- lsl r3, r3, #0x12
- lsr r4, r3, #0x1e
- add r3, r5, r1
- add r1, r1, #0x1
- strb r4, [r3, r2]
- cmp r1, #0x4
- blt _02081476
- add r0, r5, #0x0
- add r0, #0x30
- mov r2, #0x43
- mov r1, #0x1
- add r0, #0x30
- lsl r2, r2, #0x2
-_02081494:
- ldrh r3, [r0, #0x0]
- add r0, #0x30
- lsl r3, r3, #0x10
- lsr r4, r3, #0x1e
- add r3, r5, r1
- add r1, r1, #0x1
- strb r4, [r3, r2]
- cmp r1, #0x4
- blt _02081494
- add r3, r5, #0x0
- mov r1, #0x11
- mov r4, #0x1
- add r3, #0x30
- lsl r1, r1, #0x4
-_020814B0:
- add r0, r3, #0x0
- add r0, #0x3e
- ldrb r2, [r0, #0x0]
- add r0, r5, r4
- add r4, r4, #0x1
- add r3, #0x30
- strb r2, [r0, r1]
- cmp r4, #0x4
- blt _020814B0
- add r2, r5, #0x0
- mov r0, #0x45
- mov r4, #0x1
- add r2, #0x30
- add r3, r5, #0x2
- lsl r0, r0, #0x2
-_020814CE:
- ldrh r1, [r2, #0x18]
- add r4, r4, #0x1
- add r2, #0x30
- strh r1, [r3, r0]
- add r3, r3, #0x2
- cmp r4, #0x4
- blt _020814CE
- add r0, r5, #0x0
- mov r1, #0xb
- bl FUN_02082B90
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020814E8
-FUN_020814E8: ; 0x020814E8
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r6, #0x57
- mov r4, #0x0
- add r5, r7, #0x0
- lsl r6, r6, #0x2
-_020814FE:
- ldr r0, [r5, #0x0]
- bl FUN_02016A18
- add r0, r5, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- bl FUN_02021A20
- add r0, r5, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, [r5, r6]
- bl FUN_02016A18
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _020814FE
- mov r0, #0x67
- lsl r0, r0, #0x6
- ldr r0, [r7, r0]
- bl seedr_LC
- add r0, r7, #0x0
- bl FUN_0208120C
- mov r0, #0x14
- bl FUN_020168D0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02081540
-FUN_02081540: ; 0x02081540
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x1
- add r7, r1, #0x0
- str r0, [sp, #0x0]
- mov r4, #0x0
-_0208154C:
- cmp r7, #0x4
- bhi _020815B6
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0208155C: ; jump table (using 16-bit offset)
- .short _02081566 - _0208155C - 2; case 0
- .short _02081576 - _0208155C - 2; case 1
- .short _02081586 - _0208155C - 2; case 2
- .short _02081596 - _0208155C - 2; case 3
- .short _020815A6 - _0208155C - 2; case 4
-_02081566:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x7a
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- b _020815BA
-_02081576:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x7e
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- b _020815BA
-_02081586:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x82
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- b _020815BA
-_02081596:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x86
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- b _020815BA
-_020815A6:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x8a
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- b _020815BA
-_020815B6:
- bl ErrorHandling
-_020815BA:
- cmp r6, #0x0
- beq _020815CA
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- cmp r4, #0x3
- ble _0208154C
-_020815CA:
- ldr r0, [sp, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020815D0
-FUN_020815D0: ; 0x020815D0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02081658 ; =0x00000123
- ldrb r0, [r5, r0]
- lsl r0, r0, #0x2
- add r0, r5, r0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02027740
- mov r0, #0x14
- mov r1, #0x28
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x28
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, _02081658 ; =0x00000123
- ldrb r1, [r5, r0]
- lsl r1, r1, #0x2
- ldr r1, [r5, r1]
- str r1, [r4, #0x0]
- ldrb r1, [r5, r0]
- lsl r1, r1, #0x2
- add r1, r5, r1
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- str r1, [r4, #0x4]
- sub r1, r0, #0x1
- ldrb r1, [r5, r1]
- str r1, [r4, #0x8]
- add r1, r0, #0x0
- add r1, #0x4e
- ldrb r1, [r5, r1]
- cmp r1, #0x1
- bne _02081620
- mov r0, #0x4
- b _02081624
-_02081620:
- sub r0, r0, #0x3
- ldrb r0, [r5, r0]
-_02081624:
- str r0, [r4, #0xc]
- ldr r0, _0208165C ; =0x00000121
- ldrb r1, [r5, r0]
- sub r0, r0, #0x2
- str r1, [r4, #0x10]
- ldrb r0, [r5, r0]
- str r0, [r4, #0x14]
- ldr r0, _02081660 ; =0x0000199C
- ldr r0, [r5, r0]
- bl FUN_0202708C
- ldr r1, _02081664 ; =0x000019A0
- str r0, [r4, #0x18]
- add r0, r5, r1
- str r0, [r4, #0x1c]
- add r0, r1, #0x0
- sub r0, #0x18
- ldr r0, [r5, r0]
- str r0, [r4, #0x20]
- add r0, r1, #0x0
- sub r0, #0xc
- ldr r0, [r5, r0]
- add r1, #0x18
- str r0, [r4, #0x24]
- str r4, [r5, r1]
- pop {r3-r5, pc}
- .balign 4
-_02081658: .word 0x00000123
-_0208165C: .word 0x00000121
-_02081660: .word 0x0000199C
-_02081664: .word 0x000019A0
-
- thumb_func_start FUN_02081668
-FUN_02081668: ; 0x02081668
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0208167C ; =0x000019B8
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldr r0, _0208167C ; =0x000019B8
- mov r1, #0x0
- str r1, [r4, r0]
- pop {r4, pc}
- .balign 4
-_0208167C: .word 0x000019B8
-
- thumb_func_start FUN_02081680
-FUN_02081680: ; 0x02081680
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r2, _020819E8 ; =0x00000176
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- ldrb r0, [r4, r2]
- cmp r0, #0x2f
- bls _02081692
- b _02081D24
-_02081692:
- add r3, r0, r0
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0208169E: ; jump table (using 16-bit offset)
- .short _020816FE - _0208169E - 2; case 0
- .short _02081716 - _0208169E - 2; case 1
- .short _0208172C - _0208169E - 2; case 2
- .short _02081742 - _0208169E - 2; case 3
- .short _0208175E - _0208169E - 2; case 4
- .short _02081776 - _0208169E - 2; case 5
- .short _0208178C - _0208169E - 2; case 6
- .short _020817A8 - _0208169E - 2; case 7
- .short _020817C4 - _0208169E - 2; case 8
- .short _020817DC - _0208169E - 2; case 9
- .short _020817F2 - _0208169E - 2; case 10
- .short _02081822 - _0208169E - 2; case 11
- .short _02081838 - _0208169E - 2; case 12
- .short _02081850 - _0208169E - 2; case 13
- .short _02081866 - _0208169E - 2; case 14
- .short _02081884 - _0208169E - 2; case 15
- .short _020818A0 - _0208169E - 2; case 16
- .short _020818B8 - _0208169E - 2; case 17
- .short _020818CE - _0208169E - 2; case 18
- .short _0208190A - _0208169E - 2; case 19
- .short _02081940 - _0208169E - 2; case 20
- .short _02081958 - _0208169E - 2; case 21
- .short _0208196E - _0208169E - 2; case 22
- .short _0208198E - _0208169E - 2; case 23
- .short _020819DE - _0208169E - 2; case 24
- .short _02081A04 - _0208169E - 2; case 25
- .short _02081A1A - _0208169E - 2; case 26
- .short _02081A54 - _0208169E - 2; case 27
- .short _02081A8A - _0208169E - 2; case 28
- .short _02081AB6 - _0208169E - 2; case 29
- .short _02081ACC - _0208169E - 2; case 30
- .short _02081AE8 - _0208169E - 2; case 31
- .short _02081B04 - _0208169E - 2; case 32
- .short _02081B1C - _0208169E - 2; case 33
- .short _02081B32 - _0208169E - 2; case 34
- .short _02081B6C - _0208169E - 2; case 35
- .short _02081BA2 - _0208169E - 2; case 36
- .short _02081BBA - _0208169E - 2; case 37
- .short _02081BD0 - _0208169E - 2; case 38
- .short _02081BFA - _0208169E - 2; case 39
- .short _02081C16 - _0208169E - 2; case 40
- .short _02081C2E - _0208169E - 2; case 41
- .short _02081C44 - _0208169E - 2; case 42
- .short _02081C86 - _0208169E - 2; case 43
- .short _02081CBC - _0208169E - 2; case 44
- .short _02081CD4 - _0208169E - 2; case 45
- .short _02081CEA - _0208169E - 2; case 46
- .short _02081D08 - _0208169E - 2; case 47
-_020816FE:
- mov r0, #0x5
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081716:
- mov r0, #0x5
- bl FUN_020315D8
- cmp r0, #0x1
- bne _0208180C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_0208172C:
- add r0, r4, #0x0
- bl FUN_02083630
- cmp r0, #0x1
- bne _0208180C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081742:
- ldr r0, _020819EC ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _0208180C
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_0208175E:
- mov r0, #0x6
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081776:
- mov r0, #0x6
- bl FUN_020315D8
- cmp r0, #0x1
- bne _0208180C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_0208178C:
- sub r2, #0x53
- ldrb r1, [r4, r2]
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- bl FUN_020836BC
- cmp r0, #0x1
- bne _0208180C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020817A8:
- ldr r0, _020819EC ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _0208180C
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_020817C4:
- mov r0, #0x7
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020817DC:
- mov r0, #0x7
- bl FUN_020315D8
- cmp r0, #0x1
- bne _0208180C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020817F2:
- add r3, r2, #0x0
- sub r3, #0x53
- ldrb r5, [r4, r3]
- add r3, r2, #0x0
- sub r3, #0x5a
- ldrb r3, [r4, r3]
- cmp r5, r3
- bne _0208181A
- add r0, r4, #0x0
- bl FUN_0208373C
- cmp r0, #0x1
- beq _0208180E
-_0208180C:
- b _02081DBC
-_0208180E:
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_0208181A:
- add r0, r0, #0x1
- add sp, #0x10
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081822:
- ldr r0, _020819EC ; =0x00000584
- ldrb r1, [r4, r0]
- cmp r1, #0x0
- beq _02081912
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081838:
- mov r0, #0x8
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081850:
- mov r0, #0x8
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081912
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081866:
- sub r2, #0x53
- ldrb r1, [r4, r2]
- add r2, r4, #0x0
- add r0, r4, #0x0
- add r2, #0x10
- bl FUN_020837B4
- cmp r0, #0x1
- bne _02081912
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081884:
- ldr r0, _020819EC ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _02081912
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_020818A0:
- mov r0, #0x9
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020818B8:
- mov r0, #0x9
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081912
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020818CE:
- add r1, r2, #0x0
- sub r1, #0x53
- ldrb r3, [r4, r1]
- add r1, r2, #0x0
- sub r1, #0x5a
- ldrb r1, [r4, r1]
- cmp r3, r1
- bne _02081902
- add r0, r2, #0x2
- ldr r1, [r4, r0]
- add r3, r4, #0x0
- mov r2, #0x30
- add r3, #0x10
- mul r2, r1
- add r0, r4, #0x0
- add r2, r3, r2
- bl FUN_020837B4
- cmp r0, #0x1
- bne _02081912
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081902:
- add r0, r0, #0x1
- add sp, #0x10
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_0208190A:
- ldr r1, _020819EC ; =0x00000584
- ldrb r0, [r4, r1]
- cmp r0, #0x0
- bne _02081914
-_02081912:
- b _02081DBC
-_02081914:
- mov r0, #0x0
- strb r0, [r4, r1]
- add r1, r2, #0x2
- ldr r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x2
- str r3, [r4, r1]
- ldr r1, [r4, r1]
- cmp r1, #0x4
- bge _02081932
- ldrb r0, [r4, r2]
- add sp, #0x10
- sub r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081932:
- add r1, r2, #0x2
- str r0, [r4, r1]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081940:
- mov r0, #0xa
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081958:
- mov r0, #0xa
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081A5C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_0208196E:
- sub r2, #0x53
- ldrb r1, [r4, r2]
- add r2, r4, #0x0
- add r2, #0xe8
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- bl FUN_020838B4
- cmp r0, #0x1
- bne _02081A5C
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_0208198E:
- ldr r0, _020819EC ; =0x00000584
- sub r2, #0x4f
- ldrb r1, [r4, r2]
- ldrb r0, [r4, r0]
- cmp r0, r1
- blo _02081A5C
- mov r5, #0x0
- cmp r1, #0x0
- ble _020819CC
- add r6, r4, #0x0
-_020819A2:
- add r0, r5, #0x0
- bl FUN_0202DFA4
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- bl FUN_02021A4C
- add r1, r6, #0x0
- add r1, #0xe8
- ldr r1, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02023990
- ldr r0, _020819F0 ; =0x00000127
- add r5, r5, #0x1
- ldrb r0, [r4, r0]
- add r6, r6, #0x4
- cmp r5, r0
- blt _020819A2
-_020819CC:
- ldr r0, _020819EC ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _020819E8 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_020819DE:
- mov r0, #0xb
- bl FUN_02031588
- ldr r0, _020819EC ; =0x00000584
- b _020819F4
- .balign 4
-_020819E8: .word 0x00000176
-_020819EC: .word 0x00000584
-_020819F0: .word 0x00000127
-_020819F4:
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081A04:
- mov r0, #0xb
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081A5C
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081A1A:
- add r1, r2, #0x0
- sub r1, #0x53
- ldrb r3, [r4, r1]
- add r1, r2, #0x0
- sub r1, #0x5a
- ldrb r1, [r4, r1]
- cmp r3, r1
- bne _02081A4C
- add r0, r2, #0x2
- ldr r1, [r4, r0]
- add r0, r4, #0x0
- lsl r2, r1, #0x2
- add r2, r4, r2
- add r2, #0xe8
- ldr r2, [r2, #0x0]
- bl FUN_020838B4
- cmp r0, #0x1
- bne _02081A5C
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081A4C:
- add r0, r0, #0x1
- add sp, #0x10
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081A54:
- ldr r1, _02081D2C ; =0x00000584
- ldrb r0, [r4, r1]
- cmp r0, #0x0
- bne _02081A5E
-_02081A5C:
- b _02081DBC
-_02081A5E:
- mov r0, #0x0
- strb r0, [r4, r1]
- add r1, r2, #0x2
- ldr r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x2
- str r3, [r4, r1]
- ldr r1, [r4, r1]
- cmp r1, #0x4
- bge _02081A7C
- ldrb r0, [r4, r2]
- add sp, #0x10
- sub r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081A7C:
- add r1, r2, #0x2
- str r0, [r4, r1]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081A8A:
- bl FUN_02029EC4
- add r2, r0, #0x0
- mov r0, #0x57
- lsl r0, r0, #0x2
- ldr r1, _02081D30 ; =0x00000585
- ldr r0, [r4, r0]
- add r1, r4, r1
- bl MI_CpuCopy8
- mov r0, #0xc
- bl FUN_02031588
- ldr r0, _02081D2C ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081AB6:
- mov r0, #0xc
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081B74
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081ACC:
- sub r2, #0x53
- ldrb r1, [r4, r2]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02083AD4
- cmp r0, #0x1
- bne _02081B74
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081AE8:
- ldr r0, _02081D2C ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _02081B74
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081B04:
- mov r0, #0xd
- bl FUN_02031588
- ldr r0, _02081D2C ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081B1C:
- mov r0, #0xd
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081B74
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081B32:
- add r1, r2, #0x0
- sub r1, #0x53
- ldrb r3, [r4, r1]
- add r1, r2, #0x0
- sub r1, #0x5a
- ldrb r1, [r4, r1]
- cmp r3, r1
- bne _02081B64
- add r0, r2, #0x2
- ldr r1, [r4, r0]
- sub r2, #0x1a
- lsl r3, r1, #0x2
- add r3, r4, r3
- ldr r2, [r3, r2]
- add r0, r4, #0x0
- bl FUN_02083AD4
- cmp r0, #0x1
- bne _02081B74
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081B64:
- add r0, r0, #0x1
- add sp, #0x10
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081B6C:
- ldr r1, _02081D2C ; =0x00000584
- ldrb r0, [r4, r1]
- cmp r0, #0x0
- bne _02081B76
-_02081B74:
- b _02081DBC
-_02081B76:
- mov r0, #0x0
- strb r0, [r4, r1]
- add r1, r2, #0x2
- ldr r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x2
- str r3, [r4, r1]
- ldr r1, [r4, r1]
- cmp r1, #0x4
- bge _02081B94
- ldrb r0, [r4, r2]
- add sp, #0x10
- sub r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081B94:
- add r1, r2, #0x2
- str r0, [r4, r1]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081BA2:
- mov r0, #0xe
- bl FUN_02031588
- ldr r0, _02081D2C ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081BBA:
- mov r0, #0xe
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081C8E
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081BD0:
- add r2, sp, #0x8
- add r0, r4, #0x0
- mov r1, #0x0
- add r2, #0x2
- bl FUN_02082894
- ldr r1, _02081D34 ; =0x00000123
- add r2, sp, #0x8
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- add r2, #0x2
- bl FUN_02083B48
- cmp r0, #0x1
- bne _02081C8E
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081BFA:
- ldr r0, _02081D2C ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _02081C8E
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081C16:
- mov r0, #0xf
- bl FUN_02031588
- ldr r0, _02081D2C ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081C2E:
- mov r0, #0xf
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081C8E
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081C44:
- add r1, r2, #0x0
- sub r1, #0x53
- ldrb r3, [r4, r1]
- add r1, r2, #0x0
- sub r1, #0x5a
- ldrb r1, [r4, r1]
- cmp r3, r1
- bne _02081C7E
- add r1, r2, #0x2
- ldr r1, [r4, r1]
- add r0, r4, #0x0
- add r2, sp, #0x4
- bl FUN_02082894
- mov r1, #0x5e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r4, #0x0
- add r2, sp, #0x4
- bl FUN_02083B48
- cmp r0, #0x1
- bne _02081C8E
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081C7E:
- add r0, r0, #0x1
- add sp, #0x10
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081C86:
- ldr r1, _02081D2C ; =0x00000584
- ldrb r0, [r4, r1]
- cmp r0, #0x0
- bne _02081C90
-_02081C8E:
- b _02081DBC
-_02081C90:
- mov r0, #0x0
- strb r0, [r4, r1]
- add r1, r2, #0x2
- ldr r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x2
- str r3, [r4, r1]
- ldr r1, [r4, r1]
- cmp r1, #0x4
- bge _02081CAE
- ldrb r0, [r4, r2]
- add sp, #0x10
- sub r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081CAE:
- add r1, r2, #0x2
- str r0, [r4, r1]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081CBC:
- mov r0, #0x10
- bl FUN_02031588
- ldr r0, _02081D2C ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081CD4:
- mov r0, #0x10
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02081DBC
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081CEA:
- sub r2, #0x53
- ldrb r1, [r4, r2]
- add r2, r4, #0x0
- add r0, r4, #0x0
- add r2, #0xd0
- bl FUN_02083834
- cmp r0, #0x1
- bne _02081DBC
- ldr r0, _02081D28 ; =0x00000176
- add sp, #0x10
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r7, pc}
-_02081D08:
- ldr r0, _02081D2C ; =0x00000584
- add r1, r2, #0x0
- sub r1, #0x4f
- ldrb r3, [r4, r0]
- ldrb r1, [r4, r1]
- cmp r3, r1
- blo _02081DBC
- mov r1, #0x0
- strb r1, [r4, r0]
- ldrb r0, [r4, r2]
- add sp, #0x10
- add r0, r0, #0x1
- strb r0, [r4, r2]
- pop {r3-r7, pc}
-_02081D24:
- ldr r0, _02081D38 ; =0x00000127
- b _02081D3C
- .balign 4
-_02081D28: .word 0x00000176
-_02081D2C: .word 0x00000584
-_02081D30: .word 0x00000585
-_02081D34: .word 0x00000123
-_02081D38: .word 0x00000127
-_02081D3C:
- mov r5, #0x0
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ble _02081D62
- mov r7, #0x42
- lsl r7, r7, #0x2
- add r6, r7, #0x0
- add r6, #0x1f
-_02081D4C:
- add r0, r5, #0x0
- bl FUN_0202DFA4
- bl FUN_020239CC
- add r1, r4, r5
- strb r0, [r1, r7]
- ldrb r0, [r4, r6]
- add r5, r5, #0x1
- cmp r5, r0
- blt _02081D4C
-_02081D62:
- cmp r5, #0x4
- bge _02081D86
- add r1, r4, #0x0
- mov r0, #0x30
- add r1, #0x30
- mul r0, r5
- add r0, r1, r0
- mov r1, #0x42
- lsl r1, r1, #0x2
-_02081D74:
- ldrh r2, [r0, #0x0]
- add r0, #0x30
- lsl r2, r2, #0x12
- lsr r3, r2, #0x1e
- add r2, r4, r5
- add r5, r5, #0x1
- strb r3, [r2, r1]
- cmp r5, #0x4
- blt _02081D74
-_02081D86:
- mov r0, #0x47
- lsl r0, r0, #0x2
- ldrb r2, [r4, r0]
- ldr r1, _02081DC0 ; =0x000019B4
- strb r2, [r4, r1]
- add r2, r0, #0x0
- add r2, #0x8
- ldrb r3, [r4, r2]
- add r2, r1, #0x1
- strb r3, [r4, r2]
- add r2, r1, #0x2
- mov r3, #0x1
- strb r3, [r4, r2]
- add r2, r0, #0x0
- add r2, #0xb
- ldrb r2, [r4, r2]
- add r1, r1, #0x3
- strb r2, [r4, r1]
- add r1, r0, #0x0
- mov r2, #0x0
- add r1, #0x64
- str r2, [r4, r1]
- add r0, #0x5a
- strb r2, [r4, r0]
- ldr r0, [sp, #0x0]
- bl FUN_0200CAB4
-_02081DBC:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02081DC0: .word 0x000019B4
-
- thumb_func_start FUN_02081DC4
-FUN_02081DC4: ; 0x02081DC4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02081DD4
- mov r0, #0x0
- pop {r3-r7, pc}
-_02081DD4:
- ldr r0, _02081EA4 ; =0x00000171
- mov r1, #0x1
- strb r1, [r6, r0]
- bl FUN_02030F20
- add r4, r0, #0x0
- bl FUN_02031190
- mov r5, #0x0
- str r0, [sp, #0x0]
- cmp r4, #0x0
- ble _02081E0A
-_02081DEC:
- add r0, r5, #0x0
- bl FUN_0202DFA4
- add r7, r0, #0x0
- bne _02081DFA
- bl ErrorHandling
-_02081DFA:
- add r0, r7, #0x0
- bl FUN_02023A88
- cmp r0, #0x0
- beq _02081E0A
- add r5, r5, #0x1
- cmp r5, r4
- blt _02081DEC
-_02081E0A:
- cmp r5, r4
- beq _02081E12
- mov r1, #0x0
- b _02081E14
-_02081E12:
- mov r1, #0x1
-_02081E14:
- ldr r0, _02081EA8 ; =0x00001999
- mov r5, #0x0
- strb r1, [r6, r0]
- cmp r4, #0x0
- ble _02081E3C
-_02081E1E:
- add r0, r5, #0x0
- bl FUN_0202DFA4
- add r7, r0, #0x0
- bne _02081E2C
- bl ErrorHandling
-_02081E2C:
- add r0, r7, #0x0
- bl FUN_02023A9C
- cmp r0, #0x0
- beq _02081E3C
- add r5, r5, #0x1
- cmp r5, r4
- blt _02081E1E
-_02081E3C:
- cmp r5, r4
- beq _02081E44
- mov r1, #0x0
- b _02081E46
-_02081E44:
- mov r1, #0x1
-_02081E46:
- ldr r0, _02081EAC ; =0x0000199A
- ldr r2, _02081EA8 ; =0x00001999
- strb r1, [r6, r0]
- ldrb r1, [r6, r2]
- add r2, r2, #0x1
- ldrb r2, [r6, r2]
- add r0, r6, #0x0
- bl FUN_020813F4
- ldr r0, [sp, #0x0]
- mov r1, #0x49
- lsl r0, r0, #0x18
- mov r2, #0x4
- lsr r0, r0, #0x18
- lsl r1, r1, #0x2
- sub r3, r2, r4
- strb r0, [r6, r1]
- add r2, r1, #0x2
- strb r3, [r6, r2]
- add r2, r1, #0x3
- strb r4, [r6, r2]
- sub r1, r1, #0x1
- strb r0, [r6, r1]
- mov r1, #0x64
- add r0, r1, #0x0
- add r0, #0xc1
- strb r1, [r6, r0]
- add r1, #0xbc
- ldrb r0, [r6, r1]
- mov r1, #0x1
- bl FUN_02083454
- ldr r1, _02081EB0 ; =0x00000122
- strb r0, [r6, r1]
- add r0, r6, #0x0
- bl FUN_020834D0
- ldr r0, _02081EB4 ; =FUN_02081680
- add r1, r6, #0x0
- mov r2, #0xa
- bl FUN_0200CA44
- mov r1, #0x6
- lsl r1, r1, #0x6
- str r0, [r6, r1]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_02081EA4: .word 0x00000171
-_02081EA8: .word 0x00001999
-_02081EAC: .word 0x0000199A
-_02081EB0: .word 0x00000122
-_02081EB4: .word FUN_02081680
-
- thumb_func_start FUN_02081EB8
-FUN_02081EB8: ; 0x02081EB8
- ldr r3, _02081EBC ; =FUN_02081EC0
- bx r3
- .balign 4
-_02081EBC: .word FUN_02081EC0
-
- thumb_func_start FUN_02081EC0
-FUN_02081EC0: ; 0x02081EC0
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r0, r1]
- cmp r0, #0x0
- bne _02081ECE
- mov r0, #0x1
- bx lr
-_02081ECE:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02081ED4
-FUN_02081ED4: ; 0x02081ED4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02081EE6
- bl ErrorHandling
-_02081EE6:
- ldr r0, _02081F00 ; =0x00000176
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02081F04 ; =FUN_02081F08
- add r1, r4, #0x0
- mov r2, #0xa
- bl FUN_0200CA44
- mov r1, #0x6
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- pop {r4, pc}
- nop
-_02081F00: .word 0x00000176
-_02081F04: .word FUN_02081F08
-
- thumb_func_start FUN_02081F08
-FUN_02081F08: ; 0x02081F08
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _02082014 ; =0x00000176
- ldrb r2, [r4, r1]
- cmp r2, #0x7
- bhi _02082000
- add r3, r2, r2
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_02081F20: ; jump table (using 16-bit offset)
- .short _02081F30 - _02081F20 - 2; case 0
- .short _02081F46 - _02081F20 - 2; case 1
- .short _02081F5A - _02081F20 - 2; case 2
- .short _02081F7A - _02081F20 - 2; case 3
- .short _02081F94 - _02081F20 - 2; case 4
- .short _02081FAA - _02081F20 - 2; case 5
- .short _02081FBE - _02081F20 - 2; case 6
- .short _02081FEC - _02081F20 - 2; case 7
-_02081F30:
- mov r0, #0x11
- bl FUN_02031588
- ldr r0, _02082018 ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081F46:
- mov r0, #0x11
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02082010
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081F5A:
- sub r1, #0x53
- ldrb r1, [r4, r1]
- add r0, r4, #0x0
- lsl r2, r1, #0x2
- add r2, r4, r2
- add r2, #0xf8
- ldr r2, [r2, #0x0]
- bl FUN_02083930
- cmp r0, #0x1
- bne _02082010
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081F7A:
- ldr r0, _02082018 ; =0x00000584
- add r2, r1, #0x0
- sub r2, #0x4f
- ldrb r3, [r4, r0]
- ldrb r2, [r4, r2]
- cmp r3, r2
- blo _02082010
- mov r2, #0x0
- strb r2, [r4, r0]
- ldrb r0, [r4, r1]
- add r0, r0, #0x1
- strb r0, [r4, r1]
- pop {r4, pc}
-_02081F94:
- mov r0, #0x12
- bl FUN_02031588
- ldr r0, _02082018 ; =0x00000584
- mov r1, #0x0
- strb r1, [r4, r0]
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081FAA:
- mov r0, #0x12
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02082010
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081FBE:
- add r0, r1, #0x0
- sub r0, #0x53
- ldrb r3, [r4, r0]
- add r0, r1, #0x0
- sub r0, #0x5a
- ldrb r0, [r4, r0]
- cmp r3, r0
- bne _02081FE6
- add r1, r4, #0x0
- add r0, r4, #0x0
- add r1, #0xf8
- bl FUN_020839C0
- cmp r0, #0x1
- bne _02082010
- ldr r0, _02082014 ; =0x00000176
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
-_02081FE6:
- add r0, r2, #0x1
- strb r0, [r4, r1]
- pop {r4, pc}
-_02081FEC:
- ldr r0, _02082018 ; =0x00000584
- ldrb r2, [r4, r0]
- cmp r2, #0x0
- beq _02082010
- mov r2, #0x0
- strb r2, [r4, r0]
- ldrb r0, [r4, r1]
- add r0, r0, #0x1
- strb r0, [r4, r1]
- pop {r4, pc}
-_02082000:
- mov r1, #0x6
- mov r2, #0x0
- lsl r1, r1, #0x6
- str r2, [r4, r1]
- sub r1, #0xa
- strb r2, [r4, r1]
- bl FUN_0200CAB4
-_02082010:
- pop {r4, pc}
- nop
-_02082014: .word 0x00000176
-_02082018: .word 0x00000584
-
- thumb_func_start FUN_0208201C
-FUN_0208201C: ; 0x0208201C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r2, #0x0
- lsl r2, r4, #0x3
- add r2, r5, r2
- add r2, #0xd0
- ldrh r2, [r2, #0x0]
- add r1, r3, #0x0
- bl FUN_0200B244
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02082034
-FUN_02082034: ; 0x02082034
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020832E4
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- lsl r2, r3, #0x2
- add r4, r5, r3
- mov r3, #0x42
- add r2, r5, r2
- lsl r3, r3, #0x2
- add r2, #0xe8
- ldrb r3, [r4, r3]
- ldr r2, [r2, #0x0]
- add r1, r6, #0x0
- bl FUN_0200ABB4
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0208206C
-FUN_0208206C: ; 0x0208206C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020832E4
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020690E4
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0200ACF8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02082090
-FUN_02082090: ; 0x02082090
- push {r3-r5, lr}
- add r4, r2, #0x0
- mov r2, #0x12
- add r3, r0, #0x0
- lsl r2, r2, #0x4
- add r5, r1, #0x0
- add r1, r2, #0x1
- ldrb r0, [r3, r2]
- add r2, #0x51
- ldrb r1, [r3, r1]
- ldrb r2, [r3, r2]
- bl FUN_02083228
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200B278
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020820B8
-FUN_020820B8: ; 0x020820B8
- push {r3-r5, lr}
- add r5, r1, #0x0
- ldr r1, _020820D8 ; =0x0000011F
- add r3, r0, #0x0
- ldrb r0, [r3, r1]
- add r1, r1, #0x2
- ldrb r1, [r3, r1]
- add r4, r2, #0x0
- bl FUN_020832A4
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200B2AC
- pop {r3-r5, pc}
- .balign 4
-_020820D8: .word 0x0000011F
-
- thumb_func_start FUN_020820DC
-FUN_020820DC: ; 0x020820DC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0x13
- add r6, r2, #0x0
- mov r0, #0x0
- add r3, r5, #0x0
- lsl r1, r1, #0x4
-_020820EC:
- ldrb r2, [r3, r1]
- cmp r2, #0x0
- beq _020820FA
- add r0, r0, #0x1
- add r3, #0xc
- cmp r0, #0x4
- blt _020820EC
-_020820FA:
- bl FUN_020832DC
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02082034
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0208210C
-FUN_0208210C: ; 0x0208210C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0x13
- add r6, r2, #0x0
- mov r0, #0x0
- add r3, r5, #0x0
- lsl r1, r1, #0x4
-_0208211C:
- ldrb r2, [r3, r1]
- cmp r2, #0x0
- beq _0208212A
- add r0, r0, #0x1
- add r3, #0xc
- cmp r0, #0x4
- blt _0208211C
-_0208212A:
- bl FUN_020832DC
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0208206C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0208213C
-FUN_0208213C: ; 0x0208213C
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02082140
-FUN_02082140: ; 0x02082140
- push {r3, lr}
- ldr r2, _02082154 ; =0x00000171
- ldrb r0, [r0, r2]
- cmp r0, #0x0
- beq _02082150
- add r0, r1, #0x0
- bl FUN_02031588
-_02082150:
- pop {r3, pc}
- nop
-_02082154: .word 0x00000171
-
- thumb_func_start FUN_02082158
-FUN_02082158: ; 0x02082158
- push {r3, lr}
- ldr r2, _02082178 ; =0x00000171
- ldrb r0, [r0, r2]
- cmp r0, #0x0
- bne _02082166
- mov r0, #0x1
- pop {r3, pc}
-_02082166:
- add r0, r1, #0x0
- bl FUN_020315D8
- cmp r0, #0x1
- bne _02082174
- mov r0, #0x1
- pop {r3, pc}
-_02082174:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02082178: .word 0x00000171
-
- thumb_func_start FUN_0208217C
-FUN_0208217C: ; 0x0208217C
- ldr r2, _0208218C ; =0x00000123
- mov r1, #0xc
- ldrb r3, [r0, r2]
- add r2, #0xd
- mul r1, r3
- add r0, r0, r1
- ldrb r0, [r0, r2]
- bx lr
- .balign 4
-_0208218C: .word 0x00000123
-
- thumb_func_start FUN_02082190
-FUN_02082190: ; 0x02082190
- push {r3, lr}
- mov r1, #0x13
- mov r3, #0x0
- lsl r1, r1, #0x4
-_02082198:
- ldrb r2, [r0, r1]
- cmp r2, #0x0
- bne _020821A6
- add r0, r3, #0x0
- bl FUN_020832DC
- pop {r3, pc}
-_020821A6:
- add r3, r3, #0x1
- add r0, #0xc
- cmp r3, #0x4
- blt _02082198
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020821B4
-FUN_020821B4: ; 0x020821B4
- ldr r1, _020821BC ; =0x00000123
- ldr r3, _020821C0 ; =FUN_020832DC
- ldrb r0, [r0, r1]
- bx r3
- .balign 4
-_020821BC: .word 0x00000123
-_020821C0: .word FUN_020832DC
-
- thumb_func_start FUN_020821C4
-FUN_020821C4: ; 0x020821C4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_020832E4
- lsl r0, r0, #0x1
- add r1, r4, r0
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldrh r0, [r1, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020821DC
-FUN_020821DC: ; 0x020821DC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_020832E4
- add r1, r4, r0
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- pop {r4, pc}
-
- thumb_func_start FUN_020821F0
-FUN_020821F0: ; 0x020821F0
- push {r3, lr}
- ldr r1, _02082210 ; =0x00000171
- ldrb r1, [r0, r1]
- cmp r1, #0x1
- bne _020821FE
- mov r0, #0x1
- pop {r3, pc}
-_020821FE:
- bl FUN_020832EC
- cmp r0, #0x1
- bne _0208220A
- mov r0, #0x2
- pop {r3, pc}
-_0208220A:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02082210: .word 0x00000171
-
- thumb_func_start FUN_02082214
-FUN_02082214: ; 0x02082214
- push {r4-r5}
- mov r4, #0x12
- lsl r4, r4, #0x4
- ldrb r5, [r0, r4]
- strh r5, [r1, #0x0]
- sub r1, r4, #0x1
- ldrb r1, [r0, r1]
- strh r1, [r2, #0x0]
- add r1, r4, #0x1
- ldrb r1, [r0, r1]
- strh r1, [r3, #0x0]
- ldr r1, _02082238 ; =0x00001998
- ldrb r1, [r0, r1]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- pop {r4-r5}
- bx lr
- nop
-_02082238: .word 0x00001998
-
- thumb_func_start FUN_0208223C
-FUN_0208223C: ; 0x0208223C
- ldr r1, _02082244 ; =0x00000171
- ldr r3, _02082248 ; =FUN_020833D4
- ldrb r0, [r0, r1]
- bx r3
- .balign 4
-_02082244: .word 0x00000171
-_02082248: .word FUN_020833D4
-
- thumb_func_start FUN_0208224C
-FUN_0208224C: ; 0x0208224C
- ldr r3, _02082250 ; =FUN_02083404
- bx r3
- .balign 4
-_02082250: .word FUN_02083404
-
- thumb_func_start FUN_02082254
-FUN_02082254: ; 0x02082254
- push {r4, lr}
- mov r1, #0x12
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldrb r0, [r4, r1]
- sub r1, r1, #0x1
- ldrb r1, [r4, r1]
- bl FUN_0208341C
- add r1, r0, #0x0
- ldr r0, _02082280 ; =0x00001990
- mov r2, #0x0
- ldr r0, [r4, r0]
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0208227A
- mov r0, #0x1
- pop {r4, pc}
-_0208227A:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_02082280: .word 0x00001990
-
- thumb_func_start FUN_02082284
-FUN_02082284: ; 0x02082284
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, _020822EC ; =0x0000011F
- add r5, r2, #0x0
- ldrb r2, [r0, r1]
- cmp r2, #0x4
- bhi _020822D0
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0208229E: ; jump table (using 16-bit offset)
- .short _020822A8 - _0208229E - 2; case 0
- .short _020822B0 - _0208229E - 2; case 1
- .short _020822B8 - _0208229E - 2; case 2
- .short _020822C0 - _0208229E - 2; case 3
- .short _020822C8 - _0208229E - 2; case 4
-_020822A8:
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- add r0, #0x21
- b _020822D6
-_020822B0:
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- add r0, #0x25
- b _020822D6
-_020822B8:
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- add r0, #0x29
- b _020822D6
-_020822C0:
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- add r0, #0x2d
- b _020822D6
-_020822C8:
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- add r0, #0x31
- b _020822D6
-_020822D0:
- bl ErrorHandling
- pop {r3-r5, pc}
-_020822D6:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x3
- bl FUN_0207FC5C
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0200AD94
- pop {r3-r5, pc}
- .balign 4
-_020822EC: .word 0x0000011F
-
- thumb_func_start FUN_020822F0
-FUN_020822F0: ; 0x020822F0
- push {r3-r5, lr}
- mov r4, #0x64
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xbf
- ldrb r1, [r5, r0]
- mov r0, #0xc
- mul r0, r1
- add r1, r5, r0
- add r0, r4, #0x0
- add r0, #0xcc
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _02082310
- ldr r0, _0208243C ; =0x0000FFFF
- pop {r3-r5, pc}
-_02082310:
- add r0, r4, #0x0
- add r0, #0xbb
- ldrb r0, [r5, r0]
- cmp r0, #0x4
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082326: ; jump table (using 16-bit offset)
- .short _02082330 - _02082326 - 2; case 0
- .short _0208235E - _02082326 - 2; case 1
- .short _0208238C - _02082326 - 2; case 2
- .short _020823BA - _02082326 - 2; case 3
- .short _020823E8 - _02082326 - 2; case 4
-_02082330:
- add r0, r4, #0x0
- add r0, #0xbc
- ldrb r0, [r5, r0]
- cmp r0, #0x3
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082346: ; jump table (using 16-bit offset)
- .short _0208234E - _02082346 - 2; case 0
- .short _02082352 - _02082346 - 2; case 1
- .short _02082356 - _02082346 - 2; case 2
- .short _0208235A - _02082346 - 2; case 3
-_0208234E:
- mov r4, #0x49
- b _02082414
-_02082352:
- mov r4, #0x4e
- b _02082414
-_02082356:
- mov r4, #0x53
- b _02082414
-_0208235A:
- mov r4, #0x58
- b _02082414
-_0208235E:
- add r0, r4, #0x0
- add r0, #0xbc
- ldrb r0, [r5, r0]
- cmp r0, #0x3
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082374: ; jump table (using 16-bit offset)
- .short _0208237C - _02082374 - 2; case 0
- .short _02082380 - _02082374 - 2; case 1
- .short _02082384 - _02082374 - 2; case 2
- .short _02082388 - _02082374 - 2; case 3
-_0208237C:
- mov r4, #0x4a
- b _02082414
-_02082380:
- mov r4, #0x4f
- b _02082414
-_02082384:
- mov r4, #0x54
- b _02082414
-_02082388:
- mov r4, #0x59
- b _02082414
-_0208238C:
- add r0, r4, #0x0
- add r0, #0xbc
- ldrb r0, [r5, r0]
- cmp r0, #0x3
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020823A2: ; jump table (using 16-bit offset)
- .short _020823AA - _020823A2 - 2; case 0
- .short _020823AE - _020823A2 - 2; case 1
- .short _020823B2 - _020823A2 - 2; case 2
- .short _020823B6 - _020823A2 - 2; case 3
-_020823AA:
- mov r4, #0x48
- b _02082414
-_020823AE:
- mov r4, #0x4d
- b _02082414
-_020823B2:
- mov r4, #0x52
- b _02082414
-_020823B6:
- mov r4, #0x57
- b _02082414
-_020823BA:
- add r0, r4, #0x0
- add r0, #0xbc
- ldrb r0, [r5, r0]
- cmp r0, #0x3
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020823D0: ; jump table (using 16-bit offset)
- .short _020823D8 - _020823D0 - 2; case 0
- .short _020823DC - _020823D0 - 2; case 1
- .short _020823E0 - _020823D0 - 2; case 2
- .short _020823E4 - _020823D0 - 2; case 3
-_020823D8:
- mov r4, #0x4c
- b _02082414
-_020823DC:
- mov r4, #0x51
- b _02082414
-_020823E0:
- mov r4, #0x56
- b _02082414
-_020823E4:
- mov r4, #0x5b
- b _02082414
-_020823E8:
- add r0, r4, #0x0
- add r0, #0xbc
- ldrb r0, [r5, r0]
- cmp r0, #0x3
- bhi _02082414
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020823FE: ; jump table (using 16-bit offset)
- .short _02082406 - _020823FE - 2; case 0
- .short _0208240A - _020823FE - 2; case 1
- .short _0208240E - _020823FE - 2; case 2
- .short _02082412 - _020823FE - 2; case 3
-_02082406:
- mov r4, #0x4b
- b _02082414
-_0208240A:
- mov r4, #0x50
- b _02082414
-_0208240E:
- mov r4, #0x55
- b _02082414
-_02082412:
- mov r4, #0x5a
-_02082414:
- cmp r4, #0x64
- bne _0208241C
- bl ErrorHandling
-_0208241C:
- ldr r0, _02082440 ; =0x0000198C
- ldr r0, [r5, r0]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020270D8
- cmp r0, #0x0
- bne _02082438
- ldr r0, _0208243C ; =0x0000FFFF
- pop {r3-r5, pc}
-_02082438:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0208243C: .word 0x0000FFFF
-_02082440: .word 0x0000198C
-
- thumb_func_start FUN_02082444
-FUN_02082444: ; 0x02082444
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _020824F0 ; =0x000019BC
- add r6, r1, #0x0
- ldr r0, [r5, r0]
- cmp r0, #0x0
- beq _02082456
- bl ErrorHandling
-_02082456:
- mov r0, #0x4
- mov r1, #0x10
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x10
- add r4, r0, #0x0
- bl MI_CpuFill8
- add r0, r6, #0x0
- bl FUN_020832E4
- strb r0, [r4, #0xc]
- ldrb r0, [r4, #0xc]
- mov r1, #0x43
- lsl r1, r1, #0x2
- add r0, r5, r0
- ldrb r2, [r0, r1]
- mov r0, #0x1
- and r0, r2
- add r2, r1, #0x0
- add r2, #0x65
- ldrb r2, [r5, r2]
- cmp r2, #0x1
- bne _02082494
- mov r1, #0x6
- ldr r2, _020824F4 ; =0x020FBBAC
- mul r1, r0
- add r0, r2, r1
- str r0, [r4, #0x4]
- b _020824DC
-_02082494:
- add r1, #0x14
- ldrb r1, [r5, r1]
- cmp r1, #0x3
- bhi _020824D2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020824A8: ; jump table (using 16-bit offset)
- .short _020824B0 - _020824A8 - 2; case 0
- .short _020824BC - _020824A8 - 2; case 1
- .short _020824C6 - _020824A8 - 2; case 2
- .short _020824D2 - _020824A8 - 2; case 3
-_020824B0:
- lsl r1, r0, #0x1
- ldr r2, _020824F8 ; =0x020FBB90
- add r0, r0, r1
- add r0, r2, r0
- str r0, [r4, #0x4]
- b _020824DC
-_020824BC:
- ldr r1, _020824FC ; =0x020FBB98
- lsl r0, r0, #0x2
- add r0, r1, r0
- str r0, [r4, #0x4]
- b _020824DC
-_020824C6:
- lsl r1, r0, #0x2
- ldr r2, _02082500 ; =0x020FBBA0
- add r0, r0, r1
- add r0, r2, r0
- str r0, [r4, #0x4]
- b _020824DC
-_020824D2:
- mov r1, #0x6
- ldr r2, _020824F4 ; =0x020FBBAC
- mul r1, r0
- add r0, r2, r1
- str r0, [r4, #0x4]
-_020824DC:
- ldr r0, _02082504 ; =FUN_0208251C
- add r1, r5, #0x0
- mov r2, #0x64
- bl FUN_0200CA44
- str r0, [r4, #0x0]
- ldr r0, _020824F0 ; =0x000019BC
- str r4, [r5, r0]
- pop {r4-r6, pc}
- nop
-_020824F0: .word 0x000019BC
-_020824F4: .word 0x020FBBAC
-_020824F8: .word 0x020FBB90
-_020824FC: .word 0x020FBB98
-_02082500: .word 0x020FBBA0
-_02082504: .word FUN_0208251C
-
- thumb_func_start FUN_02082508
-FUN_02082508: ; 0x02082508
- ldr r1, _02082518 ; =0x000019BC
- ldr r0, [r0, r1]
- cmp r0, #0x0
- bne _02082514
- mov r0, #0x1
- bx lr
-_02082514:
- mov r0, #0x0
- bx lr
- .balign 4
-_02082518: .word 0x000019BC
-
- thumb_func_start FUN_0208251C
-FUN_0208251C: ; 0x0208251C
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r0, #0x0
- ldr r0, _02082598 ; =0x000019BC
- add r5, r1, #0x0
- ldr r4, [r5, r0]
- mov r0, #0x1
- bl FUN_0200A344
- cmp r0, #0x0
- beq _02082594
- ldrb r0, [r4, #0xb]
- cmp r0, #0x0
- bne _02082580
- mov r0, #0x8
- ldrsh r1, [r4, r0]
- add r1, r1, #0x1
- strh r1, [r4, #0x8]
- ldrsh r2, [r4, r0]
- ldrb r0, [r4, #0xa]
- ldr r1, [r4, #0x4]
- ldrb r0, [r1, r0]
- cmp r2, r0
- ble _02082594
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x6
- mov r1, #0x0
- mov r2, #0x4
- mov r3, #0x3f
- bl FUN_0200A208
- ldr r0, _0208259C ; =0x000005F8
- bl FUN_020054C8
- ldrb r0, [r4, #0xa]
- add r0, r0, #0x1
- strb r0, [r4, #0xa]
- mov r0, #0x0
- strh r0, [r4, #0x8]
- ldrb r0, [r4, #0xa]
- ldr r1, [r4, #0x4]
- ldrb r0, [r1, r0]
- cmp r0, #0xff
- bne _02082594
- ldrb r0, [r4, #0xb]
- add sp, #0x4
- add r0, r0, #0x1
- strb r0, [r4, #0xb]
- pop {r3-r6, pc}
-_02082580:
- ldr r0, _02082598 ; =0x000019BC
- ldr r0, [r5, r0]
- bl FUN_02016A18
- ldr r0, _02082598 ; =0x000019BC
- mov r1, #0x0
- str r1, [r5, r0]
- add r0, r6, #0x0
- bl FUN_0200CAB4
-_02082594:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02082598: .word 0x000019BC
-_0208259C: .word 0x000005F8
-
- thumb_func_start FUN_020825A0
-FUN_020825A0: ; 0x020825A0
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x13
- str r2, [sp, #0x4]
- ldr r6, [sp, #0x20]
- ldr r7, [sp, #0x24]
- str r1, [sp, #0x0]
- str r3, [sp, #0x8]
- mov r4, #0x0
- add r2, r5, #0x0
- lsl r0, r0, #0x4
-_020825B8:
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- beq _020825C6
- add r4, r4, #0x1
- add r2, #0xc
- cmp r4, #0x4
- blt _020825B8
-_020825C6:
- add r0, r4, #0x0
- bl FUN_020832DC
- ldr r1, [sp, #0x0]
- str r0, [r1, #0x0]
- ldr r1, _02082628 ; =0x00000171
- ldr r0, [sp, #0x4]
- ldrb r2, [r5, r1]
- sub r1, #0x4a
- str r2, [r0, #0x0]
- ldrb r0, [r5, r1]
- cmp r4, r0
- blt _020825E6
- mov r1, #0x1
- ldr r0, [sp, #0x8]
- b _020825EA
-_020825E6:
- ldr r0, [sp, #0x8]
- mov r1, #0x0
-_020825EA:
- str r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r6, #0x0]
- str r0, [r7, #0x0]
- ldr r0, _0208262C ; =0x00000121
- ldrb r0, [r5, r0]
- cmp r0, #0x8
- bhi _02082624
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082606: ; jump table (using 16-bit offset)
- .short _02082624 - _02082606 - 2; case 0
- .short _02082624 - _02082606 - 2; case 1
- .short _02082624 - _02082606 - 2; case 2
- .short _02082618 - _02082606 - 2; case 3
- .short _02082620 - _02082606 - 2; case 4
- .short _02082618 - _02082606 - 2; case 5
- .short _02082620 - _02082606 - 2; case 6
- .short _02082618 - _02082606 - 2; case 7
- .short _02082620 - _02082606 - 2; case 8
-_02082618:
- mov r0, #0x1
- add sp, #0xc
- str r0, [r6, #0x0]
- pop {r4-r7, pc}
-_02082620:
- mov r0, #0x1
- str r0, [r7, #0x0]
-_02082624:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02082628: .word 0x00000171
-_0208262C: .word 0x00000121
-
- thumb_func_start FUN_02082630
-FUN_02082630: ; 0x02082630
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r0, _02082840 ; =0x00000121
- str r2, [sp, #0x4]
- ldrb r0, [r4, r0]
- add r6, r3, #0x0
- mov r5, #0x0
- cmp r0, #0x8
- bhi _02082666
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082650: ; jump table (using 16-bit offset)
- .short _02082666 - _02082650 - 2; case 0
- .short _02082666 - _02082650 - 2; case 1
- .short _02082666 - _02082650 - 2; case 2
- .short _02082662 - _02082650 - 2; case 3
- .short _02082662 - _02082650 - 2; case 4
- .short _02082662 - _02082650 - 2; case 5
- .short _02082662 - _02082650 - 2; case 6
- .short _02082662 - _02082650 - 2; case 7
- .short _02082662 - _02082650 - 2; case 8
-_02082662:
- add sp, #0xc
- pop {r4-r7, pc}
-_02082666:
- ldr r2, _02082844 ; =0x00000171
- ldrb r0, [r4, r2]
- cmp r0, #0x0
- ldr r0, _02082848 ; =0x0000198C
- beq _02082672
- b _02082774
-_02082672:
- ldr r0, [r4, r0]
- bl FUN_020462AC
- add r6, r0, #0x0
- ldr r0, _02082840 ; =0x00000121
- ldrb r1, [r4, r0]
- cmp r1, #0x2
- bne _020826AC
- sub r0, r0, #0x1
- ldrb r0, [r4, r0]
- cmp r0, #0x3
- blo _020826AC
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _020826AC
- ldr r1, _0208284C ; =0x0000011F
- add r0, r6, #0x0
- ldrb r1, [r4, r1]
- bl FUN_0205EE60
- cmp r0, #0x0
- bne _020826AC
- ldr r1, _0208284C ; =0x0000011F
- add r0, r6, #0x0
- ldrb r1, [r4, r1]
- bl FUN_0205EE08
-_020826AC:
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _020826EA
- mov r1, #0x1
- add r0, sp, #0x8
- strb r1, [r0, #0x0]
- mov r1, #0x12
- lsl r1, r1, #0x4
- ldrb r0, [r4, r1]
- sub r1, r1, #0x1
- ldrb r1, [r4, r1]
- bl FUN_0208341C
- add r6, r0, #0x0
- ldr r0, _02082850 ; =0x00001990
- add r1, r6, #0x0
- ldr r0, [r4, r0]
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _020826DE
- mov r5, #0x1
-_020826DE:
- ldr r0, _02082850 ; =0x00001990
- add r1, r6, #0x0
- ldr r0, [r4, r0]
- add r2, sp, #0x8
- bl FUN_02067830
-_020826EA:
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_02022504
- ldr r3, _02082854 ; =0x00000123
- mov r1, #0xc
- ldrb r2, [r4, r3]
- mul r1, r2
- add r2, r4, r1
- add r1, r3, #0x0
- add r1, #0xd
- ldrb r1, [r2, r1]
- sub r2, r3, #0x4
- sub r3, r3, #0x3
- add r1, r1, #0x1
- str r1, [sp, #0x0]
- ldr r1, _02082850 ; =0x00001990
- ldrb r2, [r4, r2]
- ldrb r3, [r4, r3]
- ldr r1, [r4, r1]
- bl FUN_02060F10
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_02029FC8
- mov r1, #0x3f
- add r6, r0, #0x0
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _02082740
- add r0, r6, #0x0
- mov r1, #0x41
- bl FUN_0202A0E8
- add r0, r6, #0x0
- mov r1, #0xd
- bl FUN_0202A170
-_02082740:
- cmp r5, #0x1
- bne _0208274C
- add r0, r6, #0x0
- mov r1, #0x43
- bl FUN_0202A0E8
-_0208274C:
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_02024DA0
- add r7, r0, #0x0
- ldr r0, _02082858 ; =0x00000127
- ldrb r6, [r4, r0]
- cmp r6, #0x4
- bge _020827E8
- lsl r0, r6, #0x2
- add r5, r4, r0
-_02082762:
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0202498C
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, #0x4
- blt _02082762
- b _020827E8
-_02082774:
- add r3, r2, #0x0
- sub r3, #0x4e
- ldrb r5, [r4, r3]
- add r1, r2, #0x0
- mov r3, #0xc
- mul r3, r5
- sub r1, #0x52
- add r3, r4, r3
- sub r2, #0x41
- ldrb r1, [r4, r1]
- ldrb r2, [r3, r2]
- ldr r0, [r4, r0]
- bl FUN_0202C108
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_02029FC8
- mov r1, #0x40
- add r5, r0, #0x0
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _020827BA
- add r0, r5, #0x0
- mov r1, #0x42
- bl FUN_0202A0E8
- add r0, r5, #0x0
- mov r1, #0x13
- bl FUN_0202A170
-_020827BA:
- ldr r1, _02082854 ; =0x00000123
- mov r0, #0xc
- ldrb r2, [r4, r1]
- add r1, #0xd
- mul r0, r2
- add r0, r4, r0
- ldrb r0, [r0, r1]
- mov r1, #0xb
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02029500
- add r5, r0, #0x0
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_020289A4
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x4
- bl FUN_02028AD4
-_020827E8:
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _02082820
- ldr r0, _02082848 ; =0x0000198C
- ldr r0, [r4, r0]
- bl FUN_02027E24
- ldr r1, _0208284C ; =0x0000011F
- ldrb r1, [r4, r1]
- bl FUN_02027044
- add r5, r0, #0x0
- bl FUN_02027740
- ldr r1, _02082854 ; =0x00000123
- add r0, r5, #0x0
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x2
- add r1, r4, r1
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- bl FUN_020278DC
- add r0, r5, #0x0
- bl FUN_02027710
-_02082820:
- add r0, r4, #0x0
- bl FUN_0208217C
- cmp r0, #0x0
- bne _0208283A
- ldr r0, _02082850 ; =0x00001990
- ldr r2, [sp, #0x4]
- ldr r0, [r4, r0]
- lsl r2, r2, #0x10
- mov r1, #0x9
- lsr r2, r2, #0x10
- bl FUN_020688E8
-_0208283A:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02082840: .word 0x00000121
-_02082844: .word 0x00000171
-_02082848: .word 0x0000198C
-_0208284C: .word 0x0000011F
-_02082850: .word 0x00001990
-_02082854: .word 0x00000123
-_02082858: .word 0x00000127
-
- thumb_func_start FUN_0208285C
-FUN_0208285C: ; 0x0208285C
- push {r4, lr}
- bl FUN_020126D8
- add r4, r0, #0x0
- bl getseed_LC
- add r0, #0xa
- mul r0, r4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl seedr_LC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02082878
-FUN_02082878: ; 0x02082878
- ldr r3, _0208287C ; =rand_LC
- bx r3
- .balign 4
-_0208287C: .word rand_LC
-
- thumb_func_start FUN_02082880
-FUN_02082880: ; 0x02082880
- push {r4, lr}
- add r4, r1, #0x0
- bl rand_ALT
- str r0, [r4, #0x0]
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02082894
-FUN_02082894: ; 0x02082894
- push {r4-r5}
- mov r5, #0x42
- add r3, r0, r1
- lsl r5, r5, #0x2
- ldrb r4, [r3, r5]
- lsl r1, r1, #0x1
- add r0, r0, r1
- strb r4, [r2, #0x0]
- add r4, r5, #0x4
- ldrb r4, [r3, r4]
- strb r4, [r2, #0x1]
- add r4, r5, #0x0
- add r4, #0x8
- ldrb r3, [r3, r4]
- add r5, #0xc
- strb r3, [r2, #0x2]
- ldrh r0, [r0, r5]
- strh r0, [r2, #0x4]
- pop {r4-r5}
- bx lr
-
- thumb_func_start FUN_020828BC
-FUN_020828BC: ; 0x020828BC
- ldr r2, _020828E0 ; =0x00000171
- ldrb r1, [r0, r2]
- cmp r1, #0x0
- beq _020828D6
- cmp r1, #0x1
- bne _020828DA
- add r1, r2, #0x0
- sub r1, #0x55
- sub r2, #0x4e
- ldrb r1, [r0, r1]
- ldrb r0, [r0, r2]
- cmp r1, r0
- bne _020828DA
-_020828D6:
- mov r0, #0x1
- bx lr
-_020828DA:
- mov r0, #0x0
- bx lr
- nop
-_020828E0: .word 0x00000171
-
- thumb_func_start FUN_020828E4
-FUN_020828E4: ; 0x020828E4
- push {r3-r7, lr}
- sub sp, #0x58
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x70]
- mov r6, #0x0
- str r0, [sp, #0x70]
- ldr r0, [sp, #0x74]
- add r5, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x8]
- str r6, [sp, #0x20]
- str r6, [sp, #0x18]
- str r6, [sp, #0x1c]
- cmp r0, #0x8
- bhi _0208292A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0208290E: ; jump table (using 16-bit offset)
- .short _0208292A - _0208290E - 2; case 0
- .short _0208292A - _0208290E - 2; case 1
- .short _0208292A - _0208290E - 2; case 2
- .short _02082920 - _0208290E - 2; case 3
- .short _02082926 - _0208290E - 2; case 4
- .short _02082920 - _0208290E - 2; case 5
- .short _02082926 - _0208290E - 2; case 6
- .short _02082920 - _0208290E - 2; case 7
- .short _02082926 - _0208290E - 2; case 8
-_02082920:
- mov r0, #0x1
- str r0, [sp, #0x18]
- b _0208292A
-_02082926:
- mov r0, #0x1
- str r0, [sp, #0x1c]
-_0208292A:
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x5a
- add r2, r1, #0x0
- add r3, r5, #0x0
- bl FUN_02006C98
- str r0, [sp, #0x14]
- mov r0, #0x5a
- mov r1, #0x0
- bl LoadFromNARC_7
- mov r1, #0x30
- bl _u32_div_f
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x24]
- add r0, r5, #0x0
- add r1, r1, #0x1
- bl FUN_020169D8
- add r5, r0, #0x0
- ldr r0, [sp, #0x78]
- cmp r0, #0x1
- bne _02082968
- ldr r0, [sp, #0x7c]
- cmp r0, #0x1
- bne _02082968
- mov r0, #0x1
- str r0, [sp, #0x20]
-_02082968:
- ldr r0, [sp, #0x24]
- mov r2, #0x0
- cmp r0, #0x0
- ble _02082A1A
- ldr r3, [sp, #0x14]
-_02082972:
- ldrh r7, [r3, #0x20]
- lsl r0, r7, #0x1d
- lsr r1, r0, #0x1d
- ldr r0, [sp, #0x70]
- cmp r0, r1
- bne _02082A10
- ldr r0, [sp, #0x20]
- cmp r0, #0x1
- bne _0208298E
- lsl r0, r7, #0x14
- lsr r0, r0, #0x1e
- cmp r0, #0x1
- beq _02082A10
- b _0208299A
-_0208298E:
- lsl r0, r7, #0x14
- lsr r0, r0, #0x1e
- cmp r0, #0x2
- beq _02082A10
- cmp r0, #0x3
- beq _02082A10
-_0208299A:
- ldr r0, [sp, #0x18]
- cmp r0, #0x1
- bne _020829AA
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1f
- beq _02082A10
- b _020829CA
-_020829AA:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x1
- ldrh r0, [r3, #0x20]
- bne _020829BA
- lsl r0, r0, #0x17
- lsr r0, r0, #0x1f
- beq _02082A10
- b _020829CA
-_020829BA:
- lsl r1, r0, #0x16
- lsr r1, r1, #0x1f
- cmp r1, #0x1
- beq _02082A10
- lsl r0, r0, #0x17
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- beq _02082A10
-_020829CA:
- cmp r4, #0x0
- bne _020829D6
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- bne _02082A06
-_020829D6:
- cmp r4, #0x1
- bne _020829E2
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- bne _02082A06
-_020829E2:
- cmp r4, #0x2
- bne _020829EE
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1f
- bne _02082A06
-_020829EE:
- cmp r4, #0x3
- bne _020829FA
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bne _02082A06
-_020829FA:
- cmp r4, #0x4
- bne _02082A10
- ldrh r0, [r3, #0x20]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- beq _02082A10
-_02082A06:
- add r1, r6, #0x1
- add r0, r6, #0x0
- lsl r1, r1, #0x18
- lsr r6, r1, #0x18
- strb r2, [r5, r0]
-_02082A10:
- ldr r0, [sp, #0x24]
- add r2, r2, #0x1
- add r3, #0x30
- cmp r2, r0
- blt _02082972
-_02082A1A:
- mov r0, #0xff
- strb r0, [r5, r6]
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- beq _02082A26
- b _02082B4E
-_02082A26:
- ldr r0, [sp, #0x8]
- cmp r6, r0
- bge _02082A30
- bl ErrorHandling
-_02082A30:
- mov r0, #0x0
- str r0, [sp, #0x10]
- cmp r6, #0x0
- ble _02082A5A
- mov r2, #0x30
-_02082A3A:
- ldrb r1, [r5, r0]
- add r3, r1, #0x0
- ldr r1, [sp, #0x14]
- mul r3, r2
- add r1, r1, r3
- ldrh r1, [r1, #0x20]
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1e
- cmp r1, #0x3
- bne _02082A54
- ldr r1, [sp, #0x10]
- add r1, r1, #0x1
- str r1, [sp, #0x10]
-_02082A54:
- add r0, r0, #0x1
- cmp r0, r6
- blt _02082A3A
-_02082A5A:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _02082AA2
- ldr r0, [sp, #0x4]
- bl FUN_02082878
- ldr r1, [sp, #0x10]
- bl _s32_div_f
- mov r3, #0x0
- cmp r6, #0x0
- ble _02082AA2
- mov r0, #0x30
-_02082A74:
- ldrb r4, [r5, r3]
- add r2, r4, #0x0
- ldr r4, [sp, #0x14]
- mul r2, r0
- add r2, r4, r2
- ldrh r4, [r2, #0x20]
- lsl r4, r4, #0x14
- lsr r4, r4, #0x1e
- cmp r4, #0x3
- bne _02082A9C
- cmp r1, #0x0
- bne _02082A9A
- add r4, sp, #0x28
- mov r3, #0x6
-_02082A90:
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r3, r3, #0x1
- bne _02082A90
- b _02082AA2
-_02082A9A:
- sub r1, r1, #0x1
-_02082A9C:
- add r3, r3, #0x1
- cmp r3, r6
- blt _02082A74
-_02082AA2:
- ldr r0, [sp, #0x8]
- mov r1, #0x4
- sub r4, r1, r0
- add r0, r4, #0x0
- str r4, [sp, #0xc]
- cmp r0, #0x4
- bge _02082B16
-_02082AB0:
- ldr r0, [sp, #0x4]
- bl FUN_02082878
- add r1, r6, #0x0
- bl _s32_div_f
- lsl r0, r1, #0x10
- lsr r2, r0, #0x10
- ldrb r3, [r5, r2]
- mov r0, #0x30
- add r1, r3, #0x0
- ldr r3, [sp, #0x14]
- mul r1, r0
- add r7, r3, r1
- ldrh r1, [r7, #0x20]
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1e
- cmp r1, #0x3
- bne _02082ADA
- sub r4, r4, #0x1
- b _02082B10
-_02082ADA:
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, [sp, #0x4]
- add r3, r0, r1
- mov r0, #0x6
- add r3, #0x10
- mov r12, r0
-_02082AE8:
- ldmia r7!, {r0-r1}
- stmia r3!, {r0-r1}
- mov r0, r12
- sub r0, r0, #0x1
- mov r12, r0
- bne _02082AE8
- ldrb r1, [r5, r2]
- add r0, r5, r2
- cmp r1, #0xff
- beq _02082B0A
-_02082AFC:
- ldrb r1, [r0, #0x1]
- add r2, r2, #0x1
- strb r1, [r0, #0x0]
- ldrb r1, [r5, r2]
- add r0, r5, r2
- cmp r1, #0xff
- bne _02082AFC
-_02082B0A:
- sub r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_02082B10:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _02082AB0
-_02082B16:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _02082B7E
- ldr r0, [sp, #0xc]
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [sp, #0x4]
- bl FUN_02082878
- ldr r1, [sp, #0x8]
- bl _s32_div_f
- add r0, r4, r1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- add r1, r2, #0x0
- mov r0, #0x30
- mul r1, r0
- ldr r0, [sp, #0x4]
- add r4, sp, #0x28
- add r3, r0, r1
- add r3, #0x10
- mov r2, #0x6
-_02082B44:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02082B44
- b _02082B7E
-_02082B4E:
- cmp r6, #0x4
- bhs _02082B56
- bl ErrorHandling
-_02082B56:
- mov r6, #0x0
- mov r7, #0x30
-_02082B5A:
- ldrb r0, [r5, r6]
- ldr r3, [sp, #0x4]
- mov r2, #0x6
- add r1, r0, #0x0
- ldr r0, [sp, #0x14]
- mul r1, r7
- add r4, r0, r1
- add r3, #0x10
-_02082B6A:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02082B6A
- ldr r0, [sp, #0x4]
- add r6, r6, #0x1
- add r0, #0x30
- str r0, [sp, #0x4]
- cmp r6, #0x4
- blt _02082B5A
-_02082B7E:
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x14]
- bl FUN_02016A18
- add sp, #0x58
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02082B90
-FUN_02082B90: ; 0x02082B90
- push {r3-r7, lr}
- sub sp, #0x18
- str r0, [sp, #0x8]
- mov r0, #0x1
- add r3, r1, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x5a
- mov r1, #0x2
- mov r2, #0x0
- bl FUN_02006C98
- str r0, [sp, #0x14]
- ldr r1, _02082D10 ; =0x00000121
- ldr r0, [sp, #0x8]
- ldrb r0, [r0, r1]
- cmp r0, #0x4
- beq _02082BBA
- cmp r0, #0x6
- beq _02082BBA
- cmp r0, #0x8
- bne _02082BC0
-_02082BBA:
- mov r0, #0x0
- str r0, [sp, #0xc]
- b _02082BC8
-_02082BC0:
- ldr r0, [sp, #0x8]
- add r1, r1, #0x6
- ldrb r0, [r0, r1]
- str r0, [sp, #0xc]
-_02082BC8:
- ldr r0, [sp, #0xc]
- cmp r0, #0x4
- blt _02082BD0
- b _02082D06
-_02082BD0:
- mov r1, #0x30
- mul r1, r0
- ldr r0, [sp, #0x8]
- add r7, r0, r1
- ldr r0, [sp, #0xc]
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x8]
- add r6, r0, r1
-_02082BE0:
- ldr r1, _02082D14 ; =0x00000122
- ldr r0, [sp, #0x8]
- ldrb r0, [r0, r1]
- cmp r0, #0xb
- bhi _02082C6E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02082BF6: ; jump table (using 16-bit offset)
- .short _02082C0E - _02082BF6 - 2; case 0
- .short _02082C16 - _02082BF6 - 2; case 1
- .short _02082C1E - _02082BF6 - 2; case 2
- .short _02082C26 - _02082BF6 - 2; case 3
- .short _02082C2E - _02082BF6 - 2; case 4
- .short _02082C36 - _02082BF6 - 2; case 5
- .short _02082C3E - _02082BF6 - 2; case 6
- .short _02082C46 - _02082BF6 - 2; case 7
- .short _02082C4E - _02082BF6 - 2; case 8
- .short _02082C56 - _02082BF6 - 2; case 9
- .short _02082C5E - _02082BF6 - 2; case 10
- .short _02082C66 - _02082BF6 - 2; case 11
-_02082C0E:
- add r0, r7, #0x0
- add r0, #0x32
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C16:
- add r0, r7, #0x0
- add r0, #0x33
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C1E:
- add r0, r7, #0x0
- add r0, #0x34
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C26:
- add r0, r7, #0x0
- add r0, #0x35
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C2E:
- add r0, r7, #0x0
- add r0, #0x36
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C36:
- add r0, r7, #0x0
- add r0, #0x37
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C3E:
- add r0, r7, #0x0
- add r0, #0x38
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C46:
- add r0, r7, #0x0
- add r0, #0x39
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C4E:
- add r0, r7, #0x0
- add r0, #0x3a
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C56:
- add r0, r7, #0x0
- add r0, #0x3b
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C5E:
- add r0, r7, #0x0
- add r0, #0x3c
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C66:
- add r0, r7, #0x0
- add r0, #0x3d
- ldrb r2, [r0, #0x0]
- b _02082C74
-_02082C6E:
- bl ErrorHandling
- mov r2, #0x0
-_02082C74:
- mov r0, #0x54
- add r1, r2, #0x0
- mul r1, r0
- ldr r0, [sp, #0x14]
- add r0, r0, r1
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02027740
- add r0, r6, #0x0
- add r0, #0xf8
- ldr r2, [sp, #0x10]
- mov r3, #0x51
- ldrsb r2, [r2, r3]
- ldr r0, [r0, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_02027914
- ldr r0, [sp, #0x10]
- mov r5, #0x0
- add r0, #0x50
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ble _02082CD2
- ldr r4, [sp, #0x10]
-_02082CAA:
- ldrb r0, [r4, #0x2]
- add r1, r5, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x3
- ldrsb r0, [r4, r0]
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r0, #0xf8
- ldrb r2, [r4, #0x0]
- ldrb r3, [r4, #0x1]
- ldr r0, [r0, #0x0]
- bl FUN_02027964
- ldr r0, [sp, #0x10]
- add r5, r5, #0x1
- add r0, #0x50
- ldrb r0, [r0, #0x0]
- add r4, r4, #0x4
- cmp r5, r0
- blt _02082CAA
-_02082CD2:
- ldr r1, [sp, #0x10]
- add r0, r6, #0x0
- add r1, #0x52
- add r0, #0xf8
- str r1, [sp, #0x10]
- ldrb r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_0202787C
- mov r2, #0x12
- add r0, r6, #0x0
- add r0, #0xf8
- ldr r1, [sp, #0x8]
- lsl r2, r2, #0x4
- ldrb r1, [r1, r2]
- ldr r0, [r0, #0x0]
- bl FUN_020278AC
- ldr r0, [sp, #0xc]
- add r7, #0x30
- add r0, r0, #0x1
- add r6, r6, #0x4
- str r0, [sp, #0xc]
- cmp r0, #0x4
- bge _02082D06
- b _02082BE0
-_02082D06:
- ldr r0, [sp, #0x14]
- bl FUN_02016A18
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_02082D10: .word 0x00000121
-_02082D14: .word 0x00000122
-
- thumb_func_start FUN_02082D18
-FUN_02082D18: ; 0x02082D18
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r7, #0x12
- mov r4, #0x0
- add r5, r6, #0x0
- lsl r7, r7, #0x4
-_02082D24:
- add r0, r5, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02027740
- add r0, r5, #0x0
- add r0, #0xf8
- mov r2, #0x0
- ldr r0, [r0, #0x0]
- ldr r1, [r5, #0x0]
- mvn r2, r2
- bl FUN_02027914
- add r0, r5, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_0202787C
- add r0, r5, #0x0
- add r0, #0xf8
- ldrb r1, [r6, r7]
- ldr r0, [r0, #0x0]
- bl FUN_020278AC
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _02082D24
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02082D60
-FUN_02082D60: ; 0x02082D60
- push {r3-r7, lr}
- sub sp, #0x20
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldrh r1, [r7, #0x20]
- str r2, [sp, #0x10]
- ldrh r0, [r7, #0x14]
- lsl r1, r1, #0x12
- lsr r1, r1, #0x1e
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- mov r2, #0x0
- bl FUN_02066E74
- mov r1, #0x1
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- ldr r0, _02082E60 ; =0x0F0F0F0F
- mov r2, #0xa
- str r0, [sp, #0xc]
- ldrh r1, [r7, #0x14]
- add r0, r6, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- mov r4, #0x0
- add r5, r7, #0x0
-_02082D9A:
- ldrh r1, [r5, #0xc]
- add r0, sp, #0x18
- add r2, sp, #0x1c
- strh r1, [r0, #0x6]
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x36
- add r2, #0x2
- bl FUN_02067830
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, #0x4
- blt _02082D9A
- ldr r3, [sp, #0x10]
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc0
- bl FUN_0200A86C
- ldrh r1, [r7, #0x16]
- add r4, r0, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- ldrh r1, [r7, #0x18]
- add r0, r4, #0x0
- bl FUN_0200A914
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- mov r1, #0x76
- add r2, r5, #0x0
- bl FUN_02067830
- ldr r2, [sp, #0x14]
- add r0, r6, #0x0
- mov r1, #0x90
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x14]
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_0200A8B8
- add r2, sp, #0x1c
- ldrb r1, [r7, #0x1a]
- add r0, sp, #0x18
- add r2, #0x1
- strb r1, [r0, #0x5]
- ldrb r1, [r7, #0x1b]
- strb r1, [r0, #0x4]
- ldrb r1, [r7, #0x1c]
- strb r1, [r0, #0x3]
- ldrb r1, [r7, #0x1d]
- strb r1, [r0, #0x2]
- ldrb r1, [r7, #0x1e]
- strb r1, [r0, #0x1]
- ldrb r1, [r7, #0x1f]
- strb r1, [r0, #0x0]
- add r0, r6, #0x0
- mov r1, #0x13
- bl FUN_02067830
- add r0, r6, #0x0
- mov r1, #0x14
- add r2, sp, #0x1c
- bl FUN_02067830
- add r2, sp, #0x18
- add r0, r6, #0x0
- mov r1, #0x15
- add r2, #0x3
- bl FUN_02067830
- add r2, sp, #0x18
- add r0, r6, #0x0
- mov r1, #0x16
- add r2, #0x2
- bl FUN_02067830
- add r2, sp, #0x18
- add r0, r6, #0x0
- mov r1, #0x17
- add r2, #0x1
- bl FUN_02067830
- add r0, r6, #0x0
- mov r1, #0x18
- add r2, sp, #0x18
- bl FUN_02067830
- add sp, #0x20
- pop {r3-r7, pc}
- nop
-_02082E60: .word 0x0F0F0F0F
-
- thumb_func_start FUN_02082E64
-FUN_02082E64: ; 0x02082E64
- push {r4-r7, lr}
- sub sp, #0x24
- add r6, r3, #0x0
- add r5, r2, #0x0
- lsl r2, r6, #0x18
- str r0, [sp, #0x10]
- add r7, r1, #0x0
- add r0, sp, #0x14
- add r1, r5, #0x0
- lsr r2, r2, #0x18
- ldr r4, [sp, #0x38]
- bl FUN_02068B68
- lsl r1, r6, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_02068E14
- add r5, r0, #0x0
- cmp r4, #0x0
- beq _02082EB0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02082E98
- bl ErrorHandling
-_02082E98:
- add r1, sp, #0x14
- ldrh r0, [r1, #0x0]
- ldrh r1, [r1, #0x2]
- ldr r2, [sp, #0x3c]
- ldr r3, [r4, #0x0]
- bl FUN_02012420
- add r0, sp, #0x14
- ldrh r1, [r0, #0x4]
- str r1, [r4, #0x8]
- ldrh r0, [r0, #0x0]
- str r0, [r4, #0x4]
-_02082EB0:
- ldr r0, [sp, #0x48]
- ldr r3, [sp, #0x44]
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x40]
- add r1, sp, #0x14
- add r3, r3, r5
- bl FUN_020073A0
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02082ED0
-FUN_02082ED0: ; 0x02082ED0
- push {r4-r7, lr}
- sub sp, #0x24
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x38]
- add r7, r3, #0x0
- mov r5, #0x0
- str r2, [sp, #0xc]
- str r0, [sp, #0x38]
- mov r1, #0x1
- ldr r3, [sp, #0x8]
- mov r0, #0x5a
- add r2, r5, #0x0
- add r4, r5, #0x0
- str r1, [sp, #0x0]
- bl FUN_02006C98
- str r0, [sp, #0x14]
- mov r0, #0x5a
- mov r1, #0x1
- bl LoadFromNARC_7
- lsr r0, r0, #0x3
- str r0, [sp, #0x18]
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x8]
- add r1, r1, #0x1
- bl FUN_020169D8
- ldr r1, [sp, #0x18]
- add r6, r0, #0x0
- ldr r0, [sp, #0x8]
- add r1, r1, #0x1
- bl FUN_020169D8
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- add r2, r5, #0x0
- cmp r0, #0x0
- ble _0208300A
- ldr r3, [sp, #0x14]
-_02082F22:
- ldrh r0, [r3, #0x4]
- mov r12, r0
- lsl r0, r0, #0x14
- lsr r1, r0, #0x1e
- ldr r0, [sp, #0x38]
- cmp r0, r1
- bne _02083000
- cmp r7, #0x0
- bne _02082F5A
- mov r0, r12
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- beq _02082F5A
- cmp r0, #0x1
- bls _02082F4E
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- add r1, r4, #0x0
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x10]
- strb r2, [r0, r1]
- b _02083000
-_02082F4E:
- add r1, r5, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- strb r2, [r6, r0]
- b _02083000
-_02082F5A:
- cmp r7, #0x1
- bne _02082F84
- ldrh r0, [r3, #0x4]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1e
- beq _02082F84
- cmp r0, #0x1
- bls _02082F78
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- add r1, r4, #0x0
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x10]
- strb r2, [r0, r1]
- b _02083000
-_02082F78:
- add r1, r5, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- strb r2, [r6, r0]
- b _02083000
-_02082F84:
- cmp r7, #0x2
- bne _02082FAE
- ldrh r0, [r3, #0x4]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- beq _02082FAE
- cmp r0, #0x1
- bls _02082FA2
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- add r1, r4, #0x0
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x10]
- strb r2, [r0, r1]
- b _02083000
-_02082FA2:
- add r1, r5, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- strb r2, [r6, r0]
- b _02083000
-_02082FAE:
- cmp r7, #0x3
- bne _02082FD8
- ldrh r0, [r3, #0x4]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1e
- beq _02082FD8
- cmp r0, #0x1
- bls _02082FCC
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- add r1, r4, #0x0
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x10]
- strb r2, [r0, r1]
- b _02083000
-_02082FCC:
- add r1, r5, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- strb r2, [r6, r0]
- b _02083000
-_02082FD8:
- cmp r7, #0x4
- bne _02083000
- ldrh r0, [r3, #0x4]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1e
- beq _02083000
- cmp r0, #0x1
- bls _02082FF6
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- add r1, r4, #0x0
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x10]
- strb r2, [r0, r1]
- b _02083000
-_02082FF6:
- add r1, r5, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- strb r2, [r6, r0]
-_02083000:
- ldr r0, [sp, #0x18]
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, r0
- blt _02082F22
-_0208300A:
- mov r1, #0xff
- ldr r0, [sp, #0x10]
- strb r1, [r6, r5]
- strb r1, [r0, r4]
- cmp r5, #0x2
- bhs _0208301A
- bl ErrorHandling
-_0208301A:
- ldr r2, [sp, #0x4]
- mov r3, #0x0
-_0208301E:
- ldrb r0, [r6, r3]
- ldr r5, [sp, #0x14]
- add r3, r3, #0x1
- lsl r1, r0, #0x3
- ldr r0, [sp, #0x14]
- ldrh r5, [r5, r1]
- add r0, r0, r1
- add r1, r2, #0x0
- add r1, #0xd0
- strh r5, [r1, #0x0]
- add r1, r2, #0x0
- ldrh r5, [r0, #0x2]
- add r1, #0xd2
- strh r5, [r1, #0x0]
- add r1, r2, #0x0
- ldrh r5, [r0, #0x4]
- add r1, #0xd4
- strh r5, [r1, #0x0]
- ldrh r1, [r0, #0x6]
- add r0, r2, #0x0
- add r0, #0xd6
- add r2, #0x8
- strh r1, [r0, #0x0]
- cmp r3, #0x2
- blt _0208301E
- cmp r4, #0x1
- bhs _02083058
- bl ErrorHandling
-_02083058:
- ldr r0, [sp, #0x4]
- bl FUN_02082878
- add r1, r4, #0x0
- bl _s32_div_f
- lsl r0, r1, #0x10
- lsr r1, r0, #0x10
- ldr r0, [sp, #0x10]
- ldrb r0, [r0, r1]
- ldr r1, [sp, #0x14]
- lsl r2, r0, #0x3
- ldr r0, [sp, #0x14]
- add r0, r0, r2
- ldrh r2, [r1, r2]
- ldr r1, [sp, #0x4]
- add r1, #0xe0
- strh r2, [r1, #0x0]
- ldr r1, [sp, #0x4]
- ldrh r2, [r0, #0x2]
- add r1, #0xe2
- strh r2, [r1, #0x0]
- ldr r1, [sp, #0x4]
- ldrh r2, [r0, #0x4]
- add r1, #0xe4
- strh r2, [r1, #0x0]
- ldrh r1, [r0, #0x6]
- ldr r0, [sp, #0x4]
- ldr r2, _02083110 ; =0x0000011E
- add r0, #0xe6
- strh r1, [r0, #0x0]
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x4]
- strb r1, [r0, r2]
- add r2, r0, #0x0
- add r0, r1, #0x0
- lsl r1, r0, #0x3
- add r2, #0xd0
- ldrh r4, [r2, r1]
- add r0, sp, #0x1c
- add r3, r2, r1
- strh r4, [r0, #0x0]
- ldrh r4, [r3, #0x2]
- strh r4, [r0, #0x2]
- ldrh r4, [r3, #0x4]
- strh r4, [r0, #0x4]
- ldrh r4, [r3, #0x6]
- strh r4, [r0, #0x6]
- ldr r4, [sp, #0x4]
- add r4, #0xe0
- ldrh r4, [r4, #0x0]
- strh r4, [r2, r1]
- ldr r1, [sp, #0x4]
- add r1, #0xe2
- ldrh r1, [r1, #0x0]
- strh r1, [r3, #0x2]
- ldr r1, [sp, #0x4]
- add r1, #0xe4
- ldrh r1, [r1, #0x0]
- strh r1, [r3, #0x4]
- ldr r1, [sp, #0x4]
- add r1, #0xe6
- ldrh r1, [r1, #0x0]
- strh r1, [r3, #0x6]
- ldr r1, [sp, #0x4]
- ldrh r2, [r0, #0x0]
- add r1, #0xe0
- strh r2, [r1, #0x0]
- ldr r1, [sp, #0x4]
- ldrh r2, [r0, #0x2]
- add r1, #0xe2
- strh r2, [r1, #0x0]
- ldr r1, [sp, #0x4]
- ldrh r2, [r0, #0x4]
- add r1, #0xe4
- strh r2, [r1, #0x0]
- ldrh r1, [r0, #0x6]
- ldr r0, [sp, #0x4]
- add r0, #0xe6
- str r0, [sp, #0x4]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x10]
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x14]
- bl FUN_02016A18
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02083110: .word 0x0000011E
-
- thumb_func_start FUN_02083114
-FUN_02083114: ; 0x02083114
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x18
- blo _02083120
- bl ErrorHandling
-_02083120:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _0208312C ; =0x020FBC6C
- ldrsb r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_0208312C: .word 0x020FBC6C
-
- thumb_func_start FUN_02083130
-FUN_02083130: ; 0x02083130
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r5, #0x18
- blo _02083140
- bl ErrorHandling
-_02083140:
- mov r0, #0x1a
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, _02083154 ; =0x020FBC68
- ldrh r0, [r0, r1]
- str r0, [r4, #0x0]
- ldr r0, _02083158 ; =0x020FBC6A
- ldrh r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
- .balign 4
-_02083154: .word 0x020FBC68
-_02083158: .word 0x020FBC6A
-
- thumb_func_start FUN_0208315C
-FUN_0208315C: ; 0x0208315C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x18
- blo _02083168
- bl ErrorHandling
-_02083168:
- add r4, #0x2d
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02083170
-FUN_02083170: ; 0x02083170
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r6, r3, #0x0
- cmp r4, #0x18
- blo _02083182
- bl ErrorHandling
-_02083182:
- cmp r7, #0x4
- bhi _0208319C
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02083192: ; jump table (using 16-bit offset)
- .short _0208319C - _02083192 - 2; case 0
- .short _020831B0 - _02083192 - 2; case 1
- .short _020831C4 - _02083192 - 2; case 2
- .short _020831D8 - _02083192 - 2; case 3
- .short _020831EC - _02083192 - 2; case 4
-_0208319C:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02083200 ; =0x020FBC6E
- ldrh r0, [r0, r1]
- str r0, [r5, #0x0]
- ldr r0, _02083204 ; =0x020FBC70
- ldrb r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020831B0:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02083208 ; =0x020FBC72
- ldrh r0, [r0, r1]
- str r0, [r5, #0x0]
- ldr r0, _0208320C ; =0x020FBC74
- ldrb r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020831C4:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02083210 ; =0x020FBC76
- ldrh r0, [r0, r1]
- str r0, [r5, #0x0]
- ldr r0, _02083214 ; =0x020FBC78
- ldrb r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020831D8:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02083218 ; =0x020FBC7A
- ldrh r0, [r0, r1]
- str r0, [r5, #0x0]
- ldr r0, _0208321C ; =0x020FBC7C
- ldrb r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020831EC:
- mov r0, #0x1a
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02083220 ; =0x020FBC7E
- ldrh r0, [r0, r1]
- str r0, [r5, #0x0]
- ldr r0, _02083224 ; =0x020FBC80
- ldrb r0, [r0, r1]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
- .balign 4
-_02083200: .word 0x020FBC6E
-_02083204: .word 0x020FBC70
-_02083208: .word 0x020FBC72
-_0208320C: .word 0x020FBC74
-_02083210: .word 0x020FBC76
-_02083214: .word 0x020FBC78
-_02083218: .word 0x020FBC7A
-_0208321C: .word 0x020FBC7C
-_02083220: .word 0x020FBC7E
-_02083224: .word 0x020FBC80
-
- thumb_func_start FUN_02083228
-FUN_02083228: ; 0x02083228
- cmp r2, #0x1
- bne _02083230
- mov r0, #0x33
- bx lr
-_02083230:
- cmp r1, #0x3
- beq _0208323C
- cmp r1, #0x5
- beq _0208323C
- cmp r1, #0x7
- bne _02083240
-_0208323C:
- mov r0, #0x32
- bx lr
-_02083240:
- cmp r0, #0x3
- bhi _02083264
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02083250: ; jump table (using 16-bit offset)
- .short _02083258 - _02083250 - 2; case 0
- .short _0208325C - _02083250 - 2; case 1
- .short _02083260 - _02083250 - 2; case 2
- .short _02083264 - _02083250 - 2; case 3
-_02083258:
- mov r0, #0x2e
- bx lr
-_0208325C:
- mov r0, #0x2f
- bx lr
-_02083260:
- mov r0, #0x30
- bx lr
-_02083264:
- mov r0, #0x31
- bx lr
-
- thumb_func_start FUN_02083268
-FUN_02083268: ; 0x02083268
- cmp r0, #0x4
- bhi _02083292
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02083278: ; jump table (using 16-bit offset)
- .short _02083282 - _02083278 - 2; case 0
- .short _02083286 - _02083278 - 2; case 1
- .short _0208328A - _02083278 - 2; case 2
- .short _0208328E - _02083278 - 2; case 3
- .short _02083292 - _02083278 - 2; case 4
-_02083282:
- mov r0, #0x2e
- bx lr
-_02083286:
- mov r0, #0x2f
- bx lr
-_0208328A:
- mov r0, #0x30
- bx lr
-_0208328E:
- mov r0, #0x31
- bx lr
-_02083292:
- mov r0, #0x33
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083298
-FUN_02083298: ; 0x02083298
- ldr r3, _020832A0 ; =FUN_020832A4
- mov r1, #0x2
- bx r3
- nop
-_020832A0: .word FUN_020832A4
-
- thumb_func_start FUN_020832A4
-FUN_020832A4: ; 0x020832A4
- cmp r1, #0x5
- bne _020832AC
- mov r0, #0x34
- bx lr
-_020832AC:
- cmp r0, #0x4
- bhi _020832D6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020832BC: ; jump table (using 16-bit offset)
- .short _020832C6 - _020832BC - 2; case 0
- .short _020832CA - _020832BC - 2; case 1
- .short _020832CE - _020832BC - 2; case 2
- .short _020832D2 - _020832BC - 2; case 3
- .short _020832D6 - _020832BC - 2; case 4
-_020832C6:
- mov r0, #0x29
- bx lr
-_020832CA:
- mov r0, #0x2a
- bx lr
-_020832CE:
- mov r0, #0x2b
- bx lr
-_020832D2:
- mov r0, #0x2c
- bx lr
-_020832D6:
- mov r0, #0x2d
- bx lr
- .balign 4
-
- thumb_func_start FUN_020832DC
-FUN_020832DC: ; 0x020832DC
- mov r1, #0x3
- sub r0, r1, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020832E4
-FUN_020832E4: ; 0x020832E4
- mov r1, #0x3
- sub r0, r1, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020832EC
-FUN_020832EC: ; 0x020832EC
- ldr r1, _02083304 ; =0x00000121
- ldrb r0, [r0, r1]
- cmp r0, #0x3
- beq _020832FC
- cmp r0, #0x5
- beq _020832FC
- cmp r0, #0x7
- bne _02083300
-_020832FC:
- mov r0, #0x1
- bx lr
-_02083300:
- mov r0, #0x0
- bx lr
- .balign 4
-_02083304: .word 0x00000121
-
- thumb_func_start FUN_02083308
-FUN_02083308: ; 0x02083308
- push {r4-r5}
- sub sp, #0x50
- ldr r5, _02083368 ; =0x020FBC18
- add r4, sp, #0x0
- mov r3, #0x28
-_02083312:
- ldrh r2, [r5, #0x0]
- add r5, r5, #0x2
- strh r2, [r4, #0x0]
- add r4, r4, #0x2
- sub r3, r3, #0x1
- bne _02083312
- mov r3, #0xc
- mul r3, r1
- add r1, r0, r3
- mov r3, #0x4a
- lsl r3, r3, #0x2
- add r4, r3, #0x0
- add r4, #0x49
- ldrb r4, [r0, r4]
- mov r2, #0x0
- ldrsh r1, [r1, r3]
- cmp r4, #0x1
- bne _0208333A
- add r4, sp, #0x40
- b _02083344
-_0208333A:
- sub r3, #0x8
- ldrb r0, [r0, r3]
- add r4, sp, #0x0
- lsl r0, r0, #0x4
- add r4, r4, r0
-_02083344:
- mov r3, #0x0
-_02083346:
- ldrh r0, [r4, #0x0]
- cmp r1, r0
- bge _02083354
- add sp, #0x50
- add r0, r2, #0x0
- pop {r4-r5}
- bx lr
-_02083354:
- add r3, r3, #0x1
- add r2, r2, #0x1
- add r4, r4, #0x2
- cmp r3, #0x8
- blt _02083346
- add r0, r2, #0x0
- add sp, #0x50
- pop {r4-r5}
- bx lr
- nop
-_02083368: .word 0x020FBC18
-
- thumb_func_start FUN_0208336C
-FUN_0208336C: ; 0x0208336C
- push {r4-r5}
- sub sp, #0x10
- ldr r5, _020833CC ; =0x020FBC08
- add r4, sp, #0x0
- mov r3, #0xf
-_02083376:
- ldrb r2, [r5, #0x0]
- add r5, r5, #0x1
- strb r2, [r4, #0x0]
- add r4, r4, #0x1
- sub r3, r3, #0x1
- bne _02083376
- mov r2, #0xc
- mul r2, r1
- ldr r3, _020833D0 ; =0x0000012A
- add r1, r0, r2
- ldrsh r1, [r1, r3]
- cmp r1, #0x0
- bne _02083398
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-_02083398:
- add r2, r3, #0x0
- add r2, #0x47
- ldrb r2, [r0, r2]
- cmp r2, #0x1
- bne _020833A6
- add r4, sp, #0xc
- b _020833B2
-_020833A6:
- sub r3, #0xa
- ldrb r2, [r0, r3]
- add r4, sp, #0x0
- lsl r0, r2, #0x1
- add r0, r2, r0
- add r4, r4, r0
-_020833B2:
- mov r0, #0x1
- mov r3, #0x0
-_020833B6:
- ldrb r2, [r4, r3]
- cmp r1, r2
- ble _020833C4
- add r3, r3, #0x1
- add r0, r0, #0x1
- cmp r3, #0x3
- blt _020833B6
-_020833C4:
- add sp, #0x10
- pop {r4-r5}
- bx lr
- nop
-_020833CC: .word 0x020FBC08
-_020833D0: .word 0x0000012A
-
- thumb_func_start FUN_020833D4
-FUN_020833D4: ; 0x020833D4
- push {r3, lr}
- cmp r0, #0x0
- bne _020833EE
- mov r0, #0x1
- bl FUN_02002B60
- mov r0, #0x3
- bl FUN_02002B7C
- mov r0, #0x1
- bl FUN_02002BB8
- pop {r3, pc}
-_020833EE:
- mov r0, #0x1
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002BB8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02083404
-FUN_02083404: ; 0x02083404
- push {r3, lr}
- mov r0, #0x0
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002BB8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0208341C
-FUN_0208341C: ; 0x0208341C
- push {r3, lr}
- cmp r1, #0x4
- bhi _0208344C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0208342E: ; jump table (using 16-bit offset)
- .short _02083438 - _0208342E - 2; case 0
- .short _0208343C - _0208342E - 2; case 1
- .short _02083440 - _0208342E - 2; case 2
- .short _02083444 - _0208342E - 2; case 3
- .short _02083448 - _0208342E - 2; case 4
-_02083438:
- add r0, #0x7a
- pop {r3, pc}
-_0208343C:
- add r0, #0x7e
- pop {r3, pc}
-_02083440:
- add r0, #0x82
- pop {r3, pc}
-_02083444:
- add r0, #0x86
- pop {r3, pc}
-_02083448:
- add r0, #0x8a
- pop {r3, pc}
-_0208344C:
- bl ErrorHandling
- mov r0, #0x7a
- pop {r3, pc}
-
- thumb_func_start FUN_02083454
-FUN_02083454: ; 0x02083454
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x3
- beq _02083464
- cmp r1, #0x1
- bne _02083474
-_02083464:
- bl rand_LC
- mov r1, #0xc
- bl _s32_div_f
- add sp, #0xc
- add r0, r1, #0x0
- pop {r4-r5, pc}
-_02083474:
- add r0, sp, #0x0
- add r1, r4, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- mov r1, #0x2
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r1, #0x3
- strb r1, [r0, #0x1]
- mov r1, #0x4
- add r4, r4, #0x3
- strb r1, [r0, #0x2]
- cmp r5, #0x1
- blt _020834A6
- mov r0, #0x0
- add r2, sp, #0x0
- strb r0, [r2, r4]
- mov r1, #0x1
- add r0, r4, #0x1
- strb r1, [r2, r0]
- add r1, r4, #0x2
- mov r0, #0x5
- add r4, r4, #0x3
- strb r0, [r2, r1]
-_020834A6:
- cmp r5, #0x2
- blt _020834BE
- mov r0, #0x6
- add r2, sp, #0x0
- strb r0, [r2, r4]
- mov r1, #0x7
- add r0, r4, #0x1
- strb r1, [r2, r0]
- add r1, r4, #0x2
- mov r0, #0x8
- add r4, r4, #0x3
- strb r0, [r2, r1]
-_020834BE:
- bl rand_LC
- add r1, r4, #0x0
- bl _s32_div_f
- add r0, sp, #0x0
- ldrb r0, [r0, r1]
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020834D0
-FUN_020834D0: ; 0x020834D0
- ldr r3, _020834DC ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _020834E0 ; =0x020FBED8
- mov r1, #0x10
- bx r3
- nop
-_020834DC: .word FUN_0202D8D0
-_020834E0: .word 0x020FBED8
-
- thumb_func_start FUN_020834E4
-FUN_020834E4: ; 0x020834E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x1
- lsl r0, r0, #0xa
- add r4, r1, #0x0
- cmp r2, r0
- blt _020834F6
- bl ErrorHandling
-_020834F6:
- ldr r0, _02083500 ; =0x00000985
- add r1, r4, r0
- lsl r0, r5, #0xa
- add r0, r1, r0
- pop {r3-r5, pc}
- .balign 4
-_02083500: .word 0x00000985
-
- thumb_func_start FUN_02083504
-FUN_02083504: ; 0x02083504
- mov r0, #0xa
- bx lr
-
- thumb_func_start FUN_02083508
-FUN_02083508: ; 0x02083508
- mov r0, #0x8
- bx lr
-
- thumb_func_start FUN_0208350C
-FUN_0208350C: ; 0x0208350C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083510
-FUN_02083510: ; 0x02083510
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x17
- lsl r0, r0, #0x4
- add r6, r1, #0x0
- ldrb r1, [r3, r0]
- str r2, [sp, #0x0]
- cmp r1, #0x0
- bne _0208352C
- sub r0, r0, #0x4
- ldr r1, [r3, r0]
- ldr r0, _02083590 ; =0x000004FC
- add r4, r1, r0
- b _0208355E
-_0208352C:
- cmp r1, #0x1
- bne _0208353A
- sub r0, r0, #0x4
- ldr r1, [r3, r0]
- ldr r0, _02083594 ; =0x00001158
- add r4, r1, r0
- b _0208355E
-_0208353A:
- cmp r1, #0x2
- bne _0208354A
- sub r0, r0, #0x4
- ldr r1, [r3, r0]
- mov r0, #0xc3
- lsl r0, r0, #0x4
- add r4, r1, r0
- b _0208355E
-_0208354A:
- cmp r1, #0x3
- bne _02083558
- sub r0, r0, #0x4
- ldr r1, [r3, r0]
- ldr r0, _02083598 ; =0x0000085C
- add r4, r1, r0
- b _0208355E
-_02083558:
- bl ErrorHandling
- pop {r3-r7, pc}
-_0208355E:
- mov r0, #0x2
- lsl r0, r0, #0x8
- cmp r6, r0
- ble _0208356A
- bl ErrorHandling
-_0208356A:
- ldr r0, _0208359C ; =0x00000A11
- add r7, r4, r0
- ldrb r0, [r7, r5]
- cmp r0, #0x0
- beq _02083578
- bl ErrorHandling
-_02083578:
- mov r1, #0x21
- lsl r1, r1, #0x4
- add r2, r4, r1
- lsl r1, r5, #0x9
- add r1, r2, r1
- ldr r0, [sp, #0x0]
- add r2, r6, #0x0
- bl MI_CpuCopy8
- mov r0, #0x1
- strb r0, [r7, r5]
- pop {r3-r7, pc}
- .balign 4
-_02083590: .word 0x000004FC
-_02083594: .word 0x00001158
-_02083598: .word 0x0000085C
-_0208359C: .word 0x00000A11
-
- thumb_func_start FUN_020835A0
-FUN_020835A0: ; 0x020835A0
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r3, r0]
- ldr r3, _020835AC ; =MOD12_0223D1CC
- add r1, r2, #0x0
- bx r3
- .balign 4
-_020835AC: .word MOD12_0223D1CC
-
- thumb_func_start FUN_020835B0
-FUN_020835B0: ; 0x020835B0
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r1, #0x0
- mov r1, #0x61
- add r6, r0, #0x0
- add r4, r3, #0x0
- lsl r1, r1, #0x2
- add r0, r2, #0x0
- add r2, r4, r1
- lsl r1, r6, #0x8
- add r1, r2, r1
- add r2, r5, #0x0
- bl MI_CpuCopy8
- ldr r2, _02083628 ; =0x00000584
- ldrb r0, [r4, r2]
- add r0, r0, #0x1
- strb r0, [r4, r2]
- ldr r0, _0208362C ; =0x00000127
- ldrb r2, [r4, r2]
- ldrb r1, [r4, r0]
- cmp r2, r1
- blo _02083622
- mov r3, #0x0
- cmp r1, #0x0
- ble _020835FE
- add r0, #0x5d
- add r5, r4, r0
- mov r0, #0x1
- lsl r0, r0, #0x8
- add r2, r0, #0x0
- add r6, sp, #0x4
- add r2, #0x27
-_020835F2:
- stmia r6!, {r5}
- ldrb r1, [r4, r2]
- add r3, r3, #0x1
- add r5, r5, r0
- cmp r3, r1
- blt _020835F2
-_020835FE:
- add r0, sp, #0x4
- add r2, sp, #0x0
- bl FUN_02083660
- mov r1, #0x47
- lsl r1, r1, #0x2
- strb r0, [r4, r1]
- add r0, sp, #0x0
- ldrb r2, [r0, #0x0]
- add r0, r1, #0x1
- strb r2, [r4, r0]
- ldrb r0, [r4, r1]
- lsl r2, r0, #0x2
- add r0, sp, #0x4
- ldr r0, [r0, r2]
- ldrb r2, [r0, #0x2]
- add r0, r1, #0x6
- strb r2, [r4, r0]
-_02083622:
- add sp, #0x14
- pop {r3-r6, pc}
- nop
-_02083628: .word 0x00000584
-_0208362C: .word 0x00000127
-
- thumb_func_start FUN_02083630
-FUN_02083630: ; 0x02083630
- push {r3, lr}
- ldr r1, _0208365C ; =0x00000125
- add r3, sp, #0x0
- ldrb r2, [r0, r1]
- strb r2, [r3, #0x0]
- sub r2, r1, #0x2
- ldrb r2, [r0, r2]
- sub r1, r1, #0x3
- strb r2, [r3, #0x1]
- ldrb r0, [r0, r1]
- add r1, sp, #0x0
- mov r2, #0x4
- strb r0, [r3, #0x2]
- mov r0, #0x1a
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083658
- mov r0, #0x1
- pop {r3, pc}
-_02083658:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0208365C: .word 0x00000125
-
- thumb_func_start FUN_02083660
-FUN_02083660: ; 0x02083660
- push {r4-r7}
- mov r5, #0x0
- add r4, r5, #0x0
- cmp r1, #0x0
- ble _02083684
- add r6, r0, #0x0
-_0208366C:
- lsl r3, r5, #0x2
- ldr r3, [r0, r3]
- ldr r7, [r6, #0x0]
- ldrb r3, [r3, #0x0]
- ldrb r7, [r7, #0x0]
- cmp r3, r7
- bhs _0208367C
- add r5, r4, #0x0
-_0208367C:
- add r4, r4, #0x1
- add r6, r6, #0x4
- cmp r4, r1
- blt _0208366C
-_02083684:
- lsl r1, r5, #0x2
- ldr r0, [r0, r1]
- ldrb r0, [r0, #0x0]
- strb r0, [r2, #0x0]
- add r0, r5, #0x0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083694
-FUN_02083694: ; 0x02083694
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020669BC
- add r2, r0, #0x0
- ldrb r1, [r5, r2]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- bl MI_CpuCopy8
- ldr r0, _020836B8 ; =0x00000584
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r5, pc}
- nop
-_020836B8: .word 0x00000584
-
- thumb_func_start FUN_020836BC
-FUN_020836BC: ; 0x020836BC
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_020669BC
- add r4, r0, #0x0
- mov r0, #0x14
- add r1, r4, #0x1
- bl FUN_02016998
- add r5, r0, #0x0
- add r0, r7, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl MI_CpuCopy8
- mov r0, #0x1b
- add r1, r5, #0x0
- add r2, r4, #0x1
- strb r6, [r5, r4]
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _020836F0
- mov r4, #0x1
- b _020836F2
-_020836F0:
- mov r4, #0x0
-_020836F2:
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020836FC
-FUN_020836FC: ; 0x020836FC
- push {r3-r7, lr}
- sub sp, #0x8
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- bl FUN_020669BC
- mov r7, #0x0
- ldr r4, [sp, #0x4]
- add r6, r0, #0x0
- add r5, r7, #0x0
-_02083710:
- ldr r0, [sp, #0x0]
- ldr r1, [r4, #0x0]
- add r0, r0, r5
- add r2, r6, #0x0
- bl MI_CpuCopy8
- add r7, r7, #0x1
- add r4, r4, #0x4
- add r5, r5, r6
- cmp r7, #0x4
- blt _02083710
- ldr r1, _02083738 ; =0x00000584
- ldr r0, [sp, #0x4]
- ldrb r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x4]
- strb r2, [r0, r1]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02083738: .word 0x00000584
-
- thumb_func_start FUN_0208373C
-FUN_0208373C: ; 0x0208373C
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020669BC
- add r6, r0, #0x0
- lsl r0, r6, #0x2
- str r0, [sp, #0x0]
- ldr r0, _02083788 ; =0x00000585
- mov r7, #0x0
- add r0, r4, r0
- str r0, [sp, #0x4]
- add r4, r7, #0x0
-_02083758:
- ldr r1, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r1, r1, r4
- add r2, r6, #0x0
- bl MI_CpuCopy8
- add r7, r7, #0x1
- add r4, r4, r6
- add r5, r5, #0x4
- cmp r7, #0x4
- blt _02083758
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- mov r0, #0x1c
- bl FUN_02030A78
- cmp r0, #0x1
- bne _02083782
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02083782:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02083788: .word 0x00000585
-
- thumb_func_start FUN_0208378C
-FUN_0208378C: ; 0x0208378C
- push {r3-r5, lr}
- add r0, r2, #0x0
- add r2, #0x30
- ldrb r1, [r2, #0x0]
- add r4, r3, #0x0
- add r5, r4, #0x0
- mov r2, #0x30
- add r3, r1, #0x0
- add r5, #0x10
- mul r3, r2
- add r1, r5, r3
- bl MI_CpuCopy8
- ldr r0, _020837B0 ; =0x00000584
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r5, pc}
- .balign 4
-_020837B0: .word 0x00000584
-
- thumb_func_start FUN_020837B4
-FUN_020837B4: ; 0x020837B4
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r0, #0x14
- mov r1, #0x31
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- mov r2, #0x30
- bl MI_CpuCopy8
- add r0, r4, #0x0
- add r0, #0x30
- strb r5, [r0, #0x0]
- mov r0, #0x1d
- add r1, r4, #0x0
- mov r2, #0x31
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _020837E6
- mov r5, #0x1
- b _020837E8
-_020837E6:
- mov r5, #0x0
-_020837E8:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020837F4
-FUN_020837F4: ; 0x020837F4
- push {r3-r7, lr}
- add r5, r3, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- mov r4, #0x0
- add r5, #0xd0
- mov r7, #0x8
-_02083802:
- lsl r0, r4, #0x3
- add r0, r6, r0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl MI_CpuCopy8
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x3
- blt _02083802
- ldrb r2, [r6, #0x18]
- ldr r1, _0208382C ; =0x0000011E
- ldr r0, [sp, #0x0]
- strb r2, [r0, r1]
- ldr r1, _02083830 ; =0x00000584
- ldrb r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x0]
- strb r2, [r0, r1]
- pop {r3-r7, pc}
- nop
-_0208382C: .word 0x0000011E
-_02083830: .word 0x00000584
-
- thumb_func_start FUN_02083834
-FUN_02083834: ; 0x02083834
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- mov r0, #0x14
- mov r1, #0x19
- add r5, r2, #0x0
- bl FUN_02016998
- add r6, r0, #0x0
- mov r4, #0x0
- mov r7, #0x8
-_02083848:
- lsl r1, r4, #0x3
- add r0, r5, #0x0
- add r1, r6, r1
- add r2, r7, #0x0
- bl MI_CpuCopy8
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x3
- blt _02083848
- ldr r1, _02083884 ; =0x0000011E
- ldr r0, [sp, #0x0]
- mov r2, #0x19
- ldrb r0, [r0, r1]
- add r1, r6, #0x0
- strb r0, [r6, #0x18]
- mov r0, #0x1e
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083876
- mov r4, #0x1
- b _02083878
-_02083876:
- mov r4, #0x0
-_02083878:
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_02083884: .word 0x0000011E
-
- thumb_func_start FUN_02083888
-FUN_02083888: ; 0x02083888
- push {r3-r7, lr}
- add r5, r2, #0x0
- ldrb r0, [r5, #0x0]
- add r6, r3, #0x0
- add r4, r6, #0x0
- add r4, #0xe8
- lsl r7, r0, #0x2
- ldr r0, [r4, r7]
- bl FUN_02021A4C
- ldr r0, [r4, r7]
- add r1, r5, #0x4
- bl FUN_02021E28
- ldr r0, _020838B0 ; =0x00000584
- ldrb r1, [r6, r0]
- add r1, r1, #0x1
- strb r1, [r6, r0]
- pop {r3-r7, pc}
- nop
-_020838B0: .word 0x00000584
-
- thumb_func_start FUN_020838B4
-FUN_020838B4: ; 0x020838B4
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r1, #0x0
- add r0, r2, #0x0
- add r1, sp, #0x0
- mov r2, #0x8
- bl FUN_02021EF0
- mov r0, #0x14
- add r1, r0, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, sp, #0x0
- add r1, r4, #0x4
- mov r2, #0x10
- bl MI_CpuCopy8
- strb r5, [r4, #0x0]
- mov r0, #0x10
- strb r0, [r4, #0x1]
- mov r0, #0x0
- strb r0, [r4, #0x2]
- strb r0, [r4, #0x3]
- mov r0, #0x1f
- add r1, r4, #0x0
- mov r2, #0x14
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _020838F6
- mov r5, #0x1
- b _020838F8
-_020838F6:
- mov r5, #0x0
-_020838F8:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02083904
-FUN_02083904: ; 0x02083904
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02026FE4
- add r2, r0, #0x0
- ldrb r1, [r5, r2]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- add r1, r4, r1
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- bl MI_CpuCopy8
- ldr r0, _0208392C ; =0x00000584
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r5, pc}
- nop
-_0208392C: .word 0x00000584
-
- thumb_func_start FUN_02083930
-FUN_02083930: ; 0x02083930
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02026FE4
- add r4, r0, #0x0
- mov r0, #0x14
- add r1, r4, #0x1
- bl FUN_02016998
- add r5, r0, #0x0
- add r0, r7, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl MI_CpuCopy8
- mov r0, #0x20
- add r1, r5, #0x0
- add r2, r4, #0x1
- strb r6, [r5, r4]
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083964
- mov r4, #0x1
- b _02083966
-_02083964:
- mov r4, #0x0
-_02083966:
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02083970
-FUN_02083970: ; 0x02083970
- push {r3-r7, lr}
- sub sp, #0x8
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- bl FUN_02026FE4
- add r6, r0, #0x0
- mov r0, #0x1
- lsl r1, r6, #0x2
- lsl r0, r0, #0xa
- cmp r1, r0
- blt _0208398C
- bl ErrorHandling
-_0208398C:
- mov r7, #0x0
- ldr r4, [sp, #0x4]
- add r5, r7, #0x0
-_02083992:
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- add r0, r0, r5
- add r2, r6, #0x0
- bl MI_CpuCopy8
- add r7, r7, #0x1
- add r4, r4, #0x4
- add r5, r5, r6
- cmp r7, #0x4
- blt _02083992
- ldr r1, _020839BC ; =0x00000584
- ldr r0, [sp, #0x4]
- ldrb r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x4]
- strb r2, [r0, r1]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020839BC: .word 0x00000584
-
- thumb_func_start FUN_020839C0
-FUN_020839C0: ; 0x020839C0
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02026FE4
- add r6, r0, #0x0
- mov r1, #0x1
- lsl r0, r6, #0x2
- lsl r1, r1, #0xa
- str r0, [sp, #0x0]
- cmp r0, r1
- blt _020839DE
- bl ErrorHandling
-_020839DE:
- ldr r0, _02083A18 ; =0x00000585
- mov r7, #0x0
- add r0, r4, r0
- str r0, [sp, #0x4]
- add r4, r7, #0x0
-_020839E8:
- ldr r1, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r1, r1, r4
- add r2, r6, #0x0
- bl MI_CpuCopy8
- add r7, r7, #0x1
- add r4, r4, r6
- add r5, r5, #0x4
- cmp r7, #0x4
- blt _020839E8
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- mov r0, #0x21
- bl FUN_02030A78
- cmp r0, #0x1
- bne _02083A12
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02083A12:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02083A18: .word 0x00000585
-
- thumb_func_start FUN_02083A1C
-FUN_02083A1C: ; 0x02083A1C
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _02083A30 ; =0x000019A0
- add r0, r2, #0x0
- add r1, r3, r1
- add r2, r4, #0x0
- bl MI_CpuCopy8
- pop {r4, pc}
- nop
-_02083A30: .word 0x000019A0
-
- thumb_func_start FUN_02083A34
-FUN_02083A34: ; 0x02083A34
- push {r3, lr}
- add r3, r0, #0x0
- ldrb r0, [r3, #0x16]
- cmp r0, #0x0
- bne _02083A44
- str r1, [r3, #0x0]
- mov r0, #0x1
- pop {r3, pc}
-_02083A44:
- ldrb r2, [r3, #0x14]
- ldrb r0, [r3, #0x15]
- cmp r2, r0
- beq _02083A50
- mov r0, #0x0
- pop {r3, pc}
-_02083A50:
- str r1, [r3, #0x8]
- add r3, #0x8
- mov r0, #0x22
- add r1, r3, #0x0
- mov r2, #0x8
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083A66
- mov r0, #0x1
- pop {r3, pc}
-_02083A66:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02083A6C
-FUN_02083A6C: ; 0x02083A6C
- ldrb r2, [r2, #0x4]
- add r1, r3, r0
- ldr r0, _02083A78 ; =0x000019B0
- strb r2, [r1, r0]
- bx lr
- nop
-_02083A78: .word 0x000019B0
-
- thumb_func_start FUN_02083A7C
-FUN_02083A7C: ; 0x02083A7C
- push {r3, lr}
- add r2, r0, #0x0
- ldrb r0, [r2, #0x16]
- cmp r0, #0x0
- bne _02083A8C
- strb r1, [r2, #0x10]
- mov r0, #0x1
- pop {r3, pc}
-_02083A8C:
- strb r1, [r2, #0xc]
- add r2, #0x8
- add r1, r2, #0x0
- mov r0, #0x23
- mov r2, #0x8
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083AA2
- mov r0, #0x1
- pop {r3, pc}
-_02083AA2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02083AA8
-FUN_02083AA8: ; 0x02083AA8
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02029EC4
- add r2, r0, #0x0
- ldrb r1, [r5, r2]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- add r3, r4, r1
- mov r1, #0x57
- lsl r1, r1, #0x2
- ldr r1, [r3, r1]
- bl MI_CpuCopy8
- ldr r0, _02083AD0 ; =0x00000584
- ldrb r1, [r4, r0]
- add r1, r1, #0x1
- strb r1, [r4, r0]
- pop {r3-r5, pc}
- .balign 4
-_02083AD0: .word 0x00000584
-
- thumb_func_start FUN_02083AD4
-FUN_02083AD4: ; 0x02083AD4
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02029EC4
- add r5, r0, #0x0
- ldr r0, _02083B0C ; =0x00000585
- add r4, r4, r0
- cmp r6, #0x0
- beq _02083AF4
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl MI_CpuCopy8
-_02083AF4:
- mov r0, #0x24
- add r1, r4, #0x0
- add r2, r5, #0x1
- strb r7, [r4, r5]
- bl FUN_02030A78
- cmp r0, #0x1
- bne _02083B08
- mov r0, #0x1
- pop {r3-r7, pc}
-_02083B08:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02083B0C: .word 0x00000585
-
- thumb_func_start FUN_02083B10
-FUN_02083B10: ; 0x02083B10
- push {r3-r6}
- ldrb r1, [r2, #0x6]
- ldrb r4, [r2, #0x0]
- mov r5, #0x42
- add r0, r3, r1
- lsl r5, r5, #0x2
- strb r4, [r0, r5]
- ldrb r6, [r2, #0x1]
- add r4, r5, #0x4
- strb r6, [r0, r4]
- add r4, r5, #0x0
- ldrb r6, [r2, #0x2]
- add r4, #0x8
- add r5, #0xc
- strb r6, [r0, r4]
- lsl r0, r1, #0x1
- ldrh r2, [r2, #0x4]
- add r0, r3, r0
- strh r2, [r0, r5]
- ldr r0, _02083B44 ; =0x00000584
- ldrb r1, [r3, r0]
- add r1, r1, #0x1
- strb r1, [r3, r0]
- pop {r3-r6}
- bx lr
- nop
-_02083B44: .word 0x00000584
-
- thumb_func_start FUN_02083B48
-FUN_02083B48: ; 0x02083B48
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r0, #0x14
- mov r1, #0x7
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- mov r2, #0x6
- bl MI_CpuCopy8
- mov r0, #0x25
- add r1, r4, #0x0
- mov r2, #0x7
- strb r5, [r4, #0x6]
- bl FUN_02030ADC
- cmp r0, #0x1
- bne _02083B76
- mov r5, #0x1
- b _02083B78
-_02083B76:
- mov r5, #0x0
-_02083B78:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02083B84
-FUN_02083B84: ; 0x02083B84
- ldr r3, _02083B90 ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _02083B94 ; =0x020FBF98
- mov r1, #0xb
- bx r3
- nop
-_02083B90: .word FUN_0202D8D0
-_02083B94: .word 0x020FBF98
-
- thumb_func_start FUN_02083B98
-FUN_02083B98: ; 0x02083B98
- cmp r0, #0xc
- bne _02083BA0
- mov r0, #0xc
- bx lr
-_02083BA0:
- cmp r0, #0x6
- bhs _02083BA8
- add r0, r0, #0x6
- bx lr
-_02083BA8:
- sub r0, r0, #0x6
- bx lr
-
- thumb_func_start FUN_02083BAC
-FUN_02083BAC: ; 0x02083BAC
- push {r4-r6, lr}
- add r3, #0x84
- add r5, r0, #0x0
- add r6, r2, #0x0
- ldr r4, [r3, #0x0]
- bl FUN_02031190
- cmp r5, r0
- beq _02083C1A
- ldr r0, _02083C1C ; =0x0000221C
- mov r2, #0x59
- ldr r0, [r4, r0]
- add r1, r6, #0x0
- lsl r2, r2, #0x4
- bl memcpy
- ldr r0, [r4, #0x58]
- add r0, r0, #0x1
- str r0, [r4, #0x58]
- bl FUN_0206B8A4
- mov r1, #0x59
- ldr r2, [r4, #0x58]
- lsl r1, r1, #0x4
- mul r1, r2
- cmp r1, r0
- blt _02083C06
- bl FUN_02031190
- cmp r0, #0x1
- bne _02083BF6
- add r0, r4, #0x0
- mov r1, #0x1b
- mov r2, #0x0
- bl MOD70_0222F440
- b _02083C14
-_02083BF6:
- bl FUN_02031190
- ldr r1, _02083C20 ; =0x00002218
- ldr r2, [r4, #0x50]
- ldr r1, [r4, r1]
- bl MOD70_0222F480
- b _02083C14
-_02083C06:
- bl FUN_02031190
- ldr r1, _02083C20 ; =0x00002218
- ldr r2, [r4, #0x50]
- ldr r1, [r4, r1]
- bl MOD70_0222F480
-_02083C14:
- ldr r0, [r4, #0x50]
- add r0, r0, #0x1
- str r0, [r4, #0x50]
-_02083C1A:
- pop {r4-r6, pc}
- .balign 4
-_02083C1C: .word 0x0000221C
-_02083C20: .word 0x00002218
-
- thumb_func_start FUN_02083C24
-FUN_02083C24: ; 0x02083C24
- push {r4-r6, lr}
- add r3, #0x84
- add r5, r0, #0x0
- add r6, r2, #0x0
- ldr r4, [r3, #0x0]
- bl FUN_02031190
- cmp r5, r0
- beq _02083C40
- ldrb r0, [r6, #0x0]
- bl FUN_02083B98
- add r4, #0x8c
- str r0, [r4, #0x0]
-_02083C40:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02083C44
-FUN_02083C44: ; 0x02083C44
- add r3, #0x84
- ldrb r2, [r2, #0x0]
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x2
- add r0, r1, r0
- str r2, [r0, #0x60]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C54
-FUN_02083C54: ; 0x02083C54
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C58
-FUN_02083C58: ; 0x02083C58
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C5C
-FUN_02083C5C: ; 0x02083C5C
- add r3, #0x84
- ldr r0, [r3, #0x0]
- mov r1, #0x2
- str r1, [r0, #0x54]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C68
-FUN_02083C68: ; 0x02083C68
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C6C
-FUN_02083C6C: ; 0x02083C6C
- add r3, #0x84
- mov r0, #0x8b
- ldrb r2, [r2, #0x0]
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x6
- str r2, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083C7C
-FUN_02083C7C: ; 0x02083C7C
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, [r3, #0xc]
- add r5, r2, #0x0
- bl FUN_0202A918
- add r4, r0, #0x0
- bl FUN_02031190
- cmp r6, r0
- beq _02083CA8
- mov r2, #0x0
-_02083C94:
- ldrb r1, [r5, r2]
- cmp r1, #0x0
- beq _02083CA2
- ldrb r0, [r4, r2]
- cmp r0, r1
- beq _02083CA2
- strb r1, [r4, r2]
-_02083CA2:
- add r2, r2, #0x1
- cmp r2, #0xe
- blt _02083C94
-_02083CA8:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02083CAC
-FUN_02083CAC: ; 0x02083CAC
- push {r4-r6, lr}
- add r3, #0x84
- add r5, r0, #0x0
- add r6, r2, #0x0
- ldr r4, [r3, #0x0]
- bl FUN_02031190
- cmp r5, r0
- beq _02083CD0
- ldr r0, _02083CD4 ; =0x00002224
- add r1, r6, #0x0
- ldr r0, [r4, r0]
- mov r2, #0x1
- mov r3, #0x1a
- bl FUN_02025520
- mov r0, #0x3
- str r0, [r4, #0x54]
-_02083CD0:
- pop {r4-r6, pc}
- nop
-_02083CD4: .word 0x00002224
-
- thumb_func_start FUN_02083CD8
-FUN_02083CD8: ; 0x02083CD8
- push {r4-r6, lr}
- add r3, #0x84
- add r5, r0, #0x0
- add r6, r2, #0x0
- ldr r4, [r3, #0x0]
- bl FUN_02031190
- cmp r5, r0
- beq _02083D0A
- ldr r1, _02083D0C ; =0x00002E14
- mov r2, #0xfb
- add r3, r4, r1
- lsl r2, r2, #0x2
- add r1, r5, #0x0
- mul r1, r2
- add r0, r6, #0x0
- add r1, r3, r1
- sub r2, r2, #0x4
- bl MIi_CpuCopyFast
- mov r0, #0x4
- str r0, [r4, #0x54]
- mov r0, #0x0
- bl FUN_02031400
-_02083D0A:
- pop {r4-r6, pc}
- .balign 4
-_02083D0C: .word 0x00002E14
-
- thumb_func_start FUN_02083D10
-FUN_02083D10: ; 0x02083D10
- add r0, #0x84
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083D18
-FUN_02083D18: ; 0x02083D18
- mov r0, #0xfb
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083D20
-FUN_02083D20: ; 0x02083D20
- mov r0, #0xe
- bx lr
-
- thumb_func_start FUN_02083D24
-FUN_02083D24: ; 0x02083D24
- mov r0, #0x88
- bx lr
-
- thumb_func_start FUN_02083D28
-FUN_02083D28: ; 0x02083D28
- mov r0, #0x59
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083D30
-FUN_02083D30: ; 0x02083D30
- add r1, #0x84
- ldr r2, [r1, #0x0]
- ldr r1, _02083D44 ; =0x000022F4
- add r2, r2, r1
- mov r1, #0x59
- lsl r1, r1, #0x4
- mul r1, r0
- add r0, r2, r1
- bx lr
- nop
-_02083D44: .word 0x000022F4
-
- thumb_func_start FUN_02083D48
-FUN_02083D48: ; 0x02083D48
- ldr r3, _02083D54 ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _02083D58 ; =0x020FC01C
- mov r1, #0x6c
- bx r3
- nop
-_02083D54: .word FUN_0202D8D0
-_02083D58: .word 0x020FC01C
-
- thumb_func_start FUN_02083D5C
-FUN_02083D5C: ; 0x02083D5C
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02083DBA
- mov r3, #0xfb
- lsl r3, r3, #0x2
- ldrb r2, [r5, r3]
- sub r0, r3, #0x4
- add r1, r2, #0x0
- mul r1, r0
- mov r0, #0xe1
- lsl r0, r0, #0x6
- cmp r1, r0
- ldr r2, _02083DE8 ; =0x000043D0
- ble _02083D90
- add r2, r4, r2
- add r1, r2, r1
- mov r2, #0x19
- add r0, r5, #0x0
- lsl r2, r2, #0x4
- bl MIi_CpuCopyFast
- b _02083D9C
-_02083D90:
- add r2, r4, r2
- add r1, r2, r1
- add r0, r5, #0x0
- sub r2, r3, #0x4
- bl MIi_CpuCopyFast
-_02083D9C:
- mov r1, #0xb5
- ldr r0, _02083DE8 ; =0x000043D0
- lsl r1, r1, #0x2
- mov r2, #0xe1
- ldr r1, [r4, r1]
- add r0, r4, r0
- lsl r2, r2, #0x6
- bl MIi_CpuCopyFast
- mov r0, #0xb2
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_020191D0
- pop {r3-r5, pc}
-_02083DBA:
- ldr r1, _02083DEC ; =0x000043CC
- mov r0, #0xfa
- ldr r2, [r4, r1]
- lsl r0, r0, #0x2
- add r3, r2, #0x0
- mul r3, r0
- mov r0, #0xe1
- lsl r0, r0, #0x6
- cmp r3, r0
- bge _02083DDC
- add r0, r2, #0x1
- str r0, [r4, r1]
- ldr r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0208402C
- pop {r3-r5, pc}
-_02083DDC:
- mov r1, #0x0
- mov r0, #0x7c
- add r2, r1, #0x0
- bl FUN_02030BC4
- pop {r3-r5, pc}
- .balign 4
-_02083DE8: .word 0x000043D0
-_02083DEC: .word 0x000043CC
-
- thumb_func_start FUN_02083DF0
-FUN_02083DF0: ; 0x02083DF0
- push {r3-r4}
- cmp r0, #0x0
- beq _02083E0E
- add r4, r0, #0x0
- mov r1, #0xa
- mul r4, r1
- ldr r0, _02083E14 ; =0x000093BD
- add r3, r3, r4
- add r3, r3, r0
-_02083E02:
- ldrb r0, [r2, #0x0]
- add r2, r2, #0x1
- strb r0, [r3, #0x0]
- add r3, r3, #0x1
- sub r1, r1, #0x1
- bne _02083E02
-_02083E0E:
- pop {r3-r4}
- bx lr
- nop
-_02083E14: .word 0x000093BD
-
- thumb_func_start FUN_02083E18
-FUN_02083E18: ; 0x02083E18
- push {r4-r7}
- cmp r3, #0x0
- beq _02083E42
- cmp r0, #0x0
- bne _02083E42
- ldr r0, _02083E48 ; =0x00004382
- mov r7, #0x0
-_02083E26:
- add r6, r2, #0x0
- add r5, r3, r0
- mov r4, #0xa
-_02083E2C:
- ldrb r1, [r6, #0x0]
- add r6, r6, #0x1
- strb r1, [r5, #0x0]
- add r5, r5, #0x1
- sub r4, r4, #0x1
- bne _02083E2C
- add r7, r7, #0x1
- add r2, #0xa
- add r3, #0xa
- cmp r7, #0x5
- blt _02083E26
-_02083E42:
- pop {r4-r7}
- bx lr
- nop
-_02083E48: .word 0x00004382
-
- thumb_func_start FUN_02083E4C
-FUN_02083E4C: ; 0x02083E4C
- push {r4, lr}
- add r4, r3, #0x0
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl MOD53_021D8B64
- ldr r1, _02083E8C ; =0x000043D0
- mov r2, #0xe1
- mov r0, #0x0
- add r1, r4, r1
- lsl r2, r2, #0x6
- bl MIi_CpuClearFast
- bl FUN_02031190
- cmp r0, #0x0
- bne _02083E8A
- bl FUN_02030F20
- mov r1, #0xc6
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- bl FUN_0202CB8C
- mov r1, #0xc7
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, _02083E90 ; =0x000093F4
- mov r1, #0x1
- str r1, [r4, r0]
-_02083E8A:
- pop {r4, pc}
- .balign 4
-_02083E8C: .word 0x000043D0
-_02083E90: .word 0x000093F4
-
- thumb_func_start FUN_02083E94
-FUN_02083E94: ; 0x02083E94
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r0, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- cmp r6, #0x0
- beq _02083F2E
- bl FUN_02031190
- cmp r0, #0x0
- bne _02083F78
- ldrb r0, [r5, #0x0]
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- ldrb r0, [r5, #0x1]
- strb r0, [r1, #0x1]
- ldrb r0, [r5, #0x2]
- strb r0, [r1, #0x2]
- ldrb r0, [r5, #0x3]
- strb r0, [r1, #0x3]
- mov r0, #0xc6
- strb r6, [r1, #0x0]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- strb r0, [r1, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _02083ED0
- cmp r0, #0x1
- b _02083F20
-_02083ED0:
- bl FUN_02030F20
- mov r1, #0xc6
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02083EFE
- bl MOD53_021D917C
- mov r1, #0xc6
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02083EFE
- bl FUN_0202CB8C
- bl MATH_CountPopulation
- mov r1, #0xc6
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- cmp r1, r0
- beq _02083F06
-_02083EFE:
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x3]
- b _02083F20
-_02083F06:
- ldr r0, _02083F7C ; =0x000093B4
- mov r1, #0x1
- add r2, r1, #0x0
- ldr r3, [r4, r0]
- lsl r2, r6
- orr r2, r3
- str r2, [r4, r0]
- add r0, sp, #0x0
- strb r1, [r0, #0x3]
- bl FUN_02030F20
- bl FUN_02032B6C
-_02083F20:
- mov r0, #0x7e
- add r1, sp, #0x0
- mov r2, #0x4
- bl FUN_02030BC4
- add sp, #0x4
- pop {r3-r6, pc}
-_02083F2E:
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _02083F3C
- cmp r0, #0x1
- beq _02083F6E
- add sp, #0x4
- pop {r3-r6, pc}
-_02083F3C:
- ldrb r6, [r5, #0x0]
- bl FUN_02031190
- cmp r6, r0
- bne _02083F78
- ldrb r0, [r5, #0x3]
- cmp r0, #0x0
- bne _02083F5A
- add r0, r4, #0x0
- mov r1, #0x9
- add r2, r6, #0x0
- bl MOD53_021D8B64
- add sp, #0x4
- pop {r3-r6, pc}
-_02083F5A:
- ldrb r1, [r5, #0x1]
- ldr r0, _02083F80 ; =0x000093B8
- strh r1, [r4, r0]
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x8
- bl MOD53_021D8B64
- add sp, #0x4
- pop {r3-r6, pc}
-_02083F6E:
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x15
- bl MOD53_021D8B64
-_02083F78:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02083F7C: .word 0x000093B4
-_02083F80: .word 0x000093B8
-
- thumb_func_start FUN_02083F84
-FUN_02083F84: ; 0x02083F84
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083F88
-FUN_02083F88: ; 0x02083F88
- push {r4, lr}
- ldrb r2, [r2, #0x0]
- add r4, r3, #0x0
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD53_021D8B64
- bl FUN_02031190
- cmp r0, #0x0
- bne _02083FB6
- mov r0, #0x3
- lsl r0, r0, #0x8
- ldr r0, [r4, r0]
- cmp r0, #0x1
- bne _02083FB6
- ldr r1, _02083FB8 ; =0x000043CC
- mov r0, #0x0
- str r0, [r4, r1]
- ldr r1, [r4, r1]
- add r0, r4, #0x0
- bl FUN_0208402C
-_02083FB6:
- pop {r4, pc}
- .balign 4
-_02083FB8: .word 0x000043CC
-
- thumb_func_start FUN_02083FBC
-FUN_02083FBC: ; 0x02083FBC
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083FC0
-FUN_02083FC0: ; 0x02083FC0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02083FC4
-FUN_02083FC4: ; 0x02083FC4
- push {r4, lr}
- add r4, r3, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02083FDA
- add r0, r4, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl MOD53_021D8B64
-_02083FDA:
- pop {r4, pc}
-
- thumb_func_start FUN_02083FDC
-FUN_02083FDC: ; 0x02083FDC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r3, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02083FEE
- bl ErrorHandling
-_02083FEE:
- bl FUN_02031190
- cmp r0, #0x0
- bne _02084012
- ldr r0, _0208401C ; =0x000093FC
- ldr r1, [r4, r0]
- cmp r1, #0x0
- beq _0208400E
- add r0, sp, #0x0
- strb r5, [r0, #0x0]
- mov r0, #0x7b
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030BC4
- b _02084012
-_0208400E:
- mov r1, #0x1
- str r1, [r4, r0]
-_02084012:
- mov r0, #0x0
- mov r1, #0x1
- bl FUN_020334E8
- pop {r3-r5, pc}
- .balign 4
-_0208401C: .word 0x000093FC
-
- thumb_func_start FUN_02084020
-FUN_02084020: ; 0x02084020
- ldr r0, _02084028 ; =0x000093F4
- mov r1, #0x1
- str r1, [r3, r0]
- bx lr
- .balign 4
-_02084028: .word 0x000093F4
-
- thumb_func_start FUN_0208402C
-FUN_0208402C: ; 0x0208402C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb5
- mov r2, #0xfa
- add r4, r1, #0x0
- lsl r0, r0, #0x2
- ldr r1, [r5, r0]
- lsl r2, r2, #0x2
- add r0, r4, #0x0
- mul r0, r2
- add r0, r1, r0
- ldr r1, _02084078 ; =0x00007C10
- add r1, r5, r1
- bl MIi_CpuCopyFast
- ldr r0, _02084078 ; =0x00007C10
- mov r2, #0x0
- add r1, r2, #0x0
- add r3, r5, r0
-_02084052:
- ldr r0, [r3, #0x0]
- add r1, r1, #0x1
- eor r2, r0
- add r3, r3, #0x4
- cmp r1, #0xfa
- blt _02084052
- ldr r0, _0208407C ; =0x00007FF8
- ldr r1, _02084078 ; =0x00007C10
- str r2, [r5, r0]
- add r0, r0, #0x4
- mov r2, #0x3f
- strb r4, [r5, r0]
- mov r0, #0x76
- add r1, r5, r1
- lsl r2, r2, #0x4
- bl FUN_02030B3C
- pop {r3-r5, pc}
- nop
-_02084078: .word 0x00007C10
-_0208407C: .word 0x00007FF8
-
- thumb_func_start FUN_02084080
-FUN_02084080: ; 0x02084080
- mov r2, #0x2
- lsl r2, r2, #0xe
- add r2, r1, r2
- mov r1, #0x3f
- lsl r1, r1, #0x4
- mul r1, r0
- add r0, r2, r1
- bx lr
-
- thumb_func_start FUN_02084090
-FUN_02084090: ; 0x02084090
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_02084094
-FUN_02084094: ; 0x02084094
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_02084098
-FUN_02084098: ; 0x02084098
- ldr r3, _020840A4 ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _020840A8 ; =0x020FC52C
- mov r1, #0x6c
- bx r3
- nop
-_020840A4: .word FUN_0202D8D0
-_020840A8: .word 0x020FC52C
-
- thumb_func_start FUN_020840AC
-FUN_020840AC: ; 0x020840AC
- ldr r0, _020840B8 ; =0x00004A34
- ldr r1, [r3, r0]
- add r1, r1, #0x1
- str r1, [r3, r0]
- bx lr
- nop
-_020840B8: .word 0x00004A34
-
- thumb_func_start FUN_020840BC
-FUN_020840BC: ; 0x020840BC
- cmp r0, #0x0
- bne _020840C6
- ldrb r1, [r2, #0x0]
- ldr r0, _020840C8 ; =0x00004A3C
- str r1, [r3, r0]
-_020840C6:
- bx lr
- .balign 4
-_020840C8: .word 0x00004A3C
-
- thumb_func_start FUN_020840CC
-FUN_020840CC: ; 0x020840CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0208410C ; =0x00004A34
- add r4, r3, #0x0
- mov r1, #0x0
- str r1, [r4, r0]
- mov r1, #0x1
- add r0, #0xc
- strb r1, [r4, r0]
- bl FUN_02031190
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02084270
- add r0, r4, #0x0
- bl MOD54_021D844C
- lsl r2, r5, #0x18
- add r0, r4, #0x0
- mov r1, #0x19
- lsr r2, r2, #0x18
- bl MOD54_021D88E4
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r0, _02084110 ; =0x00000658
- bl FUN_020054C8
- pop {r3-r5, pc}
- .balign 4
-_0208410C: .word 0x00004A34
-_02084110: .word 0x00000658
-
- thumb_func_start FUN_02084114
-FUN_02084114: ; 0x02084114
- add r0, r3, #0x0
- ldr r3, _02084120 ; =MOD54_021D88E4
- mov r1, #0x2
- mov r2, #0x0
- bx r3
- nop
-_02084120: .word MOD54_021D88E4
-
- thumb_func_start FUN_02084124
-FUN_02084124: ; 0x02084124
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r0, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- cmp r6, #0x0
- beq _020841BA
- bl FUN_02031190
- cmp r0, #0x0
- bne _02084204
- ldrb r0, [r5, #0x0]
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- ldrb r0, [r5, #0x1]
- strb r0, [r1, #0x1]
- ldrb r0, [r5, #0x2]
- strb r0, [r1, #0x2]
- ldrb r0, [r5, #0x3]
- strb r0, [r1, #0x3]
- ldr r0, _02084208 ; =0x00004A48
- strb r6, [r1, #0x0]
- ldr r0, [r4, r0]
- strb r0, [r1, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0208415E
- cmp r0, #0x1
- b _020841AC
-_0208415E:
- bl FUN_02030F20
- ldr r1, _02084208 ; =0x00004A48
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02084186
- bl MOD54_021D8C24
- ldr r1, _02084208 ; =0x00004A48
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02084186
- bl FUN_0202CB8C
- bl MATH_CountPopulation
- ldr r1, _02084208 ; =0x00004A48
- ldr r2, [r4, r1]
- cmp r2, r0
- beq _0208418E
-_02084186:
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x3]
- b _020841AC
-_0208418E:
- add r0, r1, #0x0
- add r0, #0x8
- mov r2, #0x1
- ldr r3, [r4, r0]
- add r0, r2, #0x0
- lsl r0, r6
- orr r0, r3
- add r1, #0x8
- str r0, [r4, r1]
- add r0, sp, #0x0
- strb r2, [r0, #0x3]
- bl FUN_02030F20
- bl FUN_02032B6C
-_020841AC:
- mov r0, #0x70
- add r1, sp, #0x0
- mov r2, #0x4
- bl FUN_02030ADC
- add sp, #0x4
- pop {r3-r6, pc}
-_020841BA:
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _020841C8
- cmp r0, #0x1
- beq _020841FA
- add sp, #0x4
- pop {r3-r6, pc}
-_020841C8:
- ldrb r6, [r5, #0x0]
- bl FUN_02031190
- cmp r6, r0
- bne _02084204
- ldrb r0, [r5, #0x3]
- cmp r0, #0x0
- bne _020841E6
- add r0, r4, #0x0
- mov r1, #0x8
- add r2, r6, #0x0
- bl MOD54_021D88E4
- add sp, #0x4
- pop {r3-r6, pc}
-_020841E6:
- ldrb r1, [r5, #0x1]
- ldr r0, _0208420C ; =0x00004A5C
- strh r1, [r4, r0]
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x7
- bl MOD54_021D88E4
- add sp, #0x4
- pop {r3-r6, pc}
-_020841FA:
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x13
- bl MOD54_021D88E4
-_02084204:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_02084208: .word 0x00004A48
-_0208420C: .word 0x00004A5C
-
- thumb_func_start FUN_02084210
-FUN_02084210: ; 0x02084210
- push {r4, lr}
- ldrb r2, [r2, #0x0]
- add r4, r3, #0x0
- add r0, r4, #0x0
- mov r1, #0x1
- bl MOD54_021D89CC
- bl FUN_02031190
- cmp r0, #0x0
- bne _0208422E
- mov r0, #0x3b
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r4, r0]
-_0208422E:
- pop {r4, pc}
-
- thumb_func_start FUN_02084230
-FUN_02084230: ; 0x02084230
- bx lr
- .balign 4
-
- thumb_func_start FUN_02084234
-FUN_02084234: ; 0x02084234
- bx lr
- .balign 4
-
- thumb_func_start FUN_02084238
-FUN_02084238: ; 0x02084238
- push {r4, lr}
- add r4, r3, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _0208424E
- add r0, r4, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl MOD54_021D88E4
-_0208424E:
- pop {r4, pc}
-
- thumb_func_start FUN_02084250
-FUN_02084250: ; 0x02084250
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _0208426C
- add r0, sp, #0x0
- strb r4, [r0, #0x0]
- mov r0, #0x6e
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030ADC
-_0208426C:
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02084270
-FUN_02084270: ; 0x02084270
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0xed
- mov r3, #0x0
- lsl r0, r0, #0x2
- add r5, r4, r0
- add r2, r3, #0x0
- sub r0, #0xc6
-_02084280:
- ldr r1, [r5, #0x0]
- add r2, r2, #0x1
- eor r3, r1
- add r5, r5, #0x4
- cmp r2, r0
- blt _02084280
- ldr r0, _020842AC ; =0x00000F6C
- str r3, [r4, r0]
- bl rand_LC
- mov r1, #0xf7
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- mov r1, #0xed
- lsl r1, r1, #0x2
- mov r2, #0x2f
- mov r0, #0x74
- add r1, r4, r1
- lsl r2, r2, #0x6
- bl FUN_02030A78
- pop {r3-r5, pc}
- .balign 4
-_020842AC: .word 0x00000F6C
-
- thumb_func_start FUN_020842B0
-FUN_020842B0: ; 0x020842B0
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020842B4
-FUN_020842B4: ; 0x020842B4
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020842B8
-FUN_020842B8: ; 0x020842B8
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_020842BC
-FUN_020842BC: ; 0x020842BC
- ldr r2, _020842CC ; =0x00000F74
- add r2, r1, r2
- mov r1, #0x2f
- lsl r1, r1, #0x6
- mul r1, r0
- add r0, r2, r1
- bx lr
- nop
-_020842CC: .word 0x00000F74
-
- thumb_func_start FUN_020842D0
-FUN_020842D0: ; 0x020842D0
- ldr r0, _020842D4 ; =0x020FCA3C
- bx lr
- .balign 4
-_020842D4: .word 0x020FCA3C
-
- thumb_func_start FUN_020842D8
-FUN_020842D8: ; 0x020842D8
- mov r0, #0x9
- bx lr
-
- thumb_func_start FUN_020842DC
-FUN_020842DC: ; 0x020842DC
- push {r3-r7, lr}
- sub sp, #0x18
- str r1, [sp, #0x4]
- add r6, r0, #0x0
- add r7, r2, #0x0
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- add r2, r3, #0x0
- bl FUN_0206E710
- mov r1, #0xe
- add r4, r0, #0x0
- bl FUN_0206E7DC
- cmp r0, #0x1
- beq _02084308
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r7, pc}
-_02084308:
- add r0, r6, #0x0
- mov r1, #0x9f
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084332
- mov r0, #0x7
- tst r0, r5
- beq _02084332
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084332:
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084350
- mov r0, #0x88
- tst r0, r5
- beq _02084350
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084350:
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208436E
- mov r0, #0x10
- tst r0, r5
- beq _0208436E
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208436E:
- add r0, r4, #0x0
- mov r1, #0x12
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208438C
- mov r0, #0x20
- tst r0, r5
- beq _0208438C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208438C:
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020843AA
- mov r0, #0x40
- tst r0, r5
- beq _020843AA
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020843AA:
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x17
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _020843CE
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020843EA
-_020843CE:
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _020843EA
- cmp r5, #0x0
- bne _02084414
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020843EA:
- add r0, r4, #0x0
- mov r1, #0x26
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084414
- cmp r5, #0x0
- beq _02084414
- add r0, r6, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bhs _02084414
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084414:
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208443A
- add r0, r6, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x64
- bhs _0208443A
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208443A:
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084464
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r1, r6, #0x0
- mov r2, #0x3
- bl FUN_02069168
- cmp r0, #0x0
- beq _02084464
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084464:
- add r0, r4, #0x0
- mov r1, #0x22
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _0208447C
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020844B2
-_0208447C:
- add r1, r7, #0x0
- add r0, r6, #0x0
- add r1, #0x3e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x3
- bhs _020844B2
- add r1, r7, #0x0
- add r0, r6, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x0
- bl FUN_0206AB30
- cmp r0, #0x5
- blo _020844B2
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020844B2:
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020844D6
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02084DF0
- cmp r0, #0x1
- bne _020844D6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020844D6:
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084502
- mov r5, #0x0
-_020844E4:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02084DF0
- cmp r0, #0x1
- bne _020844FC
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020844FC:
- add r5, r5, #0x1
- cmp r5, #0x4
- blt _020844E4
-_02084502:
- add r0, r6, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_020671BC
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- add r0, r6, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x49
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _020845C6
- add r0, r4, #0x0
- mov r1, #0x27
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020845C6
- add r0, r4, #0x0
- mov r1, #0x30
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _0208459C
- cmp r5, #0x64
- bge _020845C6
- ldr r0, [sp, #0x14]
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _020845C6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208459C:
- bge _020845C6
- cmp r5, #0x0
- ble _020845AE
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020845AE:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _020845C6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020845C6:
- add r0, r4, #0x0
- mov r1, #0x28
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084632
- add r0, r4, #0x0
- mov r1, #0x31
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02084606
- ldr r0, [sp, #0x14]
- cmp r0, #0x64
- bge _02084632
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _02084632
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084606:
- bge _02084632
- ldr r0, [sp, #0x14]
- cmp r0, #0x0
- ble _0208461A
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208461A:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _02084632
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084632:
- add r0, r4, #0x0
- mov r1, #0x29
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020846A0
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02084674
- ldr r0, [sp, #0x10]
- cmp r0, #0x64
- bge _020846A0
- ldr r0, [sp, #0x14]
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _020846A0
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084674:
- bge _020846A0
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _02084688
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084688:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _020846A0
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020846A0:
- add r0, r4, #0x0
- mov r1, #0x2a
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208470E
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _020846E2
- ldr r0, [sp, #0xc]
- cmp r0, #0x64
- bge _0208470E
- ldr r0, [sp, #0x14]
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _0208470E
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020846E2:
- bge _0208470E
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- ble _020846F6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020846F6:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _0208470E
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208470E:
- add r0, r4, #0x0
- mov r1, #0x2b
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208477C
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02084750
- ldr r0, [sp, #0x8]
- cmp r0, #0x64
- bge _0208477C
- ldr r0, [sp, #0x14]
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _0208477C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084750:
- bge _0208477C
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02084764
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084764:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _0208477C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0208477C:
- add r0, r4, #0x0
- mov r1, #0x2c
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020847E6
- add r0, r4, #0x0
- mov r1, #0x35
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _020847BC
- cmp r7, #0x64
- bge _020847E6
- ldr r0, [sp, #0x14]
- add r1, r5, r0
- ldr r0, [sp, #0x10]
- add r1, r0, r1
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- ldr r0, [sp, #0x8]
- add r0, r0, r1
- add r1, r7, r0
- ldr r0, _020847F4 ; =0x000001FE
- cmp r1, r0
- bge _020847E6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020847BC:
- bge _020847E6
- cmp r7, #0x0
- ble _020847CE
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020847CE:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02085000
- cmp r0, #0x1
- bne _020847E6
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_020847E6:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_020847F4: .word 0x000001FE
-
- thumb_func_start FUN_020847F8
-FUN_020847F8: ; 0x020847F8
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r1, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206B9B0
- ldr r3, [sp, #0x10]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020842DC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02084810
-FUN_02084810: ; 0x02084810
- push {r3-r7, lr}
- sub sp, #0x70
- add r5, r0, #0x0
- ldr r0, [sp, #0x88]
- str r2, [sp, #0x4]
- str r0, [sp, #0x88]
- add r0, r1, #0x0
- ldr r2, [sp, #0x88]
- mov r1, #0x0
- str r3, [sp, #0x8]
- bl FUN_0206E710
- mov r1, #0xe
- add r4, r0, #0x0
- bl FUN_0206E7DC
- cmp r0, #0x1
- beq _02084840
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x70
- mov r0, #0x0
- pop {r3-r7, pc}
-_02084840:
- mov r6, #0x0
- add r0, r5, #0x0
- mov r1, #0x9f
- add r2, r6, #0x0
- add r7, r6, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x50]
- str r0, [sp, #0x54]
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084868
- ldr r1, [sp, #0x54]
- mov r0, #0x7
- bic r1, r0
- str r1, [sp, #0x54]
- mov r7, #0x1
-_02084868:
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208487E
- ldr r1, [sp, #0x54]
- ldr r0, _02084A28 ; =0xFFFFF077
- mov r7, #0x1
- and r0, r1
- str r0, [sp, #0x54]
-_0208487E:
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084894
- ldr r1, [sp, #0x54]
- mov r0, #0x10
- bic r1, r0
- str r1, [sp, #0x54]
- mov r7, #0x1
-_02084894:
- add r0, r4, #0x0
- mov r1, #0x12
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020848AA
- ldr r1, [sp, #0x54]
- mov r0, #0x20
- bic r1, r0
- str r1, [sp, #0x54]
- mov r7, #0x1
-_020848AA:
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020848C0
- ldr r1, [sp, #0x54]
- mov r0, #0x40
- bic r1, r0
- str r1, [sp, #0x54]
- mov r7, #0x1
-_020848C0:
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x54]
- cmp r1, r0
- beq _020848D4
- add r0, r5, #0x0
- mov r1, #0x9f
- add r2, sp, #0x54
- bl FUN_02067830
- mov r6, #0x1
-_020848D4:
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x50]
- add r0, r5, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x54]
- add r0, r4, #0x0
- mov r1, #0x17
- bl FUN_0206E7DC
- cmp r0, #0x0
- bne _02084904
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084930
-_02084904:
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084930
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- bne _0208492C
- add r0, r4, #0x0
- mov r1, #0x36
- bl FUN_0206E7DC
- add r3, r0, #0x0
- ldr r1, [sp, #0x50]
- ldr r2, [sp, #0x54]
- add r0, r5, #0x0
- bl FUN_02084F68
- mov r6, #0x1
-_0208492C:
- mov r7, #0x1
- b _0208495C
-_02084930:
- add r0, r4, #0x0
- mov r1, #0x26
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208495C
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x54]
- cmp r1, r0
- bge _0208495A
- add r0, r4, #0x0
- mov r1, #0x36
- bl FUN_0206E7DC
- add r3, r0, #0x0
- ldr r1, [sp, #0x50]
- ldr r2, [sp, #0x54]
- add r0, r5, #0x0
- bl FUN_02084F68
- mov r6, #0x1
-_0208495A:
- mov r7, #0x1
-_0208495C:
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x58]
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020849B4
- ldr r0, [sp, #0x58]
- cmp r0, #0x64
- bge _020849B2
- add r0, r5, #0x0
- bl FUN_020686F8
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02068018
- add r0, r5, #0x0
- bl FUN_02066ED8
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- bne _020849B0
- add r0, r5, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- ldr r3, [sp, #0x54]
- ldr r1, [sp, #0x50]
- add r0, r5, #0x0
- sub r3, r2, r3
- str r2, [sp, #0x5c]
- bl FUN_02084F68
-_020849B0:
- mov r6, #0x1
-_020849B2:
- mov r7, #0x1
-_020849B4:
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020849C2
- mov r7, #0x1
-_020849C2:
- add r0, r4, #0x0
- mov r1, #0x22
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _020849E2
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02084EC0
- cmp r0, #0x1
- bne _020849DE
- mov r6, #0x1
-_020849DE:
- mov r7, #0x1
- b _02084A00
-_020849E2:
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084A00
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x3
- bl FUN_02084EC0
- cmp r0, #0x1
- bne _020849FE
- mov r6, #0x1
-_020849FE:
- mov r7, #0x1
-_02084A00:
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084A2C
- add r0, r4, #0x0
- mov r1, #0x37
- bl FUN_0206E7DC
- add r2, r0, #0x0
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02084E40
- cmp r0, #0x1
- bne _02084A24
- mov r6, #0x1
-_02084A24:
- mov r7, #0x1
- b _02084A66
- .balign 4
-_02084A28: .word 0xFFFFF077
-_02084A2C:
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084A66
- mov r0, #0x0
- str r0, [sp, #0x50]
- cmp r0, #0x4
- bge _02084A64
- mov r7, #0x37
-_02084A42:
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_0206E7DC
- add r2, r0, #0x0
- ldr r1, [sp, #0x50]
- add r0, r5, #0x0
- bl FUN_02084E40
- cmp r0, #0x1
- bne _02084A5A
- mov r6, #0x1
-_02084A5A:
- ldr r0, [sp, #0x50]
- add r0, r0, #0x1
- str r0, [sp, #0x50]
- cmp r0, #0x4
- blt _02084A42
-_02084A64:
- mov r7, #0x1
-_02084A66:
- add r0, r5, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x50]
- add r0, r5, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x54]
- add r0, r5, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x58]
- add r0, r5, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x5c]
- add r0, r5, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x60]
- add r0, r5, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x64]
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x49
- lsl r1, r1, #0x2
- cmp r0, r1
- beq _02084B20
- add r0, r4, #0x0
- mov r1, #0x27
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084B20
- add r0, r4, #0x0
- mov r1, #0x30
- bl FUN_0206E7DC
- ldr r1, [sp, #0x60]
- ldr r2, [sp, #0x54]
- str r1, [sp, #0x10]
- ldr r1, [sp, #0x5c]
- str r0, [sp, #0xc]
- str r1, [sp, #0x14]
- ldr r1, [sp, #0x58]
- str r0, [sp, #0x6c]
- add r2, r2, r1
- ldr r1, [sp, #0x14]
- ldr r3, [sp, #0x64]
- add r2, r1, r2
- ldr r1, [sp, #0x10]
- ldr r0, [sp, #0x50]
- add r1, r1, r2
- ldr r2, [sp, #0xc]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084B18
- str r0, [sp, #0x50]
- add r0, r5, #0x0
- mov r1, #0xd
- add r2, sp, #0x50
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084B18:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084B20
- mov r7, #0x1
-_02084B20:
- add r0, r4, #0x0
- mov r1, #0x28
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084B80
- add r0, r4, #0x0
- mov r1, #0x31
- bl FUN_0206E7DC
- ldr r1, [sp, #0x60]
- ldr r2, [sp, #0x50]
- str r1, [sp, #0x1c]
- ldr r1, [sp, #0x5c]
- str r0, [sp, #0x18]
- str r1, [sp, #0x20]
- ldr r1, [sp, #0x58]
- str r0, [sp, #0x6c]
- add r2, r2, r1
- ldr r1, [sp, #0x20]
- ldr r3, [sp, #0x64]
- add r2, r1, r2
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x54]
- add r1, r1, r2
- ldr r2, [sp, #0x18]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084B78
- str r0, [sp, #0x54]
- add r0, r5, #0x0
- mov r1, #0xe
- add r2, sp, #0x54
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084B78:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084B80
- mov r7, #0x1
-_02084B80:
- add r0, r4, #0x0
- mov r1, #0x29
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084BE0
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_0206E7DC
- ldr r1, [sp, #0x60]
- ldr r2, [sp, #0x50]
- str r1, [sp, #0x28]
- ldr r1, [sp, #0x5c]
- str r0, [sp, #0x24]
- str r1, [sp, #0x2c]
- ldr r1, [sp, #0x54]
- str r0, [sp, #0x6c]
- add r2, r2, r1
- ldr r1, [sp, #0x2c]
- ldr r3, [sp, #0x64]
- add r2, r1, r2
- ldr r1, [sp, #0x28]
- ldr r0, [sp, #0x58]
- add r1, r1, r2
- ldr r2, [sp, #0x24]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084BD8
- str r0, [sp, #0x58]
- add r0, r5, #0x0
- mov r1, #0xf
- add r2, sp, #0x58
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084BD8:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084BE0
- mov r7, #0x1
-_02084BE0:
- add r0, r4, #0x0
- mov r1, #0x2a
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084C40
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_0206E7DC
- ldr r1, [sp, #0x60]
- ldr r2, [sp, #0x50]
- str r1, [sp, #0x34]
- ldr r1, [sp, #0x58]
- str r0, [sp, #0x30]
- str r1, [sp, #0x38]
- ldr r1, [sp, #0x54]
- str r0, [sp, #0x6c]
- add r2, r2, r1
- ldr r1, [sp, #0x38]
- ldr r3, [sp, #0x64]
- add r2, r1, r2
- ldr r1, [sp, #0x34]
- ldr r0, [sp, #0x5c]
- add r1, r1, r2
- ldr r2, [sp, #0x30]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084C38
- str r0, [sp, #0x5c]
- add r0, r5, #0x0
- mov r1, #0x10
- add r2, sp, #0x5c
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084C38:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084C40
- mov r7, #0x1
-_02084C40:
- add r0, r4, #0x0
- mov r1, #0x2b
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084CA0
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_0206E7DC
- ldr r1, [sp, #0x5c]
- ldr r2, [sp, #0x50]
- str r1, [sp, #0x40]
- ldr r1, [sp, #0x58]
- str r0, [sp, #0x3c]
- str r1, [sp, #0x44]
- ldr r1, [sp, #0x54]
- str r0, [sp, #0x6c]
- add r2, r2, r1
- ldr r1, [sp, #0x44]
- ldr r3, [sp, #0x64]
- add r2, r1, r2
- ldr r1, [sp, #0x40]
- ldr r0, [sp, #0x60]
- add r1, r1, r2
- ldr r2, [sp, #0x3c]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084C98
- str r0, [sp, #0x60]
- add r0, r5, #0x0
- mov r1, #0x11
- add r2, sp, #0x60
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084C98:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084CA0
- mov r7, #0x1
-_02084CA0:
- add r0, r4, #0x0
- mov r1, #0x2c
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084D00
- add r0, r4, #0x0
- mov r1, #0x35
- bl FUN_0206E7DC
- ldr r1, [sp, #0x5c]
- ldr r2, [sp, #0x50]
- str r1, [sp, #0x4c]
- ldr r1, [sp, #0x58]
- str r0, [sp, #0x48]
- mov r12, r1
- ldr r1, [sp, #0x54]
- str r0, [sp, #0x6c]
- add r1, r2, r1
- mov r2, r12
- add r2, r2, r1
- ldr r1, [sp, #0x4c]
- ldr r3, [sp, #0x60]
- add r1, r1, r2
- ldr r0, [sp, #0x64]
- ldr r2, [sp, #0x48]
- add r1, r3, r1
- bl FUN_02084FA8
- mov r1, #0x0
- mvn r1, r1
- str r0, [sp, #0x68]
- cmp r0, r1
- beq _02084CF8
- str r0, [sp, #0x64]
- add r0, r5, #0x0
- mov r1, #0x12
- add r2, sp, #0x64
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
- mov r6, #0x1
-_02084CF8:
- ldr r0, [sp, #0x6c]
- cmp r0, #0x0
- ble _02084D00
- mov r7, #0x1
-_02084D00:
- cmp r6, #0x0
- bne _02084D14
- cmp r7, #0x1
- bne _02084D14
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x70
- mov r0, #0x0
- pop {r3-r7, pc}
-_02084D14:
- add r0, r5, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x50]
- cmp r0, #0x64
- bge _02084D54
- add r0, r4, #0x0
- mov r1, #0x2d
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084DC2
- add r0, r4, #0x0
- mov r1, #0x38
- bl FUN_0206E7DC
- add r2, r0, #0x0
- ldr r0, [sp, #0x88]
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x50]
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0208508C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x70
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02084D54:
- blt _02084D8A
- cmp r0, #0xc8
- bge _02084D8A
- add r0, r4, #0x0
- mov r1, #0x2e
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084DC2
- add r0, r4, #0x0
- mov r1, #0x39
- bl FUN_0206E7DC
- add r2, r0, #0x0
- ldr r0, [sp, #0x88]
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x50]
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0208508C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x70
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02084D8A:
- cmp r0, #0xc8
- blt _02084DC2
- cmp r0, #0xff
- bgt _02084DC2
- add r0, r4, #0x0
- mov r1, #0x2f
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02084DC2
- add r0, r4, #0x0
- mov r1, #0x3a
- bl FUN_0206E7DC
- add r2, r0, #0x0
- ldr r0, [sp, #0x88]
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x50]
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0208508C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x70
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02084DC2:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- add sp, #0x70
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02084DD0
-FUN_02084DD0: ; 0x02084DD0
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r1, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206B9B0
- ldr r1, [sp, #0x14]
- add r3, sp, #0x0
- str r1, [sp, #0x0]
- ldrh r3, [r3, #0x10]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02084810
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02084DF0
-FUN_02084DF0: ; 0x02084DF0
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r1, #0x36
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- bne _02084E08
- mov r0, #0x0
- pop {r3-r7, pc}
-_02084E08:
- add r1, r6, #0x0
- add r0, r5, #0x0
- add r1, #0x3a
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- add r6, #0x3e
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- add r0, r7, #0x0
- bl FUN_0206AB30
- cmp r4, r0
- bhs _02084E36
- mov r0, #0x1
- b _02084E38
-_02084E36:
- mov r0, #0x0
-_02084E38:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02084E40
-FUN_02084E40: ; 0x02084E40
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r1, #0x36
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- bne _02084E5E
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_02084E5E:
- add r0, r5, #0x0
- str r0, [sp, #0x0]
- add r0, #0x3a
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x4
- strb r0, [r1, #0x0]
- add r5, #0x3e
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r7, #0x0
- lsr r1, r1, #0x18
- bl FUN_0206AB30
- add r1, sp, #0x4
- ldrb r2, [r1, #0x0]
- cmp r2, r0
- bhs _02084EB8
- cmp r4, #0x7f
- bne _02084E9C
- strb r0, [r1, #0x0]
- b _02084EA8
-_02084E9C:
- add r2, r2, r4
- strb r2, [r1, #0x0]
- ldrb r2, [r1, #0x0]
- cmp r2, r0
- bls _02084EA8
- strb r0, [r1, #0x0]
-_02084EA8:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- add r2, sp, #0x4
- bl FUN_02067830
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02084EB8:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02084EC0
-FUN_02084EC0: ; 0x02084EC0
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r2, #0x0
- add r4, r1, #0x0
- str r1, [sp, #0x0]
- add r1, #0x3e
- mov r2, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_020671BC
- add r1, sp, #0x8
- strb r0, [r1, #0x0]
- ldrb r0, [r1, #0x0]
- cmp r0, #0x3
- bne _02084EE6
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02084EE6:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x0
- str r0, [sp, #0x4]
- bl FUN_0206AB30
- cmp r0, #0x5
- bhs _02084F08
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02084F08:
- add r4, #0x3a
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x8
- strb r0, [r1, #0x1]
- ldrb r1, [r1, #0x0]
- ldr r0, [sp, #0x4]
- bl FUN_0206AB30
- add r7, r0, #0x0
- add r0, sp, #0x8
- ldrb r0, [r0, #0x0]
- add r0, r0, r6
- cmp r0, #0x3
- bls _02084F30
- mov r0, #0x3
- b _02084F34
-_02084F30:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
-_02084F34:
- add r1, sp, #0x8
- strb r0, [r1, #0x0]
- ldrb r1, [r1, #0x0]
- ldr r0, [sp, #0x4]
- bl FUN_0206AB30
- add r1, sp, #0x8
- ldrb r2, [r1, #0x1]
- add r0, r2, r0
- sub r0, r0, r7
- strb r0, [r1, #0x1]
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- add r2, sp, #0x8
- bl FUN_02067830
- add r2, sp, #0x8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, #0x1
- bl FUN_02067830
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02084F68
-FUN_02084F68: ; 0x02084F68
- push {r0-r3}
- push {r3, lr}
- cmp r2, #0x1
- bne _02084F74
- mov r3, #0x1
- b _02084F8A
-_02084F74:
- cmp r3, #0xff
- bne _02084F7C
- add r3, r2, #0x0
- b _02084F8A
-_02084F7C:
- cmp r3, #0xfe
- bne _02084F84
- lsr r3, r2, #0x1
- b _02084F8A
-_02084F84:
- cmp r3, #0xfd
- bne _02084F8A
- lsr r3, r2, #0x2
-_02084F8A:
- ldr r1, [sp, #0xc]
- add r1, r1, r3
- cmp r1, r2
- bls _02084F96
- str r2, [sp, #0xc]
- b _02084F98
-_02084F96:
- str r1, [sp, #0xc]
-_02084F98:
- mov r1, #0xa2
- add r2, sp, #0xc
- bl FUN_02067830
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_02084FA8
-FUN_02084FA8: ; 0x02084FA8
- push {r3-r4}
- cmp r0, #0x0
- bne _02084FBA
- cmp r2, #0x0
- bge _02084FBA
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r4}
- bx lr
-_02084FBA:
- cmp r0, #0x64
- blt _02084FCA
- cmp r2, #0x0
- ble _02084FCA
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r4}
- bx lr
-_02084FCA:
- ldr r3, _02084FFC ; =0x000001FE
- add r4, r0, r1
- cmp r4, r3
- blt _02084FDE
- cmp r2, #0x0
- ble _02084FDE
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r4}
- bx lr
-_02084FDE:
- add r0, r0, r2
- cmp r0, #0x64
- ble _02084FE8
- mov r0, #0x64
- b _02084FEE
-_02084FE8:
- cmp r0, #0x0
- bge _02084FEE
- mov r0, #0x0
-_02084FEE:
- ldr r2, _02084FFC ; =0x000001FE
- add r3, r0, r1
- cmp r3, r2
- ble _02084FF8
- sub r0, r2, r1
-_02084FF8:
- pop {r3-r4}
- bx lr
- .balign 4
-_02084FFC: .word 0x000001FE
-
- thumb_func_start FUN_02085000
-FUN_02085000: ; 0x02085000
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xff
- blt _02085014
- mov r0, #0x0
- pop {r4, pc}
-_02085014:
- cmp r0, #0x64
- bge _02085038
- add r0, r4, #0x0
- mov r1, #0x2d
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02085034
- add r0, r4, #0x0
- mov r1, #0x38
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02085034
- mov r0, #0x1
- pop {r4, pc}
-_02085034:
- mov r0, #0x0
- pop {r4, pc}
-_02085038:
- blt _0208505E
- cmp r0, #0xc8
- bge _0208505E
- add r0, r4, #0x0
- mov r1, #0x2e
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _0208505A
- add r0, r4, #0x0
- mov r1, #0x39
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _0208505A
- mov r0, #0x1
- pop {r4, pc}
-_0208505A:
- mov r0, #0x0
- pop {r4, pc}
-_0208505E:
- cmp r0, #0xc8
- blt _02085086
- cmp r0, #0xff
- bge _02085086
- add r0, r4, #0x0
- mov r1, #0x2f
- bl FUN_0206E7DC
- cmp r0, #0x0
- beq _02085082
- add r0, r4, #0x0
- mov r1, #0x3a
- bl FUN_0206E7DC
- cmp r0, #0x0
- ble _02085082
- mov r0, #0x1
- pop {r4, pc}
-_02085082:
- mov r0, #0x0
- pop {r4, pc}
-_02085086:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0208508C
-FUN_0208508C: ; 0x0208508C
- push {r0-r3}
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r3, #0x0
- cmp r4, #0xff
- bne _020850AA
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- ble _020850AA
- mov r0, #0x0
- pop {r4-r6}
- pop {r3}
- add sp, #0x10
- bx r3
-_020850AA:
- cmp r4, #0x0
- bne _020850BE
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bge _020850BE
- mov r0, #0x0
- pop {r4-r6}
- pop {r3}
- add sp, #0x10
- bx r3
-_020850BE:
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- ble _02085114
- add r0, r5, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- ldr r2, [sp, #0x20]
- lsr r0, r0, #0x10
- mov r1, #0x1
- bl FUN_0206E7B8
- cmp r0, #0x34
- bne _020850EC
- ldr r1, [sp, #0x18]
- mov r0, #0x96
- mul r0, r1
- mov r1, #0x64
- bl _s32_div_f
- str r0, [sp, #0x18]
-_020850EC:
- add r0, r5, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xb
- bne _02085100
- ldr r0, [sp, #0x18]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
-_02085100:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- cmp r6, r0
- bne _02085114
- ldr r0, [sp, #0x18]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
-_02085114:
- ldr r0, [sp, #0x18]
- add r0, r0, r4
- str r0, [sp, #0x18]
- cmp r0, #0xff
- ble _02085122
- mov r0, #0xff
- str r0, [sp, #0x18]
-_02085122:
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bge _0208512C
- mov r0, #0x0
- str r0, [sp, #0x18]
-_0208512C:
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x18
- bl FUN_02067830
- mov r0, #0x1
- pop {r4-r6}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_02085140
-FUN_02085140: ; 0x02085140
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- bl FUN_0206B9AC
- mov r7, #0x0
- str r0, [sp, #0x4]
- cmp r0, #0x0
- ble _020851B4
- mov r6, #0x7f
-_02085154:
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0206B9B0
- mov r1, #0xab
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020851AC
- add r0, r5, #0x0
- mov r1, #0xa3
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0xa2
- add r2, sp, #0x8
- bl FUN_02067830
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x9f
- add r2, sp, #0x8
- bl FUN_02067830
- mov r4, #0x0
-_02085190:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02084DF0
- cmp r0, #0x1
- bne _020851A6
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02084E40
-_020851A6:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _02085190
-_020851AC:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- cmp r7, r0
- blt _02085154
-_020851B4:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020851B8
-FUN_020851B8: ; 0x020851B8
- push {r3, lr}
- mov r1, #0xc
- bl FUN_02016998
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- strb r1, [r0, #0x4]
- strb r1, [r0, #0x5]
- strb r1, [r0, #0x6]
- strb r1, [r0, #0x7]
- strb r1, [r0, #0x8]
- strb r1, [r0, #0x9]
- strb r1, [r0, #0xa]
- strb r1, [r0, #0xb]
- pop {r3, pc}
-
- thumb_func_start FUN_020851DC
-FUN_020851DC: ; 0x020851DC
- push {r4-r6, lr}
- sub r1, #0x95
- lsl r1, r1, #0x10
- lsr r6, r1, #0x10
- add r1, r6, #0x0
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02085200
- cmp r4, #0x1
- bne _020851F4
- strb r6, [r5, #0x8]
-_020851F4:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020851F8
-FUN_020851F8: ; 0x020851F8
- strb r1, [r0, #0x9]
- strb r2, [r0, #0xa]
- strb r3, [r0, #0xb]
- bx lr
-
- thumb_func_start FUN_02085200
-FUN_02085200: ; 0x02085200
- push {r3-r6}
- lsr r6, r1, #0x1f
- lsl r5, r1, #0x1b
- lsr r2, r1, #0x5
- lsl r4, r2, #0x2
- sub r5, r5, r6
- mov r1, #0x1b
- ror r5, r1
- ldr r3, [r0, r4]
- mov r2, #0x1
- add r1, r6, r5
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- str r1, [r0, r4]
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085224
-FUN_02085224: ; 0x02085224
- push {r4-r5}
- lsr r5, r1, #0x1f
- lsl r4, r1, #0x1b
- lsr r1, r1, #0x5
- lsl r1, r1, #0x2
- sub r4, r4, r5
- mov r3, #0x1b
- ror r4, r3
- mov r2, #0x1
- add r3, r5, r4
- add r4, r2, #0x0
- lsl r4, r3
- ldr r0, [r0, r1]
- tst r0, r4
- bne _02085244
- mov r2, #0x0
-_02085244:
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- pop {r4-r5}
- bx lr
-
- thumb_func_start FUN_0208524C
-FUN_0208524C: ; 0x0208524C
- ldrb r3, [r0, #0x9]
- strb r3, [r1, #0x0]
- ldrb r0, [r0, #0xa]
- strb r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085258
-FUN_02085258: ; 0x02085258
- ldr r3, _02085260 ; =FUN_02006670
- add r1, r0, #0x0
- mov r0, #0x44
- bx r3
- .balign 4
-_02085260: .word FUN_02006670
-
- thumb_func_start FUN_02085264
-FUN_02085264: ; 0x02085264
- ldr r3, _02085268 ; =FUN_02006704
- bx r3
- .balign 4
-_02085268: .word FUN_02006704
-
- thumb_func_start FUN_0208526C
-FUN_0208526C: ; 0x0208526C
- ldr r3, _02085270 ; =FUN_020066F4
- bx r3
- .balign 4
-_02085270: .word FUN_020066F4
-
- thumb_func_start FUN_02085274
-FUN_02085274: ; 0x02085274
- add r3, r0, #0x0
- add r2, r1, #0x0
- add r1, r3, #0x0
- ldr r3, _02085280 ; =LoadFromNarc_2
- mov r0, #0x44
- bx r3
- .balign 4
-_02085280: .word LoadFromNarc_2
-
- thumb_func_start FUN_02085284
-FUN_02085284: ; 0x02085284
- ldr r3, _0208528C ; =FUN_02085274
- sub r0, #0x95
- bx r3
- nop
-_0208528C: .word FUN_02085274
-
- thumb_func_start FUN_02085290
-FUN_02085290: ; 0x02085290
- cmp r1, #0xa
- bhi _020852E2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020852A0: ; jump table (using 16-bit offset)
- .short _020852B6 - _020852A0 - 2; case 0
- .short _020852BA - _020852A0 - 2; case 1
- .short _020852BE - _020852A0 - 2; case 2
- .short _020852C2 - _020852A0 - 2; case 3
- .short _020852C6 - _020852A0 - 2; case 4
- .short _020852CA - _020852A0 - 2; case 5
- .short _020852CE - _020852A0 - 2; case 6
- .short _020852D2 - _020852A0 - 2; case 7
- .short _020852D6 - _020852A0 - 2; case 8
- .short _020852DA - _020852A0 - 2; case 9
- .short _020852DE - _020852A0 - 2; case 10
-_020852B6:
- ldrh r0, [r0, #0x0]
- bx lr
-_020852BA:
- ldrb r0, [r0, #0x2]
- bx lr
-_020852BE:
- ldrb r0, [r0, #0x3]
- bx lr
-_020852C2:
- ldrb r0, [r0, #0x4]
- bx lr
-_020852C6:
- ldrb r0, [r0, #0x5]
- bx lr
-_020852CA:
- ldrb r0, [r0, #0x6]
- bx lr
-_020852CE:
- ldrb r0, [r0, #0x7]
- bx lr
-_020852D2:
- ldrb r0, [r0, #0x8]
- bx lr
-_020852D6:
- ldrb r0, [r0, #0x9]
- bx lr
-_020852DA:
- ldrb r0, [r0, #0xa]
- bx lr
-_020852DE:
- ldrb r0, [r0, #0xb]
- bx lr
-_020852E2:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020852E8
-FUN_020852E8: ; 0x020852E8
- push {r3-r5, lr}
- ldr r2, _0208530C ; =0x00000175
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0208530C: .word 0x00000175
-
- thumb_func_start FUN_02085310
-FUN_02085310: ; 0x02085310
- push {r3-r5, lr}
- mov r2, #0x5d
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02085338
-FUN_02085338: ; 0x02085338
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0x24
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- strb r5, [r4, #0x0]
- strb r7, [r4, #0x1]
- add r0, r6, #0x0
- bl FUN_02024DA0
- str r0, [r4, #0xc]
- add r0, r6, #0x0
- bl FUN_02013B5C
- str r0, [r4, #0x10]
- add r0, r6, #0x0
- bl FUN_020462AC
- bl FUN_0205ED0C
- strb r0, [r4, #0x4]
- mov r1, #0x0
- strb r1, [r4, #0x5]
- mov r0, #0x1
- strb r0, [r4, #0x2]
- add r0, r6, #0x0
- strb r1, [r4, #0x3]
- bl LoadPlayerDataAddress
- bl FUN_02025084
- str r0, [r4, #0x8]
- cmp r5, #0x2
- bne _02085390
- add r0, r4, #0x0
- add r0, #0x14
- mov r1, #0x3
- bl FUN_0201373C
- b _020853A0
-_02085390:
- ldr r0, _020853A4 ; =0x0000FFFF
- mov r1, #0x0
- add r2, r4, #0x0
-_02085396:
- add r1, r1, #0x1
- strh r0, [r2, #0x1c]
- add r2, r2, #0x2
- cmp r1, #0x2
- blt _02085396
-_020853A0:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020853A4: .word 0x0000FFFF
-
- thumb_func_start FUN_020853A8
-FUN_020853A8: ; 0x020853A8
- ldr r3, _020853AC ; =FUN_02016A18
- bx r3
- .balign 4
-_020853AC: .word FUN_02016A18
-
- thumb_func_start FUN_020853B0
-FUN_020853B0: ; 0x020853B0
- strh r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_020853B4
-FUN_020853B4: ; 0x020853B4
- strh r1, [r0, #0x1c]
- strh r2, [r0, #0x1e]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020853BC
-FUN_020853BC: ; 0x020853BC
- ldrh r2, [r1, #0x0]
- strh r2, [r0, #0x14]
- ldrh r2, [r1, #0x2]
- strh r2, [r0, #0x16]
- ldrh r2, [r1, #0x4]
- strh r2, [r0, #0x18]
- ldrh r1, [r1, #0x6]
- strh r1, [r0, #0x1a]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020853D0
-FUN_020853D0: ; 0x020853D0
- mov r1, #0x1
- strb r1, [r0, #0x2]
- mov r1, #0x0
- strb r1, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020853DC
-FUN_020853DC: ; 0x020853DC
- mov r1, #0x1
- strb r1, [r0, #0x5]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020853E4
-FUN_020853E4: ; 0x020853E4
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_020853E8
-FUN_020853E8: ; 0x020853E8
- ldrb r0, [r0, #0x3]
- bx lr
-
- thumb_func_start FUN_020853EC
-FUN_020853EC: ; 0x020853EC
- ldrh r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_020853F0
-FUN_020853F0: ; 0x020853F0
- ldrh r2, [r0, #0x1c]
- strh r2, [r1, #0x0]
- ldrh r0, [r0, #0x1e]
- strh r0, [r1, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020853FC
-FUN_020853FC: ; 0x020853FC
- add r2, r0, #0x0
- ldr r3, _02085408 ; =FUN_02013960
- add r2, #0x14
- add r0, r1, #0x0
- add r1, r2, #0x0
- bx r3
- .balign 4
-_02085408: .word FUN_02013960
-
- thumb_func_start FUN_0208540C
-FUN_0208540C: ; 0x0208540C
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02085410
-FUN_02085410: ; 0x02085410
- ldrb r0, [r0, #0x1]
- bx lr
-
- thumb_func_start FUN_02085414
-FUN_02085414: ; 0x02085414
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02085418
-FUN_02085418: ; 0x02085418
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_0208541C
-FUN_0208541C: ; 0x0208541C
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02085420
-FUN_02085420: ; 0x02085420
- ldrb r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02085424
-FUN_02085424: ; 0x02085424
- ldrb r0, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_02085428
-FUN_02085428: ; 0x02085428
- ldrb r3, [r0, #0x0]
- cmp r3, #0x0
- beq _02085438
- cmp r3, #0x1
- beq _0208543E
- cmp r3, #0x2
- beq _02085448
- bx lr
-_02085438:
- ldrh r0, [r0, #0x1c]
- strh r0, [r1, #0x0]
- bx lr
-_0208543E:
- ldrh r2, [r0, #0x1c]
- strh r2, [r1, #0x0]
- ldrh r0, [r0, #0x1e]
- strh r0, [r1, #0x2]
- bx lr
-_02085448:
- ldrh r1, [r0, #0x14]
- strh r1, [r2, #0x0]
- ldrh r1, [r0, #0x16]
- strh r1, [r2, #0x2]
- ldrh r1, [r0, #0x18]
- strh r1, [r2, #0x4]
- ldrh r0, [r0, #0x1a]
- strh r0, [r2, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0208545C
-FUN_0208545C: ; 0x0208545C
- push {r3, lr}
- ldrb r3, [r0, #0x0]
- cmp r3, #0x0
- beq _0208546C
- cmp r3, #0x1
- beq _0208547C
- cmp r3, #0x2
- b _02085494
-_0208546C:
- ldrh r1, [r1, #0x0]
- ldrh r0, [r0, #0x1c]
- cmp r1, r0
- bne _02085478
- mov r0, #0x1
- pop {r3, pc}
-_02085478:
- mov r0, #0x0
- pop {r3, pc}
-_0208547C:
- ldrh r3, [r1, #0x0]
- ldrh r2, [r0, #0x1c]
- cmp r3, r2
- bne _02085490
- ldrh r1, [r1, #0x2]
- ldrh r0, [r0, #0x1e]
- cmp r1, r0
- bne _02085490
- mov r0, #0x1
- pop {r3, pc}
-_02085490:
- mov r0, #0x0
- pop {r3, pc}
-_02085494:
- add r0, #0x14
- add r1, r2, #0x0
- bl FUN_02013928
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020854A0
-FUN_020854A0: ; 0x020854A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0208545C
- cmp r0, #0x0
- bne _020854B4
- mov r0, #0x1
- b _020854B6
-_020854B4:
- mov r0, #0x0
-_020854B6:
- strb r0, [r5, #0x3]
- mov r1, #0x0
- strb r1, [r5, #0x2]
- add r2, r5, #0x0
-_020854BE:
- ldrh r0, [r4, #0x0]
- add r1, r1, #0x1
- add r4, r4, #0x2
- strh r0, [r2, #0x1c]
- add r2, r2, #0x2
- cmp r1, #0x2
- blt _020854BE
- ldrh r0, [r6, #0x0]
- strh r0, [r5, #0x14]
- ldrh r0, [r6, #0x2]
- strh r0, [r5, #0x16]
- ldrh r0, [r6, #0x4]
- strh r0, [r5, #0x18]
- ldrh r0, [r6, #0x6]
- strh r0, [r5, #0x1a]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020854E0
-FUN_020854E0: ; 0x020854E0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_02025838
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x20]
- mov r1, #0x1c
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, [sp, #0x0]
- strb r0, [r4, #0xf]
- ldr r0, [sp, #0x4]
- strb r6, [r4, #0xe]
- str r0, [r4, #0x18]
- mov r0, #0x1
- strh r0, [r4, #0x0]
- str r7, [r4, #0x8]
- mov r0, #0x0
- strh r0, [r4, #0xc]
- ldr r0, [sp, #0x20]
- str r5, [r4, #0x10]
- bl FUN_020256BC
- str r0, [r4, #0x14]
- bl FUN_02025658
- ldr r0, [r4, #0x14]
- mov r1, #0xff
- add r2, r6, #0x0
- add r3, r5, #0x0
- bl FUN_020256DC
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02085538
-FUN_02085538: ; 0x02085538
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0x1c
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x0
- strh r0, [r4, #0x0]
- str r5, [r4, #0x8]
- strh r6, [r4, #0xc]
- add r0, r7, #0x0
- str r7, [r4, #0x10]
- bl FUN_02025838
- ldr r3, [sp, #0x0]
- add r1, r5, #0x0
- add r2, r6, #0x0
- str r0, [r4, #0x18]
- bl FUN_020258B0
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02085578
-FUN_02085578: ; 0x02085578
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r7, #0x0
- mov r1, #0x1c
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x0
- strh r0, [r4, #0x0]
- str r5, [r4, #0x10]
- add r0, r7, #0x0
- bl FUN_020256BC
- str r0, [r4, #0x14]
- ldr r2, [r4, #0x14]
- add r0, r6, #0x0
- mov r1, #0xa9
- bl FUN_020671BC
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020855B0
-FUN_020855B0: ; 0x020855B0
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r7, #0x0
- mov r1, #0x1c
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x0
- strh r0, [r4, #0x0]
- add r0, r7, #0x0
- str r5, [r4, #0x10]
- bl FUN_020256BC
- add r1, r6, #0x0
- str r0, [r4, #0x14]
- bl FUN_020257D0
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020855E4
-FUN_020855E4: ; 0x020855E4
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_020855E8
-FUN_020855E8: ; 0x020855E8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020855E4
- cmp r0, #0x0
- bne _020855FC
- mov r0, #0x0
- pop {r4-r6, pc}
-_020855FC:
- ldr r0, [r5, #0x18]
- ldr r3, [r5, #0x14]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02025888
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0208560C
-FUN_0208560C: ; 0x0208560C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020855E4
- cmp r0, #0x0
- bne _0208561E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0208561E:
- ldr r2, [r5, #0x14]
- add r0, r4, #0x0
- mov r1, #0xa9
- bl FUN_02067830
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0208562C
-FUN_0208562C: ; 0x0208562C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- beq _0208563A
- bl FUN_02016A18
-_0208563A:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02085644
-FUN_02085644: ; 0x02085644
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x0
- add r7, r0, #0x0
- add r4, r2, #0x0
- str r1, [sp, #0x0]
- bl FUN_02025864
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _0208569E
- add r0, r4, #0x0
- bl FUN_020256BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa9
- add r2, r4, #0x0
- bl FUN_020671BC
- add r0, r7, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_02025888
- add r0, r4, #0x0
- bl FUN_02025658
- add r0, r5, #0x0
- mov r1, #0xa9
- add r2, r4, #0x0
- bl FUN_02067830
- add r0, r5, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
-_0208569E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020856A0
-FUN_020856A0: ; 0x020856A0
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_020258B0
- add r6, r0, #0x0
- bne _020856BC
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_020856BC:
- bl FUN_020257CC
- bl FUN_0206EAD8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0xa9
- add r2, r6, #0x0
- bl FUN_02067830
- add r0, r4, #0x0
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- add r0, r7, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- bl FUN_02025878
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020856F0
-FUN_020856F0: ; 0x020856F0
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x34
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x34
- add r6, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x0
- strh r0, [r6, #0x0]
- add r0, r4, #0x0
- bl FUN_020257C0
- str r0, [r6, #0x8]
- mov r0, #0x8
- add r1, r5, #0x0
- bl FUN_020219F4
- str r0, [r6, #0x10]
- add r0, r4, #0x0
- bl FUN_020257C4
- add r1, r0, #0x0
- ldr r0, [r6, #0x10]
- bl FUN_02021E28
- add r0, r4, #0x0
- bl FUN_020257CC
- strb r0, [r6, #0xf]
- add r0, r4, #0x0
- bl FUN_020257D8
- strb r0, [r6, #0xd]
- add r0, r4, #0x0
- bl FUN_020257DC
- strb r0, [r6, #0xe]
- mov r5, #0x0
- mov r7, #0x2
-_02085748:
- lsl r1, r5, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- add r2, r7, #0x0
- bl FUN_020257E0
- lsl r1, r5, #0x1
- add r1, r6, r1
- strh r0, [r1, #0x14]
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x3
- blo _02085748
- add r7, r6, #0x0
- mov r5, #0x0
- add r7, #0x1a
-_0208576A:
- lsl r1, r5, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_02025814
- add r1, r0, #0x0
- lsl r0, r5, #0x3
- add r0, r7, r0
- bl FUN_02013960
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x3
- blo _0208576A
- add r0, r6, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0208578C
-FUN_0208578C: ; 0x0208578C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0208579A
- bl FUN_02021A20
-_0208579A:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020857A4
-FUN_020857A4: ; 0x020857A4
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r4, r7, #0x0
- add r6, r0, #0x0
- mov r5, #0x0
- add r4, #0x1a
-_020857B0:
- lsl r1, r5, #0x3
- lsl r2, r5, #0x18
- add r0, r6, #0x0
- add r1, r4, r1
- lsr r2, r2, #0x18
- bl FUN_02025824
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x3
- blo _020857B0
- ldrb r1, [r7, #0xf]
- add r0, r6, #0x0
- bl FUN_020257D0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020857D4
-FUN_020857D4: ; 0x020857D4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020857F4
- bl FUN_02006290
- cmp r0, #0x0
- beq _020857F4
- ldr r0, [r4, #0x0]
- bl FUN_02006260
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_020857F4:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_020857F8
-FUN_020857F8: ; 0x020857F8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_0200628C
- mov r2, #0x1
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x28
- lsl r2, r2, #0xc
- bl FUN_0201681C
- add r0, r4, #0x0
- mov r1, #0x1c
- mov r2, #0x28
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r1, #0x28
- str r1, [r4, #0x0]
- ldr r0, [r5, #0x14]
- bl FUN_020856F0
- str r0, [r4, #0x10]
- ldr r0, [r5, #0x10]
- bl LoadPlayerDataAddress
- ldr r1, [r4, #0x10]
- str r0, [r1, #0x4]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1
- bne _02085844
- ldrb r1, [r5, #0xf]
- ldr r0, [r4, #0x10]
- strb r1, [r0, #0xf]
-_02085844:
- ldr r1, [r4, #0x10]
- ldrb r0, [r1, #0xf]
- cmp r0, #0xc
- blo _02085850
- mov r0, #0x0
- strb r0, [r1, #0xf]
-_02085850:
- ldrh r1, [r5, #0x0]
- ldr r0, [r4, #0x10]
- strh r1, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0208585C
-FUN_0208585C: ; 0x0208585C
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0200628C
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- bls _02085878
- b _02085990
-_02085878:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02085884: ; jump table (using 16-bit offset)
- .short _0208588E - _02085884 - 2; case 0
- .short _020858A6 - _02085884 - 2; case 1
- .short _020858D2 - _02085884 - 2; case 2
- .short _02085900 - _02085884 - 2; case 3
- .short _0208595E - _02085884 - 2; case 4
-_0208588E:
- ldrh r1, [r6, #0x0]
- ldr r0, [r4, #0x10]
- strh r1, [r0, #0x0]
- ldr r0, _02085994 ; =0x020FCAA8
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0x0]
- bl FUN_02006234
- str r0, [r4, #0xc]
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _02085990
-_020858A6:
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_020857D4
- cmp r0, #0x0
- beq _02085990
- ldr r0, [r4, #0x10]
- ldrh r1, [r0, #0x0]
- cmp r1, #0x3
- beq _020858C6
- ldr r0, _02085998 ; =0x0000FFFF
- cmp r1, r0
- bne _020858CC
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02085990
-_020858C6:
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02085990
-_020858CC:
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _02085990
-_020858D2:
- ldrh r0, [r6, #0x0]
- cmp r0, #0x1
- bne _020858FC
- ldr r1, [r4, #0x10]
- ldrh r0, [r1, #0x0]
- cmp r0, #0x3
- bne _020858F8
- ldr r0, [r6, #0x14]
- bl FUN_020857A4
- ldr r0, [r6, #0x10]
- bl FUN_02029FC8
- mov r1, #0x2
- bl FUN_0202A170
- mov r0, #0x1
- str r0, [r6, #0x4]
- b _020858FC
-_020858F8:
- mov r0, #0x0
- str r0, [r6, #0x4]
-_020858FC:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02085900:
- ldr r2, [r6, #0x10]
- ldr r3, [r4, #0x0]
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_02085338
- str r0, [r4, #0x8]
- ldr r0, [r4, #0x10]
- add r1, r0, #0x0
- ldrb r0, [r0, #0x2]
- add r1, #0x1a
- lsl r0, r0, #0x3
- add r0, r1, r0
- bl FUN_0201385C
- cmp r0, #0x0
- beq _02085938
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- add r2, r1, #0x0
- ldrb r1, [r1, #0x2]
- add r2, #0x1a
- add r0, #0x14
- lsl r1, r1, #0x3
- add r1, r2, r1
- bl FUN_02013960
- b _02085942
-_02085938:
- add r0, r4, #0x0
- add r0, #0x14
- mov r1, #0x3
- bl FUN_0201373C
-_02085942:
- add r1, r4, #0x0
- ldr r0, [r4, #0x8]
- add r1, #0x14
- bl FUN_020853BC
- ldr r0, _0208599C ; =0x020FCAB8
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x0]
- bl FUN_02006234
- str r0, [r4, #0xc]
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02085990
-_0208595E:
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_020857D4
- cmp r0, #0x0
- beq _02085990
- ldr r0, [r4, #0x8]
- bl FUN_020853E4
- cmp r0, #0x0
- bne _02085986
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0x8]
- add r2, r1, #0x0
- ldrb r1, [r1, #0x2]
- add r2, #0x1a
- lsl r1, r1, #0x3
- add r1, r2, r1
- bl FUN_020853FC
-_02085986:
- ldr r0, [r4, #0x8]
- bl FUN_020853A8
- mov r0, #0x0
- str r0, [r5, #0x0]
-_02085990:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02085994: .word 0x020FCAA8
-_02085998: .word 0x0000FFFF
-_0208599C: .word 0x020FCAB8
-
- thumb_func_start FUN_020859A0
-FUN_020859A0: ; 0x020859A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_0208578C
- add r0, r5, #0x0
- bl FUN_0200627C
- ldr r0, [r4, #0x0]
- bl FUN_020168D0
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020859C0
-FUN_020859C0: ; 0x020859C0
- push {r3-r7, lr}
- mov r2, #0x2
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x35
- lsl r2, r2, #0x12
- bl FUN_0201681C
- mov r0, #0x35
- bl MOD62_02230F3C
- bl MOD62_0222F7E0
- ldr r1, _02085BA0 ; =0x0000042C
- add r0, r5, #0x0
- mov r2, #0x35
- bl FUN_02006268
- ldr r2, _02085BA0 ; =0x0000042C
- mov r1, #0x0
- add r4, r0, #0x0
- bl memset
- bl MOD62_0222E2BC
- mov r1, #0x23
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- add r0, r5, #0x0
- bl FUN_0200628C
- str r0, [r4, #0x0]
- mov r0, #0x35
- bl FUN_020669C0
- ldr r1, _02085BA4 ; =0x00000428
- mov r2, #0xff
- str r0, [r4, r1]
- add r0, r4, #0x0
- add r0, #0xd4
- str r2, [r0, #0x0]
- mov r0, #0x0
- sub r1, #0x10
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x20]
- bl FUN_02029E0C
- asr r1, r0, #0x2
- lsr r1, r1, #0x1d
- add r1, r0, r1
- asr r0, r1, #0x3
- add r1, r0, #0x1
- ldr r0, _02085BA8 ; =0x0000041C
- str r1, [r4, r0]
- ldr r1, [r4, r0]
- cmp r1, #0xa
- ble _02085A38
- mov r1, #0xa
- str r1, [r4, r0]
-_02085A38:
- ldr r0, [r4, #0x0]
- bl FUN_02085D84
- mov r1, #0xf1
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- bl FUN_02085D84
- mov r1, #0xf2
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x20]
- bl FUN_02029CEC
- str r0, [r4, #0x64]
- mov r6, #0x0
- add r5, r4, #0x0
- mov r7, #0xff
-_02085A60:
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- ldr r0, [r0, #0x20]
- bl FUN_02029C8C
- str r7, [r5, #0x4]
- str r0, [r5, #0x8]
- add r6, r6, #0x1
- add r5, #0x8
- cmp r6, #0xc
- blt _02085A60
- mov r5, #0x0
- add r6, r5, #0x0
- mov r7, #0xa1
-_02085A7C:
- ldr r0, [r4, #0x0]
- add r0, r0, r6
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _02085A9A
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02085A9A
- lsl r0, r0, #0x3
- add r0, r4, r0
- sub r0, r0, #0x4
- str r5, [r0, #0x0]
-_02085A9A:
- add r5, r5, #0x1
- add r6, r6, #0x4
- cmp r5, #0x6
- blt _02085A7C
- mov r0, #0x35
- bl FUN_02016B94
- add r1, r4, #0x0
- add r1, #0xe4
- str r0, [r1, #0x0]
- mov r0, #0x40
- mov r1, #0x35
- bl FUN_0201C24C
- mov r0, #0x35
- bl FUN_02002FD0
- add r1, r4, #0x0
- add r1, #0xe8
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_020038F0
- add r0, r4, #0x0
- add r0, #0xe8
- mov r2, #0x2
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0x8
- mov r3, #0x35
- bl FUN_02003008
- add r0, r4, #0x0
- add r0, #0xe8
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r2, r1, #0x9
- mov r3, #0x35
- bl FUN_02003008
- add r0, r4, #0x0
- add r0, #0xe8
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r2, r1, #0x8
- mov r3, #0x35
- bl FUN_02003008
- add r0, r4, #0x0
- add r0, #0xe8
- mov r2, #0x2
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- lsl r2, r2, #0x8
- mov r3, #0x35
- bl FUN_02003008
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- bl MOD62_02230F80
- bl MOD62_0222E360
- mov r0, #0x35
- bl FUN_02006D98
- mov r1, #0x69
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x35
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_02014BF4
- mov r1, #0x97
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x24]
- bl FUN_02025084
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r4, #0x0
- add r0, #0xe4
- add r1, #0xe8
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- add r2, r5, #0x0
- bl MOD62_0222ED34
- add r0, r4, #0x0
- add r1, r4, #0x0
- add r0, #0xe4
- add r1, #0xe8
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- add r2, r5, #0x0
- bl MOD62_0222EDBC
- add r0, r4, #0x0
- add r0, #0xd4
- bl MOD62_0222E7E8
- bl FUN_0201CC08
- mov r0, #0x4
- bl FUN_0201CC24
- add r0, r4, #0x0
- bl MOD62_022300E4
- ldr r0, _02085BAC ; =0x022310CD
- add r1, r4, #0x0
- bl FUN_02015F10
- add r0, r4, #0x0
- bl MOD62_0222DD1C
- mov r1, #0x0
- mov r0, #0x3b
- add r2, r1, #0x0
- bl FUN_0200433C
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_02085BA0: .word 0x0000042C
-_02085BA4: .word 0x00000428
-_02085BA8: .word 0x0000041C
-_02085BAC: .word 0x022310CD
-
- thumb_func_start FUN_02085BB0
-FUN_02085BB0: ; 0x02085BB0
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_02006278
- ldr r1, [r5, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x0
- beq _02085BCA
- cmp r1, #0x1
- beq _02085BD8
- cmp r1, #0x2
- beq _02085BF6
- b _02085C02
-_02085BCA:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02085C02
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _02085C02
-_02085BD8:
- bl MOD12_0222F990
- cmp r0, #0x0
- bne _02085BE6
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02085C02
-_02085BE6:
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02006ED4
- bl MOD62_0222E3A0
- b _02085C02
-_02085BF6:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02085C02
- mov r0, #0x1
- pop {r3-r5, pc}
-_02085C02:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02085C08
-FUN_02085C08: ; 0x02085C08
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x8
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x8
- mov r1, #0x0
- bl FUN_0201E74C
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x5
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x6
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- mov r1, #0x7
- bl FUN_020178A0
- add r0, r4, #0x0
- add r0, #0xe4
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02003038
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02003038
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- bl FUN_02003038
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- bl FUN_02003038
- add r0, r4, #0x0
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- bl FUN_02002FEC
- mov r1, #0xf1
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- ldr r0, [r4, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02085D8C
- ldr r0, _02085D64 ; =0x00000428
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl MOD62_0222DAEC
- mov r0, #0x73
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0202212C
- mov r0, #0x69
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_020072E8
- mov r0, #0x97
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02014C28
- add r0, r4, #0x0
- bl MOD62_0222DD38
- add r0, r4, #0x0
- add r0, #0xd4
- bl MOD62_0222E874
- bl FUN_0201C29C
- mov r0, #0x23
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_020223BC
- mov r0, #0x35
- bl MOD62_02230F70
- add r0, r5, #0x0
- bl FUN_0200627C
- bl FUN_0201CD04
- mov r0, #0x35
- bl FUN_020168D0
- ldr r0, _02085D68 ; =SDK_OVERLAY_MODULE_08_ID
- bl UnloadOverlayByID
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02085D64: .word 0x00000428
-_02085D68: .word SDK_OVERLAY_MODULE_08_ID
-
- thumb_func_start FUN_02085D6C
-FUN_02085D6C: ; 0x02085D6C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, r1
- bge _02085D7C
- bl ErrorHandling
- mov r1, #0x0
-_02085D7C:
- lsl r0, r1, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x4]
- pop {r4, pc}
-
- thumb_func_start FUN_02085D84
-FUN_02085D84: ; 0x02085D84
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085D8C
-FUN_02085D8C: ; 0x02085D8C
- add r0, #0x2c
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085D94
-FUN_02085D94: ; 0x02085D94
- add r0, #0x2d
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085D9C
-FUN_02085D9C: ; 0x02085D9C
- add r0, #0x2d
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02085DA4
-FUN_02085DA4: ; 0x02085DA4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r5, #0x0
- ldr r7, [r6, #0x8]
- bl FUN_02046528
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x14]
- cmp r0, #0x6
- bls _02085DC2
- b _02085F38
-_02085DC2:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02085DCE: ; jump table (using 16-bit offset)
- .short _02085DDC - _02085DCE - 2; case 0
- .short _02085E38 - _02085DCE - 2; case 1
- .short _02085E48 - _02085DCE - 2; case 2
- .short _02085E66 - _02085DCE - 2; case 3
- .short _02085EA6 - _02085DCE - 2; case 4
- .short _02085F14 - _02085DCE - 2; case 5
- .short _02085F20 - _02085DCE - 2; case 6
-_02085DDC:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r6, #0x10]
- bl FUN_02029C80
- str r0, [r7, #0x20]
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_02085D8C
- ldr r0, [r6, #0x10]
- bl FUN_0206BB1C
- str r0, [r7, #0x1c]
- bl FUN_0206B9AC
- mov r4, #0x0
- str r0, [sp, #0x0]
- str r0, [r7, #0x0]
- cmp r0, #0x0
- ble _02085E1E
- add r5, r7, #0x0
-_02085E0A:
- ldr r0, [r7, #0x1c]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- str r0, [r5, #0x4]
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r0
- blt _02085E0A
-_02085E1E:
- cmp r4, #0x6
- bge _02085E32
- lsl r0, r4, #0x2
- add r1, r7, r0
- mov r0, #0x0
-_02085E28:
- add r4, r4, #0x1
- str r0, [r1, #0x4]
- add r1, r1, #0x4
- cmp r4, #0x6
- blt _02085E28
-_02085E32:
- mov r0, #0x1
- str r0, [r6, #0x14]
- b _02085F38
-_02085E38:
- ldr r1, _02085F40 ; =0x020FCAD8
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02046500
- mov r0, #0x2
- str r0, [r6, #0x14]
- b _02085F38
-_02085E48:
- ldr r0, [r6, #0x8]
- bl FUN_02085D94
- cmp r0, #0x0
- beq _02085E5A
- cmp r0, #0x1
- beq _02085E60
- bl ErrorHandling
-_02085E5A:
- mov r0, #0x5
- str r0, [r6, #0x14]
- b _02085F38
-_02085E60:
- mov r0, #0x3
- str r0, [r6, #0x14]
- b _02085F38
-_02085E66:
- ldr r4, [r6, #0xc]
- ldr r0, [r7, #0x1c]
- str r0, [r4, #0x0]
- ldr r0, [r6, #0x10]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- ldr r0, [r6, #0x10]
- bl FUN_02025838
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x22
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0xf
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [r7, #0x24]
- ldr r1, _02085F44 ; =0x020F96DC
- str r0, [r4, #0xc]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02046500
- mov r0, #0x4
- str r0, [r6, #0x14]
- b _02085F38
-_02085EA6:
- ldr r0, [r6, #0x8]
- ldr r4, [r6, #0xc]
- bl FUN_02085D84
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- add r4, #0x22
- ldrb r1, [r4, #0x0]
- cmp r1, #0x7
- beq _02085F0E
- ldr r0, [r6, #0x8]
- bl FUN_02085D6C
- mov r1, #0xa1
- add r2, sp, #0x8
- add r5, r0, #0x0
- bl FUN_02067830
- ldr r1, [sp, #0x8]
- ldr r0, [r7, #0x20]
- sub r1, r1, #0x1
- bl FUN_02029C8C
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xaa
- bl FUN_02067830
- ldr r1, [sp, #0x8]
- ldr r0, [r7, #0x20]
- sub r1, r1, #0x1
- bl FUN_02029C8C
- mov r1, #0x0
- bl FUN_02029CC8
- bl FUN_02029CE0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02085FD0
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- lsl r2, r4, #0x18
- add r1, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02061798
-_02085F0E:
- mov r0, #0x1
- str r0, [r6, #0x14]
- b _02085F38
-_02085F14:
- add r0, r5, #0x0
- bl FUN_0204AF84
- mov r0, #0x6
- str r0, [r6, #0x14]
- b _02085F38
-_02085F20:
- ldr r0, [r6, #0xc]
- bl FUN_02016A18
- ldr r0, [r6, #0x8]
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02085F38:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02085F40: .word 0x020FCAD8
-_02085F44: .word 0x020F96DC
-
- thumb_func_start FUN_02085F48
-FUN_02085F48: ; 0x02085F48
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r4, r0, #0x0
- add r2, r4, #0x0
- mov r1, #0x18
- mov r0, #0x0
-_02085F5E:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _02085F5E
- mov r0, #0xb
- mov r1, #0x30
- str r5, [r4, #0x10]
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x30
- str r0, [r4, #0x8]
- bl memset
- add r0, r5, #0x0
- bl LoadPlayerDataAddress
- ldr r1, [r4, #0x8]
- str r0, [r1, #0x24]
- ldr r0, [r4, #0x8]
- mov r1, #0x40
- str r5, [r0, #0x28]
- mov r0, #0xb
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- str r0, [r4, #0xc]
- bl memset
- ldr r1, _02085FA8 ; =FUN_02085DA4
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02085FA8: .word FUN_02085DA4
-
- thumb_func_start FUN_02085FAC
-FUN_02085FAC: ; 0x02085FAC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02085FC8 ; =0x0000032A
- cmp r4, r0
- blo _02085FBA
- bl ErrorHandling
-_02085FBA:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02085FCC ; =0x020FCAE8
- ldrh r0, [r0, r1]
- pop {r4, pc}
- nop
-_02085FC8: .word 0x0000032A
-_02085FCC: .word 0x020FCAE8
-
- thumb_func_start FUN_02085FD0
-FUN_02085FD0: ; 0x02085FD0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02085FEC ; =0x0000032A
- cmp r4, r0
- blo _02085FDE
- bl ErrorHandling
-_02085FDE:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02085FF0 ; =0x020FCAEA
- ldrb r0, [r0, r1]
- pop {r4, pc}
- nop
-_02085FEC: .word 0x0000032A
-_02085FF0: .word 0x020FCAEA
-
- thumb_func_start FUN_02085FF4
-FUN_02085FF4: ; 0x02085FF4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02086010 ; =0x0000032A
- cmp r4, r0
- blo _02086002
- bl ErrorHandling
-_02086002:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02086014 ; =0x020FCAEC
- ldrb r0, [r0, r1]
- pop {r4, pc}
- nop
-_02086010: .word 0x0000032A
-_02086014: .word 0x020FCAEC
-
- thumb_func_start FUN_02086018
-FUN_02086018: ; 0x02086018
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02086034 ; =0x0000032A
- cmp r4, r0
- blo _02086026
- bl ErrorHandling
-_02086026:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02086038 ; =0x020FCAED
- ldrb r0, [r0, r1]
- pop {r4, pc}
- nop
-_02086034: .word 0x0000032A
-_02086038: .word 0x020FCAED
-
- thumb_func_start FUN_0208603C
-FUN_0208603C: ; 0x0208603C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02086058 ; =0x0000032A
- cmp r4, r0
- blo _0208604A
- bl ErrorHandling
-_0208604A:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _0208605C ; =0x020FCAEE
- ldrh r0, [r0, r1]
- pop {r4, pc}
- nop
-_02086058: .word 0x0000032A
-_0208605C: .word 0x020FCAEE
-
- thumb_func_start FUN_02086060
-FUN_02086060: ; 0x02086060
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0208607C ; =0x0000032A
- cmp r4, r0
- blo _0208606E
- bl ErrorHandling
-_0208606E:
- mov r0, #0xa
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02086080 ; =0x020FCAF0
- ldrb r0, [r0, r1]
- pop {r4, pc}
- nop
-_0208607C: .word 0x0000032A
-_02086080: .word 0x020FCAF0
-
- thumb_func_start FUN_02086084
-FUN_02086084: ; 0x02086084
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- bl FUN_02015F1C
- mov r2, #0x1
- mov r0, #0x3
- mov r1, #0x47
- lsl r2, r2, #0x12
- bl FUN_0201681C
- add r0, r5, #0x0
- mov r1, #0x80
- mov r2, #0x47
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x80
- add r4, r0, #0x0
- bl memset
- add r0, r5, #0x0
- bl FUN_0200628C
- str r0, [r4, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02024FF4
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02025084
- str r0, [r4, #0x14]
- bl FUN_02086468
- str r0, [r4, #0x38]
- mov r0, #0x47
- bl FUN_02006D98
- str r0, [r4, #0x3c]
- mov r0, #0x47
- bl FUN_02016B94
- str r0, [r4, #0x4]
- mov r0, #0x40
- mov r1, #0x47
- bl FUN_0201C24C
- mov r0, #0x47
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_02014BF4
- str r0, [r4, #0x54]
- mov r0, #0x47
- bl FUN_02002FD0
- str r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_020038F0
- mov r2, #0x2
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- lsl r2, r2, #0x8
- mov r3, #0x47
- bl FUN_02003008
- mov r1, #0x2
- ldr r0, [r4, #0x8]
- lsl r2, r1, #0x8
- mov r3, #0x47
- bl FUN_02003008
- mov r1, #0x1
- ldr r0, [r4, #0x8]
- lsl r2, r1, #0x9
- mov r3, #0x47
- bl FUN_02003008
- mov r2, #0x2
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- lsl r2, r2, #0x8
- mov r3, #0x47
- bl FUN_02003008
- bl FUN_02086414
- bl FUN_0208643C
- bl FUN_0208650C
- ldr r0, [r4, #0x4]
- bl FUN_0208654C
- add r0, r4, #0x4
- bl FUN_02086E48
- bl FUN_0200541C
- ldr r0, _02086164 ; =FUN_02086664
- add r1, r4, #0x0
- bl FUN_02015F10
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02086164: .word FUN_02086664
-
- thumb_func_start FUN_02086168
-FUN_02086168: ; 0x02086168
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_02006278
- ldr r1, [r5, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x0
- beq _0208617E
- cmp r1, #0x1
- beq _020861AA
- b _020861C6
-_0208617E:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0208618C
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
-_0208618C:
- ldr r0, [r4, #0x0]
- mov r1, #0x5
- ldr r0, [r0, #0xc]
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020861D8 ; =0x000001EA
- cmp r0, r1
- bne _020861A4
- mov r0, #0x1
- str r0, [r4, #0x58]
- b _020861D2
-_020861A4:
- mov r0, #0x0
- str r0, [r4, #0x58]
- b _020861D2
-_020861AA:
- bl FUN_02086FA8
- cmp r0, #0x0
- bne _020861BA
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _020861D2
-_020861BA:
- ldr r0, [r4, #0x3c]
- bl FUN_02006ED4
- bl FUN_02086698
- b _020861D2
-_020861C6:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _020861D2
- mov r0, #0x1
- pop {r3-r5, pc}
-_020861D2:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_020861D8: .word 0x000001EA
-
- thumb_func_start FUN_020861DC
-FUN_020861DC: ; 0x020861DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_020223BC
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x3
- mov r1, #0x0
- bl FUN_0201E6E4
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_0201E74C
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- bl FUN_02003038
- ldr r0, [r4, #0x8]
- mov r1, #0x2
- bl FUN_02003038
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_02003038
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- bl FUN_02003038
- ldr r0, [r4, #0x8]
- bl FUN_02002FEC
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- bl FUN_020178A0
- ldr r0, [r4, #0x4]
- mov r1, #0x2
- bl FUN_020178A0
- ldr r0, [r4, #0x4]
- mov r1, #0x3
- bl FUN_020178A0
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- bl FUN_020178A0
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- bl FUN_0201C29C
- ldr r0, [r4, #0x3c]
- bl FUN_020072E8
- ldr r0, [r4, #0x54]
- bl FUN_02014C28
- add r0, r4, #0x4
- bl FUN_02086ED4
- add r0, r5, #0x0
- bl FUN_0200627C
- mov r0, #0x47
- bl FUN_020168D0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02086280
-FUN_02086280: ; 0x02086280
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x6
- bls _02086294
- b _020863CE
-_02086294:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020862A0: ; jump table (using 16-bit offset)
- .short _020862AE - _020862A0 - 2; case 0
- .short _020862C4 - _020862A0 - 2; case 1
- .short _020862D6 - _020862A0 - 2; case 2
- .short _0208633A - _020862A0 - 2; case 3
- .short _02086396 - _020862A0 - 2; case 4
- .short _020863B6 - _020862A0 - 2; case 5
- .short _020863C4 - _020862A0 - 2; case 6
-_020862AE:
- ldr r0, [r4, #0xc]
- mov r1, #0xb
- bl MOD05_021ED940
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020863CE
-_020862C4:
- ldr r1, _020863D4 ; =0x020FCE14
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020863CE
-_020862D6:
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r5, [r4, #0xc]
- bl FUN_020377AC
- bl FUN_020238F4
- add r7, r0, #0x0
- ldr r0, [r6, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x4c
- add r2, sp, #0x8
- bl FUN_02067830
- mov r0, #0xb
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x6
- bl FUN_0208089C
- add r0, r5, #0x0
- mov r1, #0xb2
- mov r2, #0x0
- bl FUN_02067830
- add r0, r6, #0x0
- bl FUN_020377AC
- ldr r1, [r4, #0xc]
- bl FUN_0202C144
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _02086334
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _020863CE
-_02086334:
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _020863CE
-_0208633A:
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020377AC
- bl LoadPlayerDataAddress
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r1, #0x1
- add r2, r7, #0x0
- mov r3, #0xa
- bl FUN_02077A84
- str r0, [r4, #0x8]
- ldr r0, [r4, #0xc]
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [r4, #0x8]
- mov r2, #0x0
- str r0, [r1, #0x10]
- ldr r0, [r4, #0xc]
- mov r1, #0x70
- bl FUN_020671BC
- ldr r1, [r4, #0x8]
- str r0, [r1, #0x8]
- ldr r1, _020863D8 ; =0x020FA5FC
- ldr r2, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020863CE
-_02086396:
- ldr r2, [r4, #0x8]
- ldr r0, [r2, #0x14]
- cmp r0, #0x0
- bne _020863A8
- ldr r0, [r4, #0xc]
- ldr r2, [r2, #0x18]
- mov r1, #0x77
- bl FUN_02067830
-_020863A8:
- ldr r0, [r4, #0x8]
- bl FUN_02077AC4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020863CE
-_020863B6:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020863CE
-_020863C4:
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_020863CE:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_020863D4: .word 0x020FCE14
-_020863D8: .word 0x020FA5FC
-
- thumb_func_start FUN_020863DC
-FUN_020863DC: ; 0x020863DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r2, r0, #0x0
- add r3, r2, #0x0
- mov r1, #0x1c
- mov r0, #0x0
-_020863F2:
- strb r0, [r3, #0x0]
- add r3, r3, #0x1
- sub r1, r1, #0x1
- bne _020863F2
- add r3, r2, #0x0
- add r3, #0xc
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r1, _02086410 ; =FUN_02086280
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- .balign 4
-_02086410: .word FUN_02086280
-
- thumb_func_start FUN_02086414
-FUN_02086414: ; 0x02086414
- push {r3, lr}
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02086434 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _02086438 ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- pop {r3, pc}
- .balign 4
-_02086434: .word 0xFFFFE0FF
-_02086438: .word 0x04001000
-
- thumb_func_start FUN_0208643C
-FUN_0208643C: ; 0x0208643C
- push {r3, lr}
- mov r0, #0x7
- str r0, [sp, #0x0]
- ldr r0, _02086460 ; =0x04000050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xb
- bl G2x_SetBlendAlpha_
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, _02086464 ; =0x04001050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0x7
- bl G2x_SetBlendAlpha_
- pop {r3, pc}
- .balign 4
-_02086460: .word 0x04000050
-_02086464: .word 0x04001050
-
- thumb_func_start FUN_02086468
-FUN_02086468: ; 0x02086468
- push {r3, lr}
- sub sp, #0x8
- mov r2, #0x2
- mov r1, #0x0
- ldr r0, _02086484 ; =FUN_02086488
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x47
- add r3, r1, #0x0
- bl FUN_02022318
- add sp, #0x8
- pop {r3, pc}
- nop
-_02086484: .word FUN_02086488
-
- thumb_func_start FUN_02086488
-FUN_02086488: ; 0x02086488
- push {r3, lr}
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r0, _020864F4 ; =0x04000008
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strh r1, [r0, #0x0]
- add r0, #0x58
- ldrh r2, [r0, #0x0]
- ldr r1, _020864F8 ; =0xFFFFCFFD
- and r2, r1
- strh r2, [r0, #0x0]
- add r2, r1, #0x2
- ldrh r3, [r0, #0x0]
- add r1, r1, #0x2
- and r3, r2
- mov r2, #0x10
- orr r2, r3
- strh r2, [r0, #0x0]
- ldrh r3, [r0, #0x0]
- ldr r2, _020864FC ; =0x0000CFFB
- and r3, r2
- strh r3, [r0, #0x0]
- ldrh r3, [r0, #0x0]
- sub r2, #0x1c
- and r3, r1
- mov r1, #0x8
- orr r1, r3
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- and r1, r2
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl G3X_SetFog
- mov r0, #0x0
- ldr r2, _02086500 ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- bl G3X_SetClearColor
- ldr r1, _02086504 ; =0xBFFF0000
- ldr r0, _02086508 ; =0x04000580
- str r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_020864F4: .word 0x04000008
-_020864F8: .word 0xFFFFCFFD
-_020864FC: .word 0x0000CFFB
-_02086500: .word 0x00007FFF
-_02086504: .word 0xBFFF0000
-_02086508: .word 0x04000580
-
- thumb_func_start FUN_0208650C
-FUN_0208650C: ; 0x0208650C
- push {r3-r5, lr}
- ldr r3, _02086544 ; =0x021064B8
- mov r0, #0x2
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- lsl r0, r0, #0xe
- add r2, r1, #0x0
- blx r3
- ldr r3, _02086548 ; =0x021064C0
- mov r1, #0x0
- add r4, r0, #0x0
- ldr r3, [r3, #0x0]
- mov r0, #0x80
- add r2, r1, #0x0
- blx r3
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _02086534
- bl ErrorHandling
-_02086534:
- cmp r5, #0x0
- bne _0208653C
- bl ErrorHandling
-_0208653C:
- bl FUN_02012CC8
- pop {r3-r5, pc}
- nop
-_02086544: .word 0x021064B8
-_02086548: .word 0x021064C0
-
- thumb_func_start FUN_0208654C
-FUN_0208654C: ; 0x0208654C
- push {r3-r5, lr}
- sub sp, #0xa8
- add r4, r0, #0x0
- bl FUN_0201E6D8
- ldr r5, _02086650 ; =0x020FCEBC
- add r3, sp, #0x2c
- mov r2, #0x5
-_0208655C:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0208655C
- add r0, sp, #0x2c
- bl FUN_0201E66C
- mov r1, #0x6
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x18
- lsl r2, r2, #0x12
- bl MIi_CpuClear32
- mov r1, #0x62
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- bl MIi_CpuClear32
- mov r1, #0x19
- mov r2, #0x1
- mov r0, #0x0
- lsl r1, r1, #0x16
- lsl r2, r2, #0x12
- bl MIi_CpuClear32
- mov r1, #0x66
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- bl MIi_CpuClear32
- ldr r5, _02086654 ; =0x020FCE24
- add r3, sp, #0x1c
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _02086658 ; =0x020FCF84
- add r3, sp, #0x54
- mov r2, #0xa
-_020865BC:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _020865BC
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- add r2, sp, #0x54
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x2
- add r2, sp, #0x70
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x3
- add r2, sp, #0x8c
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02018744
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02018744
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02018744
- ldr r1, _0208665C ; =0x04000008
- mov r0, #0x3
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x1
- orr r2, r0
- strh r2, [r1, #0x0]
- add r1, r0, #0x0
- bl FUN_0201E6E4
- bl FUN_0201E788
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- ldr r5, _02086660 ; =0x020FCE60
- add r3, sp, #0x0
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x4
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- bl FUN_02016C18
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02018744
- add sp, #0xa8
- pop {r3-r5, pc}
- .balign 4
-_02086650: .word 0x020FCEBC
-_02086654: .word 0x020FCE24
-_02086658: .word 0x020FCF84
-_0208665C: .word 0x04000008
-_02086660: .word 0x020FCE60
-
- thumb_func_start FUN_02086664
-FUN_02086664: ; 0x02086664
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x3c]
- bl FUN_020081C4
- bl FUN_0201C30C
- bl FUN_0200BC30
- ldr r0, [r4, #0x8]
- bl FUN_0200372C
- ldr r0, [r4, #0x4]
- bl FUN_0201AB60
- ldr r3, _02086690 ; =0x027E0000
- ldr r1, _02086694 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- pop {r4, pc}
- .balign 4
-_02086690: .word 0x027E0000
-_02086694: .word 0x00003FF8
-
- thumb_func_start FUN_02086698
-FUN_02086698: ; 0x02086698
- push {r3, lr}
- bl FUN_020222AC
- bl FUN_02013364
- cmp r0, #0x0
- ble _020866AE
- bl FUN_020222AC
- bl FUN_020B02C8
-_020866AE:
- bl FUN_02013388
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020222B4
- pop {r3, pc}
-
- thumb_func_start FUN_020866BC
-FUN_020866BC: ; 0x020866BC
- push {lr}
- sub sp, #0xc
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x47
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- add sp, #0xc
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_020866DC
-FUN_020866DC: ; 0x020866DC
- push {lr}
- sub sp, #0xc
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x47
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_020866FC
-FUN_020866FC: ; 0x020866FC
- push {r3-r6, lr}
- sub sp, #0xc
- add r6, r2, #0x0
- add r4, r1, #0x0
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- mov r1, #0x47
- str r1, [sp, #0x4]
- mov r1, #0x1
- mov r2, #0x14
- mov r3, #0xf
- add r5, r0, #0x0
- bl FUN_0200CD68
- add r0, r6, #0x0
- bl FUN_0200CD64
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xc0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x26
- mov r3, #0x47
- bl FUN_020030E8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x47
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x32
- mov r3, #0xd
- bl FUN_0200CB00
- bl FUN_0200CAFC
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xd0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x26
- mov r3, #0x47
- bl FUN_020030E8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xe0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0xe
- mov r2, #0x7
- mov r3, #0x47
- bl FUN_020030E8
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02086784
-FUN_02086784: ; 0x02086784
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r1, #0x0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0201901C
- ldr r0, [sp, #0x28]
- lsl r2, r4, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- lsl r3, r6, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x30]
- add r1, r5, #0x0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x38]
- lsr r2, r2, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x34]
- lsr r3, r3, #0x18
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_02019064
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0x14
- mov r3, #0xc
- bl FUN_0200D0BC
- add r0, r5, #0x0
- mov r1, #0xf
- bl FUN_02019620
- add r0, r5, #0x0
- bl FUN_020191D0
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020867EC
-FUN_020867EC: ; 0x020867EC
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r1, #0x0
- mov r1, #0xf
- str r0, [sp, #0xc]
- str r2, [sp, #0x10]
- add r6, r3, #0x0
- bl FUN_02019620
- ldr r2, _02086874 ; =0x0000013F
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0x47
- bl FUN_0200A86C
- add r7, r0, #0x0
- mov r0, #0x47
- bl FUN_0200AA80
- add r5, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0200A914
- str r0, [sp, #0x14]
- mov r0, #0xff
- mov r1, #0x47
- bl FUN_020219F4
- add r4, r0, #0x0
- ldr r0, [sp, #0x10]
- bl FUN_020690E4
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200AC60
- ldr r2, [sp, #0x14]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200B7B8
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- ldr r0, [sp, #0xc]
- mov r1, #0x1
- add r2, r4, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x14]
- bl FUN_02021A20
- add r0, r5, #0x0
- bl FUN_0200AB18
- add r0, r6, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_02086874: .word 0x0000013F
-
- thumb_func_start FUN_02086878
-FUN_02086878: ; 0x02086878
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r6, r1, #0x0
- str r2, [sp, #0x14]
- add r4, r3, #0x0
- bl FUN_0201901C
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x38]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x40]
- lsl r2, r4, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x44]
- lsl r3, r3, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4c]
- ldr r1, [sp, #0x14]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x48]
- lsr r2, r2, #0x18
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- lsr r3, r3, #0x18
- bl FUN_02019064
- mov r0, #0x2
- mov r1, #0x47
- bl FUN_02012838
- str r0, [r5, #0x44]
- ldr r2, _0208695C ; =0x0000013F
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0x47
- bl FUN_0200A86C
- add r7, r0, #0x0
- mov r4, #0x0
-_020868DE:
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_0200A914
- add r6, r0, #0x0
- ldr r0, [r5, #0x44]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_020128A0
- add r0, r6, #0x0
- bl FUN_02021A20
- add r4, r4, #0x1
- cmp r4, #0x2
- blt _020868DE
- add r0, r7, #0x0
- bl FUN_0200A8B8
- ldr r0, [r5, #0x44]
- mov r1, #0x0
- str r0, [sp, #0x18]
- add r0, sp, #0x18
- strb r1, [r0, #0x8]
- ldr r1, [sp, #0x14]
- mov r2, #0x2
- str r1, [sp, #0x1c]
- mov r1, #0x1
- strb r1, [r0, #0x9]
- strb r2, [r0, #0xa]
- ldrb r3, [r0, #0xb]
- mov r2, #0xf
- bic r3, r2
- strb r3, [r0, #0xb]
- ldrb r3, [r0, #0xb]
- mov r2, #0x30
- bic r3, r2
- strb r3, [r0, #0xb]
- ldrb r3, [r0, #0xb]
- mov r2, #0xc0
- bic r3, r2
- mov r2, #0x40
- orr r2, r3
- strb r2, [r0, #0xb]
- ldr r0, [sp, #0x14]
- mov r2, #0x32
- mov r3, #0xd
- bl FUN_0200CCA4
- mov r0, #0x47
- str r0, [sp, #0x0]
- mov r0, #0x2
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x18
- mov r1, #0x8
- add r3, r2, #0x0
- bl FUN_02001C14
- str r0, [r5, #0x48]
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0208695C: .word 0x0000013F
-
- thumb_func_start FUN_02086960
-FUN_02086960: ; 0x02086960
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x28
- mov r1, #0x1
- bl FUN_0200CCF8
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_02019570
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_02019178
- ldr r0, [r4, #0x48]
- mov r1, #0x0
- bl FUN_02001C5C
- ldr r0, [r4, #0x44]
- bl FUN_02012870
- pop {r4, pc}
-
- thumb_func_start FUN_0208698C
-FUN_0208698C: ; 0x0208698C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02019570
- add r0, r4, #0x0
- bl FUN_02019178
- pop {r4, pc}
-
- thumb_func_start FUN_0208699C
-FUN_0208699C: ; 0x0208699C
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- mov r1, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x47
- str r0, [sp, #0xc]
- mov r0, #0x76
- add r2, r5, #0x0
- mov r3, #0x3
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x1
- str r1, [sp, #0x8]
- mov r0, #0x47
- str r0, [sp, #0xc]
- mov r0, #0x76
- add r2, r5, #0x0
- mov r3, #0x3
- bl FUN_020068C8
- mov r1, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x40
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x76
- mov r2, #0x8
- mov r3, #0x47
- bl FUN_020030E8
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020869F0
-FUN_020869F0: ; 0x020869F0
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x47
- add r4, r1, #0x0
- str r0, [sp, #0xc]
- mov r0, #0xc
- mov r1, #0xa
- add r2, r5, #0x0
- mov r3, #0x4
- bl FUN_0200687C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x47
- str r0, [sp, #0xc]
- mov r0, #0xc
- mov r1, #0xb
- add r2, r5, #0x0
- mov r3, #0x4
- bl FUN_020068C8
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0xc
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- add r2, r1, #0x0
- mov r3, #0x47
- bl FUN_020030E8
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02086A48
-FUN_02086A48: ; 0x02086A48
- push {r4, lr}
- ldr r3, _02086A60 ; =0x021064B8
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- add r4, r0, #0x0
- bl FUN_0201327C
- lsl r0, r4, #0x10
- lsr r0, r0, #0xd
- pop {r4, pc}
- nop
-_02086A60: .word 0x021064B8
-
- thumb_func_start FUN_02086A64
-FUN_02086A64: ; 0x02086A64
- push {r4, lr}
- ldr r3, _02086A7C ; =0x021064C0
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- add r4, r0, #0x0
- bl FUN_020132BC
- lsl r0, r4, #0x10
- lsr r0, r0, #0xd
- pop {r4, pc}
- nop
-_02086A7C: .word 0x021064C0
-
- thumb_func_start FUN_02086A80
-FUN_02086A80: ; 0x02086A80
- push {r4, lr}
- sub sp, #0x8
- mov r1, #0x12
- lsl r1, r1, #0xa
- add r4, r0, #0x0
- bl FUN_02016998
- add r2, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r3, #0x12
- ldr r0, _02086AC0 ; =FUN_02086A48
- ldr r1, _02086AC4 ; =FUN_02086A64
- lsl r3, r3, #0xa
- str r4, [sp, #0x4]
- bl FUN_02012CDC
- add r4, r0, #0x0
- bl FUN_0201343C
- add r2, r0, #0x0
- beq _02086AB8
- mov r0, #0x1
- mov r1, #0xe1
- lsl r0, r0, #0xc
- lsl r1, r1, #0xe
- bl FUN_0201EC94
-_02086AB8:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4, pc}
- nop
-_02086AC0: .word FUN_02086A48
-_02086AC4: .word FUN_02086A64
-
- thumb_func_start FUN_02086AC8
-FUN_02086AC8: ; 0x02086AC8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02086A80
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0201318C
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0xa
- mov r3, #0x1
- bl FUN_02013194
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02086AF0
-FUN_02086AF0: ; 0x02086AF0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020133E8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02012DE4
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02086B08
-FUN_02086B08: ; 0x02086B08
- push {r3}
- sub sp, #0xc
- add r2, sp, #0x0
- mov r1, #0x0
- str r1, [r2, #0x0]
- str r1, [r2, #0x4]
- str r1, [r2, #0x8]
- ldr r1, [r0, #0x20]
- ldr r2, [sp, #0x0]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x4]
- add r1, r2, r1
- str r1, [r0, #0x28]
- ldr r1, [r0, #0x20]
- ldr r2, [sp, #0x4]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x8]
- add r1, r2, r1
- str r1, [r0, #0x2c]
- ldr r1, [r0, #0x20]
- ldr r2, [sp, #0x8]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0xc]
- add r1, r2, r1
- str r1, [r0, #0x30]
- add sp, #0xc
- pop {r3}
- bx lr
-
- thumb_func_start FUN_02086B40
-FUN_02086B40: ; 0x02086B40
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02086B54
- bl ErrorHandling
-_02086B54:
- ldr r0, [r5, #0x0]
- ldr r2, [r5, #0x4]
- mov r1, #0x77
- str r0, [r4, #0x0]
- str r2, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_02086AC8
- mov r1, #0x1
- str r0, [r4, #0xc]
- bl FUN_02013440
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02086B70
-FUN_02086B70: ; 0x02086B70
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r2, _02086B88 ; =FUN_02086B08
- add r3, r4, #0x0
- bl FUN_020133AC
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- bl FUN_02013440
- pop {r4, pc}
- .balign 4
-_02086B88: .word FUN_02086B08
-
- thumb_func_start FUN_02086B8C
-FUN_02086B8C: ; 0x02086B8C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020133C8
- cmp r0, #0x0
- beq _02086B9C
- mov r0, #0x1
- pop {r3, pc}
-_02086B9C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02086BA0
-FUN_02086BA0: ; 0x02086BA0
- ldr r3, _02086BA4 ; =FUN_02016A18
- bx r3
- .balign 4
-_02086BA4: .word FUN_02016A18
-
- thumb_func_start FUN_02086BA8
-FUN_02086BA8: ; 0x02086BA8
- push {r4-r6, lr}
- sub sp, #0x38
- ldr r3, _02086C8C ; =0x020FCE9C
- add r2, sp, #0x18
- add r6, r0, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r5, [r6, #0x4c]
- ldr r4, [r6, #0x50]
- ldr r6, [r6, #0x8]
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02086C90 ; =0x00004E20
- add r1, r5, #0x0
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x18]
- add r0, r4, #0x0
- mov r2, #0x76
- bl FUN_0200C00C
- mov r0, #0x76
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- mov r1, #0x2
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, _02086C94 ; =0x00004E21
- add r2, r4, #0x0
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- add r3, r5, #0x0
- bl FUN_0200C0DC
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02086C98 ; =0x00004E22
- add r1, r5, #0x0
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x20]
- add r0, r4, #0x0
- mov r2, #0x76
- bl FUN_0200C124
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02086C9C ; =0x00004E23
- add r1, r5, #0x0
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x24]
- add r0, r4, #0x0
- mov r2, #0x76
- bl FUN_0200C13C
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02086CA0 ; =0x000061A8
- add r1, r5, #0x0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r2, #0x76
- mov r3, #0x7
- bl FUN_0200C00C
- mov r0, #0x76
- str r0, [sp, #0x0]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, _02086CA4 ; =0x000061A9
- mov r1, #0x2
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- add r2, r4, #0x0
- add r3, r5, #0x0
- bl FUN_0200C0DC
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02086CA8 ; =0x000061AA
- add r1, r5, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r2, #0x76
- mov r3, #0x6
- bl FUN_0200C124
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02086CAC ; =0x000061AB
- add r1, r5, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r2, #0x76
- mov r3, #0x5
- bl FUN_0200C13C
- add sp, #0x38
- pop {r4-r6, pc}
- .balign 4
-_02086C8C: .word 0x020FCE9C
-_02086C90: .word 0x00004E20
-_02086C94: .word 0x00004E21
-_02086C98: .word 0x00004E22
-_02086C9C: .word 0x00004E23
-_02086CA0: .word 0x000061A8
-_02086CA4: .word 0x000061A9
-_02086CA8: .word 0x000061AA
-_02086CAC: .word 0x000061AB
-
- thumb_func_start FUN_02086CB0
-FUN_02086CB0: ; 0x02086CB0
- push {r3-r4, lr}
- sub sp, #0x34
- add r4, r0, #0x0
- mov r1, #0x80
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- mov r1, #0x78
- strh r1, [r0, #0x2]
- mov r1, #0x0
- strh r1, [r0, #0x4]
- strh r1, [r0, #0x6]
- mov r0, #0x1
- mov r2, #0x2
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- str r1, [sp, #0x30]
- ldr r1, _02086D4C ; =0x00004E20
- str r0, [sp, #0x10]
- add r0, r1, #0x1
- str r0, [sp, #0x18]
- add r0, r1, #0x2
- str r0, [sp, #0x1c]
- add r0, r1, #0x3
- str r0, [sp, #0x20]
- sub r0, r2, #0x3
- str r2, [sp, #0x2c]
- str r1, [sp, #0x14]
- str r0, [sp, #0x24]
- str r0, [sp, #0x28]
- ldr r0, [r4, #0x50]
- ldr r1, [r4, #0x4c]
- add r2, sp, #0x0
- bl FUN_0200C154
- str r0, [r4, #0x6c]
- bl FUN_0200C5A8
- ldr r0, [r4, #0x6c]
- mov r1, #0x2
- bl FUN_0200C840
- mov r2, #0x0
- add r0, sp, #0x0
- add r1, r2, #0x0
- strh r2, [r0, #0x0]
- sub r1, #0x10
- strh r1, [r0, #0x2]
- ldr r1, _02086D50 ; =0x000061A8
- str r2, [sp, #0x2c]
- add r0, r1, #0x1
- str r0, [sp, #0x18]
- add r0, r1, #0x2
- str r0, [sp, #0x1c]
- add r0, r1, #0x3
- str r1, [sp, #0x14]
- str r0, [sp, #0x20]
- ldr r0, [r4, #0x50]
- ldr r1, [r4, #0x4c]
- add r2, sp, #0x0
- bl FUN_0200C154
- str r0, [r4, #0x70]
- bl FUN_0200C5A8
- mov r1, #0x90
- add r0, sp, #0x0
- strh r1, [r0, #0x2]
- ldr r0, [r4, #0x50]
- ldr r1, [r4, #0x4c]
- add r2, sp, #0x0
- bl FUN_0200C154
- str r0, [r4, #0x74]
- bl FUN_0200C5A8
- add sp, #0x34
- pop {r3-r4, pc}
- nop
-_02086D4C: .word 0x00004E20
-_02086D50: .word 0x000061A8
-
- thumb_func_start FUN_02086D54
-FUN_02086D54: ; 0x02086D54
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r4, r6, #0x0
- ldr r1, [r6, #0x78]
- add r4, #0x78
- cmp r1, #0x0
- bne _02086DE6
- ldr r0, [r4, #0x4]
- cmp r0, #0xa
- blt _02086D74
- add r0, r1, #0x1
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- b _02086DE6
-_02086D74:
- mov r1, #0x14
- add r3, r7, #0x0
- mul r3, r1
- ldr r1, _02086DF4 ; =0x020FCEE4
- lsl r2, r0, #0x1
- add r1, r1, r3
- ldrsh r1, [r2, r1]
- lsl r0, r0, #0x2
- mov r5, #0x0
- mov r12, r1
- ldr r1, _02086DF8 ; =0x020FCF34
- add r1, r1, r3
- ldrsh r2, [r2, r1]
- mov r1, #0x28
- add r3, r7, #0x0
- mul r3, r1
- ldr r1, _02086DFC ; =0x020FCFD8
- add r1, r1, r3
- ldr r7, [r0, r1]
- ldr r1, _02086E00 ; =0x020FD078
- add r1, r1, r3
- ldr r0, [r0, r1]
- str r0, [sp, #0x0]
- mov r0, r12
- cmp r0, #0xff
- bne _02086DAC
- mov r12, r5
- add r5, r5, #0x1
-_02086DAC:
- cmp r2, #0xff
- bne _02086DB4
- mov r2, #0x0
- add r5, r5, #0x1
-_02086DB4:
- ldr r0, [r6, #0x6c]
- mov r1, r12
- bl FUN_0200C82C
- mov r0, #0x0
- add r1, r7, #0x0
- bl _feq
- beq _02086DD2
- ldr r0, [r6, #0x6c]
- ldr r2, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0200C884
- b _02086DD4
-_02086DD2:
- add r5, r5, #0x1
-_02086DD4:
- cmp r5, #0x3
- beq _02086DE0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02086DEE
-_02086DE0:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_02086DE6:
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x4]
- pop {r3-r7, pc}
-_02086DEE:
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_02086DF4: .word 0x020FCEE4
-_02086DF8: .word 0x020FCF34
-_02086DFC: .word 0x020FCFD8
-_02086E00: .word 0x020FD078
-
- thumb_func_start FUN_02086E04
-FUN_02086E04: ; 0x02086E04
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02086D54
- cmp r0, #0x0
- bne _02086E16
- mov r0, #0x2
- pop {r3-r5, pc}
-_02086E16:
- cmp r4, #0x4
- ldr r0, [r5, #0x7c]
- bne _02086E24
- cmp r0, #0x6
- bne _02086E2C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02086E24:
- cmp r0, #0x6
- bne _02086E2C
- mov r0, #0x1
- pop {r3-r5, pc}
-_02086E2C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02086E30
-FUN_02086E30: ; 0x02086E30
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x6c]
- bl FUN_0200C3DC
- ldr r0, [r4, #0x70]
- bl FUN_0200C3DC
- ldr r0, [r4, #0x74]
- bl FUN_0200C3DC
- pop {r4, pc}
-
- thumb_func_start FUN_02086E48
-FUN_02086E48: ; 0x02086E48
- push {r3-r6, lr}
- sub sp, #0x4c
- add r4, r0, #0x0
- mov r0, #0x47
- bl FUN_0200BB14
- add r2, sp, #0x2c
- ldr r5, _02086EC8 ; =0x020FCE7C
- str r0, [r4, #0x4c]
- ldmia r5!, {r0-r1}
- add r3, r2, #0x0
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- ldr r6, _02086ECC ; =0x020FCE34
- stmia r2!, {r0-r1}
- add r5, sp, #0x18
- ldmia r6!, {r0-r1}
- add r2, r5, #0x0
- stmia r5!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r1, r3, #0x0
- str r0, [r5, #0x0]
- ldr r0, [r4, #0x4c]
- mov r3, #0x20
- bl FUN_0200BB6C
- ldr r3, _02086ED0 ; =0x020FCE48
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x4c]
- bl FUN_0200BB34
- str r0, [r4, #0x48]
- ldr r0, [r4, #0x4c]
- ldr r1, [r4, #0x48]
- mov r2, #0xff
- bl FUN_0200BBF0
- cmp r0, #0x0
- bne _02086EB2
- bl ErrorHandling
-_02086EB2:
- ldr r0, [r4, #0x4c]
- ldr r1, [r4, #0x48]
- add r2, sp, #0x0
- bl FUN_0200BF60
- cmp r0, #0x0
- bne _02086EC4
- bl ErrorHandling
-_02086EC4:
- add sp, #0x4c
- pop {r3-r6, pc}
- .balign 4
-_02086EC8: .word 0x020FCE7C
-_02086ECC: .word 0x020FCE34
-_02086ED0: .word 0x020FCE48
-
- thumb_func_start FUN_02086ED4
-FUN_02086ED4: ; 0x02086ED4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4c]
- ldr r1, [r4, #0x48]
- bl FUN_0200C398
- ldr r0, [r4, #0x4c]
- bl FUN_0200BD04
- pop {r4, pc}
-
- thumb_func_start FUN_02086EE8
-FUN_02086EE8: ; 0x02086EE8
- push {r3-r7, lr}
- sub sp, #0x38
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x5
- ldr r4, [r0, #0xc]
- mov r2, #0x0
- add r0, r4, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02068E14
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x4c
- add r2, sp, #0x10
- bl FUN_02067830
- add r0, sp, #0x28
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_02068B68
- lsl r1, r6, #0x10
- add r0, sp, #0x14
- lsr r1, r1, #0x10
- bl FUN_02069010
- mov r1, #0x0
- str r1, [sp, #0x0]
- add r7, #0x60
- str r1, [sp, #0x4]
- add r0, sp, #0x14
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [r5, #0x3c]
- add r1, sp, #0x28
- mov r2, #0x80
- add r3, r7, #0x0
- bl FUN_020073A0
- str r0, [r5, #0x68]
- add sp, #0x38
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02086F4C
-FUN_02086F4C: ; 0x02086F4C
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x5
- ldr r0, [r0, #0xc]
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02068854
- add r6, r0, #0x0
- ldr r0, [r5, #0x68]
- mov r1, #0x1
- bl FUN_02007314
- lsl r2, r4, #0x10
- str r6, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x54]
- ldr r1, [r5, #0x68]
- lsr r2, r2, #0x10
- mov r3, #0x2
- bl FUN_02069038
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02086F8C
-FUN_02086F8C: ; 0x02086F8C
- ldr r3, _02086F94 ; =FUN_02007534
- ldr r0, [r0, #0x68]
- bx r3
- nop
-_02086F94: .word FUN_02007534
-
- thumb_func_start FUN_02086F98
-FUN_02086F98: ; 0x02086F98
- ldr r3, _02086FA4 ; =FUN_02007558
- add r2, r1, #0x0
- ldr r0, [r0, #0x68]
- mov r1, #0x6
- bx r3
- nop
-_02086FA4: .word FUN_02007558
-
- thumb_func_start FUN_02086FA8
-FUN_02086FA8: ; 0x02086FA8
- push {r3, lr}
- ldr r1, [r0, #0x58]
- lsl r2, r1, #0x2
- ldr r1, _02086FB8 ; =0x020FD118
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- nop
-_02086FB8: .word 0x020FD118
-
- thumb_func_start FUN_02086FBC
-FUN_02086FBC: ; 0x02086FBC
- push {r3-r5, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- ldr r1, [r4, #0x5c]
- mov r5, #0x1
- cmp r1, #0x11
- bls _02086FCC
- b _0208720E
-_02086FCC:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02086FD8: ; jump table (using 16-bit offset)
- .short _02086FFC - _02086FD8 - 2; case 0
- .short _0208706A - _02086FD8 - 2; case 1
- .short _02087074 - _02086FD8 - 2; case 2
- .short _02087092 - _02086FD8 - 2; case 3
- .short _020870A2 - _02086FD8 - 2; case 4
- .short _020870B2 - _02086FD8 - 2; case 5
- .short _020870C2 - _02086FD8 - 2; case 6
- .short _020870D2 - _02086FD8 - 2; case 7
- .short _0208710E - _02086FD8 - 2; case 8
- .short _02087122 - _02086FD8 - 2; case 9
- .short _02087132 - _02086FD8 - 2; case 10
- .short _02087158 - _02086FD8 - 2; case 11
- .short _020871AA - _02086FD8 - 2; case 12
- .short _020871E2 - _02086FD8 - 2; case 13
- .short _020871EE - _02086FD8 - 2; case 14
- .short _020871F4 - _02086FD8 - 2; case 15
- .short _020871FE - _02086FD8 - 2; case 16
- .short _0208720E - _02086FD8 - 2; case 17
-_02086FFC:
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- bl FUN_0208699C
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- bl FUN_020869F0
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x14]
- bl FUN_020866FC
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x3b
- str r0, [sp, #0xc]
- mov r0, #0xe
- str r0, [sp, #0x10]
- add r1, r4, #0x0
- ldr r0, [r4, #0x4]
- add r1, #0x18
- add r2, r5, #0x0
- mov r3, #0x2
- bl FUN_02086784
- add r0, r4, #0x0
- bl FUN_02086BA8
- add r0, r4, #0x0
- bl FUN_02086CB0
- add r0, r4, #0x0
- bl FUN_02086EE8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02086F98
- mov r0, #0x47
- str r0, [sp, #0x18]
- mov r0, #0x0
- str r0, [sp, #0x1c]
- add r0, sp, #0x18
- bl FUN_02086B40
- str r0, [r4, #0x40]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_0208706A:
- bl FUN_020866BC
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087074:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0208712A
- bl FUN_0200541C
- ldr r1, _02087240 ; =0x00000475
- mov r0, #0xd
- mov r2, #0x1
- bl FUN_0200433C
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_02087092:
- bl FUN_0208749C
- cmp r0, #0x0
- bne _0208712A
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020870A2:
- bl FUN_020874E4
- cmp r0, #0x0
- bne _0208712A
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020870B2:
- bl FUN_02087554
- cmp r0, #0x0
- bne _0208712A
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020870C2:
- bl FUN_020875AC
- cmp r0, #0x0
- bne _0208712A
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020870D2:
- bl FUN_02087610
- cmp r0, #0x0
- bne _0208712A
- add r0, r4, #0x0
- bl FUN_02086F4C
- ldr r0, [r4, #0x0]
- mov r1, #0x5
- ldr r0, [r0, #0xc]
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02005578
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0xc]
- ldr r3, [r4, #0x10]
- add r0, #0x18
- mov r1, #0x0
- bl FUN_020867EC
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_0208710E:
- bl FUN_02005670
- cmp r0, #0x0
- bne _0208712A
- ldr r0, _02087244 ; =0x00000484
- bl FUN_02005C28
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087122:
- bl FUN_02005CBC
- cmp r0, #0x0
- beq _0208712C
-_0208712A:
- b _02087232
-_0208712C:
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087132:
- ldr r0, [r4, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02087232
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0xc]
- ldr r3, [r4, #0x10]
- add r0, #0x18
- mov r1, #0x1
- bl FUN_020867EC
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087158:
- ldr r0, [r4, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02087232
- ldr r0, [r4, #0x54]
- mov r1, #0x0
- bl FUN_02014D7C
- cmp r0, #0x1
- bne _02087232
- ldr r0, [r4, #0x68]
- bl FUN_02007390
- cmp r0, #0x0
- bne _02087232
- mov r0, #0x19
- str r0, [sp, #0x0]
- mov r0, #0xd
- str r0, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- mov r0, #0x4
- str r0, [sp, #0xc]
- mov r0, #0xa7
- str r0, [sp, #0x10]
- mov r0, #0xe
- str r0, [sp, #0x14]
- add r2, r4, #0x0
- ldr r1, [r4, #0x4]
- add r0, r4, #0x0
- add r2, #0x28
- mov r3, #0x1
- bl FUN_02086878
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020871AA:
- ldr r0, [r4, #0x48]
- bl FUN_02001C78
- sub r1, r5, #0x3
- cmp r0, r1
- beq _020871BE
- add r1, r1, #0x1
- cmp r0, r1
- beq _02087232
- b _020871CC
-_020871BE:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020871CC:
- cmp r0, #0x0
- bne _020871D4
- add r1, r5, #0x0
- b _020871D6
-_020871D4:
- mov r1, #0x0
-_020871D6:
- ldr r0, [r4, #0x0]
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020871E2:
- bl FUN_02086960
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020871EE:
- add r0, r1, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_020871F4:
- bl FUN_020866DC
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_020871FE:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02087232
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087232
-_0208720E:
- add r0, r4, #0x0
- bl FUN_02086F8C
- add r0, r4, #0x0
- bl FUN_02086E30
- add r0, r4, #0x0
- add r0, #0x18
- bl FUN_0208698C
- ldr r0, [r4, #0x40]
- ldr r0, [r0, #0xc]
- bl FUN_02086AF0
- ldr r0, [r4, #0x40]
- bl FUN_02086BA0
- mov r5, #0x0
-_02087232:
- ldr r0, [r4, #0x4c]
- bl FUN_0200BC1C
- add r0, r5, #0x0
- add sp, #0x20
- pop {r3-r5, pc}
- nop
-_02087240: .word 0x00000475
-_02087244: .word 0x00000484
-
- thumb_func_start FUN_02087248
-FUN_02087248: ; 0x02087248
- push {r3-r5, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- ldr r1, [r4, #0x5c]
- mov r5, #0x1
- cmp r1, #0x11
- bls _02087258
- b _02087462
-_02087258:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02087264: ; jump table (using 16-bit offset)
- .short _02087288 - _02087264 - 2; case 0
- .short _020872FE - _02087264 - 2; case 1
- .short _02087308 - _02087264 - 2; case 2
- .short _02087322 - _02087264 - 2; case 3
- .short _0208735C - _02087264 - 2; case 4
- .short _0208735C - _02087264 - 2; case 5
- .short _0208735C - _02087264 - 2; case 6
- .short _0208735C - _02087264 - 2; case 7
- .short _02087362 - _02087264 - 2; case 8
- .short _02087376 - _02087264 - 2; case 9
- .short _02087386 - _02087264 - 2; case 10
- .short _020873AC - _02087264 - 2; case 11
- .short _020873FE - _02087264 - 2; case 12
- .short _02087436 - _02087264 - 2; case 13
- .short _02087442 - _02087264 - 2; case 14
- .short _02087448 - _02087264 - 2; case 15
- .short _02087452 - _02087264 - 2; case 16
- .short _02087462 - _02087264 - 2; case 17
-_02087288:
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- bl FUN_0208699C
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- bl FUN_020869F0
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x14]
- bl FUN_020866FC
- mov r0, #0x13
- str r0, [sp, #0x0]
- mov r0, #0x1b
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x3b
- str r0, [sp, #0xc]
- mov r0, #0xe
- str r0, [sp, #0x10]
- add r1, r4, #0x0
- ldr r0, [r4, #0x4]
- add r1, #0x18
- add r2, r5, #0x0
- mov r3, #0x2
- bl FUN_02086784
- add r0, r4, #0x0
- bl FUN_02086BA8
- add r0, r4, #0x0
- bl FUN_02086CB0
- ldr r0, [r4, #0x6c]
- mov r1, #0x0
- bl FUN_0200C644
- add r0, r4, #0x0
- bl FUN_02086EE8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02086F98
- mov r0, #0x47
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- str r0, [sp, #0x1c]
- add r0, sp, #0x18
- bl FUN_02086B40
- str r0, [r4, #0x40]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_020872FE:
- bl FUN_020866BC
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087308:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0208737E
- ldr r1, _02087494 ; =0x00000475
- mov r0, #0xd
- mov r2, #0x1
- bl FUN_0200433C
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087322:
- bl FUN_02087820
- cmp r0, #0x0
- bne _0208737E
- add r0, r4, #0x0
- bl FUN_02086F4C
- ldr r0, [r4, #0x0]
- mov r1, #0x5
- ldr r0, [r0, #0xc]
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02005578
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0xc]
- ldr r3, [r4, #0x10]
- add r0, #0x18
- mov r1, #0x0
- bl FUN_020867EC
- str r0, [r4, #0xc]
- mov r0, #0x8
- str r0, [r4, #0x5c]
- b _02087486
-_0208735C:
- bl ErrorHandling
- b _02087486
-_02087362:
- bl FUN_02005670
- cmp r0, #0x0
- bne _0208737E
- ldr r0, _02087498 ; =0x00000484
- bl FUN_02005C28
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087376:
- bl FUN_02005CBC
- cmp r0, #0x0
- beq _02087380
-_0208737E:
- b _02087486
-_02087380:
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087386:
- ldr r0, [r4, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02087486
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0xc]
- ldr r3, [r4, #0x10]
- add r0, #0x18
- mov r1, #0x1
- bl FUN_020867EC
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_020873AC:
- ldr r0, [r4, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02087486
- ldr r0, [r4, #0x54]
- mov r1, #0x0
- bl FUN_02014D7C
- cmp r0, #0x1
- bne _02087486
- ldr r0, [r4, #0x68]
- bl FUN_02007390
- cmp r0, #0x0
- bne _02087486
- mov r0, #0x19
- str r0, [sp, #0x0]
- mov r0, #0xd
- str r0, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- mov r0, #0x4
- str r0, [sp, #0xc]
- mov r0, #0xa7
- str r0, [sp, #0x10]
- mov r0, #0xe
- str r0, [sp, #0x14]
- add r2, r4, #0x0
- ldr r1, [r4, #0x4]
- add r0, r4, #0x0
- add r2, #0x28
- mov r3, #0x1
- bl FUN_02086878
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_020873FE:
- ldr r0, [r4, #0x48]
- bl FUN_02001C78
- sub r1, r5, #0x3
- cmp r0, r1
- beq _02087412
- add r1, r1, #0x1
- cmp r0, r1
- beq _02087486
- b _02087420
-_02087412:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087420:
- cmp r0, #0x0
- bne _02087428
- add r1, r5, #0x0
- b _0208742A
-_02087428:
- mov r1, #0x0
-_0208742A:
- ldr r0, [r4, #0x0]
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087436:
- bl FUN_02086960
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087442:
- add r0, r1, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087448:
- bl FUN_020866DC
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
-_02087452:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02087486
- ldr r0, [r4, #0x5c]
- add r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _02087486
-_02087462:
- add r0, r4, #0x0
- bl FUN_02086F8C
- add r0, r4, #0x0
- bl FUN_02086E30
- add r0, r4, #0x0
- add r0, #0x18
- bl FUN_0208698C
- ldr r0, [r4, #0x40]
- ldr r0, [r0, #0xc]
- bl FUN_02086AF0
- ldr r0, [r4, #0x40]
- bl FUN_02086BA0
- mov r5, #0x0
-_02087486:
- ldr r0, [r4, #0x4c]
- bl FUN_0200BC1C
- add r0, r5, #0x0
- add sp, #0x20
- pop {r3-r5, pc}
- nop
-_02087494: .word 0x00000475
-_02087498: .word 0x00000484
-
- thumb_func_start FUN_0208749C
-FUN_0208749C: ; 0x0208749C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x64]
- cmp r0, #0x0
- beq _020874AC
- cmp r0, #0x1
- beq _020874BC
- b _020874D4
-_020874AC:
- ldr r0, [r4, #0x6c]
- mov r1, #0x0
- bl FUN_0200C61C
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _020874DC
-_020874BC:
- ldr r0, [r4, #0x60]
- add r0, r0, #0x1
- str r0, [r4, #0x60]
- cmp r0, #0x19
- blt _020874DC
- ldr r0, _020874E0 ; =0x00000714
- bl FUN_020054C8
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _020874DC
-_020874D4:
- mov r0, #0x0
- str r0, [r4, #0x64]
- str r0, [r4, #0x60]
- pop {r4, pc}
-_020874DC:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_020874E0: .word 0x00000714
-
- thumb_func_start FUN_020874E4
-FUN_020874E4: ; 0x020874E4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x64]
- cmp r1, #0x0
- beq _020874F4
- cmp r1, #0x1
- beq _0208750E
- b _02087532
-_020874F4:
- ldr r0, [r4, #0x40]
- bl FUN_02086B8C
- cmp r0, #0x1
- beq _0208754C
- ldr r0, [r4, #0x6c]
- mov r1, #0x1
- bl FUN_0200C61C
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _0208754C
-_0208750E:
- mov r1, #0x0
- bl FUN_02086E04
- cmp r0, #0x2
- bne _0208754C
- ldr r0, _02087550 ; =0x00000714
- bl FUN_020054C8
- ldr r0, [r4, #0x6c]
- mov r1, #0x2
- bl FUN_0200C61C
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- mov r0, #0x0
- str r0, [r4, #0x60]
- b _0208754C
-_02087532:
- mov r1, #0x0
- bl FUN_02086E04
- cmp r0, #0x2
- bne _0208754C
- ldr r0, [r4, #0x6c]
- mov r1, #0x2
- bl FUN_0200C61C
- mov r0, #0x0
- str r0, [r4, #0x64]
- str r0, [r4, #0x60]
- pop {r4, pc}
-_0208754C:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_02087550: .word 0x00000714
-
- thumb_func_start FUN_02087554
-FUN_02087554: ; 0x02087554
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x64]
- cmp r1, #0x0
- beq _02087564
- cmp r1, #0x1
- beq _0208756A
- b _0208759C
-_02087564:
- add r0, r1, #0x1
- str r0, [r4, #0x64]
- b _020875A4
-_0208756A:
- mov r1, #0x1
- bl FUN_02086E04
- add r5, r0, #0x0
- cmp r5, #0x1
- bne _0208758C
- ldr r0, _020875A8 ; =0x00000714
- bl FUN_020054C8
- ldr r0, [r4, #0x6c]
- mov r1, #0x3
- bl FUN_0200C61C
- ldr r0, [r4, #0x40]
- mov r1, #0x0
- bl FUN_02086B70
-_0208758C:
- cmp r5, #0x2
- bne _020875A4
- mov r0, #0x0
- str r0, [r4, #0x60]
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _020875A4
-_0208759C:
- mov r0, #0x0
- str r0, [r4, #0x64]
- str r0, [r4, #0x60]
- pop {r3-r5, pc}
-_020875A4:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_020875A8: .word 0x00000714
-
- thumb_func_start FUN_020875AC
-FUN_020875AC: ; 0x020875AC
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x64]
- cmp r1, #0x0
- beq _020875BC
- cmp r1, #0x1
- beq _020875CE
- b _02087600
-_020875BC:
- ldr r0, [r4, #0x40]
- bl FUN_02086B8C
- cmp r0, #0x1
- beq _02087608
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087608
-_020875CE:
- mov r1, #0x2
- bl FUN_02086E04
- add r5, r0, #0x0
- cmp r5, #0x1
- bne _020875F0
- ldr r0, _0208760C ; =0x00000714
- bl FUN_020054C8
- ldr r0, [r4, #0x6c]
- mov r1, #0x4
- bl FUN_0200C61C
- ldr r0, [r4, #0x40]
- mov r1, #0x1
- bl FUN_02086B70
-_020875F0:
- cmp r5, #0x2
- bne _02087608
- mov r0, #0x0
- str r0, [r4, #0x60]
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087608
-_02087600:
- mov r0, #0x0
- str r0, [r4, #0x64]
- str r0, [r4, #0x60]
- pop {r3-r5, pc}
-_02087608:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0208760C: .word 0x00000714
-
- thumb_func_start FUN_02087610
-FUN_02087610: ; 0x02087610
- push {r4-r6, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0x64]
- cmp r1, #0x5
- bls _0208761E
- b _020877FC
-_0208761E:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0208762A: ; jump table (using 16-bit offset)
- .short _02087636 - _0208762A - 2; case 0
- .short _02087658 - _0208762A - 2; case 1
- .short _0208769A - _0208762A - 2; case 2
- .short _02087702 - _0208762A - 2; case 3
- .short _02087794 - _0208762A - 2; case 4
- .short _020877E0 - _0208762A - 2; case 5
-_02087636:
- ldr r0, [r4, #0x40]
- bl FUN_02086B8C
- cmp r0, #0x1
- beq _020876A4
- ldr r0, [r4, #0x6c]
- mov r1, #0x4
- bl FUN_0200C61C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E6E4
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_02087658:
- mov r1, #0x3
- bl FUN_02086E04
- add r5, r0, #0x0
- cmp r5, #0x1
- bne _02087682
- ldr r0, [r4, #0x6c]
- mov r1, #0x5
- bl FUN_0200C61C
- ldr r0, _02087818 ; =0x00000707
- bl FUN_020054C8
- ldr r0, [r4, #0x40]
- mov r1, #0x2
- bl FUN_02086B70
- ldr r0, [r4, #0x40]
- mov r1, #0x3
- bl FUN_02086B70
-_02087682:
- cmp r5, #0x2
- bne _020876A4
- ldr r0, [r4, #0x6c]
- mov r1, #0x0
- bl FUN_0200C644
- mov r0, #0x0
- str r0, [r4, #0x60]
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_0208769A:
- ldr r0, [r4, #0x60]
- add r0, r0, #0x1
- str r0, [r4, #0x60]
- cmp r0, #0xa
- bge _020876A6
-_020876A4:
- b _02087810
-_020876A6:
- mov r3, #0x0
- str r3, [r4, #0x60]
- str r3, [sp, #0x0]
- mov r0, #0x10
- ldr r2, _0208781C ; =0x0000FFFF
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_02003210
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- bl FUN_02020354
- mov r1, #0x1
- bl FUN_0201E28C
- add r5, r0, #0x0
- mov r3, #0x0
- mov r6, #0x1
- str r3, [sp, #0x0]
- mov r0, #0x10
- ldr r2, _0208781C ; =0x0000FFFF
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- lsl r6, r5
- eor r2, r6
- lsl r2, r2, #0x10
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- lsr r2, r2, #0x10
- bl FUN_02003210
- ldr r0, _0208781C ; =0x0000FFFF
- mov r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x68]
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_02007E68
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_02087702:
- add r1, sp, #0xc
- ldr r0, [r4, #0x70]
- mov r5, #0x0
- add r1, #0x2
- add r2, sp, #0xc
- bl FUN_0200C7A0
- add r0, sp, #0xc
- add r1, r5, #0x0
- ldrsh r2, [r0, r1]
- add r0, r1, #0x0
- sub r0, #0x30
- cmp r2, r0
- ble _02087728
- ldr r0, [r4, #0x70]
- sub r2, r1, #0x4
- bl FUN_0200C82C
- b _0208772A
-_02087728:
- add r5, r5, #0x1
-_0208772A:
- add r1, sp, #0xc
- ldr r0, [r4, #0x74]
- add r1, #0x2
- add r2, sp, #0xc
- bl FUN_0200C7A0
- add r0, sp, #0xc
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, #0xc0
- bge _0208774A
- ldr r0, [r4, #0x74]
- mov r2, #0x4
- bl FUN_0200C82C
- b _0208774C
-_0208774A:
- add r5, r5, #0x1
-_0208774C:
- ldr r0, [r4, #0x8]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _02087810
- cmp r5, #0x2
- bne _02087810
- ldr r0, [r4, #0x68]
- bl FUN_02007F20
- cmp r0, #0x0
- bne _02087810
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_0201E6E4
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02086F98
- ldr r0, [r4, #0x6c]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x70]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x74]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_02087794:
- ldr r0, [r4, #0x60]
- add r0, r0, #0x1
- str r0, [r4, #0x60]
- cmp r0, #0x19
- blt _02087810
- mov r2, #0x0
- ldr r0, _0208781C ; =0x0000FFFF
- str r2, [r4, #0x60]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x68]
- mov r1, #0x10
- add r3, r2, #0x0
- bl FUN_02007E68
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r2, _0208781C ; =0x0000FFFF
- str r3, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_02003210
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r2, _0208781C ; =0x0000FFFF
- str r3, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_02003210
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_020877E0:
- ldr r0, [r4, #0x8]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _02087810
- ldr r0, [r4, #0x68]
- bl FUN_02007F20
- cmp r0, #0x0
- bne _02087810
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087810
-_020877FC:
- ldr r0, [r4, #0x40]
- bl FUN_02086B8C
- cmp r0, #0x1
- beq _02087810
- mov r0, #0x0
- str r0, [r4, #0x64]
- add sp, #0x10
- str r0, [r4, #0x60]
- pop {r4-r6, pc}
-_02087810:
- mov r0, #0x1
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02087818: .word 0x00000707
-_0208781C: .word 0x0000FFFF
-
- thumb_func_start FUN_02087820
-FUN_02087820: ; 0x02087820
- push {r4-r6, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r0, [r4, #0x64]
- cmp r0, #0x4
- bls _0208782E
- b _020879FC
-_0208782E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0208783A: ; jump table (using 16-bit offset)
- .short _02087844 - _0208783A - 2; case 0
- .short _02087874 - _0208783A - 2; case 1
- .short _02087902 - _0208783A - 2; case 2
- .short _02087994 - _0208783A - 2; case 3
- .short _020879E0 - _0208783A - 2; case 4
-_02087844:
- ldr r0, [r4, #0x40]
- mov r1, #0x0
- bl FUN_02086B70
- ldr r0, [r4, #0x40]
- mov r1, #0x1
- bl FUN_02086B70
- ldr r0, [r4, #0x40]
- mov r1, #0x2
- bl FUN_02086B70
- ldr r0, [r4, #0x40]
- mov r1, #0x3
- bl FUN_02086B70
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E6E4
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087A06
-_02087874:
- ldr r0, [r4, #0x60]
- cmp r0, #0x19
- beq _02087884
- cmp r0, #0x50
- beq _0208788C
- cmp r0, #0x8e
- beq _02087894
- b _0208789A
-_02087884:
- ldr r0, _02087A0C ; =0x00000806
- bl FUN_020054C8
- b _0208789A
-_0208788C:
- ldr r0, _02087A10 ; =0x000007AA
- bl FUN_020054C8
- b _0208789A
-_02087894:
- ldr r0, _02087A14 ; =0x00000815
- bl FUN_020054C8
-_0208789A:
- ldr r0, [r4, #0x60]
- add r0, r0, #0x1
- str r0, [r4, #0x60]
- cmp r0, #0xa0
- bge _020878A6
- b _02087A06
-_020878A6:
- mov r3, #0x0
- str r3, [r4, #0x60]
- str r3, [sp, #0x0]
- mov r0, #0x10
- ldr r2, _02087A18 ; =0x0000FFFF
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_02003210
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- bl FUN_02020354
- mov r1, #0x1
- bl FUN_0201E28C
- add r5, r0, #0x0
- mov r3, #0x0
- mov r6, #0x1
- str r3, [sp, #0x0]
- mov r0, #0x10
- ldr r2, _02087A18 ; =0x0000FFFF
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- lsl r6, r5
- eor r2, r6
- lsl r2, r2, #0x10
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- lsr r2, r2, #0x10
- bl FUN_02003210
- ldr r0, _02087A18 ; =0x0000FFFF
- mov r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x68]
- mov r2, #0x10
- add r3, r1, #0x0
- bl FUN_02007E68
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087A06
-_02087902:
- add r1, sp, #0xc
- ldr r0, [r4, #0x70]
- mov r5, #0x0
- add r1, #0x2
- add r2, sp, #0xc
- bl FUN_0200C7A0
- add r0, sp, #0xc
- add r1, r5, #0x0
- ldrsh r2, [r0, r1]
- add r0, r1, #0x0
- sub r0, #0x30
- cmp r2, r0
- ble _02087928
- ldr r0, [r4, #0x70]
- sub r2, r1, #0x4
- bl FUN_0200C82C
- b _0208792A
-_02087928:
- add r5, r5, #0x1
-_0208792A:
- add r1, sp, #0xc
- ldr r0, [r4, #0x74]
- add r1, #0x2
- add r2, sp, #0xc
- bl FUN_0200C7A0
- add r0, sp, #0xc
- mov r1, #0x0
- ldrsh r0, [r0, r1]
- cmp r0, #0xc0
- bge _0208794A
- ldr r0, [r4, #0x74]
- mov r2, #0x4
- bl FUN_0200C82C
- b _0208794C
-_0208794A:
- add r5, r5, #0x1
-_0208794C:
- ldr r0, [r4, #0x8]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _02087A06
- cmp r5, #0x2
- bne _02087A06
- ldr r0, [r4, #0x68]
- bl FUN_02007F20
- cmp r0, #0x0
- bne _02087A06
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02086F98
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_0201E6E4
- ldr r0, [r4, #0x6c]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x70]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x74]
- mov r1, #0x0
- bl FUN_0200C644
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087A06
-_02087994:
- ldr r0, [r4, #0x60]
- add r0, r0, #0x1
- str r0, [r4, #0x60]
- cmp r0, #0x19
- blt _02087A06
- mov r2, #0x0
- ldr r0, _02087A18 ; =0x0000FFFF
- str r2, [r4, #0x60]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x68]
- mov r1, #0x10
- add r3, r2, #0x0
- bl FUN_02007E68
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r2, _02087A18 ; =0x0000FFFF
- str r3, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x1
- bl FUN_02003210
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r2, _02087A18 ; =0x0000FFFF
- str r3, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r0, [r4, #0x8]
- mov r1, #0x4
- bl FUN_02003210
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087A06
-_020879E0:
- ldr r0, [r4, #0x8]
- bl FUN_020038E4
- cmp r0, #0x0
- bne _02087A06
- ldr r0, [r4, #0x68]
- bl FUN_02007F20
- cmp r0, #0x0
- bne _02087A06
- ldr r0, [r4, #0x64]
- add r0, r0, #0x1
- str r0, [r4, #0x64]
- b _02087A06
-_020879FC:
- mov r0, #0x0
- str r0, [r4, #0x64]
- add sp, #0x10
- str r0, [r4, #0x60]
- pop {r4-r6, pc}
-_02087A06:
- mov r0, #0x1
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_02087A0C: .word 0x00000806
-_02087A10: .word 0x000007AA
-_02087A14: .word 0x00000815
-_02087A18: .word 0x0000FFFF
-
- thumb_func_start FUN_02087A1C
-FUN_02087A1C: ; 0x02087A1C
- ldr r3, _02087A34 ; =0x020FD13C
- mov r2, #0x0
-_02087A20:
- ldrb r1, [r3, #0x0]
- cmp r0, r1
- beq _02087A2E
- add r2, r2, #0x1
- add r3, r3, #0x1
- cmp r2, #0x6
- blt _02087A20
-_02087A2E:
- add r0, r2, #0x0
- bx lr
- nop
-_02087A34: .word 0x020FD13C
-
- thumb_func_start FUN_02087A38
-FUN_02087A38: ; 0x02087A38
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x6
- blt _02087A44
- bl ErrorHandling
-_02087A44:
- ldr r0, _02087A4C ; =0x020FD13C
- ldrb r0, [r0, r4]
- pop {r4, pc}
- nop
-_02087A4C: .word 0x020FD13C
-
- thumb_func_start FUN_02087A50
-FUN_02087A50: ; 0x02087A50
- ldr r3, _02087A68 ; =0x020FD120
- mov r2, #0x0
-_02087A54:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- beq _02087A62
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0xe
- blt _02087A54
-_02087A62:
- add r0, r2, #0x0
- bx lr
- nop
-_02087A68: .word 0x020FD120
-
- thumb_func_start FUN_02087A6C
-FUN_02087A6C: ; 0x02087A6C
- push {r3, lr}
- mov r1, #0x18
- bl FUN_02016998
- add r3, r0, #0x0
- mov r2, #0x18
- mov r1, #0x0
-_02087A7A:
- strb r1, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _02087A7A
- pop {r3, pc}
-
- thumb_func_start FUN_02087A84
-FUN_02087A84: ; 0x02087A84
- push {r4, lr}
- add r4, r0, #0x0
- bne _02087A8E
- bl ErrorHandling
-_02087A8E:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02087A98
-FUN_02087A98: ; 0x02087A98
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- cmp r5, #0x0
- bne _02087AA8
- bl ErrorHandling
-_02087AA8:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02087AB2
- bl ErrorHandling
-_02087AB2:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02087ABC
- bl ErrorHandling
-_02087ABC:
- add r0, r4, #0x0
- bl FUN_02087C18
- str r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02087C2C
- str r0, [r5, #0x4]
- cmp r6, #0x0
- bne _02087AEE
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r0, #0x8
- add r1, #0xc
- add r2, r4, #0x0
- bl FUN_02087C40
- add r0, r5, #0x0
- add r5, #0x14
- add r0, #0x10
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02087CA0
- pop {r4-r6, pc}
-_02087AEE:
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r0, #0x8
- add r1, #0xc
- add r2, r4, #0x0
- bl FUN_02087C70
- add r0, r5, #0x0
- add r5, #0x14
- add r0, #0x10
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02087CD0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02087B0C
-FUN_02087B0C: ; 0x02087B0C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02087B1A
- bl ErrorHandling
-_02087B1A:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _02087B24
- bl ErrorHandling
-_02087B24:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- ldr r0, [r4, #0xc]
- bl FUN_02016A18
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- ldr r0, [r4, #0x14]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x4]
- str r0, [r4, #0x8]
- str r0, [r4, #0xc]
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
- pop {r4, pc}
-
- thumb_func_start FUN_02087B58
-FUN_02087B58: ; 0x02087B58
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087B66
- bl ErrorHandling
-_02087B66:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _02087B70
- bl ErrorHandling
-_02087B70:
- ldr r1, [r5, #0x0]
- lsl r0, r4, #0x2
- ldr r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087B78
-FUN_02087B78: ; 0x02087B78
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087B86
- bl ErrorHandling
-_02087B86:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02087B90
- bl ErrorHandling
-_02087B90:
- ldr r1, [r5, #0x4]
- lsl r0, r4, #0x2
- ldr r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087B98
-FUN_02087B98: ; 0x02087B98
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087BA6
- bl ErrorHandling
-_02087BA6:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- bne _02087BB0
- bl ErrorHandling
-_02087BB0:
- ldr r1, [r5, #0x8]
- lsl r0, r4, #0x1
- ldrsh r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087BB8
-FUN_02087BB8: ; 0x02087BB8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087BC6
- bl ErrorHandling
-_02087BC6:
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- bne _02087BD0
- bl ErrorHandling
-_02087BD0:
- ldr r1, [r5, #0xc]
- lsl r0, r4, #0x1
- ldrsh r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087BD8
-FUN_02087BD8: ; 0x02087BD8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087BE6
- bl ErrorHandling
-_02087BE6:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _02087BF0
- bl ErrorHandling
-_02087BF0:
- ldr r1, [r5, #0x10]
- lsl r0, r4, #0x1
- ldrsh r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087BF8
-FUN_02087BF8: ; 0x02087BF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02087C06
- bl ErrorHandling
-_02087C06:
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- bne _02087C10
- bl ErrorHandling
-_02087C10:
- ldr r1, [r5, #0x14]
- lsl r0, r4, #0x1
- ldrsh r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087C18
-FUN_02087C18: ; 0x02087C18
- push {r3, lr}
- mov r1, #0x0
- add r3, r0, #0x0
- mov r0, #0x4b
- add r2, r1, #0x0
- str r1, [sp, #0x0]
- bl FUN_02006C98
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02087C2C
-FUN_02087C2C: ; 0x02087C2C
- push {r3, lr}
- add r3, r0, #0x0
- mov r2, #0x0
- mov r0, #0x4b
- mov r1, #0x1
- str r2, [sp, #0x0]
- bl FUN_02006C98
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02087C40
-FUN_02087C40: ; 0x02087C40
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r2, #0x0
- mov r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x4b
- mov r1, #0x9
- add r3, r6, #0x0
- bl FUN_02006C98
- str r0, [r5, #0x0]
- mov r2, #0x0
- mov r0, #0x4b
- mov r1, #0xa
- add r3, r6, #0x0
- str r2, [sp, #0x0]
- bl FUN_02006C98
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02087C70
-FUN_02087C70: ; 0x02087C70
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r2, #0x0
- mov r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x4b
- mov r1, #0x7
- add r3, r6, #0x0
- bl FUN_02006C98
- str r0, [r5, #0x0]
- mov r2, #0x0
- mov r0, #0x4b
- mov r1, #0x8
- add r3, r6, #0x0
- str r2, [sp, #0x0]
- bl FUN_02006C98
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02087CA0
-FUN_02087CA0: ; 0x02087CA0
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r2, #0x0
- mov r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x4b
- mov r1, #0x5
- add r3, r6, #0x0
- bl FUN_02006C98
- str r0, [r5, #0x0]
- mov r2, #0x0
- mov r0, #0x4b
- mov r1, #0x6
- add r3, r6, #0x0
- str r2, [sp, #0x0]
- bl FUN_02006C98
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02087CD0
-FUN_02087CD0: ; 0x02087CD0
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r2, #0x0
- mov r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x4b
- mov r1, #0x3
- add r3, r6, #0x0
- bl FUN_02006C98
- str r0, [r5, #0x0]
- mov r2, #0x0
- mov r0, #0x4b
- mov r1, #0x4
- add r3, r6, #0x0
- str r2, [sp, #0x0]
- bl FUN_02006C98
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02087D00
-FUN_02087D00: ; 0x02087D00
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x0
- mov r1, #0xcf
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- bl FUN_02016998
- mov r2, #0xcf
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r7, r0, #0x0
- bl MI_CpuFill8
- add r0, r4, #0x0
- bl FUN_02028048
- str r0, [r7, #0x8]
- add r0, r4, #0x0
- bl FUN_020238F4
- str r0, [r7, #0xc]
- add r0, r4, #0x0
- bl FUN_0206BB1C
- str r0, [r7, #0x10]
- add r0, r4, #0x0
- bl FUN_0206F158
- str r0, [r7, #0x14]
- add r0, r4, #0x0
- bl LoadPlayerDataAddress
- str r0, [r7, #0x18]
- add r0, r5, #0x0
- bl FUN_02027E5C
- add r4, r0, #0x0
- mov r0, #0x1
- mov r1, #0x20
- add r2, r5, #0x0
- bl FUN_0200AA90
- str r0, [sp, #0x4]
- mov r6, #0x0
-_02087D60:
- ldr r0, [r7, #0x8]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02028174
- add r0, r4, #0x0
- bl FUN_02027E34
- cmp r0, #0x0
- beq _02087DEE
- add r0, r4, #0x0
- add r1, sp, #0x8
- bl FUN_02027FBC
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- add r1, #0x1c
- lsl r0, r0, #0x3
- add r5, r1, r0
- strb r6, [r1, r0]
- add r0, r4, #0x0
- bl FUN_02027FDC
- strb r0, [r5, #0x1]
- add r0, sp, #0x8
- ldrb r1, [r0, #0x0]
- mov r2, #0x1
- strb r1, [r5, #0x2]
- ldrb r0, [r0, #0x6]
- mov r1, #0x0
- strb r0, [r5, #0x3]
- add r0, sp, #0x8
-_02087DA0:
- add r3, r0, r1
- ldrb r3, [r3, #0x1]
- cmp r3, #0x0
- beq _02087DAE
- ldrb r3, [r5, #0x4]
- orr r3, r2
- strb r3, [r5, #0x4]
-_02087DAE:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsl r2, r2, #0x19
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- cmp r1, #0x5
- blo _02087DA0
- ldrb r1, [r5, #0x4]
- mov r0, #0x20
- orr r0, r1
- strb r0, [r5, #0x4]
- ldrb r2, [r5, #0x4]
- mov r1, #0x80
- add r0, r2, #0x0
- bic r0, r1
- lsl r1, r2, #0x1a
- lsr r1, r1, #0x1f
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x18
- orr r0, r1
- strb r0, [r5, #0x4]
- ldr r0, [sp, #0x0]
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- strb r0, [r5, #0x5]
- mov r0, #0xff
- strb r0, [r5, #0x6]
- ldrb r0, [r5, #0x6]
- strb r0, [r5, #0x7]
-_02087DEE:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x64
- blo _02087D60
- ldr r0, [sp, #0x4]
- bl FUN_0200AB18
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x0]
- strb r0, [r7, #0x0]
- mov r0, #0x5
- strb r0, [r7, #0x3]
- add r0, r7, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02087E14
-FUN_02087E14: ; 0x02087E14
- ldr r3, _02087E18 ; =FUN_02016A18
- bx r3
- .balign 4
-_02087E18: .word FUN_02016A18
-
- thumb_func_start FUN_02087E1C
-FUN_02087E1C: ; 0x02087E1C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02087E3C
- bl FUN_02006290
- cmp r0, #0x0
- beq _02087E3C
- ldr r0, [r4, #0x0]
- bl FUN_02006260
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_02087E3C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02087E40
-FUN_02087E40: ; 0x02087E40
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_0200628C
- mov r2, #0x1
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x2c
- lsl r2, r2, #0xc
- bl FUN_0201681C
- add r0, r4, #0x0
- mov r1, #0x18
- mov r2, #0x2c
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x18
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x2c
- str r0, [r4, #0x0]
- str r5, [r4, #0xc]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02087E74
-FUN_02087E74: ; 0x02087E74
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02006278
- ldr r1, [r4, #0x0]
- cmp r1, #0x8
- bhi _02087EE4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02087E8E: ; jump table (using 16-bit offset)
- .short _02087EA0 - _02087E8E - 2; case 0
- .short _02087EA8 - _02087E8E - 2; case 1
- .short _02087EB0 - _02087E8E - 2; case 2
- .short _02087EB8 - _02087E8E - 2; case 3
- .short _02087EC0 - _02087E8E - 2; case 4
- .short _02087EC8 - _02087E8E - 2; case 5
- .short _02087ED0 - _02087E8E - 2; case 6
- .short _02087ED8 - _02087E8E - 2; case 7
- .short _02087EE0 - _02087E8E - 2; case 8
-_02087EA0:
- bl FUN_02087F50
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EA8:
- bl FUN_02087F68
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EB0:
- bl FUN_02087FD4
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EB8:
- bl FUN_0208805C
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EC0:
- bl FUN_020880A0
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EC8:
- bl FUN_0208810C
- str r0, [r4, #0x0]
- b _02087EE4
-_02087ED0:
- bl FUN_02088130
- str r0, [r4, #0x0]
- b _02087EE4
-_02087ED8:
- bl FUN_020881AC
- str r0, [r4, #0x0]
- b _02087EE4
-_02087EE0:
- mov r0, #0x1
- pop {r4, pc}
-_02087EE4:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02087EE8
-FUN_02087EE8: ; 0x02087EE8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- bl FUN_02087F08
- add r0, r5, #0x0
- bl FUN_0200627C
- ldr r0, [r4, #0x0]
- bl FUN_020168D0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02087F08
-FUN_02087F08: ; 0x02087F08
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0xc]
- mov r0, #0x0
- ldrb r1, [r2, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x0
- bls _02087F42
- mov r6, #0x1
-_02087F1A:
- add r3, r2, #0x0
- add r3, #0x1c
- lsl r1, r4, #0x3
- add r1, r3, r1
- ldrb r3, [r1, #0x4]
- lsl r3, r3, #0x19
- lsr r3, r3, #0x1f
- beq _02087F34
- ldrb r1, [r1, #0x0]
- ldr r0, [r2, #0x8]
- bl FUN_020280B8
- add r0, r6, #0x0
-_02087F34:
- add r1, r4, #0x1
- lsl r1, r1, #0x18
- ldr r2, [r5, #0xc]
- lsr r4, r1, #0x18
- ldrb r1, [r2, #0x0]
- cmp r4, r1
- blo _02087F1A
-_02087F42:
- cmp r0, #0x0
- beq _02087F4C
- ldr r0, [r2, #0x8]
- bl FUN_020280F4
-_02087F4C:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02087F50
-FUN_02087F50: ; 0x02087F50
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02087F64 ; =0x020FD15C
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x0]
- bl FUN_02006234
- str r0, [r4, #0x14]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_02087F64: .word 0x020FD15C
-
- thumb_func_start FUN_02087F68
-FUN_02087F68: ; 0x02087F68
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x14
- bl FUN_02087E1C
- cmp r0, #0x0
- bne _02087F7A
- mov r0, #0x1
- pop {r3-r5, pc}
-_02087F7A:
- ldr r1, [r5, #0xc]
- ldrb r0, [r1, #0x2]
- cmp r0, #0x0
- bne _02087F86
- mov r0, #0x8
- pop {r3-r5, pc}
-_02087F86:
- mov r0, #0x0
- strb r0, [r1, #0x2]
- ldr r0, [r5, #0x0]
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r0, [r5, #0xc]
- mov r1, #0x0
- ldr r0, [r0, #0x10]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x14]
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x14
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- ldr r0, [r0, #0x18]
- str r0, [r4, #0xc]
- ldr r0, _02087FD0 ; =0x020F96DC
- ldr r2, [r5, #0x0]
- bl FUN_02006234
- str r0, [r5, #0x14]
- str r4, [r5, #0x10]
- mov r0, #0x2
- pop {r3-r5, pc}
- .balign 4
-_02087FD0: .word 0x020F96DC
-
- thumb_func_start FUN_02087FD4
-FUN_02087FD4: ; 0x02087FD4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x14
- bl FUN_02087E1C
- cmp r0, #0x0
- bne _02087FE6
- mov r0, #0x2
- pop {r3-r7, pc}
-_02087FE6:
- ldr r7, [r5, #0x10]
- add r0, r7, #0x0
- add r0, #0x22
- ldrb r6, [r0, #0x0]
- strb r6, [r5, #0x8]
- ldr r0, [r5, #0x10]
- bl FUN_02016A18
- cmp r6, #0x7
- bne _02087FFE
- mov r0, #0x0
- pop {r3-r7, pc}
-_02087FFE:
- ldr r0, [r5, #0x0]
- mov r1, #0x30
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x10]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x18]
- str r0, [r4, #0x4]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- strb r6, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r1, #0x0
- strh r1, [r4, #0x18]
- mov r0, #0x3
- strb r0, [r4, #0x12]
- mov r0, #0x1
- str r0, [r4, #0x2c]
- str r1, [r4, #0x28]
- ldr r1, _02088054 ; =0x020FD158
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r1, [r5, #0xc]
- add r0, r4, #0x0
- ldr r1, [r1, #0xc]
- bl FUN_0207C2A4
- ldr r0, _02088058 ; =0x020FA6E8
- ldr r2, [r5, #0x0]
- add r1, r7, #0x0
- bl FUN_02006234
- str r0, [r5, #0x14]
- str r4, [r5, #0x10]
- mov r0, #0x3
- pop {r3-r7, pc}
- .balign 4
-_02088054: .word 0x020FD158
-_02088058: .word 0x020FA6E8
-
- thumb_func_start FUN_0208805C
-FUN_0208805C: ; 0x0208805C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x14
- bl FUN_02087E1C
- cmp r0, #0x0
- bne _0208806E
- mov r0, #0x3
- pop {r3-r5, pc}
-_0208806E:
- ldr r0, [r5, #0x10]
- ldrb r4, [r0, #0x17]
- ldrb r0, [r0, #0x14]
- strb r0, [r5, #0x8]
- ldr r0, [r5, #0x10]
- bl FUN_02016A18
- cmp r4, #0x1
- bne _02088084
- mov r0, #0x0
- pop {r3-r5, pc}
-_02088084:
- ldr r0, [r5, #0xc]
- add r3, r0, #0x0
- ldrb r0, [r0, #0x1]
- add r3, #0x20
- lsl r2, r0, #0x3
- ldrb r1, [r3, r2]
- mov r0, #0x40
- orr r0, r1
- strb r0, [r3, r2]
- ldr r0, [r5, #0xc]
- mov r1, #0x1
- strb r1, [r0, #0x2]
- mov r0, #0x4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020880A0
-FUN_020880A0: ; 0x020880A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0xc
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0xc
- add r4, r0, #0x0
- bl MI_CpuFill8
- ldr r1, [r5, #0xc]
- ldrb r0, [r1, #0x1]
- lsl r0, r0, #0x3
- add r0, r1, r0
- ldrb r0, [r0, #0x1e]
- strh r0, [r4, #0x8]
- ldr r2, [r5, #0xc]
- ldrb r1, [r2, #0x1]
- ldr r0, [r2, #0x8]
- lsl r1, r1, #0x3
- add r1, r2, r1
- ldrb r1, [r1, #0x1c]
- ldr r2, [r5, #0x0]
- bl FUN_02028190
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- ldrb r1, [r5, #0x8]
- ldr r0, [r0, #0x10]
- bl FUN_0206B9B0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x18]
- bl FUN_02024FF4
- strb r0, [r4, #0xa]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x18]
- bl FUN_02025084
- strb r0, [r4, #0xb]
- ldr r0, _02088108 ; =0x020FD16C
- ldr r2, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02006234
- str r0, [r5, #0x14]
- str r4, [r5, #0x10]
- mov r0, #0x5
- pop {r3-r5, pc}
- .balign 4
-_02088108: .word 0x020FD16C
-
- thumb_func_start FUN_0208810C
-FUN_0208810C: ; 0x0208810C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x14
- bl FUN_02087E1C
- cmp r0, #0x0
- bne _0208811E
- mov r0, #0x5
- pop {r4, pc}
-_0208811E:
- ldr r4, [r4, #0x10]
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x6
- pop {r4, pc}
-
- thumb_func_start FUN_02088130
-FUN_02088130: ; 0x02088130
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x30
- bl FUN_02016998
- ldr r2, [r5, #0xc]
- add r4, r0, #0x0
- ldrb r1, [r2, #0x1]
- ldr r0, [r2, #0x8]
- lsl r1, r1, #0x3
- add r1, r2, r1
- ldrb r1, [r1, #0x1c]
- ldr r2, [r5, #0x0]
- bl FUN_02028190
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x10]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x18]
- str r0, [r4, #0x4]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- ldrb r0, [r5, #0x8]
- strb r0, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r1, #0x0
- strh r1, [r4, #0x18]
- mov r0, #0x4
- strb r0, [r4, #0x12]
- str r6, [r4, #0x24]
- mov r0, #0x1
- str r0, [r4, #0x2c]
- str r1, [r4, #0x28]
- ldr r1, _020881A4 ; =0x020FD154
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r1, [r5, #0xc]
- add r0, r4, #0x0
- ldr r1, [r1, #0xc]
- bl FUN_0207C2A4
- ldr r0, _020881A8 ; =0x020FA6E8
- ldr r2, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02006234
- str r0, [r5, #0x14]
- str r4, [r5, #0x10]
- mov r0, #0x7
- pop {r4-r6, pc}
- nop
-_020881A4: .word 0x020FD154
-_020881A8: .word 0x020FA6E8
-
- thumb_func_start FUN_020881AC
-FUN_020881AC: ; 0x020881AC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x14
- bl FUN_02087E1C
- cmp r0, #0x0
- bne _020881BE
- mov r0, #0x7
- pop {r4, pc}
-_020881BE:
- ldr r0, [r4, #0x10]
- ldr r0, [r0, #0x24]
- bl FUN_02016A18
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_020881D0
-FUN_020881D0: ; 0x020881D0
- push {r3-r5, lr}
- sub sp, #0x8
- lsl r2, r1, #0x1
- ldr r1, _02088214 ; =0x020FD17C
- ldrb r4, [r1, r2]
- ldr r1, _02088218 ; =0x020FD17D
- ldrb r5, [r1, r2]
- cmp r4, #0x5
- bne _020881E8
- add sp, #0x8
- mov r0, #0x2
- pop {r3-r5, pc}
-_020881E8:
- add r1, sp, #0x0
- bl FUN_02027FBC
- add r0, r4, #0x1
- add r2, sp, #0x0
- ldrb r1, [r2, r0]
- add r0, r5, #0x1
- ldrb r0, [r2, r0]
- cmp r1, r0
- bne _02088202
- add sp, #0x8
- mov r0, #0x2
- pop {r3-r5, pc}
-_02088202:
- cmp r1, r0
- bls _0208820C
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0208820C:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_02088214: .word 0x020FD17C
-_02088218: .word 0x020FD17D
-
- thumb_func_start FUN_0208821C
-FUN_0208821C: ; 0x0208821C
- push {r3-r7, lr}
- sub sp, #0x30
- add r6, r1, #0x0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02068854
- lsl r1, r0, #0x1
- ldr r0, _02088310 ; =0x020FD17C
- ldrb r0, [r0, r1]
- str r0, [sp, #0x4]
- ldr r0, _02088314 ; =0x020FD17D
- ldrb r0, [r0, r1]
- add r1, sp, #0x10
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02027FBC
- mov r4, #0x0
- add r7, r4, #0x0
- add r5, sp, #0x18
-_02088246:
- add r1, r4, #0x0
- add r0, r6, #0x0
- add r1, #0x13
- add r2, r7, #0x0
- bl FUN_020671BC
- lsl r1, r4, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x6
- blo _02088246
- add r4, sp, #0x8
- mov r1, #0x0
- mov r3, #0x1
- add r0, sp, #0x10
- add r4, #0x1
-_0208826A:
- ldrb r5, [r0, r3]
- add r2, r1, #0x0
- add r1, r1, #0x1
- strb r5, [r4, r2]
- add r2, r3, #0x1
- lsl r2, r2, #0x18
- lsl r1, r1, #0x18
- lsr r3, r2, #0x18
- lsr r1, r1, #0x18
- cmp r3, #0x6
- bls _0208826A
- ldr r0, [sp, #0x4]
- cmp r0, #0x5
- beq _020882B8
- ldrb r0, [r4, r0]
- bl _ffltu
- add r1, r0, #0x0
- ldr r0, _02088318 ; =0x3F8CCCCD
- bl _fmul
- bl _ffixu
- ldr r1, [sp, #0x4]
- strb r0, [r4, r1]
- add r4, sp, #0x8
- ldr r0, [sp, #0x0]
- add r4, #0x1
- ldrb r0, [r4, r0]
- bl _ffltu
- add r1, r0, #0x0
- ldr r0, _0208831C ; =0x3F666666
- bl _fmul
- bl _ffixu
- ldr r1, [sp, #0x0]
- strb r0, [r4, r1]
-_020882B8:
- add r7, sp, #0x8
- mov r5, #0x0
- add r4, sp, #0x18
- add r7, #0x1
-_020882C0:
- lsl r2, r5, #0x2
- ldrb r0, [r7, r5]
- ldr r1, [r4, r2]
- add r0, r1, r0
- str r0, [r4, r2]
- ldr r0, [r4, r2]
- cmp r0, #0xff
- ble _020882D4
- mov r0, #0xff
- str r0, [r4, r2]
-_020882D4:
- add r1, r5, #0x0
- add r0, r6, #0x0
- add r1, #0x13
- add r2, r4, r2
- bl FUN_02067830
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x6
- blo _020882C0
- add r0, r6, #0x0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- add r1, sp, #0x8
- strb r0, [r1, #0x0]
- ldrb r0, [r1, #0x0]
- cmp r0, #0xff
- bhs _0208830C
- add r0, r0, #0x1
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x9
- add r2, sp, #0x8
- bl FUN_02067830
-_0208830C:
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_02088310: .word 0x020FD17C
-_02088314: .word 0x020FD17D
-_02088318: .word 0x3F8CCCCD
-_0208831C: .word 0x3F666666
-
- thumb_func_start FUN_02088320
-FUN_02088320: ; 0x02088320
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x59
- lsl r1, r1, #0x2
- add r6, r0, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_02016998
- mov r2, #0x59
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r4, r0, #0x0
- bl MI_CpuFill8
- str r6, [r4, #0x0]
- cmp r5, #0x10
- bls _0208834A
- mov r0, #0x10
- strh r0, [r4, #0xa]
- b _0208834C
-_0208834A:
- strh r7, [r4, #0xa]
-_0208834C:
- strh r5, [r4, #0xc]
- ldr r0, [sp, #0x0]
- strh r0, [r4, #0xe]
- ldr r0, [sp, #0x18]
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- bl FUN_0208837C
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02088360
-FUN_02088360: ; 0x02088360
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0208843C
- mov r2, #0x59
- add r0, r4, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- bl MI_CpuFill8
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_0208837C
-FUN_0208837C: ; 0x0208837C
- push {r4-r7, lr}
- sub sp, #0xc
- ldr r1, _02088438 ; =0x020FD1C0
- str r0, [sp, #0x0]
- ldrb r2, [r1, #0x0]
- add r0, sp, #0x8
- strb r2, [r0, #0x0]
- ldrb r2, [r1, #0x1]
- strb r2, [r0, #0x1]
- ldrb r2, [r1, #0x2]
- ldrb r1, [r1, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldr r0, [sp, #0x0]
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x0]
- ldrh r0, [r0, #0xc]
- ldr r2, [r2, #0x0]
- add r1, #0x14
- bl FUN_02008C9C
- ldr r1, [sp, #0x0]
- mov r6, #0x15
- str r0, [r1, #0x10]
- add r0, r1, #0x0
- ldrh r1, [r0, #0xa]
- add r0, sp, #0x8
- ldr r5, [sp, #0x0]
- strb r1, [r0, #0x1]
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r7, sp, #0x8
- add r4, r0, #0x0
- lsl r6, r6, #0x4
-_020883C0:
- ldr r2, [sp, #0x0]
- ldrb r0, [r7, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [r2, #0x0]
- bl FUN_02008DEC
- mov r1, #0x5
- lsl r1, r1, #0x6
- str r0, [r5, r1]
- ldr r1, [sp, #0x0]
- ldrb r0, [r7, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_02009424
- mov r1, #0x15
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- mov r0, #0x15
- lsl r0, r0, #0x4
- ldr r3, [r5, r0]
- mov r1, #0x0
- ldr r0, [r3, #0x4]
- cmp r0, #0x0
- bls _02088402
- add r2, r1, #0x0
-_020883F2:
- ldr r0, [r3, #0x0]
- add r1, r1, #0x1
- str r4, [r0, r2]
- ldr r3, [r5, r6]
- add r2, r2, #0x4
- ldr r0, [r3, #0x4]
- cmp r1, r0
- blo _020883F2
-_02088402:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- add r0, r0, #0x1
- add r5, r5, #0x4
- str r0, [sp, #0x4]
- cmp r0, #0x4
- blo _020883C0
- ldr r0, [sp, #0x0]
- bl FUN_020886CC
- ldr r0, [sp, #0x0]
- mov r1, #0x4
- ldr r0, [r0, #0x0]
- bl FUN_02016998
- mov r2, #0x16
- ldr r1, [sp, #0x0]
- lsl r2, r2, #0x4
- str r0, [r1, r2]
- add r0, r1, #0x0
- ldr r0, [r0, r2]
- mov r1, #0x0
- mov r2, #0x4
- bl MI_CpuFill8
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02088438: .word 0x020FD1C0
-
- thumb_func_start FUN_0208843C
-FUN_0208843C: ; 0x0208843C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x16
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_02016A18
- ldr r0, [r5, #0x10]
- bl FUN_0201FD58
- mov r0, #0x15
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- bl FUN_02009C30
- mov r0, #0x55
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02009E28
- mov r7, #0x15
- lsl r7, r7, #0x4
- add r6, r7, #0x0
- mov r4, #0x0
- sub r6, #0x10
-_0208846E:
- ldr r0, [r5, r7]
- bl FUN_02009448
- ldr r0, [r5, r6]
- bl FUN_02008E2C
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blo _0208846E
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02088484
-FUN_02088484: ; 0x02088484
- ldr r3, _0208848C ; =FUN_0201FDEC
- ldr r0, [r0, #0x10]
- bx r3
- nop
-_0208848C: .word FUN_0201FDEC
-
- thumb_func_start FUN_02088490
-FUN_02088490: ; 0x02088490
- push {r3-r7, lr}
- sub sp, #0x70
- str r1, [sp, #0x2c]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r5, r0, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x30]
- bl FUN_020887CC
- str r0, [sp, #0x3c]
- cmp r0, #0x0
- bge _020884B4
- bl ErrorHandling
- add sp, #0x70
- mov r0, #0x0
- pop {r3-r7, pc}
-_020884B4:
- ldr r0, [r5, #0x0]
- mov r1, #0x8
- bl FUN_02016998
- str r0, [sp, #0x38]
- mov r1, #0x0
- mov r2, #0x8
- bl MI_CpuFill8
- ldr r1, [sp, #0x3c]
- ldr r0, [sp, #0x38]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x94]
- cmp r0, #0x0
- bne _020884D6
- mov r6, #0x1
- b _020884D8
-_020884D6:
- mov r6, #0x2
-_020884D8:
- ldr r0, [sp, #0x3c]
- mov r1, #0x55
- lsl r1, r1, #0x2
- lsl r4, r0, #0x2
- ldr r0, [r5, r1]
- ldr r3, [sp, #0x2c]
- ldr r0, [r0, #0x0]
- sub r1, #0x10
- ldr r0, [r0, r4]
- mov r2, #0x58
- str r0, [sp, #0x34]
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- add r3, r3, #0x3
- str r0, [sp, #0x4]
- ldr r0, [r5, r1]
- ldr r1, [sp, #0x34]
- bl FUN_02009168
- mov r0, #0x55
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, r4]
- bl FUN_02009DE0
- ldr r0, [r5, #0x0]
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x8
- bl FUN_02016998
- str r0, [r4, #0x8]
- ldr r0, [r5, #0x0]
- mov r1, #0x24
- bl FUN_02016998
- ldr r1, [r4, #0x8]
- mov r3, #0xe
- str r0, [r1, #0x0]
- ldr r0, [r4, #0x8]
- lsl r3, r3, #0xc
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x0
- str r3, [sp, #0x0]
- mvn r0, r0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r0, sp, #0x78
- ldrb r0, [r0, #0x14]
- str r0, [sp, #0x10]
- mov r0, #0x5
- lsl r0, r0, #0x6
- ldr r2, [r5, r0]
- str r2, [sp, #0x14]
- add r2, r0, #0x4
- ldr r2, [r5, r2]
- str r2, [sp, #0x18]
- add r2, r0, #0x0
- add r2, #0x8
- ldr r2, [r5, r2]
- add r0, #0xc
- str r2, [sp, #0x1c]
- ldr r0, [r5, r0]
- str r0, [sp, #0x20]
- str r1, [sp, #0x24]
- str r1, [sp, #0x28]
- ldr r2, [sp, #0x3c]
- ldr r0, [r4, #0x4]
- add r1, r3, #0x0
- add r2, r2, r3
- bl FUN_02008AA4
- ldr r0, [r5, #0x10]
- cmp r7, #0x0
- str r0, [sp, #0x40]
- ldr r0, [r4, #0x4]
- str r0, [sp, #0x44]
- beq _02088596
- lsl r0, r7, #0xc
- bl _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- b _020885A4
-_02088596:
- lsl r0, r7, #0xc
- bl _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
-_020885A4:
- bl _ffix
- str r0, [sp, #0x48]
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- beq _020885C2
- lsl r0, r0, #0xc
- bl _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- b _020885D0
-_020885C2:
- lsl r0, r0, #0xc
- bl _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
-_020885D0:
- bl _ffix
- str r0, [sp, #0x4c]
- add r0, sp, #0x78
- ldrh r0, [r0, #0x10]
- cmp r0, #0x0
- beq _020885F0
- lsl r0, r0, #0xc
- bl _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- bl _fadd
- b _020885FE
-_020885F0:
- lsl r0, r0, #0xc
- bl _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- bl _fsub
-_020885FE:
- bl _ffix
- str r0, [sp, #0x50]
- cmp r6, #0x2
- bne _02088612
- mov r0, #0x3
- ldr r1, [sp, #0x4c]
- lsl r0, r0, #0x12
- add r0, r1, r0
- str r0, [sp, #0x4c]
-_02088612:
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x54]
- str r0, [sp, #0x58]
- str r0, [sp, #0x5c]
- mov r1, #0x0
- add r0, sp, #0x40
- strh r1, [r0, #0x20]
- add r0, sp, #0x78
- ldrb r0, [r0, #0x18]
- str r6, [sp, #0x68]
- str r0, [sp, #0x64]
- ldr r0, [r5, #0x0]
- str r0, [sp, #0x6c]
- add r0, sp, #0x40
- bl FUN_0201FE94
- str r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02088652
- mov r1, #0x0
- bl FUN_02020130
- ldr r0, [sp, #0x34]
- add r1, r6, #0x0
- bl FUN_02009E88
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02020248
- b _02088656
-_02088652:
- bl ErrorHandling
-_02088656:
- ldr r0, [sp, #0x38]
- str r4, [r0, #0x4]
- add sp, #0x70
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02088660
-FUN_02088660: ; 0x02088660
- push {r4, lr}
- sub sp, #0x8
- add r3, r2, #0x0
- mov r2, #0x55
- lsl r2, r2, #0x2
- ldr r4, [r0, r2]
- ldrh r1, [r1, #0x0]
- ldr r4, [r4, #0x0]
- sub r2, #0x10
- lsl r1, r1, #0x2
- ldr r4, [r4, r1]
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r1, [r0, #0x0]
- add r3, r3, #0x3
- str r1, [sp, #0x4]
- ldr r0, [r0, r2]
- add r1, r4, #0x0
- mov r2, #0x58
- bl FUN_02009168
- add r0, r4, #0x0
- bl FUN_02009DE0
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02088694
-FUN_02088694: ; 0x02088694
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_0200C3DC
- mov r1, #0x16
- ldrh r2, [r4, #0x0]
- lsl r1, r1, #0x4
- ldr r3, [r5, r1]
- mov r0, #0x0
- lsl r2, r2, #0x2
- strb r0, [r3, r2]
- ldrh r2, [r4, #0x0]
- ldr r3, [r5, r1]
- lsl r2, r2, #0x2
- add r2, r3, r2
- strh r0, [r2, #0x2]
- ldr r2, [r5, r1]
- ldrh r1, [r4, #0x0]
- lsl r1, r1, #0x2
- add r1, r2, r1
- strb r0, [r1, #0x1]
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020886CC
-FUN_020886CC: ; 0x020886CC
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- mov r0, #0x15
- lsl r0, r0, #0x4
- ldr r4, [r5, r0]
- mov r1, #0xe
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- ldrh r1, [r5, #0xe]
- mov r2, #0x0
- sub r0, #0x10
- str r1, [sp, #0x4]
- ldr r1, [r5, #0x0]
- add r3, r2, #0x0
- str r1, [sp, #0x8]
- ldr r0, [r5, r0]
- mov r1, #0x58
- bl FUN_02008F34
- ldr r1, [r4, #0x0]
- str r0, [r1, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02088704
- bl ErrorHandling
-_02088704:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02088728
- cmp r0, #0x1
- beq _02088714
- cmp r0, #0x2
- beq _0208871E
- b _02088728
-_02088714:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_02009B04
- b _02088730
-_0208871E:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_02009B78
- b _02088730
-_02088728:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_02009A50
-_02088730:
- mov r4, #0x0
- add r6, r5, #0x0
-_02088734:
- mov r0, #0x56
- lsl r0, r0, #0x2
- ldr r7, [r6, r0]
- mov r0, #0xe
- lsl r0, r0, #0xc
- str r0, [sp, #0x0]
- add r0, r4, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- mov r1, #0x58
- str r0, [sp, #0x8]
- mov r0, #0x52
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r2, r4, #0x1
- mov r3, #0x0
- bl FUN_020090AC
- ldr r1, [r7, #0x0]
- str r0, [r1, #0x0]
- ldr r0, [r7, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02088768
- bl ErrorHandling
-_02088768:
- add r4, r4, #0x1
- add r6, r6, #0x4
- cmp r4, #0x2
- blt _02088734
- mov r0, #0x55
- lsl r0, r0, #0x2
- ldr r6, [r5, r0]
- ldrh r0, [r5, #0xa]
- mov r7, #0x0
- cmp r0, #0x0
- ble _020887C6
- add r4, r7, #0x0
-_02088780:
- mov r0, #0xe
- lsl r0, r0, #0xc
- add r0, r7, r0
- str r0, [sp, #0x0]
- ldrh r0, [r5, #0xe]
- mov r1, #0x58
- mov r2, #0x4
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- mov r3, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x51
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_02008FEC
- ldr r1, [r6, #0x0]
- str r0, [r1, r4]
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- bne _020887B4
- bl ErrorHandling
-_020887B4:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r4]
- bl FUN_02009CF0
- ldrh r0, [r5, #0xa]
- add r7, r7, #0x1
- add r4, r4, #0x4
- cmp r7, r0
- blt _02088780
-_020887C6:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020887CC
-FUN_020887CC: ; 0x020887CC
- push {r3-r6}
- ldrh r5, [r0, #0xa]
- mov r3, #0x0
- cmp r5, #0x0
- bls _0208880A
- mov r2, #0x16
- lsl r2, r2, #0x4
- ldr r4, [r0, r2]
-_020887DC:
- lsl r2, r3, #0x2
- ldrb r6, [r4, r2]
- cmp r6, #0x0
- bne _02088800
- add r4, r4, r2
- strh r3, [r4, #0x2]
- mov r4, #0x16
- lsl r4, r4, #0x4
- ldr r5, [r0, r4]
- add r5, r5, r2
- strb r1, [r5, #0x1]
- ldr r0, [r0, r4]
- mov r1, #0x1
- strb r1, [r0, r2]
- lsl r0, r3, #0x10
- asr r0, r0, #0x10
- pop {r3-r6}
- bx lr
-_02088800:
- add r2, r3, #0x1
- lsl r2, r2, #0x10
- lsr r3, r2, #0x10
- cmp r3, r5
- blo _020887DC
-_0208880A:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02088814
-FUN_02088814: ; 0x02088814
- mov r0, #0x3
- bx lr
-
- thumb_func_start FUN_02088818
-FUN_02088818: ; 0x02088818
- bx lr
- .balign 4
-
- thumb_func_start FUN_0208881C
-FUN_0208881C: ; 0x0208881C
- ldr r3, _02088828 ; =FUN_0202D8D0
- add r2, r0, #0x0
- ldr r0, _0208882C ; =0x020FD1C4
- mov r1, #0x6c
- bx r3
- nop
-_02088828: .word FUN_0202D8D0
-_0208882C: .word 0x020FD1C4
-
- thumb_func_start FUN_02088830
-FUN_02088830: ; 0x02088830
- ldr r0, _02088834 ; =0x0000066C
- bx lr
- .balign 4
-_02088834: .word 0x0000066C
-
- thumb_func_start FUN_02088838
-FUN_02088838: ; 0x02088838
- mov r0, #0x2f
- lsl r0, r0, #0x6
- bx lr
- .balign 4
-
- thumb_func_start FUN_02088840
-FUN_02088840: ; 0x02088840
- mov r0, #0x3f
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02088848
-FUN_02088848: ; 0x02088848
- mov r0, #0xa
- bx lr
-
- thumb_func_start FUN_0208884C
-FUN_0208884C: ; 0x0208884C
- mov r0, #0x32
- bx lr
-
- thumb_func_start FUN_02088850
-FUN_02088850: ; 0x02088850
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_02088854
-FUN_02088854: ; 0x02088854
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_02088858
-FUN_02088858: ; 0x02088858
- ldr r3, _02088860 ; =HandleLoadOverlay
- ldr r0, _02088864 ; =SDK_OVERLAY_MODULE_04_ID
- mov r1, #0x2
- bx r3
- .balign 4
-_02088860: .word HandleLoadOverlay
-_02088864: .word SDK_OVERLAY_MODULE_04_ID
-
- thumb_func_start FUN_02088868
-FUN_02088868: ; 0x02088868
- ldr r3, _02088870 ; =UnloadOverlayByID
- ldr r0, _02088874 ; =SDK_OVERLAY_MODULE_04_ID
- bx r3
- nop
-_02088870: .word UnloadOverlayByID
-_02088874: .word SDK_OVERLAY_MODULE_04_ID
-
- thumb_func_start FUN_02088878
-FUN_02088878: ; 0x02088878
- ldr r3, _02088880 ; =HandleLoadOverlay
- ldr r0, _02088884 ; =SDK_OVERLAY_MODULE_13_ID
- mov r1, #0x2
- bx r3
- .balign 4
-_02088880: .word HandleLoadOverlay
-_02088884: .word SDK_OVERLAY_MODULE_13_ID
-
- thumb_func_start FUN_02088888
-FUN_02088888: ; 0x02088888
- ldr r3, _02088890 ; =UnloadOverlayByID
- ldr r0, _02088894 ; =SDK_OVERLAY_MODULE_13_ID
- bx r3
- nop
-_02088890: .word UnloadOverlayByID
-_02088894: .word SDK_OVERLAY_MODULE_13_ID
-
- thumb_func_start FUN_02088898
-FUN_02088898: ; 0x02088898
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02088858
- bl FUN_02088878
- add r0, r4, #0x0
- bl MOD07_02211E60
- bl FUN_02088888
- bl FUN_02088868
- mov r0, #0x0
- bl OS_ResetSystem
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020888BC
-FUN_020888BC: ; 0x020888BC
- ldr r3, _020888C4 ; =HandleLoadOverlay
- ldr r0, _020888C8 ; =SDK_OVERLAY_MODULE_79_ID
- mov r1, #0x2
- bx r3
- .balign 4
-_020888C4: .word HandleLoadOverlay
-_020888C8: .word SDK_OVERLAY_MODULE_79_ID
-
- thumb_func_start FUN_020888CC
-FUN_020888CC: ; 0x020888CC
- ldr r3, _020888D4 ; =UnloadOverlayByID
- ldr r0, _020888D8 ; =SDK_OVERLAY_MODULE_79_ID
- bx r3
- nop
-_020888D4: .word UnloadOverlayByID
-_020888D8: .word SDK_OVERLAY_MODULE_79_ID
-
- thumb_func_start FUN_020888DC
-FUN_020888DC: ; 0x020888DC
- push {r4, lr}
- mov r2, #0x41
- add r4, r0, #0x0
- mov r0, #0x3
- mov r1, #0x31
- lsl r2, r2, #0xc
- bl FUN_0201681C
- add r0, r4, #0x0
- bl FUN_0200628C
- ldr r0, [r0, #0x8]
- mov r1, #0x31
- bl FUN_02088898
- mov r0, #0x31
- bl FUN_020168D0
- mov r0, #0x0
- bl OS_ResetSystem
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0208890C
-FUN_0208890C: ; 0x0208890C
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x20
- add r7, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x20
- bl MI_CpuFill8
- str r5, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_02028048
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_020238F4
- str r0, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_0206F158
- str r0, [r4, #0x14]
- add r0, r5, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0x18]
- str r7, [r4, #0x1c]
- str r6, [r4, #0x4]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02088950
-FUN_02088950: ; 0x02088950
- ldr r3, _02088958 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _0208895C ; =0x020FD6E4
- bx r3
- .balign 4
-_02088958: .word FUN_020373D4
-_0208895C: .word 0x020FD6E4
-
- thumb_func_start FUN_02088960
-FUN_02088960: ; 0x02088960
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020377AC
- add r3, r5, #0x0
- add r3, #0x98
- add r1, r0, #0x0
- ldr r3, [r3, #0x0]
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0208890C
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02088950
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0208898C
-FUN_0208898C: ; 0x0208898C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020889AC
- bl FUN_02006290
- cmp r0, #0x0
- beq _020889AC
- ldr r0, [r4, #0x0]
- bl FUN_02006260
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_020889AC:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_020889B0
-FUN_020889B0: ; 0x020889B0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_0200628C
- mov r2, #0x1
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x37
- lsl r2, r2, #0xe
- bl FUN_0201681C
- add r0, r4, #0x0
- mov r1, #0x24
- mov r2, #0x37
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x24
- add r4, r0, #0x0
- bl MI_CpuFill8
- mov r0, #0x37
- str r0, [r4, #0x0]
- str r5, [r4, #0x10]
- ldr r0, [r4, #0x0]
- bl FUN_0206F164
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x4]
- cmp r0, #0x1
- bne _020889FA
- ldrh r1, [r4, #0x6]
- mov r0, #0xff
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strh r0, [r4, #0x6]
-_020889FA:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02088A00
-FUN_02088A00: ; 0x02088A00
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02006278
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200628C
- ldr r5, [r4, #0x0]
- cmp r5, #0x4
- bhi _02088A6A
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02088A24: ; jump table (using 16-bit offset)
- .short _02088A2E - _02088A24 - 2; case 0
- .short _02088A3C - _02088A24 - 2; case 1
- .short _02088A4A - _02088A24 - 2; case 2
- .short _02088A58 - _02088A24 - 2; case 3
- .short _02088A66 - _02088A24 - 2; case 4
-_02088A2E:
- add r1, r6, #0x0
- add r0, r6, #0x0
- add r1, #0x14
- bl FUN_02088AAC
- str r0, [r4, #0x0]
- b _02088A6A
-_02088A3C:
- add r1, r6, #0x0
- add r0, r6, #0x0
- add r1, #0x14
- bl FUN_02088AFC
- str r0, [r4, #0x0]
- b _02088A6A
-_02088A4A:
- add r1, r6, #0x0
- add r0, r6, #0x0
- add r1, #0x14
- bl FUN_02088B28
- str r0, [r4, #0x0]
- b _02088A6A
-_02088A58:
- add r1, r6, #0x0
- add r0, r6, #0x0
- add r1, #0x14
- bl FUN_02088B48
- str r0, [r4, #0x0]
- b _02088A6A
-_02088A66:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02088A6A:
- ldr r0, [r4, #0x0]
- cmp r5, r0
- beq _02088A74
- mov r0, #0x0
- str r0, [r6, #0x14]
-_02088A74:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02088A78
-FUN_02088A78: ; 0x02088A78
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200628C
- ldr r0, [r4, #0xc]
- ldr r6, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x24
- bl MI_CpuFill8
- add r0, r5, #0x0
- bl FUN_0200627C
- add r0, r6, #0x0
- bl FUN_020168D0
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02088AAC
-FUN_02088AAC: ; 0x02088AAC
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x5
- bhi _02088AF6
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02088AC2: ; jump table (using 16-bit offset)
- .short _02088ACE - _02088AC2 - 2; case 0
- .short _02088AD6 - _02088AC2 - 2; case 1
- .short _02088ADE - _02088AC2 - 2; case 2
- .short _02088AE6 - _02088AC2 - 2; case 3
- .short _02088AEE - _02088AC2 - 2; case 4
- .short _02088AF2 - _02088AC2 - 2; case 5
-_02088ACE:
- bl FUN_02088B4C
- str r0, [r4, #0x0]
- b _02088AF6
-_02088AD6:
- bl FUN_02088BA8
- str r0, [r4, #0x0]
- b _02088AF6
-_02088ADE:
- bl FUN_02088C3C
- str r0, [r4, #0x0]
- b _02088AF6
-_02088AE6:
- bl FUN_02088CDC
- str r0, [r4, #0x0]
- b _02088AF6
-_02088AEE:
- mov r0, #0x1
- pop {r4, pc}
-_02088AF2:
- mov r0, #0x4
- pop {r4, pc}
-_02088AF6:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02088AFC
-FUN_02088AFC: ; 0x02088AFC
- push {r3-r5, lr}
- sub sp, #0x10
- ldr r5, _02088B24 ; =0x020FD708
- add r3, sp, #0x0
- add r4, r0, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- ldr r2, [r4, #0x0]
- add r1, r4, #0x0
- bl FUN_02006234
- str r0, [r4, #0x1c]
- mov r0, #0x2
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_02088B24: .word 0x020FD708
-
- thumb_func_start FUN_02088B28
-FUN_02088B28: ; 0x02088B28
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x1c
- bl FUN_0208898C
- cmp r0, #0x0
- bne _02088B3A
- mov r0, #0x2
- pop {r4, pc}
-_02088B3A:
- ldr r0, [r4, #0x20]
- cmp r0, #0x1
- bne _02088B44
- mov r0, #0x0
- pop {r4, pc}
-_02088B44:
- mov r0, #0x3
- pop {r4, pc}
-
- thumb_func_start FUN_02088B48
-FUN_02088B48: ; 0x02088B48
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_02088B4C
-FUN_02088B4C: ; 0x02088B4C
- push {r3-r5, lr}
- sub sp, #0x10
- ldr r3, _02088BA0 ; =0x020FD6F8
- add r2, sp, #0x0
- add r5, r0, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x10]
- ldr r1, _02088BA4 ; =0x020FD6F4
- ldr r0, [r0, #0x14]
- ldr r2, [r5, #0x0]
- bl FUN_0206EFEC
- add r4, r0, #0x0
- ldrh r0, [r5, #0x6]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bne _02088B7A
- mov r2, #0x5
- b _02088B7C
-_02088B7A:
- mov r2, #0x4
-_02088B7C:
- ldr r1, [r5, #0x10]
- lsl r2, r2, #0x18
- ldr r1, [r1, #0xc]
- ldr r3, [r5, #0xc]
- add r0, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_0206E314
- ldr r2, [r5, #0x0]
- add r0, sp, #0x0
- add r1, r4, #0x0
- bl FUN_02006234
- str r0, [r5, #0x1c]
- str r4, [r5, #0x18]
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_02088BA0: .word 0x020FD6F8
-_02088BA4: .word 0x020FD6F4
-
- thumb_func_start FUN_02088BA8
-FUN_02088BA8: ; 0x02088BA8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x1c
- bl FUN_0208898C
- cmp r0, #0x0
- bne _02088BBA
- mov r0, #0x1
- pop {r3-r5, pc}
-_02088BBA:
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0206E2F0
- add r5, r0, #0x0
- bl FUN_0206E308
- add r2, r0, #0x0
- ldr r1, [r4, #0x18]
- add r0, r5, #0x0
- bl memcpy
- ldr r0, [r4, #0x18]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_0206E37C
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_0206E384
- cmp r0, #0x5
- bhi _02088C16
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02088C02: ; jump table (using 16-bit offset)
- .short _02088C1E - _02088C02 - 2; case 0
- .short _02088C0E - _02088C02 - 2; case 1
- .short _02088C1E - _02088C02 - 2; case 2
- .short _02088C1E - _02088C02 - 2; case 3
- .short _02088C1E - _02088C02 - 2; case 4
- .short _02088C12 - _02088C02 - 2; case 5
-_02088C0E:
- mov r0, #0x2
- pop {r3-r5, pc}
-_02088C12:
- mov r0, #0x5
- pop {r3-r5, pc}
-_02088C16:
- bl ErrorHandling
- mov r0, #0x95
- str r0, [r4, #0x8]
-_02088C1E:
- ldr r0, [r4, #0x10]
- ldr r1, [r4, #0x8]
- ldr r0, [r0, #0x14]
- lsl r1, r1, #0x10
- ldr r3, [r4, #0x0]
- lsr r1, r1, #0x10
- mov r2, #0x1
- bl FUN_0206EDD4
- cmp r0, #0x0
- bne _02088C38
- bl ErrorHandling
-_02088C38:
- mov r0, #0x4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02088C3C
-FUN_02088C3C: ; 0x02088C3C
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- ldr r3, _02088CD8 ; =0x020FD718
- ldr r0, [r0, #0x14]
- add r2, sp, #0x8
- str r0, [sp, #0x0]
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020851B8
- str r0, [r5, #0x18]
- ldr r1, [r5, #0x8]
- mov r2, #0x1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_020851DC
- mov r6, #0x0
- add r4, r6, #0x0
-_02088C70:
- add r0, r4, #0x0
- bl FUN_0206EB1C
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, [sp, #0x0]
- ldr r3, [r5, #0x0]
- add r1, r7, #0x0
- mov r2, #0x1
- bl FUN_0206EE50
- cmp r0, #0x1
- bne _02088C9A
- ldr r0, [r5, #0x18]
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020851DC
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_02088C9A:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x40
- blo _02088C70
- add r3, sp, #0x4
- ldr r0, [r5, #0xc]
- mov r1, #0x4
- add r2, sp, #0x4
- add r3, #0x1
- bl FUN_0206F17C
- add r2, sp, #0x4
- ldrb r1, [r2, #0x1]
- add r3, r6, #0x2
- lsl r3, r3, #0x18
- ldrb r2, [r2, #0x0]
- ldr r0, [r5, #0x18]
- lsr r3, r3, #0x18
- bl FUN_020851F8
- ldr r1, [r5, #0x18]
- ldr r2, [r5, #0x0]
- add r0, sp, #0x8
- bl FUN_02006234
- str r0, [r5, #0x1c]
- mov r0, #0x3
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02088CD8: .word 0x020FD718
-
- thumb_func_start FUN_02088CDC
-FUN_02088CDC: ; 0x02088CDC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, #0x1c
- bl FUN_0208898C
- cmp r0, #0x0
- bne _02088CF2
- add sp, #0x4
- mov r0, #0x3
- pop {r3-r4, pc}
-_02088CF2:
- add r1, sp, #0x0
- ldr r0, [r4, #0x18]
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_0208524C
- add r3, sp, #0x0
- ldrb r2, [r3, #0x0]
- ldrb r3, [r3, #0x1]
- ldr r0, [r4, #0xc]
- mov r1, #0x4
- bl FUN_0206F190
- ldr r0, [r4, #0x18]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x18]
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02088D1C
-FUN_02088D1C: ; 0x02088D1C
- mov r0, #0x13
- bx lr
-
- thumb_func_start FUN_02088D20
-FUN_02088D20: ; 0x02088D20
- ldr r3, _02088D3C ; =0x020FD8C8
- mov r2, #0x0
-_02088D24:
- ldrb r1, [r3, #0x0]
- cmp r0, r1
- bne _02088D2E
- add r0, r2, #0x0
- bx lr
-_02088D2E:
- add r2, r2, #0x1
- add r3, #0xc
- cmp r2, #0x13
- blo _02088D24
- mov r0, #0x0
- bx lr
- nop
-_02088D3C: .word 0x020FD8C8
-
- thumb_func_start FUN_02088D40
-FUN_02088D40: ; 0x02088D40
- push {r3, lr}
- bl FUN_02088D20
- bl FUN_02088D4C
- pop {r3, pc}
-
- thumb_func_start FUN_02088D4C
-FUN_02088D4C: ; 0x02088D4C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x13
- blo _02088D58
- bl ErrorHandling
-_02088D58:
- mov r0, #0xc
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02088D64 ; =0x020FD8CA
- ldrh r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02088D64: .word 0x020FD8CA
-
- thumb_func_start FUN_02088D68
-FUN_02088D68: ; 0x02088D68
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x13
- blo _02088D74
- bl ErrorHandling
-_02088D74:
- mov r0, #0xc
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02088D80 ; =0x020FD8C8
- ldrb r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02088D80: .word 0x020FD8C8
-
- thumb_func_start FUN_02088D84
-FUN_02088D84: ; 0x02088D84
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x13
- blo _02088D90
- bl ErrorHandling
-_02088D90:
- mov r0, #0xc
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02088D9C ; =0x020FD8C9
- ldrb r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02088D9C: .word 0x020FD8C9
-
- thumb_func_start FUN_02088DA0
-FUN_02088DA0: ; 0x02088DA0
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x13
- blo _02088DAC
- bl ErrorHandling
-_02088DAC:
- mov r0, #0xc
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02088DB8 ; =0x020FD8CC
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02088DB8: .word 0x020FD8CC
-
- thumb_func_start FUN_02088DBC
-FUN_02088DBC: ; 0x02088DBC
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x13
- blo _02088DC8
- bl ErrorHandling
-_02088DC8:
- mov r0, #0xc
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, _02088DD4 ; =0x020FD8D0
- ldr r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_02088DD4: .word 0x020FD8D0
-
- thumb_func_start FUN_02088DD8
-FUN_02088DD8: ; 0x02088DD8
- push {r3, lr}
- mov r1, #0x18
- bl FUN_02016998
- add r3, r0, #0x0
- mov r2, #0x18
- mov r1, #0x0
-_02088DE6:
- strb r1, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _02088DE6
- pop {r3, pc}
-
- thumb_func_start FUN_02088DF0
-FUN_02088DF0: ; 0x02088DF0
- ldr r3, _02088DF4 ; =FUN_02016A18
- bx r3
- .balign 4
-_02088DF4: .word FUN_02016A18
-
- thumb_func_start FUN_02088DF8
-FUN_02088DF8: ; 0x02088DF8
- push {r3-r7, lr}
- sub sp, #0x18
- str r1, [sp, #0x0]
- mov r1, #0x5
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r4, #0x0
- str r0, [sp, #0x4]
- add r7, r4, #0x0
- add r6, sp, #0x10
-_02088E34:
- add r1, r4, #0x0
- add r0, r5, #0x0
- add r1, #0x36
- add r2, r7, #0x0
- bl FUN_020671BC
- lsl r1, r4, #0x1
- strh r0, [r6, r1]
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- blo _02088E34
- ldr r0, [sp, #0x0]
- mov r1, #0x2c
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0x2c
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x8]
- add r2, r7, #0x0
- bl FUN_02069F9C
- mov r2, #0x0
- mov r12, r2
-_02088E70:
- mov r0, r12
- lsl r0, r0, #0x1
- ldrh r5, [r7, r0]
- ldr r6, _02088EF4 ; =0x0000FFFF
- cmp r5, r6
- bne _02088E82
- lsl r0, r2, #0x1
- strh r6, [r4, r0]
- b _02088EE8
-_02088E82:
- mov r1, #0xfe
- lsl r1, r1, #0x8
- and r1, r5
- asr r3, r1, #0x9
- ldr r1, [sp, #0x4]
- cmp r3, r1
- bgt _02088EDA
- lsr r1, r6, #0x7
- and r1, r5
- strh r1, [r7, r0]
- ldrh r3, [r7, r0]
- mov r1, #0x0
- add r6, sp, #0x10
-_02088E9C:
- lsl r5, r1, #0x1
- ldrh r5, [r6, r5]
- cmp r3, r5
- beq _02088EAE
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x4
- blo _02088E9C
-_02088EAE:
- cmp r1, #0x4
- bne _02088EDA
- mov r1, #0x0
- cmp r2, #0x0
- bls _02088ECA
-_02088EB8:
- lsl r5, r1, #0x1
- ldrh r5, [r4, r5]
- cmp r5, r3
- beq _02088ECA
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, r2
- blo _02088EB8
-_02088ECA:
- cmp r1, r2
- bne _02088EDA
- ldrh r1, [r7, r0]
- lsl r0, r2, #0x1
- strh r1, [r4, r0]
- add r0, r2, #0x1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
-_02088EDA:
- mov r0, r12
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r12, r0
- cmp r0, #0x16
- blo _02088E70
-_02088EE8:
- add r0, r7, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_02088EF4: .word 0x0000FFFF
-
- thumb_func_start FUN_02088EF8
-FUN_02088EF8: ; 0x02088EF8
- ldrh r1, [r0, #0x0]
- ldr r0, _02088F08 ; =0x0000FFFF
- cmp r1, r0
- beq _02088F04
- mov r0, #0x1
- bx lr
-_02088F04:
- mov r0, #0x0
- bx lr
- .balign 4
-_02088F08: .word 0x0000FFFF
-
- thumb_func_start FUN_02088F0C
-FUN_02088F0C: ; 0x02088F0C
- push {r4-r6, lr}
- add r5, r1, #0x0
- ldr r1, _02088F44 ; =0x0000195C
- add r6, r0, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- str r5, [r4, #0x0]
- bl FUN_020139D8
- str r0, [r4, #0x4]
- mov r3, #0x0
- ldr r0, _02088F48 ; =0x0000189E
- add r2, r3, #0x0
-_02088F2A:
- add r1, r4, r3
- add r3, r3, #0x1
- strb r2, [r1, r0]
- cmp r3, #0xbb
- blt _02088F2A
- add r0, r4, #0x0
- bl FUN_02088F60
- add r0, r4, #0x0
- bl FUN_020891D0
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02088F44: .word 0x0000195C
-_02088F48: .word 0x0000189E
-
- thumb_func_start FUN_02088F4C
-FUN_02088F4C: ; 0x02088F4C
- push {r4, lr}
- add r4, r0, #0x0
- beq _02088F5E
- ldr r0, [r4, #0x4]
- bl FUN_02013A10
- add r0, r4, #0x0
- bl FUN_02016A18
-_02088F5E:
- pop {r4, pc}
-
- thumb_func_start FUN_02088F60
-FUN_02088F60: ; 0x02088F60
- push {r4-r7, lr}
- sub sp, #0xc
- mov r4, #0x0
- str r0, [sp, #0x0]
- add r7, r0, #0x0
- str r0, [sp, #0x8]
- add r0, #0x68
- ldr r5, _02088F9C ; =0x020FE17C
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
-_02088F74:
- ldr r3, [sp, #0x8]
- str r4, [r7, #0x38]
- lsl r6, r4, #0x1
- add r3, r3, r6
- ldr r0, [sp, #0x0]
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- ldr r6, [r5, #0x0]
- blx r6
- str r0, [r7, #0x8]
- add r4, r4, r0
- ldr r0, [sp, #0x4]
- add r7, r7, #0x4
- add r0, r0, #0x1
- add r5, #0xc
- str r0, [sp, #0x4]
- cmp r0, #0xc
- blt _02088F74
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02088F9C: .word 0x020FE17C
-
- thumb_func_start FUN_02088FA0
-FUN_02088FA0: ; 0x02088FA0
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- str r2, [sp, #0x4]
- add r5, r1, #0x0
- add r4, r3, #0x0
- mov r6, #0x0
- bl FUN_02085418
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r7, r6, #0x0
- cmp r0, #0x0
- bls _02088FF6
-_02088FBE:
- ldrh r1, [r5, #0x0]
- ldr r0, [sp, #0x8]
- bl FUN_020245F0
- cmp r0, #0x0
- beq _02088FEC
- ldrh r3, [r5, #0x0]
- ldr r0, [sp, #0x0]
- mov r2, #0x7
- lsr r1, r3, #0x3
- add r1, r0, r1
- ldr r0, _02088FFC ; =0x0000189E
- and r3, r2
- mov r2, #0x1
- ldrb r0, [r1, r0]
- lsl r2, r3
- orr r2, r0
- ldr r0, _02088FFC ; =0x0000189E
- add r6, r6, #0x1
- strb r2, [r1, r0]
- ldrh r0, [r5, #0x0]
- strh r0, [r4, #0x0]
- add r4, r4, #0x2
-_02088FEC:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- add r5, r5, #0x2
- cmp r7, r0
- blo _02088FBE
-_02088FF6:
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02088FFC: .word 0x0000189E
-
- thumb_func_start FUN_02089000
-FUN_02089000: ; 0x02089000
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r5, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02085420
- cmp r0, #0x0
- beq _02089046
- mov r2, #0x0
- cmp r7, #0x0
- bls _02089042
-_0208901A:
- ldrh r6, [r5, #0x0]
- ldr r0, [sp, #0x0]
- mov r3, #0x7
- lsr r1, r6, #0x3
- add r1, r0, r1
- ldr r0, _0208904C ; =0x0000189E
- and r6, r3
- mov r3, #0x1
- ldrb r0, [r1, r0]
- lsl r3, r6
- orr r3, r0
- ldr r0, _0208904C ; =0x0000189E
- add r2, r2, #0x1
- strb r3, [r1, r0]
- ldrh r0, [r5, #0x0]
- add r5, r5, #0x2
- strh r0, [r4, #0x0]
- add r4, r4, #0x2
- cmp r2, r7
- blo _0208901A
-_02089042:
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_02089046:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0208904C: .word 0x0000189E
-
- thumb_func_start FUN_02089050
-FUN_02089050: ; 0x02089050
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- add r4, r3, #0x0
- bl FUN_0208541C
- str r0, [sp, #0xc]
- ldr r0, _020890BC ; =0x00000189
- mov r1, #0x0
- bl FUN_02013A9C
- str r0, [sp, #0x8]
- mov r7, #0x0
- ldr r0, [sp, #0x4]
- add r6, r7, #0x0
- cmp r0, #0x0
- bls _020890B4
-_02089078:
- ldrh r2, [r5, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- sub r1, r2, r1
- bl FUN_02013B68
- cmp r0, #0x0
- beq _020890AA
- ldrh r3, [r5, #0x0]
- ldr r0, [sp, #0x0]
- mov r2, #0x7
- lsr r1, r3, #0x3
- add r1, r0, r1
- ldr r0, _020890C0 ; =0x0000189E
- and r3, r2
- mov r2, #0x1
- ldrb r0, [r1, r0]
- lsl r2, r3
- orr r2, r0
- ldr r0, _020890C0 ; =0x0000189E
- add r6, r6, #0x1
- strb r2, [r1, r0]
- ldrh r0, [r5, #0x0]
- strh r0, [r4, #0x0]
- add r4, r4, #0x2
-_020890AA:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- add r5, r5, #0x2
- cmp r7, r0
- blo _02089078
-_020890B4:
- add r0, r6, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_020890BC: .word 0x00000189
-_020890C0: .word 0x0000189E
-
- thumb_func_start FUN_020890C4
-FUN_020890C4: ; 0x020890C4
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- add r4, r3, #0x0
- bl FUN_0208541C
- str r0, [sp, #0x10]
- ldr r0, _02089144 ; =0x00000186
- mov r1, #0x0
- bl FUN_02013A9C
- add r6, r0, #0x0
- add r0, r6, #0x5
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0xc]
- mov r7, #0x0
- ldr r0, [sp, #0x4]
- str r7, [sp, #0x8]
- cmp r0, #0x0
- bls _0208913C
-_020890F4:
- ldrh r1, [r5, #0x0]
- cmp r1, r6
- blo _0208910C
- ldr r0, [sp, #0xc]
- cmp r1, r0
- bhi _0208910C
- ldr r0, [sp, #0x10]
- sub r1, r1, r6
- bl FUN_02013C0C
- cmp r0, #0x0
- beq _0208912E
-_0208910C:
- ldrh r3, [r5, #0x0]
- ldr r0, [sp, #0x0]
- mov r2, #0x7
- lsr r1, r3, #0x3
- add r1, r0, r1
- ldr r0, _02089148 ; =0x0000189E
- and r3, r2
- mov r2, #0x1
- ldrb r0, [r1, r0]
- lsl r2, r3
- orr r2, r0
- ldr r0, _02089148 ; =0x0000189E
- add r7, r7, #0x1
- strb r2, [r1, r0]
- ldrh r0, [r5, #0x0]
- strh r0, [r4, #0x0]
- add r4, r4, #0x2
-_0208912E:
- ldr r0, [sp, #0x8]
- add r5, r5, #0x2
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x8]
- cmp r1, r0
- blo _020890F4
-_0208913C:
- add r0, r7, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02089144: .word 0x00000186
-_02089148: .word 0x0000189E
-
- thumb_func_start FUN_0208914C
-FUN_0208914C: ; 0x0208914C
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r0, #0x0
- mov lr, r2
- mov r12, r0
- mov r0, lr
- add r4, r1, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- bls _020891C2
-_02089160:
- ldrh r2, [r4, #0x0]
- ldr r0, _020891C8 ; =0x0000FFFE
- cmp r2, r0
- bne _02089196
- add r0, r4, #0x2
- add r4, r4, #0x4
- ldrh r2, [r0, #0x0]
- ldrh r0, [r4, #0x0]
- cmp r2, #0x0
- strh r0, [r7, #0x0]
- beq _020891B6
-_02089176:
- ldrh r5, [r4, #0x0]
- mov r3, #0x7
- add r4, r4, #0x2
- lsr r0, r5, #0x3
- add r1, r6, r0
- ldr r0, _020891CC ; =0x0000189E
- and r5, r3
- mov r3, #0x1
- ldrb r0, [r1, r0]
- lsl r3, r5
- orr r3, r0
- ldr r0, _020891CC ; =0x0000189E
- sub r2, r2, #0x1
- strb r3, [r1, r0]
- bne _02089176
- b _020891B6
-_02089196:
- lsr r0, r2, #0x3
- ldr r1, _020891CC ; =0x0000189E
- add r0, r6, r0
- ldrb r3, [r0, r1]
- mov r1, #0x7
- mov r5, #0x1
- and r1, r2
- add r2, r5, #0x0
- lsl r2, r1
- ldr r1, _020891CC ; =0x0000189E
- orr r2, r3
- strb r2, [r0, r1]
- ldrh r0, [r4, #0x0]
- add r4, r4, #0x2
- strh r0, [r7, #0x0]
- add r7, r7, #0x2
-_020891B6:
- mov r0, r12
- add r1, r0, #0x1
- mov r0, lr
- mov r12, r1
- cmp r1, r0
- blo _02089160
-_020891C2:
- mov r0, lr
- pop {r3-r7, pc}
- nop
-_020891C8: .word 0x0000FFFE
-_020891CC: .word 0x0000189E
-
- thumb_func_start FUN_020891D0
-FUN_020891D0: ; 0x020891D0
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r4, #0x0
- ldr r6, _0208920C ; =0x020FDDF0
- str r4, [sp, #0x0]
- add r5, r7, #0x0
-_020891DC:
- ldr r0, _02089210 ; =0x00000C84
- mov r2, #0xcf
- str r4, [r5, r0]
- lsl r2, r2, #0x4
- ldr r1, [r6, #0x0]
- add r0, r7, #0x0
- add r2, r7, r2
- add r3, r4, #0x0
- bl FUN_02089218
- ldr r1, _02089214 ; =0x00000C18
- add r6, r6, #0x4
- str r0, [r5, r1]
- add r0, r1, #0x0
- ldr r0, [r5, r0]
- add r5, r5, #0x4
- add r4, r4, r0
- ldr r0, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- cmp r0, #0x1b
- blo _020891DC
- pop {r3-r7, pc}
- nop
-_0208920C: .word 0x020FDDF0
-_02089210: .word 0x00000C84
-_02089214: .word 0x00000C18
-
- thumb_func_start FUN_02089218
-FUN_02089218: ; 0x02089218
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r6, r0, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x0
- mov r12, r0
- ldrh r2, [r7, #0x0]
- ldr r0, _020892B8 ; =0x0000FFFF
- mov lr, r3
- cmp r2, r0
- beq _020892B4
-_0208922E:
- ldr r0, _020892BC ; =0x0000FFFE
- cmp r2, r0
- bne _02089280
- add r0, r7, #0x2
- ldrh r5, [r0, #0x0]
- add r7, r7, #0x4
- mov r3, #0x0
- cmp r5, #0x0
- bls _0208927A
- add r4, r7, #0x0
-_02089242:
- ldrh r2, [r4, #0x0]
- mov r0, #0x7
- mov r1, #0x1
- and r0, r2
- lsl r1, r0
- lsr r0, r2, #0x3
- add r2, r6, r0
- ldr r0, _020892C0 ; =0x0000189E
- ldrb r0, [r2, r0]
- tst r0, r1
- beq _02089272
- lsl r0, r3, #0x1
- ldrh r1, [r7, r0]
- mov r0, lr
- lsl r2, r0, #0x1
- mov r0, lr
- add r0, r0, #0x1
- mov lr, r0
- ldr r0, [sp, #0x0]
- strh r1, [r0, r2]
- mov r0, r12
- add r0, r0, #0x1
- mov r12, r0
- b _0208927A
-_02089272:
- add r3, r3, #0x1
- add r4, r4, #0x2
- cmp r3, r5
- blo _02089242
-_0208927A:
- lsl r0, r5, #0x1
- add r7, r7, r0
- b _020892AC
-_02089280:
- mov r1, #0x1
- mov r0, #0x7
- and r0, r2
- add r3, r1, #0x0
- lsl r3, r0
- lsr r0, r2, #0x3
- add r1, r6, r0
- ldr r0, _020892C0 ; =0x0000189E
- ldrb r0, [r1, r0]
- tst r0, r3
- beq _020892AA
- mov r1, lr
- add r1, r1, #0x1
- mov r0, lr
- mov lr, r1
- ldr r1, [sp, #0x0]
- lsl r0, r0, #0x1
- strh r2, [r1, r0]
- mov r0, r12
- add r0, r0, #0x1
- mov r12, r0
-_020892AA:
- add r7, r7, #0x2
-_020892AC:
- ldrh r2, [r7, #0x0]
- ldr r0, _020892B8 ; =0x0000FFFF
- cmp r2, r0
- bne _0208922E
-_020892B4:
- mov r0, r12
- pop {r3-r7, pc}
- .balign 4
-_020892B8: .word 0x0000FFFF
-_020892BC: .word 0x0000FFFE
-_020892C0: .word 0x0000189E
-
- thumb_func_start FUN_020892C4
-FUN_020892C4: ; 0x020892C4
- lsl r1, r1, #0x2
- add r0, r0, r1
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_020892CC
-FUN_020892CC: ; 0x020892CC
- push {r4, lr}
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- add r1, r4, r1
- ldr r1, [r1, #0x38]
- ldr r0, [r4, #0x4]
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r1, r4, r1
- add r1, #0x68
- ldrh r1, [r1, #0x0]
- add r2, r3, #0x0
- bl FUN_02013A30
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020892EC
-FUN_020892EC: ; 0x020892EC
- lsl r1, r1, #0x2
- add r1, r0, r1
- ldr r1, [r1, #0x38]
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r0, r0, r1
- add r0, #0x68
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02089300
-FUN_02089300: ; 0x02089300
- lsl r1, r1, #0x2
- add r1, r0, r1
- ldr r0, _0208930C ; =0x00000C18
- ldr r0, [r1, r0]
- bx lr
- nop
-_0208930C: .word 0x00000C18
-
- thumb_func_start FUN_02089310
-FUN_02089310: ; 0x02089310
- push {r4-r6, lr}
- add r4, r3, #0x0
- add r5, r0, #0x0
- lsl r3, r1, #0x2
- add r6, r5, r3
- ldr r3, _02089334 ; =0x00000C18
- ldr r3, [r6, r3]
- cmp r3, #0x0
- beq _02089330
- bl FUN_02089338
- add r1, r0, #0x0
- ldr r0, [r5, #0x4]
- add r2, r4, #0x0
- bl FUN_02013A30
-_02089330:
- pop {r4-r6, pc}
- nop
-_02089334: .word 0x00000C18
-
- thumb_func_start FUN_02089338
-FUN_02089338: ; 0x02089338
- push {r3-r4}
- lsl r1, r1, #0x2
- ldr r3, _02089360 ; =0x00000C18
- add r4, r0, r1
- ldr r1, [r4, r3]
- cmp r1, #0x0
- beq _0208935A
- add r1, r3, #0x0
- add r1, #0x6c
- ldr r1, [r4, r1]
- add r3, #0xd8
- add r1, r2, r1
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, r3]
- pop {r3-r4}
- bx lr
-_0208935A:
- ldr r0, _02089364 ; =0x0000FFFF
- pop {r3-r4}
- bx lr
- .balign 4
-_02089360: .word 0x00000C18
-_02089364: .word 0x0000FFFF
-
- thumb_func_start FUN_02089368
-FUN_02089368: ; 0x02089368
- push {r3-r6}
- mov r1, #0x0
- ldr r2, _0208938C ; =0x020FF2FC
- ldr r5, _02089390 ; =0x020FE17C
- add r0, r1, #0x0
- mov r3, #0xc
-_02089374:
- ldrb r4, [r2, #0x0]
- add r1, r1, #0x1
- add r2, r2, #0x1
- add r6, r4, #0x0
- mul r6, r3
- add r4, r5, r6
- ldr r4, [r4, #0x8]
- add r0, r0, r4
- cmp r1, #0x5
- blo _02089374
- pop {r3-r6}
- bx lr
- .balign 4
-_0208938C: .word 0x020FF2FC
-_02089390: .word 0x020FE17C
-
- thumb_func_start FUN_02089394
-FUN_02089394: ; 0x02089394
- push {r4-r7}
- mov r2, #0x0
- ldr r3, _020893D8 ; =0x020FF2FC
- add r1, r2, #0x0
-_0208939C:
- ldrb r5, [r3, #0x0]
- mov r4, #0xc
- add r6, r5, #0x0
- mul r6, r4
- ldr r4, _020893DC ; =0x020FE17C
- add r5, r4, r6
- ldr r7, [r5, #0x8]
- mov r6, #0x0
- ldr r4, [r5, #0x4]
- cmp r7, #0x0
- ble _020893C8
-_020893B2:
- ldrh r5, [r4, #0x0]
- cmp r0, r5
- bne _020893BE
- add r0, r2, #0x0
- pop {r4-r7}
- bx lr
-_020893BE:
- add r6, r6, #0x1
- add r2, r2, #0x1
- add r4, r4, #0x2
- cmp r6, r7
- blt _020893B2
-_020893C8:
- add r1, r1, #0x1
- add r3, r3, #0x1
- cmp r1, #0x5
- blo _0208939C
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r7}
- bx lr
- .balign 4
-_020893D8: .word 0x020FF2FC
-_020893DC: .word 0x020FE17C
-
- thumb_func_start FUN_020893E0
-FUN_020893E0: ; 0x020893E0
- mov r1, #0x0
- ldr r0, _020893EC ; =0x02106154
- mvn r1, r1
- str r1, [r0, #0x0]
- bx lr
- nop
-_020893EC: .word 0x02106154
-
- thumb_func_start FUN_020893F0
-FUN_020893F0: ; 0x020893F0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x3
- lsl r0, r0, #0xc
- cmp r2, r0
- bhs _0208940A
- add r0, r1, #0x0
- ldr r1, _02089410 ; =0x021C5C58
- bl MIi_CpuCopy32
- ldr r0, _02089414 ; =0x02106154
- str r4, [r0, #0x0]
- pop {r4, pc}
-_0208940A:
- bl ErrorHandling
- pop {r4, pc}
- .balign 4
-_02089410: .word 0x021C5C58
-_02089414: .word 0x02106154
-
- thumb_func_start FUN_02089418
-FUN_02089418: ; 0x02089418
- push {r3, lr}
- mov r3, #0x3
- lsl r3, r3, #0xc
- cmp r2, r3
- bhs _02089434
- ldr r3, _0208943C ; =0x02106154
- ldr r3, [r3, #0x0]
- cmp r0, r3
- bne _02089438
- ldr r0, _02089440 ; =0x021C5C58
- bl MIi_CpuCopy32
- mov r0, #0x1
- pop {r3, pc}
-_02089434:
- bl ErrorHandling
-_02089438:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0208943C: .word 0x02106154
-_02089440: .word 0x021C5C58
-
- thumb_func_start FUN_02089444
-FUN_02089444: ; 0x02089444
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x3
- lsl r0, r0, #0xc
- cmp r2, r0
- bhs _0208945E
- add r0, r1, #0x0
- ldr r1, _02089464 ; =0x021C5C58
- bl MIi_CpuCopyFast
- ldr r0, _02089468 ; =0x02106154
- str r4, [r0, #0x0]
- pop {r4, pc}
-_0208945E:
- bl ErrorHandling
- pop {r4, pc}
- .balign 4
-_02089464: .word 0x021C5C58
-_02089468: .word 0x02106154
-
- thumb_func_start FUN_0208946C
-FUN_0208946C: ; 0x0208946C
- push {r3, lr}
- mov r3, #0x3
- lsl r3, r3, #0xc
- cmp r2, r3
- bhs _02089488
- ldr r3, _02089490 ; =0x02106154
- ldr r3, [r3, #0x0]
- cmp r0, r3
- bne _0208948C
- ldr r0, _02089494 ; =0x021C5C58
- bl MIi_CpuCopyFast
- mov r0, #0x1
- pop {r3, pc}
-_02089488:
- bl ErrorHandling
-_0208948C:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02089490: .word 0x02106154
-_02089494: .word 0x021C5C58
-
- thumb_func_start FUN_02089498
-FUN_02089498: ; 0x02089498
- push {r3-r5, lr}
- mov r2, #0x2
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x58
- lsl r2, r2, #0x10
- bl FUN_0201681C
- add r0, r5, #0x0
- mov r1, #0x38
- mov r2, #0x58
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x38
- add r4, r0, #0x0
- bl memset
- mov r0, #0x58
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0200628C
- ldr r0, [r0, #0x8]
- str r0, [r4, #0x30]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020894D4
-FUN_020894D4: ; 0x020894D4
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- bl FUN_02006278
- ldr r1, [r5, #0x0]
- add r4, r0, #0x0
- mov r6, #0x0
- cmp r1, #0x3
- bhi _020895DA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020894F4: ; jump table (using 16-bit offset)
- .short _020894FC - _020894F4 - 2; case 0
- .short _02089588 - _020894F4 - 2; case 1
- .short _02089596 - _020894F4 - 2; case 2
- .short _020895BC - _020894F4 - 2; case 3
-_020894FC:
- ldr r0, _020895E0 ; =0x00000495
- add r1, r6, #0x0
- bl FUN_02005350
- add r0, r6, #0x0
- bl FUN_0200516C
- add r0, r6, #0x0
- bl FUN_0200415C
- add r0, r6, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- add r1, r6, #0x0
- bl FUN_0200E3A0
- add r0, r6, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- add r0, r6, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _020895E4 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _020895E8 ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- add r0, r4, #0x0
- bl FUN_0208961C
- add r0, r4, #0x0
- bl FUN_02089734
- ldr r0, _020895EC ; =FUN_02089610
- add r1, r4, #0x0
- bl FUN_02015F10
- bl FUN_0201E788
- mov r0, #0x6
- mov r1, #0x1
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r2, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _020895DA
-_02089588:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _020895DA
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _020895DA
-_02089596:
- bl FUN_02089790
- cmp r0, #0x1
- bne _020895DA
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _020895DA
-_020895BC:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _020895DA
- add r0, r4, #0x0
- bl FUN_0208977C
- add r0, r4, #0x0
- bl FUN_020896E0
- add r0, r6, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r6, #0x1
-_020895DA:
- add r0, r6, #0x0
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_020895E0: .word 0x00000495
-_020895E4: .word 0xFFFFE0FF
-_020895E8: .word 0x04001000
-_020895EC: .word FUN_02089610
-
- thumb_func_start FUN_020895F0
-FUN_020895F0: ; 0x020895F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- ldr r4, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_0200627C
- add r0, r4, #0x0
- bl FUN_020168D0
- mov r0, #0x0
- bl OS_ResetSystem
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02089610
-FUN_02089610: ; 0x02089610
- ldr r3, _02089618 ; =FUN_0201AB60
- ldr r0, [r0, #0x14]
- bx r3
- nop
-_02089618: .word FUN_0201AB60
-
- thumb_func_start FUN_0208961C
-FUN_0208961C: ; 0x0208961C
- push {r4-r5, lr}
- sub sp, #0x5c
- ldr r5, _020896C8 ; =0x020FF340
- add r4, r0, #0x0
- add r3, sp, #0x34
- mov r2, #0x5
-_02089628:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02089628
- add r0, sp, #0x34
- bl FUN_0201E66C
- ldr r0, [r4, #0x0]
- bl FUN_02016B94
- add r3, sp, #0x24
- ldr r5, _020896CC ; =0x020FF314
- str r0, [r4, #0x14]
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _020896D0 ; =0x020FF324
- add r3, sp, #0x8
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r0, [r3, #0x0]
- ldr r0, [r4, #0x14]
- add r3, r1, #0x0
- bl FUN_02016C18
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _020896D4 ; =0x000001E2
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x14]
- mov r3, #0x2
- bl FUN_0200CD68
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _020896D8 ; =0x000001D9
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x14]
- mov r3, #0x3
- bl FUN_0200CB00
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- mov r1, #0x20
- bl FUN_02002ED0
- mov r0, #0x0
- ldr r3, [r4, #0x0]
- mov r1, #0x20
- add r2, r0, #0x0
- bl FUN_02017F18
- ldr r1, _020896DC ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _020896DC ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- add sp, #0x5c
- pop {r4-r5, pc}
- .balign 4
-_020896C8: .word 0x020FF340
-_020896CC: .word 0x020FF314
-_020896D0: .word 0x020FF324
-_020896D4: .word 0x000001E2
-_020896D8: .word 0x000001D9
-_020896DC: .word 0x00006C21
-
- thumb_func_start FUN_020896E0
-FUN_020896E0: ; 0x020896E0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0201797C
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x3
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x5
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x6
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x7
- mov r1, #0x0
- bl FUN_0201797C
- ldr r0, [r4, #0x14]
- mov r1, #0x0
- bl FUN_020178A0
- ldr r0, [r4, #0x14]
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02089734
-FUN_02089734: ; 0x02089734
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r3, [r4, #0x0]
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x4
- bl FUN_0200A86C
- str r0, [r4, #0x18]
- bl FUN_0201BD5C
- mov r0, #0x0
- str r0, [r4, #0x8]
- add r1, r4, #0x0
- ldr r0, [r4, #0x14]
- ldr r2, _02089778 ; =0x020FF304
- add r1, #0x1c
- bl FUN_02019150
- mov r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x20
- mov r2, #0x0
- add r4, #0x1c
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- add sp, #0x8
- pop {r4, pc}
- nop
-_02089778: .word 0x020FF304
-
- thumb_func_start FUN_0208977C
-FUN_0208977C: ; 0x0208977C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x1c
- bl FUN_02019178
- ldr r0, [r4, #0x18]
- bl FUN_0200A8B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02089790
-FUN_02089790: ; 0x02089790
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- mov r5, #0x0
- cmp r1, #0x6
- bhi _02089888
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020897AA: ; jump table (using 16-bit offset)
- .short _020897B8 - _020897AA - 2; case 0
- .short _020897E2 - _020897AA - 2; case 1
- .short _02089802 - _020897AA - 2; case 2
- .short _0208982C - _020897AA - 2; case 3
- .short _0208984C - _020897AA - 2; case 4
- .short _0208986C - _020897AA - 2; case 5
- .short _0208987E - _020897AA - 2; case 6
-_020897B8:
- add r1, r5, #0x0
- mov r2, #0x1
- mov r3, #0x4
- bl FUN_0208989C
- cmp r0, #0x1
- bne _02089888
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, _02089890 ; =0x020FF30C
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x14]
- ldr r2, _02089894 ; =0x000001D9
- mov r3, #0x3
- bl FUN_020020EC
- str r0, [r4, #0x2c]
- mov r0, #0x1
- str r0, [r4, #0x4]
- b _02089888
-_020897E2:
- ldr r0, [r4, #0x2c]
- ldr r1, [r4, #0x0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _020897F6
- sub r1, r5, #0x2
- cmp r0, r1
- beq _020897FC
- b _02089888
-_020897F6:
- mov r0, #0x2
- str r0, [r4, #0x4]
- b _02089888
-_020897FC:
- mov r0, #0x6
- str r0, [r4, #0x4]
- b _02089888
-_02089802:
- mov r1, #0x1
- add r2, r1, #0x0
- mov r3, #0x4
- bl FUN_0208989C
- cmp r0, #0x1
- bne _02089888
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, _02089890 ; =0x020FF30C
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x14]
- ldr r2, _02089894 ; =0x000001D9
- mov r3, #0x3
- bl FUN_020020EC
- str r0, [r4, #0x2c]
- mov r0, #0x3
- str r0, [r4, #0x4]
- b _02089888
-_0208982C:
- ldr r0, [r4, #0x2c]
- ldr r1, [r4, #0x0]
- bl FUN_020021AC
- cmp r0, #0x0
- beq _02089840
- sub r1, r5, #0x2
- cmp r0, r1
- beq _02089846
- b _02089888
-_02089840:
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _02089888
-_02089846:
- mov r0, #0x6
- str r0, [r4, #0x4]
- b _02089888
-_0208984C:
- mov r1, #0x2
- mov r2, #0x1
- add r3, r5, #0x0
- bl FUN_0208989C
- cmp r0, #0x1
- bne _02089888
- add r0, r4, #0x0
- ldr r1, _02089898 ; =0x000001E2
- add r0, #0x1c
- bl FUN_0200D858
- str r0, [r4, #0x34]
- mov r0, #0x5
- str r0, [r4, #0x4]
- b _02089888
-_0208986C:
- ldr r0, [r4, #0x30]
- bl FUN_0202263C
- ldr r0, [r4, #0x34]
- bl FUN_0200DBFC
- mov r0, #0x6
- str r0, [r4, #0x4]
- b _02089888
-_0208987E:
- ldr r0, [r4, #0x14]
- add r1, r5, #0x0
- bl FUN_02018744
- mov r5, #0x1
-_02089888:
- add r0, r5, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_02089890: .word 0x020FF30C
-_02089894: .word 0x000001D9
-_02089898: .word 0x000001E2
-
- thumb_func_start FUN_0208989C
-FUN_0208989C: ; 0x0208989C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- add r7, r1, #0x0
- add r4, r3, #0x0
- mov r6, #0x0
- cmp r0, #0x0
- beq _020898B8
- cmp r0, #0x1
- beq _02089920
- cmp r0, #0x2
- beq _0208993C
- b _02089950
-_020898B8:
- mov r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r0, #0x1c
- mov r1, #0xf
- add r2, r6, #0x0
- add r3, r6, #0x0
- bl FUN_020196F4
- add r0, r5, #0x0
- ldr r2, _02089958 ; =0x000001E2
- add r0, #0x1c
- add r1, r6, #0x0
- mov r3, #0x2
- bl FUN_0200D0BC
- mov r0, #0x1
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0xa
- bl FUN_020219F4
- str r0, [r5, #0x10]
- ldr r0, [r5, #0x18]
- ldr r2, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_0200A8E0
- add r3, r6, #0x0
- str r3, [sp, #0x0]
- str r4, [sp, #0x4]
- str r3, [sp, #0x8]
- add r0, r5, #0x0
- ldr r2, [r5, #0x10]
- add r0, #0x1c
- mov r1, #0x1
- bl FUN_0201BD84
- str r0, [r5, #0xc]
- cmp r4, #0x0
- bne _02089918
- ldr r0, [r5, #0x10]
- bl FUN_02021A20
- ldr r0, [r5, #0x8]
- add r0, r0, #0x1
- str r0, [r5, #0x8]
-_02089918:
- ldr r0, [r5, #0x8]
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- b _02089950
-_02089920:
- ldr r0, [r5, #0xc]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02089950
- ldr r0, [r5, #0x10]
- bl FUN_02021A20
- ldr r0, [r5, #0x8]
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- b _02089950
-_0208993C:
- cmp r2, #0x0
- bne _0208994A
- ldr r0, _0208995C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _02089950
-_0208994A:
- mov r0, #0x0
- str r0, [r5, #0x8]
- mov r6, #0x1
-_02089950:
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02089958: .word 0x000001E2
-_0208995C: .word 0x021C48B8
-
- thumb_func_start FUN_02089960
-FUN_02089960: ; 0x02089960
- push {r3-r5, lr}
- mov r2, #0x2
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0x58
- lsl r2, r2, #0x10
- bl FUN_0201681C
- add r0, r5, #0x0
- mov r1, #0x3c
- mov r2, #0x58
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0x3c
- add r4, r0, #0x0
- bl memset
- mov r0, #0x58
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0200628C
- ldr r0, [r0, #0x8]
- str r0, [r4, #0x34]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0208999C
-FUN_0208999C: ; 0x0208999C
- push {r4-r6, lr}
- add r5, r1, #0x0
- bl FUN_02006278
- ldr r1, [r5, #0x0]
- add r6, r0, #0x0
- mov r4, #0x0
- cmp r1, #0x0
- beq _020899B8
- cmp r1, #0x1
- beq _02089A12
- cmp r1, #0x2
- beq _02089A20
- b _02089A34
-_020899B8:
- add r0, r4, #0x0
- add r1, r4, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- add r1, r4, #0x0
- bl FUN_0200E3A0
- add r0, r4, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- add r0, r4, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02089A38 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _02089A3C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- add r0, r6, #0x0
- bl FUN_02089A6C
- add r0, r6, #0x0
- bl FUN_02089B80
- bl FUN_0201E788
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _02089A34
-_02089A12:
- bl FUN_02089BE0
- cmp r0, #0x1
- bne _02089A34
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02089A34
-_02089A20:
- bl FUN_02089BCC
- add r0, r6, #0x0
- bl FUN_02089B2C
- add r0, r4, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r4, #0x1
-_02089A34:
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02089A38: .word 0xFFFFE0FF
-_02089A3C: .word 0x04001000
-
- thumb_func_start FUN_02089A40
-FUN_02089A40: ; 0x02089A40
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- ldr r4, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_0200627C
- add r0, r4, #0x0
- bl FUN_020168D0
- ldr r0, _02089A64 ; =SDK_OVERLAY_MODULE_83_ID
- ldr r1, _02089A68 ; =0x0223A360
- bl FUN_02000E7C
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02089A64: .word SDK_OVERLAY_MODULE_83_ID
-_02089A68: .word 0x0223A360
-
- thumb_func_start FUN_02089A6C
-FUN_02089A6C: ; 0x02089A6C
- push {r4-r5, lr}
- sub sp, #0x5c
- ldr r5, _02089B18 ; =0x020FF3AC
- add r4, r0, #0x0
- add r3, sp, #0x34
- mov r2, #0x5
-_02089A78:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02089A78
- add r0, sp, #0x34
- bl FUN_0201E66C
- ldr r0, [r4, #0x0]
- bl FUN_02016B94
- add r3, sp, #0x24
- ldr r5, _02089B1C ; =0x020FF380
- str r0, [r4, #0x18]
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- bl FUN_02016BBC
- ldr r5, _02089B20 ; =0x020FF390
- add r3, sp, #0x8
- ldmia r5!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r0, [r3, #0x0]
- ldr r0, [r4, #0x18]
- add r3, r1, #0x0
- bl FUN_02016C18
- ldr r0, [r4, #0x18]
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _02089B24 ; =0x000001E2
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x18]
- mov r3, #0x2
- bl FUN_0200CD68
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, _02089B28 ; =0x000001D9
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x18]
- mov r3, #0x3
- bl FUN_0200CB00
- ldr r2, [r4, #0x0]
- mov r0, #0x0
- mov r1, #0x20
- bl FUN_02002ED0
- mov r0, #0x0
- ldr r3, [r4, #0x0]
- mov r1, #0x20
- add r2, r0, #0x0
- bl FUN_02017F18
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02017FE4
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_02017FE4
- add sp, #0x5c
- pop {r4-r5, pc}
- .balign 4
-_02089B18: .word 0x020FF3AC
-_02089B1C: .word 0x020FF380
-_02089B20: .word 0x020FF390
-_02089B24: .word 0x000001E2
-_02089B28: .word 0x000001D9
-
- thumb_func_start FUN_02089B2C
-FUN_02089B2C: ; 0x02089B2C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0201797C
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x3
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x4
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x5
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x6
- mov r1, #0x0
- bl FUN_0201797C
- mov r0, #0x7
- mov r1, #0x0
- bl FUN_0201797C
- ldr r0, [r4, #0x18]
- mov r1, #0x0
- bl FUN_020178A0
- ldr r0, [r4, #0x18]
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02089B80
-FUN_02089B80: ; 0x02089B80
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r2, _02089BC4 ; =0x00000167
- ldr r3, [r4, #0x0]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- str r0, [r4, #0x1c]
- bl FUN_0201BD5C
- mov r0, #0x0
- str r0, [r4, #0xc]
- add r1, r4, #0x0
- ldr r0, [r4, #0x18]
- ldr r2, _02089BC8 ; =0x020FF378
- add r1, #0x20
- bl FUN_02019150
- mov r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x20
- mov r2, #0x0
- add r4, #0x20
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- add sp, #0x8
- pop {r4, pc}
- nop
-_02089BC4: .word 0x00000167
-_02089BC8: .word 0x020FF378
-
- thumb_func_start FUN_02089BCC
-FUN_02089BCC: ; 0x02089BCC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x20
- bl FUN_02019178
- ldr r0, [r4, #0x1c]
- bl FUN_0200A8B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02089BE0
-FUN_02089BE0: ; 0x02089BE0
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- mov r5, #0x0
- cmp r1, #0x5
- bhi _02089CC2
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02089BFA: ; jump table (using 16-bit offset)
- .short _02089C06 - _02089BFA - 2; case 0
- .short _02089C3C - _02089BFA - 2; case 1
- .short _02089C68 - _02089BFA - 2; case 2
- .short _02089C76 - _02089BFA - 2; case 3
- .short _02089CA2 - _02089BFA - 2; case 4
- .short _02089CC0 - _02089BFA - 2; case 5
-_02089C06:
- ldr r0, [r4, #0x34]
- bl FUN_02022800
- cmp r0, #0x3
- bhi _02089CC2
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02089C1C: ; jump table (using 16-bit offset)
- .short _02089C24 - _02089C1C - 2; case 0
- .short _02089C24 - _02089C1C - 2; case 1
- .short _02089C2A - _02089C1C - 2; case 2
- .short _02089C34 - _02089C1C - 2; case 3
-_02089C24:
- mov r0, #0x5
- str r0, [r4, #0x4]
- b _02089CC2
-_02089C2A:
- add r0, r5, #0x0
- str r0, [r4, #0x8]
- mov r0, #0x1
- str r0, [r4, #0x4]
- b _02089CC2
-_02089C34:
- mov r0, #0x1
- str r0, [r4, #0x8]
- str r0, [r4, #0x4]
- b _02089CC2
-_02089C3C:
- ldr r1, _02089CC8 ; =0x00006C21
- add r0, r5, #0x0
- bl FUN_02017FE4
- ldr r1, _02089CC8 ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x6
- mov r1, #0x1
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r2, r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x2
- str r0, [r4, #0x4]
- b _02089CC2
-_02089C68:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02089CC2
- mov r0, #0x3
- str r0, [r4, #0x4]
- b _02089CC2
-_02089C76:
- ldr r1, [r4, #0x8]
- add r2, r5, #0x0
- mov r3, #0x4
- bl FUN_02089CCC
- cmp r0, #0x1
- bne _02089CC2
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x4
- str r0, [r4, #0x4]
- b _02089CC2
-_02089CA2:
- bl FUN_0200E308
- cmp r0, #0x1
- bne _02089CC2
- add r0, r5, #0x0
- add r1, r0, #0x0
- bl FUN_02017FE4
- mov r0, #0x4
- add r1, r5, #0x0
- bl FUN_02017FE4
- mov r0, #0x5
- str r0, [r4, #0x4]
- b _02089CC2
-_02089CC0:
- mov r5, #0x1
-_02089CC2:
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02089CC8: .word 0x00006C21
-
- thumb_func_start FUN_02089CCC
-FUN_02089CCC: ; 0x02089CCC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r7, r1, #0x0
- add r4, r3, #0x0
- mov r6, #0x0
- cmp r0, #0x0
- beq _02089CE8
- cmp r0, #0x1
- beq _02089D50
- cmp r0, #0x2
- beq _02089D6C
- b _02089D80
-_02089CE8:
- mov r0, #0xd8
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r0, #0x20
- mov r1, #0xf
- add r2, r6, #0x0
- add r3, r6, #0x0
- bl FUN_020196F4
- add r0, r5, #0x0
- ldr r2, _02089D88 ; =0x000001E2
- add r0, #0x20
- add r1, r6, #0x0
- mov r3, #0x2
- bl FUN_0200D0BC
- mov r0, #0x1
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0xa
- bl FUN_020219F4
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x1c]
- ldr r2, [r5, #0x14]
- add r1, r7, #0x0
- bl FUN_0200A8E0
- add r3, r6, #0x0
- str r3, [sp, #0x0]
- str r4, [sp, #0x4]
- str r3, [sp, #0x8]
- add r0, r5, #0x0
- ldr r2, [r5, #0x14]
- add r0, #0x20
- mov r1, #0x1
- bl FUN_0201BD84
- str r0, [r5, #0x10]
- cmp r4, #0x0
- bne _02089D48
- ldr r0, [r5, #0x14]
- bl FUN_02021A20
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
-_02089D48:
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02089D80
-_02089D50:
- ldr r0, [r5, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _02089D80
- ldr r0, [r5, #0x14]
- bl FUN_02021A20
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02089D80
-_02089D6C:
- cmp r2, #0x0
- bne _02089D7A
- ldr r0, _02089D8C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _02089D80
-_02089D7A:
- mov r0, #0x0
- str r0, [r5, #0xc]
- mov r6, #0x1
-_02089D80:
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02089D88: .word 0x000001E2
-_02089D8C: .word 0x021C48B8
-
- thumb_func_start FUN_02089D90
-FUN_02089D90: ; 0x02089D90
- push {r3-r6, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02089EF4 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _02089EF8 ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _02089EFC ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _02089F00 ; =0x04000050
- mov r0, #0x0
- strh r0, [r3, #0x0]
- ldr r2, _02089F04 ; =0x04001050
- sub r3, #0x50
- strh r0, [r2, #0x0]
- ldr r1, [r3, #0x0]
- ldr r0, _02089F08 ; =0xFFFF1FFF
- sub r2, #0x50
- and r1, r0
- str r1, [r3, #0x0]
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- ldr r0, _02089F0C ; =0x020FF418
- bl FUN_0201E66C
- add r0, r4, #0x0
- bl FUN_02016B94
- add r5, r0, #0x0
- ldr r0, _02089F10 ; =0x020FF3EC
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r2, _02089F14 ; =0x020FF3FC
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r2, _02089F18 ; =0x000001F7
- add r0, r5, #0x0
- mov r3, #0x2
- str r4, [sp, #0x4]
- bl FUN_0200CB00
- mov r0, #0x0
- mov r1, #0x20
- add r2, r4, #0x0
- bl FUN_02002ED0
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- add r3, r4, #0x0
- bl FUN_02017F18
- ldr r1, _02089F1C ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _02089F1C ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x5
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r6, r0, #0x0
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- bl FUN_0201BD5C
- ldr r2, _02089F20 ; =0x020FF3E4
- add r0, r5, #0x0
- add r1, sp, #0xc
- bl FUN_02019150
- mov r0, #0xd0
- str r0, [sp, #0x0]
- mov r0, #0x90
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0xc
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r2, _02089F18 ; =0x000001F7
- add r0, sp, #0xc
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- add r0, r6, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, sp, #0xc
- add r2, r4, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r4, #0x0
- bl FUN_02021A20
- bl FUN_0201E788
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- mov r4, #0x1
-_02089EE4:
- bl FUN_02000FE8
- add r0, r4, #0x0
- add r1, r4, #0x0
- bl OS_WaitIrq
- b _02089EE4
- nop
-_02089EF4: .word 0xFFFFE0FF
-_02089EF8: .word 0x04001000
-_02089EFC: .word 0x021C4918
-_02089F00: .word 0x04000050
-_02089F04: .word 0x04001050
-_02089F08: .word 0xFFFF1FFF
-_02089F0C: .word 0x020FF418
-_02089F10: .word 0x020FF3EC
-_02089F14: .word 0x020FF3FC
-_02089F18: .word 0x000001F7
-_02089F1C: .word 0x00006C21
-_02089F20: .word 0x020FF3E4
-
- thumb_func_start FUN_02089F24
-FUN_02089F24: ; 0x02089F24
- push {r3-r6, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _0208A088 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0208A08C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _0208A090 ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _0208A094 ; =0x04000050
- mov r0, #0x0
- strh r0, [r3, #0x0]
- ldr r2, _0208A098 ; =0x04001050
- sub r3, #0x50
- strh r0, [r2, #0x0]
- ldr r1, [r3, #0x0]
- ldr r0, _0208A09C ; =0xFFFF1FFF
- sub r2, #0x50
- and r1, r0
- str r1, [r3, #0x0]
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- ldr r0, _0208A0A0 ; =0x020FF418
- bl FUN_0201E66C
- add r0, r4, #0x0
- bl FUN_02016B94
- add r5, r0, #0x0
- ldr r0, _0208A0A4 ; =0x020FF3EC
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r2, _0208A0A8 ; =0x020FF3FC
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r2, _0208A0AC ; =0x000001F7
- add r0, r5, #0x0
- mov r3, #0x2
- str r4, [sp, #0x4]
- bl FUN_0200CB00
- mov r0, #0x0
- mov r1, #0x20
- add r2, r4, #0x0
- bl FUN_02002ED0
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- add r3, r4, #0x0
- bl FUN_02017F18
- ldr r1, _0208A0B0 ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _0208A0B0 ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x5
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r6, r0, #0x0
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- bl FUN_0201BD5C
- ldr r2, _0208A0B4 ; =0x020FF3E4
- add r0, r5, #0x0
- add r1, sp, #0xc
- bl FUN_02019150
- mov r0, #0xd0
- str r0, [sp, #0x0]
- mov r0, #0x90
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0xc
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r2, _0208A0AC ; =0x000001F7
- add r0, sp, #0xc
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- add r0, r6, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, sp, #0xc
- add r2, r4, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r4, #0x0
- bl FUN_02021A20
- bl FUN_0201E788
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- mov r4, #0x1
-_0208A078:
- bl FUN_02000FE8
- add r0, r4, #0x0
- add r1, r4, #0x0
- bl OS_WaitIrq
- b _0208A078
- nop
-_0208A088: .word 0xFFFFE0FF
-_0208A08C: .word 0x04001000
-_0208A090: .word 0x021C4918
-_0208A094: .word 0x04000050
-_0208A098: .word 0x04001050
-_0208A09C: .word 0xFFFF1FFF
-_0208A0A0: .word 0x020FF418
-_0208A0A4: .word 0x020FF3EC
-_0208A0A8: .word 0x020FF3FC
-_0208A0AC: .word 0x000001F7
-_0208A0B0: .word 0x00006C21
-_0208A0B4: .word 0x020FF3E4
-
- thumb_func_start FUN_0208A0B8
-FUN_0208A0B8: ; 0x0208A0B8
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- cmp r1, #0x0
- bne _0208A0C6
- mov r6, #0x1
- b _0208A0C8
-_0208A0C6:
- mov r6, #0x0
-_0208A0C8:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- bl FUN_02015EF4
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _0208A228 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0208A22C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _0208A230 ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _0208A234 ; =0x04000050
- mov r1, #0x0
- strh r1, [r3, #0x0]
- ldr r0, _0208A238 ; =0x04001050
- sub r3, #0x50
- strh r1, [r0, #0x0]
- ldr r2, [r3, #0x0]
- ldr r1, _0208A23C ; =0xFFFF1FFF
- sub r0, #0x50
- and r2, r1
- str r2, [r3, #0x0]
- ldr r2, [r0, #0x0]
- and r1, r2
- str r1, [r0, #0x0]
- ldr r0, _0208A240 ; =0x020FF474
- bl FUN_0201E66C
- add r0, r4, #0x0
- bl FUN_02016B94
- add r5, r0, #0x0
- ldr r0, _0208A244 ; =0x020FF448
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r2, _0208A248 ; =0x020FF458
- add r0, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r2, _0208A24C ; =0x000001F7
- add r0, r5, #0x0
- mov r3, #0x2
- str r4, [sp, #0x4]
- bl FUN_0200CB00
- mov r0, #0x0
- mov r1, #0x20
- add r2, r4, #0x0
- bl FUN_02002ED0
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- add r3, r4, #0x0
- bl FUN_02017F18
- ldr r1, _0208A250 ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _0208A250 ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0x6
- add r3, r4, #0x0
- bl FUN_0200A86C
- add r7, r0, #0x0
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- bl FUN_0201BD5C
- ldr r2, _0208A254 ; =0x020FF440
- add r0, r5, #0x0
- add r1, sp, #0xc
- bl FUN_02019150
- mov r0, #0xd0
- str r0, [sp, #0x0]
- mov r0, #0x90
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0xc
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r2, _0208A24C ; =0x000001F7
- add r0, sp, #0xc
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, sp, #0xc
- add r2, r4, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r4, #0x0
- bl FUN_02021A20
- bl FUN_0201E788
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- mov r4, #0x1
-_0208A21A:
- bl FUN_02000FE8
- add r0, r4, #0x0
- add r1, r4, #0x0
- bl OS_WaitIrq
- b _0208A21A
- .balign 4
-_0208A228: .word 0xFFFFE0FF
-_0208A22C: .word 0x04001000
-_0208A230: .word 0x021C4918
-_0208A234: .word 0x04000050
-_0208A238: .word 0x04001050
-_0208A23C: .word 0xFFFF1FFF
-_0208A240: .word 0x020FF474
-_0208A244: .word 0x020FF448
-_0208A248: .word 0x020FF458
-_0208A24C: .word 0x000001F7
-_0208A250: .word 0x00006C21
-_0208A254: .word 0x020FF440
-
- thumb_func_start FUN_0208A258
-FUN_0208A258: ; 0x0208A258
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, _0208A290 ; =0x0000022F
- ldrb r0, [r4, r0]
- cmp r0, #0x10
- beq _0208A278
- cmp r0, #0x11
- beq _0208A286
- b _0208A28C
-_0208A278:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0208A294
- ldr r1, _0208A290 ; =0x0000022F
- strb r0, [r4, r1]
- b _0208A28C
-_0208A286:
- add r0, r5, #0x0
- bl FUN_0208A2C4
-_0208A28C:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0208A290: .word 0x0000022F
-
- thumb_func_start FUN_0208A294
-FUN_0208A294: ; 0x0208A294
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0208A2A6
- mov r0, #0x10
- pop {r3-r5, pc}
-_0208A2A6:
- ldr r0, [r4, #0x4]
- bl FUN_0206E394
- mov r1, #0x9
- lsl r1, r1, #0x6
- strb r0, [r4, r1]
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x11
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0208A2C4
-FUN_0208A2C4: ; 0x0208A2C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0208A2F6
- mov r0, #0x1
- bl MOD05_021D7CA4
- ldr r1, _0208A2F8 ; =0x0223D4AD
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463EC
- ldr r0, _0208A2FC ; =0x0000022F
- mov r1, #0x12
- strb r1, [r4, r0]
-_0208A2F6:
- pop {r4-r6, pc}
- .balign 4
-_0208A2F8: .word 0x0223D4AD
-_0208A2FC: .word 0x0000022F
-
- thumb_func_start FUN_0208A300
-FUN_0208A300: ; 0x0208A300
- push {r3, lr}
- mov r1, #0x8
- bl FUN_02016998
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- strb r1, [r0, #0x4]
- strb r1, [r0, #0x5]
- strb r1, [r0, #0x6]
- strb r1, [r0, #0x7]
- mov r1, #0x2
- str r1, [r0, #0x4]
- pop {r3, pc}
-
- thumb_func_start FUN_0208A320
-FUN_0208A320: ; 0x0208A320
- ldr r3, _0208A324 ; =FUN_02016A18
- bx r3
- .balign 4
-_0208A324: .word FUN_02016A18
-
- thumb_func_start FUN_0208A328
-FUN_0208A328: ; 0x0208A328
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0208A32C
-FUN_0208A32C: ; 0x0208A32C
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0208A330
-FUN_0208A330: ; 0x0208A330
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0208A334
-FUN_0208A334: ; 0x0208A334
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0208A338
-FUN_0208A338: ; 0x0208A338
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- mov r0, #0x20
- mov r1, #0x6c
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x19
- str r5, [r4, #0x0]
- lsl r0, r0, #0x4
- mov r1, #0x20
- bl FUN_020219F4
- str r0, [r4, #0x4]
- mov r0, #0x19
- lsl r0, r0, #0x4
- mov r1, #0x20
- bl FUN_020219F4
- str r0, [r4, #0x8]
- mov r0, #0x20
- bl FUN_0200AA80
- str r0, [r4, #0xc]
- ldr r2, _0208A3C0 ; =0x00000171
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x20
- bl FUN_0200A86C
- str r0, [r4, #0x10]
- mov r0, #0x20
- bl FUN_02013690
- str r0, [r4, #0x14]
- ldr r2, [r4, #0x0]
- mov r0, #0x2
- ldr r2, [r2, #0xc]
- mov r1, #0x0
- mov r3, #0x20
- bl FUN_02085338
- str r0, [r4, #0x50]
- bl FUN_020853DC
- add r0, r4, #0x0
- add r0, #0x18
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x38
- bl FUN_0201901C
- mov r0, #0x0
- str r0, [r4, #0x54]
- ldr r1, _0208A3C4 ; =FUN_0208A458
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_0208A3C0: .word 0x00000171
-_0208A3C4: .word FUN_0208A458
-
- thumb_func_start FUN_0208A3C8
-FUN_0208A3C8: ; 0x0208A3C8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x50]
- bl FUN_020853A8
- ldr r0, [r4, #0x14]
- bl FUN_020136C0
- ldr r0, [r4, #0x4]
- bl FUN_02021A20
- ldr r0, [r4, #0x8]
- bl FUN_02021A20
- ldr r0, [r4, #0xc]
- bl FUN_0200AB18
- ldr r0, [r4, #0x10]
- bl FUN_0200A8B8
- add r0, r4, #0x0
- bl FUN_0208A400
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0208A400
-FUN_0208A400: ; 0x0208A400
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x18
- bl FUN_02019048
- cmp r0, #0x0
- beq _0208A41E
- add r0, r4, #0x0
- add r0, #0x18
- bl FUN_02019178
- add r0, r4, #0x0
- add r0, #0x18
- bl FUN_0201901C
-_0208A41E:
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_02019048
- cmp r0, #0x0
- beq _0208A43A
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_02019178
- add r0, r4, #0x0
- add r0, #0x28
- bl FUN_0201901C
-_0208A43A:
- add r0, r4, #0x0
- add r0, #0x38
- bl FUN_02019048
- cmp r0, #0x0
- beq _0208A456
- add r0, r4, #0x0
- add r0, #0x38
- bl FUN_02019178
- add r4, #0x38
- add r0, r4, #0x0
- bl FUN_0201901C
-_0208A456:
- pop {r4, pc}
-
- thumb_func_start FUN_0208A458
-FUN_0208A458: ; 0x0208A458
- push {r3-r5, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x54]
- cmp r1, #0xd
- bhi _0208A4A4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0208A472: ; jump table (using 16-bit offset)
- .short _0208A48E - _0208A472 - 2; case 0
- .short _0208A49C - _0208A472 - 2; case 1
- .short _0208A4B8 - _0208A472 - 2; case 2
- .short _0208A556 - _0208A472 - 2; case 3
- .short _0208A566 - _0208A472 - 2; case 4
- .short _0208A57A - _0208A472 - 2; case 5
- .short _0208A5A6 - _0208A472 - 2; case 6
- .short _0208A5BE - _0208A472 - 2; case 7
- .short _0208A5D4 - _0208A472 - 2; case 8
- .short _0208A614 - _0208A472 - 2; case 9
- .short _0208A628 - _0208A472 - 2; case 10
- .short _0208A694 - _0208A472 - 2; case 11
- .short _0208A6A2 - _0208A472 - 2; case 12
- .short _0208A6C0 - _0208A472 - 2; case 13
-_0208A48E:
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0208A6D4
- mov r0, #0x1
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A49C:
- bl FUN_0208A750
- cmp r0, #0x0
- bne _0208A4A6
-_0208A4A4:
- b _0208A6C8
-_0208A4A6:
- add r0, r4, #0x0
- bl FUN_0208A760
- add r0, r4, #0x0
- bl FUN_0208A77C
- mov r0, #0x2
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A4B8:
- bl FUN_0208A8DC
- mov r1, #0x0
- mvn r1, r1
- str r0, [r4, #0x64]
- cmp r0, r1
- beq _0208A5B0
- add r0, r4, #0x0
- bl FUN_0208A820
- ldr r0, [r4, #0x64]
- cmp r0, #0x4
- bhi _0208A5B0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0208A4DE: ; jump table (using 16-bit offset)
- .short _0208A4E8 - _0208A4DE - 2; case 0
- .short _0208A502 - _0208A4DE - 2; case 1
- .short _0208A51C - _0208A4DE - 2; case 2
- .short _0208A536 - _0208A4DE - 2; case 3
- .short _0208A550 - _0208A4DE - 2; case 4
-_0208A4E8:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202A5F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x48
- bl FUN_02013960
- mov r0, #0x3
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A502:
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0xc]
- bl FUN_0202A5F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x48
- bl FUN_02013960
- mov r0, #0x3
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A51C:
- ldr r0, [r4, #0x0]
- mov r1, #0x2
- ldr r0, [r0, #0xc]
- bl FUN_0202A5F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x48
- bl FUN_02013960
- mov r0, #0x3
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A536:
- ldr r0, [r4, #0x0]
- mov r1, #0x3
- ldr r0, [r0, #0xc]
- bl FUN_0202A5F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x48
- bl FUN_02013960
- mov r0, #0x3
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A550:
- mov r0, #0xb
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A556:
- ldr r1, [r4, #0x64]
- mov r2, #0x0
- add r1, r1, #0x1
- bl FUN_0208A6D4
- mov r0, #0x4
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A566:
- bl FUN_0208A750
- cmp r0, #0x0
- beq _0208A5B0
- mov r0, #0x0
- bl MOD05_021D7CA4
- mov r0, #0x5
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A57A:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0208A5B0
- add r1, r4, #0x0
- ldr r0, [r4, #0x50]
- add r1, #0x48
- bl FUN_020853BC
- ldr r0, [r4, #0x50]
- bl FUN_020853D0
- add r0, r4, #0x0
- bl FUN_0208A400
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x50]
- bl FUN_02037E80
- mov r0, #0x6
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A5A6:
- ldr r0, [r4, #0x0]
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0208A5B2
-_0208A5B0:
- b _0208A6C8
-_0208A5B2:
- ldr r0, [r4, #0x0]
- bl FUN_0204649C
- mov r0, #0x7
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A5BE:
- ldr r0, [r4, #0x0]
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0208A6C8
- mov r0, #0x1
- bl MOD05_021D7CA4
- mov r0, #0x8
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A5D4:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0208A6C8
- ldr r0, [r4, #0x50]
- bl FUN_020853E4
- cmp r0, #0x0
- beq _0208A5EC
- mov r0, #0xb
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A5EC:
- add r1, r4, #0x0
- ldr r0, [r4, #0x50]
- add r1, #0x48
- bl FUN_020853FC
- ldr r0, [r4, #0x0]
- add r2, r4, #0x0
- ldr r0, [r0, #0xc]
- ldr r1, [r4, #0x64]
- add r2, #0x48
- bl FUN_0202A5D4
- add r0, r4, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_0208A6D4
- mov r0, #0x9
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A614:
- bl FUN_0208A750
- cmp r0, #0x0
- beq _0208A6C8
- add r0, r4, #0x0
- bl FUN_0208A82C
- mov r0, #0xa
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A628:
- bl FUN_0208A8DC
- mov r1, #0x0
- mvn r1, r1
- str r0, [r4, #0x64]
- cmp r0, r1
- beq _0208A6C8
- cmp r0, #0x0
- beq _0208A63E
- cmp r0, #0x1
- b _0208A656
-_0208A63E:
- add r0, r4, #0x0
- bl FUN_0208A8D0
- add r0, r4, #0x0
- bl FUN_0208A760
- add r0, r4, #0x0
- bl FUN_0208A77C
- mov r0, #0x2
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A656:
- add r0, r4, #0x0
- add r0, #0x48
- mov r1, #0x0
- bl FUN_02013918
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0208A8D0
- ldr r0, _0208A6CC ; =0x0000FFFF
- cmp r5, r0
- beq _0208A684
- ldr r0, [r4, #0xc]
- mov r1, #0x0
- add r2, r5, #0x0
- bl FUN_0200B518
- add r0, r4, #0x0
- mov r1, #0x8
- mov r2, #0x1
- bl FUN_0208A6D4
- b _0208A68E
-_0208A684:
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_0208A6D4
-_0208A68E:
- mov r0, #0xc
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A694:
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_0208A6D4
- mov r0, #0xc
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A6A2:
- bl FUN_0208A750
- cmp r0, #0x0
- beq _0208A6C8
- ldr r0, _0208A6D0 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0xf3
- tst r0, r1
- beq _0208A6C8
- add r0, r4, #0x0
- bl FUN_0208A760
- mov r0, #0xd
- str r0, [r4, #0x54]
- b _0208A6C8
-_0208A6C0:
- bl FUN_0208A3C8
- mov r0, #0x1
- pop {r3-r5, pc}
-_0208A6C8:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0208A6CC: .word 0x0000FFFF
-_0208A6D0: .word 0x021C48B8
-
- thumb_func_start FUN_0208A6D4
-FUN_0208A6D4: ; 0x0208A6D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r5, #0x0
- add r4, #0x18
- cmp r2, #0x0
- ldr r0, [r5, #0x10]
- beq _0208A6F4
- ldr r2, [r5, #0x4]
- bl FUN_0200A8E0
- ldr r0, [r5, #0xc]
- ldr r1, [r5, #0x8]
- ldr r2, [r5, #0x4]
- bl FUN_0200B7B8
- b _0208A6FA
-_0208A6F4:
- ldr r2, [r5, #0x8]
- bl FUN_0200A8E0
-_0208A6FA:
- add r0, r4, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- bne _0208A722
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054608
- b _0208A734
-_0208A722:
- add r0, r4, #0x0
- bl FUN_0205464C
- ldr r2, _0208A74C ; =0x000003E2
- add r0, r4, #0x0
- mov r1, #0x0
- mov r3, #0xa
- bl FUN_0200D0BC
-_0208A734:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- ldr r1, [r5, #0x8]
- add r0, r4, #0x0
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r5, #0x58]
- pop {r3-r5, pc}
- .balign 4
-_0208A74C: .word 0x000003E2
-
- thumb_func_start FUN_0208A750
-FUN_0208A750: ; 0x0208A750
- ldr r0, [r0, #0x58]
- ldr r3, _0208A75C ; =FUN_020546C8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx r3
- nop
-_0208A75C: .word FUN_020546C8
-
- thumb_func_start FUN_0208A760
-FUN_0208A760: ; 0x0208A760
- push {r4, lr}
- add r4, r0, #0x0
- add r4, #0x18
- add r0, r4, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- beq _0208A778
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200D0E0
-_0208A778:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0208A77C
-FUN_0208A77C: ; 0x0208A77C
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r7, r5, #0x0
- add r7, #0x28
- add r0, r7, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- bne _0208A808
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0xa5
- mov r3, #0xb
- bl FUN_0200CB00
- mov r1, #0xd
- str r1, [sp, #0x0]
- mov r0, #0xe
- str r0, [sp, #0x4]
- mov r0, #0xa
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x11
- bl FUN_02019064
- add r0, r7, #0x0
- mov r1, #0xf
- bl FUN_02019620
- mov r6, #0x0
- add r4, r6, #0x0
-_0208A7D2:
- add r1, r6, #0x0
- ldr r0, [r5, #0x10]
- ldr r2, [r5, #0x8]
- add r1, #0x9
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- mov r1, #0x0
- mov r3, #0xc
- bl FUN_0201BD84
- add r6, r6, #0x1
- add r4, #0x10
- cmp r6, #0x5
- blt _0208A7D2
- mov r2, #0x0
- ldr r0, [r5, #0x14]
- add r1, r7, #0x0
- add r3, r2, #0x0
- bl FUN_020136F8
-_0208A808:
- str r7, [r5, #0x68]
- mov r1, #0x0
- str r1, [r5, #0x5c]
- mov r0, #0x5
- str r0, [r5, #0x60]
- add r0, r7, #0x0
- mov r2, #0xa5
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0208A820
-FUN_0208A820: ; 0x0208A820
- ldr r3, _0208A828 ; =FUN_0200CCF8
- add r0, #0x28
- mov r1, #0x1
- bx r3
- .balign 4
-_0208A828: .word FUN_0200CCF8
-
- thumb_func_start FUN_0208A82C
-FUN_0208A82C: ; 0x0208A82C
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r7, r5, #0x0
- add r7, #0x38
- add r0, r7, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- bne _0208A8B8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0xa5
- mov r3, #0xb
- bl FUN_0200CB00
- mov r1, #0xd
- str r1, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- mov r0, #0x8d
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x19
- bl FUN_02019064
- add r0, r7, #0x0
- mov r1, #0xf
- bl FUN_02019620
- mov r6, #0x0
- add r4, r6, #0x0
-_0208A882:
- add r1, r6, #0x0
- ldr r0, [r5, #0x10]
- ldr r2, [r5, #0x8]
- add r1, #0xe
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- mov r1, #0x0
- mov r3, #0xc
- bl FUN_0201BD84
- add r6, r6, #0x1
- add r4, #0x10
- cmp r6, #0x2
- blt _0208A882
- mov r2, #0x0
- ldr r0, [r5, #0x14]
- add r1, r7, #0x0
- add r3, r2, #0x0
- bl FUN_020136F8
-_0208A8B8:
- str r7, [r5, #0x68]
- mov r1, #0x0
- str r1, [r5, #0x5c]
- mov r0, #0x2
- str r0, [r5, #0x60]
- add r0, r7, #0x0
- mov r2, #0xa5
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0208A8D0
-FUN_0208A8D0: ; 0x0208A8D0
- ldr r3, _0208A8D8 ; =FUN_0200CCF8
- add r0, #0x38
- mov r1, #0x1
- bx r3
- .balign 4
-_0208A8D8: .word FUN_0200CCF8
-
- thumb_func_start FUN_0208A8DC
-FUN_0208A8DC: ; 0x0208A8DC
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _0208A990 ; =0x021C48B8
- mov r1, #0x40
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _0208A906
- ldr r0, [r4, #0x5c]
- sub r0, r0, #0x1
- str r0, [r4, #0x5c]
- bpl _0208A954
- ldr r0, [r4, #0x60]
- cmp r0, #0x2
- ble _0208A900
- sub r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _0208A954
-_0208A900:
- mov r0, #0x0
- str r0, [r4, #0x5c]
- b _0208A954
-_0208A906:
- mov r1, #0x80
- tst r1, r0
- beq _0208A928
- ldr r0, [r4, #0x5c]
- add r1, r0, #0x1
- str r1, [r4, #0x5c]
- ldr r0, [r4, #0x60]
- cmp r1, r0
- blt _0208A954
- cmp r0, #0x2
- ble _0208A922
- mov r0, #0x0
- str r0, [r4, #0x5c]
- b _0208A954
-_0208A922:
- sub r0, r0, #0x1
- str r0, [r4, #0x5c]
- b _0208A954
-_0208A928:
- mov r1, #0x1
- tst r1, r0
- beq _0208A93A
- ldr r0, _0208A994 ; =0x000005DC
- bl FUN_020054C8
- add sp, #0x8
- ldr r0, [r4, #0x5c]
- pop {r4, pc}
-_0208A93A:
- mov r1, #0x2
- tst r0, r1
- beq _0208A94E
- ldr r0, _0208A994 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, [r4, #0x60]
- add sp, #0x8
- sub r0, r0, #0x1
- pop {r4, pc}
-_0208A94E:
- add sp, #0x8
- sub r0, r1, #0x3
- pop {r4, pc}
-_0208A954:
- ldr r0, [r4, #0x68]
- mov r1, #0xc
- str r1, [sp, #0x0]
- ldrb r1, [r0, #0x8]
- mov r2, #0x0
- add r3, r2, #0x0
- lsl r1, r1, #0x13
- lsr r1, r1, #0x10
- str r1, [sp, #0x4]
- mov r1, #0xf
- bl FUN_020196F4
- ldr r3, [r4, #0x5c]
- ldr r0, [r4, #0x14]
- ldr r1, [r4, #0x68]
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- ldr r0, [r4, #0x68]
- bl FUN_02019548
- ldr r0, _0208A994 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x0
- mvn r0, r0
- add sp, #0x8
- pop {r4, pc}
- nop
-_0208A990: .word 0x021C48B8
-_0208A994: .word 0x000005DC
-
- thumb_func_start FUN_0208A998
-FUN_0208A998: ; 0x0208A998
- ldr r3, _0208A9AC ; =0x027E0000
- ldr r1, _0208A9B0 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- ldr r3, _0208A9B4 ; =MI_WaitDma
- mov r0, #0x3
- bx r3
- nop
-_0208A9AC: .word 0x027E0000
-_0208A9B0: .word 0x00003FF8
-_0208A9B4: .word MI_WaitDma
-
- thumb_func_start FUN_0208A9B8
-FUN_0208A9B8: ; 0x0208A9B8
- push {r4-r7, lr}
- sub sp, #0x24
- ldr r0, _0208ABC8 ; =0x021C8C58
- ldr r1, [r0, #0x0]
- cmp r1, #0x1
- bne _0208A9C6
- b _0208ABC4
-_0208A9C6:
- mov r1, #0x1
- str r1, [r0, #0x0]
- mov r0, #0x0
- bl OS_GetInitArenaHi
- add r1, r0, #0x0
- mov r0, #0x0
- bl OS_SetArenaHi
- mov r0, #0x0
- bl OS_GetInitArenaLo
- add r1, r0, #0x0
- mov r0, #0x0
- bl OS_SetArenaLo
- mov r1, #0x1
- ldr r0, _0208ABCC ; =0x020FF4A4
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_020166C8
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- bl OS_DisableIrqMask
- ldr r1, _0208ABD0 ; =FUN_0208A998
- mov r0, #0x1
- bl OS_SetIrqFunction
- mov r0, #0x1
- bl OS_EnableIrqMask
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F10
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_02015F34
- bl FUN_0201E6D8
- bl FUN_0201E740
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _0208ABD4 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0208ABD8 ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _0208ABDC ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _0208ABE0 ; =0x04000050
- mov r0, #0x0
- strh r0, [r3, #0x0]
- ldr r2, _0208ABE4 ; =0x04001050
- sub r3, #0x50
- strh r0, [r2, #0x0]
- ldr r1, [r3, #0x0]
- ldr r0, _0208ABE8 ; =0xFFFF1FFF
- sub r2, #0x50
- and r1, r0
- str r1, [r3, #0x0]
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- ldr r0, _0208ABEC ; =0x020FF4D8
- bl FUN_0201E66C
- mov r0, #0x0
- bl FUN_02016B94
- str r0, [sp, #0x10]
- ldr r0, _0208ABF0 ; =0x020FF4AC
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r0, [sp, #0x10]
- ldr r2, _0208ABF4 ; =0x020FF4BC
- add r3, r1, #0x0
- bl FUN_02016C18
- ldr r0, [sp, #0x10]
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, [sp, #0x10]
- ldr r2, _0208ABF8 ; =0x000001F7
- mov r3, #0x2
- str r1, [sp, #0x4]
- bl FUN_0200CB00
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- bl FUN_02002ED0
- mov r0, #0x0
- mov r1, #0x20
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_02017F18
- ldr r1, _0208ABFC ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _0208ABFC ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc8
- mov r3, #0x0
- bl FUN_0200A86C
- str r0, [sp, #0xc]
- mov r0, #0x6
- lsl r0, r0, #0x6
- mov r1, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- bl FUN_0201BD5C
- ldr r0, [sp, #0x10]
- ldr r2, _0208AC00 ; =0x020FF49C
- add r1, sp, #0x14
- bl FUN_02019150
- mov r0, #0xd0
- str r0, [sp, #0x0]
- mov r0, #0x90
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x14
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r2, _0208ABF8 ; =0x000001F7
- add r0, sp, #0x14
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- ldr r0, [sp, #0xc]
- mov r1, #0x3
- add r2, r4, #0x0
- bl FUN_0200A8E0
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, sp, #0x14
- add r2, r4, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r4, #0x0
- bl FUN_02021A20
- bl FUN_0201E788
- mov r0, #0x0
- bl FUN_0200E394
- mov r0, #0x1
- bl FUN_0200E394
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- bl FUN_02032DAC
- mov r4, #0x1
-_0208AB58:
- bl FUN_02000FE8
- bl FUN_0202FB80
- bl FUN_02033678
- cmp r0, #0x0
- bne _0208AB72
- add r0, r4, #0x0
- add r1, r4, #0x0
- bl OS_WaitIrq
- b _0208AB58
-_0208AB72:
- ldr r5, _0208AC04 ; =0x04000130
- ldr r4, _0208AC08 ; =0x027FFFA8
- ldr r7, _0208AC0C ; =0x00002FFF
- mov r6, #0x1
-_0208AB7A:
- bl FUN_02000FE8
- ldrh r1, [r5, #0x0]
- ldrh r0, [r4, #0x0]
- orr r1, r0
- ldr r0, _0208AC0C ; =0x00002FFF
- eor r0, r1
- and r0, r7
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- tst r0, r6
- bne _0208AB9C
- mov r0, #0x1
- add r1, r0, #0x0
- bl OS_WaitIrq
- b _0208AB7A
-_0208AB9C:
- ldr r1, _0208AC10 ; =0x00007FFF
- mov r0, #0x0
- bl FUN_0200E3A0
- ldr r1, _0208AC10 ; =0x00007FFF
- mov r0, #0x1
- bl FUN_0200E3A0
- add r0, sp, #0x14
- bl FUN_02019178
- ldr r0, [sp, #0xc]
- bl FUN_0200A8B8
- ldr r0, [sp, #0x10]
- bl FUN_02016A18
- mov r0, #0x0
- bl OS_ResetSystem
-_0208ABC4:
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_0208ABC8: .word 0x021C8C58
-_0208ABCC: .word 0x020FF4A4
-_0208ABD0: .word FUN_0208A998
-_0208ABD4: .word 0xFFFFE0FF
-_0208ABD8: .word 0x04001000
-_0208ABDC: .word 0x021C4918
-_0208ABE0: .word 0x04000050
-_0208ABE4: .word 0x04001050
-_0208ABE8: .word 0xFFFF1FFF
-_0208ABEC: .word 0x020FF4D8
-_0208ABF0: .word 0x020FF4AC
-_0208ABF4: .word 0x020FF4BC
-_0208ABF8: .word 0x000001F7
-_0208ABFC: .word 0x00006C21
-_0208AC00: .word 0x020FF49C
-_0208AC04: .word 0x04000130
-_0208AC08: .word 0x027FFFA8
-_0208AC0C: .word 0x00002FFF
-_0208AC10: .word 0x00007FFF
diff --git a/arm9/asm/unk_0204639C.s b/arm9/asm/unk_0204639C.s
new file mode 100644
index 00000000..0d99cb6d
--- /dev/null
+++ b/arm9/asm/unk_0204639C.s
@@ -0,0 +1,141742 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ thumb_func_start FUN_0204639C
+FUN_0204639C: ; 0x0204639C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x20
+ add r6, r1, #0x0
+ add r1, r0, #0x0
+ add r7, r2, #0x0
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ str r6, [r4, #0x4]
+ str r0, [r4, #0x8]
+ str r7, [r4, #0xc]
+ str r0, [r4, #0x10]
+ str r0, [r4, #0x14]
+ mov r0, #0x20
+ mov r1, #0x4
+ str r5, [r4, #0x18]
+ bl FUN_020169D8
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020463CC
+FUN_020463CC: ; 0x020463CC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ cmp r0, #0x0
+ beq _020463DE
+ bl ErrorHandling
+_020463DE:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0204639C
+ str r0, [r5, #0x10]
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020463EC
+FUN_020463EC: ; 0x020463EC
+ push {r4, lr}
+ add r4, r0, #0x0
+ str r1, [r4, #0x4]
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ str r2, [r4, #0xc]
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bne _02046400
+ beq _0204640A
+_02046400:
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x10]
+ str r0, [r4, #0x14]
+_0204640A:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204640C
+FUN_0204640C: ; 0x0204640C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x18]
+ bl FUN_0204639C
+ str r4, [r0, #0x0]
+ ldr r1, [r4, #0x18]
+ str r0, [r1, #0x10]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02046420
+FUN_02046420: ; 0x02046420
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ cmp r0, #0x0
+ bne _0204642E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0204642E:
+ ldr r1, [r0, #0x4]
+ blx r1
+ cmp r0, #0x1
+ bne _02046466
+_02046436:
+ ldr r0, [r5, #0x10]
+ ldr r4, [r0, #0x0]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x0
+ beq _02046444
+ bl FUN_02016A18
+_02046444:
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x1c]
+ bl FUN_02016A18
+ ldr r0, [r5, #0x10]
+ bl FUN_02016A18
+ str r4, [r5, #0x10]
+ cmp r4, #0x0
+ bne _0204645C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204645C:
+ ldr r0, [r5, #0x10]
+ ldr r1, [r0, #0x4]
+ blx r1
+ cmp r0, #0x1
+ beq _02046436
+_02046466:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204646C
+FUN_0204646C: ; 0x0204646C
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _02046476
+ mov r0, #0x1
+ bx lr
+_02046476:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204647C
+FUN_0204647C: ; 0x0204647C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _02046492
+ add r0, r4, #0x0
+ bl FUN_020373C4
+ cmp r0, #0x0
+ beq _02046496
+_02046492:
+ mov r0, #0x1
+ pop {r4, pc}
+_02046496:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204649C
+FUN_0204649C: ; 0x0204649C
+ ldr r3, _020464A0 ; =LoadOverlay_MODULE_05
+ bx r3
+ .balign 4
+_020464A0: .word LoadOverlay_MODULE_05
+
+ thumb_func_start FUN_020464A4
+FUN_020464A4: ; 0x020464A4
+ push {r3, lr}
+ bl FUN_020373AC
+ cmp r0, #0x0
+ beq _020464B2
+ mov r0, #0x1
+ pop {r3, pc}
+_020464B2:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020464B8
+FUN_020464B8: ; 0x020464B8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020464D6
+ cmp r0, #0x1
+ beq _020464E8
+ b _020464FC
+_020464D6:
+ ldr r1, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_020373D4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020464FC
+_020464E8:
+ add r0, r5, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _020464FC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020464FC:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02046500
+FUN_02046500: ; 0x02046500
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x20
+ mov r1, #0xc
+ add r4, r2, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r5, [r2, #0x4]
+ ldr r1, _02046524 ; =FUN_020464B8
+ add r0, r6, #0x0
+ str r4, [r2, #0x8]
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ .balign 4
+_02046524: .word FUN_020464B8
+
+ thumb_func_start FUN_02046528
+FUN_02046528: ; 0x02046528
+ ldr r0, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_0204652C
+FUN_0204652C: ; 0x0204652C
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02046530
+FUN_02046530: ; 0x02046530
+ add r0, #0x8
+ bx lr
+
+ thumb_func_start FUN_02046534
+FUN_02046534: ; 0x02046534
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204653C
+FUN_0204653C: ; 0x0204653C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02046562
+ cmp r0, #0x1
+ beq _02046572
+ b _02046580
+_02046562:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0203780C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046580
+_02046572:
+ add r0, r5, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02046580
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02046580:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02046584
+FUN_02046584: ; 0x02046584
+ ldr r3, _0204658C ; =FUN_0204640C
+ add r2, r1, #0x0
+ ldr r1, _02046590 ; =FUN_0204653C
+ bx r3
+ .balign 4
+_0204658C: .word FUN_0204640C
+_02046590: .word FUN_0204653C
+
+ thumb_func_start FUN_02046594
+FUN_02046594: ; 0x02046594
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x14
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_020169D8
+ str r4, [r0, #0x0]
+ cmp r4, #0x0
+ beq _020465B0
+ mov r1, #0x0
+ str r1, [r4, #0x0]
+_020465B0:
+ str r6, [r0, #0x4]
+ str r7, [r0, #0x8]
+ str r5, [r0, #0x10]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020465B8
+FUN_020465B8: ; 0x020465B8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x10]
+ bl FUN_02047964
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020465CC
+FUN_020465CC: ; 0x020465CC
+ ldr r2, [r0, #0x0]
+ cmp r2, #0x0
+ beq _020465D8
+ ldr r1, [r0, #0x10]
+ ldr r1, [r1, #0x14]
+ str r1, [r2, #0x0]
+_020465D8:
+ ldr r0, [r0, #0x10]
+ ldr r3, _020465E0 ; =FUN_020480B8
+ ldr r0, [r0, #0x14]
+ bx r3
+ .balign 4
+_020465E0: .word FUN_020480B8
+
+ thumb_func_start FUN_020465E4
+FUN_020465E4: ; 0x020465E4
+ push {r3, lr}
+ mov r2, #0x2
+ ldr r3, [r0, #0x0]
+ lsl r2, r2, #0x1e
+ tst r2, r3
+ bne _020465F4
+ bl FUN_02047F38
+_020465F4:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020465F8
+FUN_020465F8: ; 0x020465F8
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x5
+ bhi _020466F8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046624: ; jump table (using 16-bit offset)
+ .short _02046630 - _02046624 - 2; case 0
+ .short _02046648 - _02046624 - 2; case 1
+ .short _02046656 - _02046624 - 2; case 2
+ .short _02046666 - _02046624 - 2; case 3
+ .short _020466DA - _02046624 - 2; case 4
+ .short _020466EE - _02046624 - 2; case 5
+_02046630:
+ ldr r0, [r6, #0x34]
+ bl FUN_02058780
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ add r0, r7, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_02046648:
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_02046656:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_02046666:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r2, [r5, #0x10]
+ ldr r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _02046682
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ cmp r1, r0
+ beq _02046682
+ cmp r1, #0x4a
+ bne _02046690
+_02046682:
+ mov r1, #0x4d
+ lsl r1, r1, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, [r2, #0x14]
+ add r0, r6, #0x0
+ bl FUN_02061080
+_02046690:
+ add r0, r5, #0x0
+ bl FUN_020465CC
+ cmp r0, #0x0
+ bne _020466A4
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020466A4:
+ ldr r0, [r6, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x0
+ beq _020466BC
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+_020466BC:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020473CC
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_020466DA:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020466F8
+_020466EE:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020466F8:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020466FC
+FUN_020466FC: ; 0x020466FC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ add r2, r3, #0x0
+ ldr r3, [sp, #0x8]
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _02046718 ; =FUN_020465F8
+ add r0, r4, #0x0
+ bl FUN_0204640C
+ pop {r4, pc}
+ .balign 4
+_02046718: .word FUN_020465F8
+
+ thumb_func_start FUN_0204671C
+FUN_0204671C: ; 0x0204671C
+ push {r3, lr}
+ mov r2, #0xf
+ and r0, r2
+ cmp r0, #0x6
+ bhi _02046754
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046732: ; jump table (using 16-bit offset)
+ .short _02046754 - _02046732 - 2; case 0
+ .short _02046740 - _02046732 - 2; case 1
+ .short _0204674A - _02046732 - 2; case 2
+ .short _02046754 - _02046732 - 2; case 3
+ .short _02046754 - _02046732 - 2; case 4
+ .short _0204674A - _02046732 - 2; case 5
+ .short _02046740 - _02046732 - 2; case 6
+_02046740:
+ ldr r0, [r1, #0xc]
+ mov r1, #0x1
+ bl FUN_0202E25C
+ pop {r3, pc}
+_0204674A:
+ ldr r0, [r1, #0xc]
+ sub r2, #0x10
+ add r1, r2, #0x0
+ bl FUN_0202E25C
+_02046754:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02046758
+FUN_02046758: ; 0x02046758
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x5
+ bhi _020467F6
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046784: ; jump table (using 16-bit offset)
+ .short _02046790 - _02046784 - 2; case 0
+ .short _020467A2 - _02046784 - 2; case 1
+ .short _020467B0 - _02046784 - 2; case 2
+ .short _020467C0 - _02046784 - 2; case 3
+ .short _020467EC - _02046784 - 2; case 4
+ .short _020467EC - _02046784 - 2; case 5
+_02046790:
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467A2:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467B0:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467C0:
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x14]
+ bl FUN_0204671C
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ bl FUN_02047FA4
+ ldr r0, [r7, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x15
+ bl FUN_0202A170
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020467F6
+_020467EC:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020467F6:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020467FC
+FUN_020467FC: ; 0x020467FC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02046826
+ cmp r0, #0x1
+ beq _02046844
+ cmp r0, #0x2
+ beq _0204686A
+ b _02046874
+_02046826:
+ ldr r1, [r5, #0x8]
+ mov r0, #0x5
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046874
+_02046844:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ ldr r0, [r0, #0x14]
+ bl FUN_0204671C
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_02047FA4
+ ldr r0, [r6, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x15
+ bl FUN_0202A170
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046874
+_0204686A:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02046874:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02046878
+FUN_02046878: ; 0x02046878
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x5
+ bhi _02046922
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020468A4: ; jump table (using 16-bit offset)
+ .short _020468B0 - _020468A4 - 2; case 0
+ .short _020468C2 - _020468A4 - 2; case 1
+ .short _020468D0 - _020468A4 - 2; case 2
+ .short _020468E0 - _020468A4 - 2; case 3
+ .short _0204690A - _020468A4 - 2; case 4
+ .short _02046918 - _020468A4 - 2; case 5
+_020468B0:
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_020468C2:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_020468D0:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_020468E0:
+ ldr r0, [r5, #0x10]
+ add r1, r7, #0x0
+ bl FUN_02047FA4
+ mov r1, #0x4e
+ ldr r2, [r5, #0x10]
+ lsl r1, r1, #0x2
+ add r0, r7, #0x0
+ add r1, r2, r1
+ bl FUN_02060044
+ add r0, r5, #0x0
+ bl FUN_020465CC
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_0204690A:
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046922
+_02046918:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02046922:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02046928
+FUN_02046928: ; 0x02046928
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ add r2, r3, #0x0
+ ldr r3, [sp, #0x8]
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _02046944 ; =FUN_02046878
+ add r0, r4, #0x0
+ bl FUN_0204640C
+ pop {r4, pc}
+ .balign 4
+_02046944: .word FUN_02046878
+
+ thumb_func_start FUN_02046948
+FUN_02046948: ; 0x02046948
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r7, r0, #0x0
+ add r5, r2, #0x0
+ bl FUN_02046528
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl MOD06_02244558
+ add r4, r0, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r3, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ str r5, [sp, #0x0]
+ bl FUN_02046928
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204697C
+FUN_0204697C: ; 0x0204697C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x14
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_020169D8
+ str r4, [r0, #0xc]
+ cmp r4, #0x0
+ beq _02046998
+ mov r1, #0x0
+ str r1, [r4, #0x0]
+_02046998:
+ str r6, [r0, #0x4]
+ str r7, [r0, #0x8]
+ str r5, [r0, #0x10]
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020469A4
+FUN_020469A4: ; 0x020469A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x10]
+ bl FUN_02047964
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020469B8
+FUN_020469B8: ; 0x020469B8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x0
+ beq _020469F2
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _02046A18 ; =FUN_02046C1C
+ add r0, r5, #0x0
+ bl FUN_020463CC
+ pop {r4-r6, pc}
+_020469F2:
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_0204697C
+ add r2, r0, #0x0
+ ldr r1, _02046A1C ; =FUN_02046A88
+ add r0, r5, #0x0
+ bl FUN_020463CC
+ pop {r4-r6, pc}
+ .balign 4
+_02046A18: .word FUN_02046C1C
+_02046A1C: .word FUN_02046A88
+
+ thumb_func_start FUN_02046A20
+FUN_02046A20: ; 0x02046A20
+ push {r4-r6, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x0
+ beq _02046A5A
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _02046A80 ; =FUN_02046C1C
+ add r0, r5, #0x0
+ bl FUN_020463EC
+ pop {r4-r6, pc}
+_02046A5A:
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_0204697C
+ add r2, r0, #0x0
+ ldr r1, _02046A84 ; =FUN_02046A88
+ add r0, r5, #0x0
+ bl FUN_020463EC
+ pop {r4-r6, pc}
+ .balign 4
+_02046A80: .word FUN_02046C1C
+_02046A84: .word FUN_02046A88
+
+ thumb_func_start FUN_02046A88
+FUN_02046A88: ; 0x02046A88
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x6
+ bls _02046AA2
+ b _02046C12
+_02046AA2:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046AAE: ; jump table (using 16-bit offset)
+ .short _02046ABC - _02046AAE - 2; case 0
+ .short _02046AE0 - _02046AAE - 2; case 1
+ .short _02046AEE - _02046AAE - 2; case 2
+ .short _02046AFE - _02046AAE - 2; case 3
+ .short _02046BAE - _02046AAE - 2; case 4
+ .short _02046BC4 - _02046AAE - 2; case 5
+ .short _02046BF4 - _02046AAE - 2; case 6
+_02046ABC:
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ ldr r1, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046AE0:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046AEE:
+ ldr r1, [r4, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046AFE:
+ ldr r0, [r4, #0x10]
+ add r1, r5, #0x0
+ bl FUN_020465E4
+ mov r1, #0x4d
+ ldr r2, [r4, #0x10]
+ lsl r1, r1, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, [r2, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02061080
+ ldr r0, [r4, #0x10]
+ ldr r0, [r0, #0x14]
+ bl FUN_020480B8
+ cmp r0, #0x0
+ bne _02046B3E
+ add r0, r4, #0x0
+ bl FUN_020469A4
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+ ldr r1, _02046C18 ; =FUN_0204837C
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020463EC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02046B3E:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x0
+ beq _02046B56
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+_02046B56:
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020472F4
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020473CC
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E128
+ cmp r0, #0x0
+ beq _02046BA0
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E0A4
+ cmp r0, #0x0
+ beq _02046B98
+ ldr r0, [r4, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x1
+ beq _02046BA0
+ cmp r0, #0x4
+ beq _02046BA0
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+ b _02046BA0
+_02046B98:
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+_02046BA0:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BAE:
+ ldr r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl MOD06_02248724
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BC4:
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E128
+ cmp r0, #0x0
+ beq _02046BEC
+ ldr r1, [r4, #0x10]
+ add r2, r5, #0x0
+ add r2, #0x90
+ ldr r1, [r1, #0x14]
+ ldr r2, [r2, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0205DED4
+ add r0, r5, #0x0
+ add r5, #0x90
+ ldr r1, [r5, #0x0]
+ bl FUN_0205DF44
+_02046BEC:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046C12
+_02046BF4:
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205DF9C
+ cmp r0, #0x0
+ beq _02046C12
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_020469A4
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02046C12:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_02046C18: .word FUN_0204837C
+
+ thumb_func_start FUN_02046C1C
+FUN_02046C1C: ; 0x02046C1C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E24
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x7
+ bls _02046C4C
+ b _02046DA0
+_02046C4C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046C58: ; jump table (using 16-bit offset)
+ .short _02046C68 - _02046C58 - 2; case 0
+ .short _02046C8C - _02046C58 - 2; case 1
+ .short _02046C9A - _02046C58 - 2; case 2
+ .short _02046CAA - _02046C58 - 2; case 3
+ .short _02046D0E - _02046C58 - 2; case 4
+ .short _02046D1C - _02046C58 - 2; case 5
+ .short _02046D30 - _02046C58 - 2; case 6
+ .short _02046D94 - _02046C58 - 2; case 7
+_02046C68:
+ ldr r0, [r6, #0x34]
+ bl FUN_02058780
+ ldr r0, [r6, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ add r0, r7, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046C8C:
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046C9A:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046CAA:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ bne _02046CD4
+ ldr r0, [r6, #0xc]
+ bl FUN_02022504
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x10]
+ mov r1, #0x0
+ ldr r0, [r0, #0x8]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02060FE0
+_02046CD4:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02046CFE
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ beq _02046CFE
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02049160
+_02046CFE:
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020473CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D0E:
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D1C:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D30:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02046D5C
+ ldr r0, [r5, #0x10]
+ ldr r0, [r0, #0x14]
+ cmp r0, #0x4
+ bne _02046D4E
+ mov r2, #0x0
+ ldr r1, _02046DA8 ; =0x00002262
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _02046D8C
+_02046D4E:
+ mov r2, #0x0
+ ldr r1, _02046DAC ; =0x00002269
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _02046D8C
+_02046D5C:
+ ldr r0, [r6, #0xc]
+ bl FUN_02022510
+ str r0, [sp, #0x8]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_0206B334
+ cmp r0, #0x12
+ bne _02046D8C
+ add r0, r5, #0x0
+ bl FUN_0206B9AC
+ cmp r0, #0x6
+ bne _02046D8C
+ mov r2, #0x0
+ ldr r1, _02046DB0 ; =0x00002276
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+_02046D8C:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046DA0
+_02046D94:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02046DA0:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02046DA8: .word 0x00002262
+_02046DAC: .word 0x00002269
+_02046DB0: .word 0x00002276
+
+ thumb_func_start FUN_02046DB4
+FUN_02046DB4: ; 0x02046DB4
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205DD40
+ mov r0, #0xb
+ mov r1, #0x0
+ bl FUN_020476CC
+ add r1, r5, #0x0
+ add r4, r0, #0x0
+ bl FUN_02047BB0
+ mov r0, #0x15
+ mov r1, #0x0
+ lsl r0, r0, #0x4
+ str r1, [r4, r0]
+ add r0, r0, #0x4
+ str r1, [r4, r0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl MOD06_0223CCDC
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r3, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ str r6, [sp, #0x0]
+ bl FUN_020466FC
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02046E18
+FUN_02046E18: ; 0x02046E18
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x4]
+ add r7, r1, #0x0
+ str r2, [sp, #0x8]
+ add r6, r3, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205DD40
+ mov r0, #0xb
+ mov r1, #0x0
+ bl FUN_020476CC
+ add r1, r5, #0x0
+ add r4, r0, #0x0
+ bl FUN_02047BB0
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r3, r4, #0x0
+ bl MOD06_0223CD7C
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x0
+ beq _02046E60
+ mov r1, #0x63
+ lsl r1, r1, #0x2
+ ldr r2, [r4, r1]
+ mov r0, #0x8
+ orr r0, r2
+ str r0, [r4, r1]
+_02046E60:
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r3, r0, #0x0
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ str r6, [sp, #0x0]
+ bl FUN_020466FC
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02046E8C
+FUN_02046E8C: ; 0x02046E8C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x6
+ bhi _02046F6C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02046EB8: ; jump table (using 16-bit offset)
+ .short _02046EC6 - _02046EB8 - 2; case 0
+ .short _02046EEA - _02046EB8 - 2; case 1
+ .short _02046EF8 - _02046EB8 - 2; case 2
+ .short _02046F08 - _02046EB8 - 2; case 3
+ .short _02046F28 - _02046EB8 - 2; case 4
+ .short _02046F36 - _02046EB8 - 2; case 5
+ .short _02046F4A - _02046EB8 - 2; case 6
+_02046EC6:
+ ldr r0, [r6, #0x34]
+ bl FUN_02058780
+ ldr r0, [r6, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ add r0, r7, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046EEA:
+ add r0, r7, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046EF8:
+ ldr r1, [r5, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F08:
+ ldr r0, [r5, #0x10]
+ add r1, r6, #0x0
+ bl FUN_020465E4
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_0204BAA0
+ ldr r1, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020472F4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F28:
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F36:
+ ldr r0, [r6, #0x34]
+ bl FUN_020587B0
+ add r0, r7, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02046F6C
+_02046F4A:
+ add r0, r5, #0x0
+ bl FUN_020465B8
+ add r0, r6, #0x0
+ bl FUN_0204BAB0
+ cmp r0, #0x0
+ bne _02046F68
+ add r0, r7, #0x0
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02046F68:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02046F6C:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02046F70
+FUN_02046F70: ; 0x02046F70
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _02046F9C ; =FUN_02046E8C
+ add r0, r5, #0x0
+ bl FUN_020463CC
+ pop {r4-r6, pc}
+ .balign 4
+_02046F9C: .word FUN_02046E8C
+
+ thumb_func_start FUN_02046FA0
+FUN_02046FA0: ; 0x02046FA0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x4]
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x0
+ bl FUN_020476CC
+ add r4, r0, #0x0
+ add r1, r5, #0x0
+ bl FUN_02047BB0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ add r3, r4, #0x0
+ bl MOD06_0223CD7C
+ mov r0, #0x63
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x7
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_020466FC
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047004
+FUN_02047004: ; 0x02047004
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x6
+ bhi _020470A6
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02047030: ; jump table (using 16-bit offset)
+ .short _0204703E - _02047030 - 2; case 0
+ .short _02047056 - _02047030 - 2; case 1
+ .short _02047064 - _02047030 - 2; case 2
+ .short _02047074 - _02047030 - 2; case 3
+ .short _0204707A - _02047030 - 2; case 4
+ .short _02047088 - _02047030 - 2; case 5
+ .short _0204709C - _02047030 - 2; case 6
+_0204703E:
+ ldr r0, [r7, #0x34]
+ bl FUN_02058780
+ ldr r1, [r6, #0x4]
+ ldr r2, [r6, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0204AEF8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047056:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047064:
+ ldr r1, [r6, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02046584
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047074:
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_0204707A:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_02047088:
+ ldr r0, [r7, #0x34]
+ bl FUN_020587B0
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020470A6
+_0204709C:
+ add r0, r6, #0x0
+ bl FUN_020465B8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020470A6:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020470AC
+FUN_020470AC: ; 0x020470AC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r1, r0, #0x0
+ mov r0, #0xb
+ bl FUN_02047814
+ add r4, r0, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _020470E4 ; =FUN_02047004
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_020470E4: .word FUN_02047004
+
+ thumb_func_start FUN_020470E8
+FUN_020470E8: ; 0x020470E8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x4]
+ add r6, r1, #0x0
+ add r5, r2, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_02046528
+ add r7, r0, #0x0
+ cmp r5, #0x0
+ beq _02047110
+ cmp r6, r5
+ beq _02047110
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ bne _0204710C
+ mov r4, #0x13
+ b _0204711A
+_0204710C:
+ mov r4, #0x4b
+ b _0204711A
+_02047110:
+ cmp r6, r5
+ bne _02047118
+ mov r4, #0x3
+ b _0204711A
+_02047118:
+ mov r4, #0x1
+_0204711A:
+ add r0, r7, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205DD40
+ mov r0, #0xb
+ add r1, r4, #0x0
+ bl FUN_020476CC
+ add r4, r0, #0x0
+ add r1, r7, #0x0
+ bl FUN_02047BB0
+ str r6, [r4, #0x1c]
+ ldr r0, [sp, #0x8]
+ str r5, [r4, #0x24]
+ str r0, [r4, #0x20]
+ ldr r1, [r7, #0xc]
+ ldr r2, [sp, #0x20]
+ add r0, r4, #0x0
+ bl FUN_0206ABC4
+ ldr r0, [r7, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x8
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r3, r0, #0x0
+ ldr r0, [sp, #0x24]
+ add r1, r4, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r2, r5, #0x0
+ bl FUN_020466FC
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02047174
+FUN_02047174: ; 0x02047174
+ push {r3-r7, lr}
+ add r5, r2, #0x0
+ add r7, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ mov r0, #0xb
+ add r1, r5, #0x0
+ bl FUN_020476CC
+ add r5, r0, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_02047F1C
+ add r0, r5, #0x0
+ bl FUN_020475A0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _020471BC ; =FUN_02046758
+ add r0, r7, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ nop
+_020471BC: .word FUN_02046758
+
+ thumb_func_start FUN_020471C0
+FUN_020471C0: ; 0x020471C0
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ cmp r4, #0x0
+ beq _020471DE
+ mov r0, #0xb
+ mov r1, #0x5
+ bl FUN_020476CC
+ b _020471E6
+_020471DE:
+ mov r0, #0xb
+ mov r1, #0x7
+ bl FUN_020476CC
+_020471E6:
+ add r4, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02047BC0
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r1, _0204721C ; =FUN_020467FC
+ str r5, [r2, #0xc]
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ nop
+_0204721C: .word FUN_020467FC
+
+ thumb_func_start FUN_02047220
+FUN_02047220: ; 0x02047220
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02047246
+ cmp r0, #0x1
+ beq _02047258
+ b _02047262
+_02047246:
+ ldr r1, _02047268 ; =FUN_02046758
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02047262
+_02047258:
+ add r0, r6, #0x0
+ bl FUN_0204FF5C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02047262:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_02047268: .word FUN_02046758
+
+ thumb_func_start FUN_0204726C
+FUN_0204726C: ; 0x0204726C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ add r1, r2, #0x0
+ bl FUN_020476CC
+ add r4, r0, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02047F1C
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _020472AC ; =FUN_02047220
+ add r0, r5, #0x0
+ bl FUN_020463CC
+ pop {r4-r6, pc}
+ nop
+_020472AC: .word FUN_02047220
+
+ thumb_func_start FUN_020472B0
+FUN_020472B0: ; 0x020472B0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ add r1, r2, #0x0
+ bl FUN_020476CC
+ add r4, r0, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02047D48
+ add r0, r4, #0x0
+ bl FUN_020475A0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020475B0
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x0
+ bl FUN_02046594
+ add r2, r0, #0x0
+ ldr r1, _020472F0 ; =FUN_02047220
+ add r0, r5, #0x0
+ bl FUN_020463CC
+ pop {r4-r6, pc}
+ .balign 4
+_020472F0: .word FUN_02047220
+
+ thumb_func_start FUN_020472F4
+FUN_020472F4: ; 0x020472F4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r1, #0x0]
+ mov r3, #0x4
+ ldr r2, [r1, #0x14]
+ tst r3, r0
+ bne _020473C8
+ mov r3, #0x80
+ add r5, r0, #0x0
+ tst r5, r3
+ bne _020473C8
+ cmp r0, #0x0
+ beq _02047318
+ add r3, #0x80
+ cmp r0, r3
+ beq _02047318
+ cmp r0, #0x4a
+ bne _02047364
+_02047318:
+ cmp r2, #0x1
+ bne _0204732A
+ ldr r0, [r4, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x8
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+_0204732A:
+ cmp r2, #0x4
+ bne _020473C8
+ ldr r0, [r1, #0x8]
+ mov r1, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ mov r0, #0x0
+ bl FUN_0206BB48
+ cmp r0, #0x0
+ ldr r0, [r4, #0xc]
+ beq _02047358
+ bl FUN_02029FC8
+ mov r1, #0x9
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+_02047358:
+ bl FUN_02029FC8
+ mov r1, #0xa
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+_02047364:
+ mov r3, #0x1
+ tst r3, r0
+ bne _02047370
+ mov r3, #0x10
+ tst r3, r0
+ beq _02047382
+_02047370:
+ cmp r2, #0x1
+ bne _020473C8
+ ldr r0, [r4, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0xb
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+_02047382:
+ mov r3, #0x20
+ add r5, r0, #0x0
+ tst r5, r3
+ bne _02047390
+ lsl r3, r3, #0x4
+ tst r0, r3
+ beq _020473C8
+_02047390:
+ cmp r2, #0x4
+ bne _020473C8
+ ldr r0, [r1, #0x8]
+ mov r1, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ mov r0, #0x0
+ bl FUN_0206BB48
+ cmp r0, #0x0
+ ldr r0, [r4, #0xc]
+ beq _020473BE
+ bl FUN_02029FC8
+ mov r1, #0x9
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+_020473BE:
+ bl FUN_02029FC8
+ mov r1, #0xa
+ bl FUN_0202A170
+_020473C8:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020473CC
+FUN_020473CC: ; 0x020473CC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x4
+ ldr r1, [r4, #0x14]
+ tst r2, r0
+ bne _020473EC
+ mov r3, #0x80
+ add r2, r0, #0x0
+ tst r2, r3
+ bne _020473EC
+ lsl r2, r3, #0x2
+ tst r2, r0
+ beq _020473EE
+_020473EC:
+ b _020474FC
+_020473EE:
+ cmp r0, #0x0
+ beq _02047400
+ add r3, #0x80
+ cmp r0, r3
+ beq _02047400
+ cmp r0, #0x4a
+ beq _02047400
+ cmp r0, #0x20
+ bne _020474D2
+_02047400:
+ cmp r1, #0x1
+ bne _02047470
+ add r0, r5, #0x0
+ add r0, #0x76
+ ldrh r0, [r0, #0x0]
+ add r1, r0, #0x1
+ add r0, r5, #0x0
+ add r0, #0x76
+ strh r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x76
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x5
+ blo _020474FC
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02023918
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r3, #0xb
+ str r3, [sp, #0x0]
+ lsl r3, r3, #0x5
+ ldr r3, [r4, r3]
+ lsl r1, r7, #0x10
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ ldr r0, [sp, #0x4]
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0202920C
+ add r5, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r2, #0x2
+ bl FUN_02028AD4
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02047470:
+ cmp r1, #0x4
+ bne _020474FC
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02023918
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r3, #0xb
+ str r3, [sp, #0x0]
+ lsl r3, r3, #0x5
+ ldr r3, [r4, r3]
+ lsl r1, r7, #0x10
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ ldr r0, [sp, #0x8]
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0202918C
+ add r5, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r2, #0x2
+ bl FUN_02028AD4
+ add sp, #0xc
+ pop {r4-r7, pc}
+_020474D2:
+ mov r2, #0x1
+ tst r2, r0
+ bne _020474DE
+ mov r2, #0x10
+ tst r0, r2
+ beq _020474FC
+_020474DE:
+ cmp r1, #0x1
+ bne _020474FC
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ ldr r1, [r1, #0x0]
+ ldr r2, [r4, #0x1c]
+ add r0, #0x98
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r0, #0x0]
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x10
+ mov r3, #0xb
+ bl FUN_020299DC
+_020474FC:
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02047500
+FUN_02047500: ; 0x02047500
+ push {r4, lr}
+ ldr r4, [r0, #0x0]
+ mov r1, #0x1
+ tst r1, r4
+ beq _02047546
+ add r0, #0x5d
+ ldrb r0, [r0, #0x0]
+ bl FUN_020475C0
+ mov r1, #0x80
+ tst r1, r4
+ beq _0204752A
+ cmp r0, #0x1c
+ beq _02047558
+ mov r0, #0x2
+ tst r0, r4
+ beq _02047526
+ mov r0, #0x1a
+ pop {r4, pc}
+_02047526:
+ mov r0, #0x18
+ pop {r4, pc}
+_0204752A:
+ add r1, r0, #0x0
+ sub r1, #0x15
+ cmp r1, #0x2
+ bls _02047558
+ mov r1, #0x2
+ tst r1, r4
+ beq _0204753C
+ mov r0, #0x1a
+ pop {r4, pc}
+_0204753C:
+ mov r1, #0x4
+ tst r1, r4
+ beq _02047558
+ mov r0, #0x19
+ pop {r4, pc}
+_02047546:
+ ldr r0, [r0, #0x8]
+ bl FUN_02047668
+ cmp r0, #0x1e
+ blo _02047558
+ mov r1, #0x2
+ tst r1, r4
+ beq _02047558
+ mov r0, #0x1b
+_02047558:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204755C
+FUN_0204755C: ; 0x0204755C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x1f
+ blo _0204756A
+ bl ErrorHandling
+_0204756A:
+ ldr r0, _02047580 ; =0x020F457C
+ lsl r1, r5, #0x2
+ ldrh r0, [r0, r1]
+ ldr r1, _02047584 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0204757C
+ add r0, r4, #0x0
+ bl MOD05_021E495C
+_0204757C:
+ pop {r3-r5, pc}
+ nop
+_02047580: .word 0x020F457C
+_02047584: .word 0x0000FFFF
+
+ thumb_func_start FUN_02047588
+FUN_02047588: ; 0x02047588
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x1f
+ blo _02047594
+ bl ErrorHandling
+_02047594:
+ ldr r0, _0204759C ; =0x020F457E
+ lsl r1, r4, #0x2
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_0204759C: .word 0x020F457E
+
+ thumb_func_start FUN_020475A0
+FUN_020475A0: ; 0x020475A0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02047500
+ add r1, r4, #0x0
+ bl FUN_0204755C
+ pop {r4, pc}
+
+ thumb_func_start FUN_020475B0
+FUN_020475B0: ; 0x020475B0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02047500
+ add r1, r4, #0x0
+ bl FUN_02047588
+ pop {r4, pc}
+
+ thumb_func_start FUN_020475C0
+FUN_020475C0: ; 0x020475C0
+ sub r0, #0x3e
+ mov r1, #0x1d
+ cmp r0, #0x23
+ bhi _02047662
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020475D4: ; jump table (using 16-bit offset)
+ .short _0204761C - _020475D4 - 2; case 0
+ .short _02047650 - _020475D4 - 2; case 1
+ .short _02047634 - _020475D4 - 2; case 2
+ .short _0204763C - _020475D4 - 2; case 3
+ .short _02047640 - _020475D4 - 2; case 4
+ .short _02047644 - _020475D4 - 2; case 5
+ .short _02047648 - _020475D4 - 2; case 6
+ .short _0204764C - _020475D4 - 2; case 7
+ .short _02047662 - _020475D4 - 2; case 8
+ .short _02047662 - _020475D4 - 2; case 9
+ .short _02047658 - _020475D4 - 2; case 10
+ .short _0204765C - _020475D4 - 2; case 11
+ .short _02047620 - _020475D4 - 2; case 12
+ .short _02047624 - _020475D4 - 2; case 13
+ .short _02047628 - _020475D4 - 2; case 14
+ .short _0204762C - _020475D4 - 2; case 15
+ .short _02047630 - _020475D4 - 2; case 16
+ .short _02047638 - _020475D4 - 2; case 17
+ .short _02047662 - _020475D4 - 2; case 18
+ .short _02047662 - _020475D4 - 2; case 19
+ .short _02047662 - _020475D4 - 2; case 20
+ .short _02047662 - _020475D4 - 2; case 21
+ .short _02047662 - _020475D4 - 2; case 22
+ .short _02047662 - _020475D4 - 2; case 23
+ .short _02047654 - _020475D4 - 2; case 24
+ .short _02047658 - _020475D4 - 2; case 25
+ .short _02047658 - _020475D4 - 2; case 26
+ .short _0204765C - _020475D4 - 2; case 27
+ .short _02047662 - _020475D4 - 2; case 28
+ .short _02047662 - _020475D4 - 2; case 29
+ .short _02047662 - _020475D4 - 2; case 30
+ .short _02047662 - _020475D4 - 2; case 31
+ .short _02047662 - _020475D4 - 2; case 32
+ .short _02047662 - _020475D4 - 2; case 33
+ .short _02047662 - _020475D4 - 2; case 34
+ .short _02047660 - _020475D4 - 2; case 35
+_0204761C:
+ mov r1, #0x0
+ b _02047662
+_02047620:
+ mov r1, #0x1
+ b _02047662
+_02047624:
+ mov r1, #0x2
+ b _02047662
+_02047628:
+ mov r1, #0x3
+ b _02047662
+_0204762C:
+ mov r1, #0x4
+ b _02047662
+_02047630:
+ mov r1, #0x5
+ b _02047662
+_02047634:
+ mov r1, #0x6
+ b _02047662
+_02047638:
+ mov r1, #0x7
+ b _02047662
+_0204763C:
+ mov r1, #0x8
+ b _02047662
+_02047640:
+ mov r1, #0x9
+ b _02047662
+_02047644:
+ mov r1, #0xa
+ b _02047662
+_02047648:
+ mov r1, #0xb
+ b _02047662
+_0204764C:
+ mov r1, #0xc
+ b _02047662
+_02047650:
+ mov r1, #0xd
+ b _02047662
+_02047654:
+ mov r1, #0x17
+ b _02047662
+_02047658:
+ mov r1, #0x16
+ b _02047662
+_0204765C:
+ mov r1, #0x15
+ b _02047662
+_02047660:
+ mov r1, #0x1c
+_02047662:
+ add r0, r1, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02047668
+FUN_02047668: ; 0x02047668
+ push {r4, lr}
+ mov r4, #0x1e
+ bl FUN_0204A1D8
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020476C8 ; =0x000001DF
+ sub r0, r0, r1
+ cmp r0, #0xe
+ bhi _020476C4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204768C: ; jump table (using 16-bit offset)
+ .short _020476B2 - _0204768C - 2; case 0
+ .short _020476BA - _0204768C - 2; case 1
+ .short _020476B6 - _0204768C - 2; case 2
+ .short _020476BA - _0204768C - 2; case 3
+ .short _020476BE - _0204768C - 2; case 4
+ .short _020476BE - _0204768C - 2; case 5
+ .short _020476B2 - _0204768C - 2; case 6
+ .short _020476B2 - _0204768C - 2; case 7
+ .short _020476B2 - _0204768C - 2; case 8
+ .short _020476AE - _0204768C - 2; case 9
+ .short _020476C4 - _0204768C - 2; case 10
+ .short _020476C4 - _0204768C - 2; case 11
+ .short _020476B2 - _0204768C - 2; case 12
+ .short _020476AA - _0204768C - 2; case 13
+ .short _020476C2 - _0204768C - 2; case 14
+_020476AA:
+ mov r4, #0xe
+ b _020476C4
+_020476AE:
+ mov r4, #0x14
+ b _020476C4
+_020476B2:
+ mov r4, #0x13
+ b _020476C4
+_020476B6:
+ mov r4, #0x11
+ b _020476C4
+_020476BA:
+ mov r4, #0x10
+ b _020476C4
+_020476BE:
+ mov r4, #0xf
+ b _020476C4
+_020476C2:
+ mov r4, #0x12
+_020476C4:
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+_020476C8: .word 0x000001DF
+
+ thumb_func_start FUN_020476CC
+FUN_020476CC: ; 0x020476CC
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x67
+ lsl r1, r1, #0x2
+ add r5, r0, #0x0
+ bl FUN_02016998
+ mov r2, #0x67
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ add r7, r0, #0x0
+ bl MI_CpuFill8
+ mov r1, #0x63
+ str r4, [r7, #0x0]
+ mov r0, #0x0
+ lsl r1, r1, #0x2
+ str r0, [r7, r1]
+ add r4, r7, #0x0
+ str r0, [sp, #0x0]
+ str r0, [r7, #0x14]
+ add r6, r7, #0x0
+ add r4, #0x28
+_020476FA:
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x34
+ str r0, [r6, #0x18]
+ bl MIi_CpuClear32
+ ldr r0, [sp, #0x0]
+ add r6, r6, #0x4
+ add r0, r0, #0x1
+ add r4, #0x34
+ str r0, [sp, #0x0]
+ cmp r0, #0x4
+ blt _020476FA
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ mov r6, #0x0
+ str r6, [r7, r0]
+ mov r2, #0xc
+ add r1, r0, #0x4
+ str r2, [r7, r1]
+ add r1, r0, #0x0
+ add r1, #0x8
+ str r6, [r7, r1]
+ add r1, r0, #0x0
+ add r1, #0x10
+ str r6, [r7, r1]
+ add r1, r0, #0x0
+ add r1, #0x14
+ str r6, [r7, r1]
+ add r1, r0, #0x0
+ mov r2, #0x1
+ add r1, #0x18
+ str r2, [r7, r1]
+ add r1, r0, #0x0
+ add r1, #0x1c
+ str r2, [r7, r1]
+ add r0, #0x24
+ str r6, [r7, r0]
+ add r4, r7, #0x0
+_02047748:
+ add r0, r5, #0x0
+ bl FUN_0206B8AC
+ str r0, [r4, #0x4]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x4
+ blt _02047748
+ mov r6, #0x0
+ add r4, r7, #0x0
+_0204775C:
+ add r0, r5, #0x0
+ bl FUN_02023928
+ add r1, r4, #0x0
+ add r1, #0xf8
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ str r0, [r1, #0x0]
+ cmp r6, #0x4
+ blt _0204775C
+ mov r6, #0x0
+ add r4, r7, #0x0
+_02047774:
+ add r0, r5, #0x0
+ bl FUN_02029EE4
+ mov r1, #0x46
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x4
+ blt _02047774
+ add r0, r5, #0x0
+ bl FUN_0206EB88
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ str r0, [r7, r1]
+ add r0, r5, #0x0
+ bl FUN_02023D6C
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ str r0, [r7, r1]
+ add r0, r5, #0x0
+ bl FUN_02024F30
+ mov r1, #0x13
+ lsl r1, r1, #0x4
+ str r0, [r7, r1]
+ add r0, r5, #0x0
+ bl FUN_02061008
+ mov r2, #0x4d
+ lsl r2, r2, #0x2
+ str r0, [r7, r2]
+ add r0, r2, #0x0
+ mov r1, #0x0
+ sub r0, #0x28
+ str r1, [r7, r0]
+ add r0, r2, #0x0
+ add r0, #0x5c
+ str r1, [r7, r0]
+ add r0, r2, #0x0
+ sub r0, #0x8
+ str r1, [r7, r0]
+ add r0, r2, #0x0
+ add r0, #0x10
+ str r1, [r7, r0]
+ add r0, r2, #0x0
+ add r0, #0x14
+ str r1, [r7, r0]
+ add r0, r2, #0x0
+ add r0, #0x60
+ str r1, [r7, r0]
+ add r0, r2, #0x4
+ add r0, r7, r0
+ mov r2, #0xc
+ bl MI_CpuFill8
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020477EC
+FUN_020477EC: ; 0x020477EC
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x20
+ bl FUN_020476CC
+ mov r1, #0x19
+ lsl r1, r1, #0x4
+ str r4, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047800
+FUN_02047800: ; 0x02047800
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bl FUN_020476CC
+ mov r1, #0x19
+ lsl r1, r1, #0x4
+ str r4, [r0, r1]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02047814
+FUN_02047814: ; 0x02047814
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ mov r1, #0x1
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_020476CC
+ add r4, r0, #0x0
+ ldr r2, _0204795C ; =0x000001F1
+ mov r0, #0x1
+ mov r1, #0x1a
+ add r3, r6, #0x0
+ bl FUN_0200A86C
+ str r0, [sp, #0x18]
+ mov r0, #0x8
+ add r1, r6, #0x0
+ bl FUN_020219F4
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x10]
+ bl FUN_020239CC
+ add r2, r0, #0x0
+ mov r1, #0x1
+ eor r1, r2
+ ldr r0, [sp, #0x18]
+ add r2, r7, #0x0
+ bl FUN_0200A8E0
+ add r0, r7, #0x0
+ bl FUN_02021F2C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_0202395C
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ ldr r0, [sp, #0x18]
+ bl FUN_0200A8B8
+ ldr r0, [sp, #0x10]
+ bl FUN_020239CC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0xf8
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ eor r1, r2
+ bl FUN_020239C8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0204806C
+ mov r1, #0x13
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0x14]
+ ldr r1, [r4, r1]
+ bl FUN_02024F44
+ add r0, r5, #0x0
+ bl FUN_0204B2A4
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ sub r1, #0x58
+ ldr r0, [r4, r1]
+ mov r1, #0x4
+ mov r2, #0x14
+ add r3, r6, #0x0
+ bl FUN_0206ED38
+ add r0, r6, #0x0
+ bl FUN_020669C0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F3C0
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ add r1, r0, #0x0
+ str r2, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ str r2, [sp, #0xc]
+ add r0, r6, #0x0
+ mov r2, #0x5
+ mov r3, #0x20
+ bl FUN_02066ACC
+ ldr r0, [r4, #0x4]
+ add r1, r6, #0x0
+ bl FUN_0206B900
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r2, #0x2
+ str r2, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r1, _02047960 ; =0x0000018F
+ add r0, r6, #0x0
+ mov r3, #0x20
+ bl FUN_02066ACC
+ ldr r0, [r4, #0x8]
+ add r1, r6, #0x0
+ bl FUN_0206B900
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ ldr r0, [r5, #0xc]
+ bl FUN_02022510
+ mov r1, #0x45
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r5, #0x0
+ add r0, #0x94
+ ldr r0, [r0, #0x0]
+ sub r1, #0x8
+ str r0, [r4, r1]
+ ldr r0, [r5, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x51
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r5, #0x0
+ add r0, #0x98
+ ldr r2, [r0, #0x0]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ ldr r0, [r5, #0x1c]
+ add r1, #0x18
+ ldr r0, [r0, #0x0]
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_020480E4
+ add r0, r4, #0x0
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+_0204795C: .word 0x000001F1
+_02047960: .word 0x0000018F
+
+ thumb_func_start FUN_02047964
+FUN_02047964: ; 0x02047964
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r4, #0x0
+ add r5, r7, #0x0
+_0204796C:
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ bne _02047976
+ bl ErrorHandling
+_02047976:
+ ldr r0, [r5, #0x4]
+ bl FUN_02016A18
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _0204796C
+ mov r5, #0x0
+ add r4, r7, #0x0
+_02047988:
+ add r0, r4, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02047996
+ bl ErrorHandling
+_02047996:
+ add r0, r4, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_02016A18
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, #0x4
+ blt _02047988
+ mov r6, #0x46
+ mov r5, #0x0
+ add r4, r7, #0x0
+ lsl r6, r6, #0x2
+_020479B0:
+ ldr r0, [r4, r6]
+ cmp r0, #0x0
+ bne _020479BA
+ bl ErrorHandling
+_020479BA:
+ mov r0, #0x46
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, #0x4
+ blt _020479B0
+ mov r0, #0x42
+ lsl r0, r0, #0x2
+ ldr r0, [r7, r0]
+ bl FUN_02016A18
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r0, [r7, r0]
+ bl FUN_02016A18
+ mov r0, #0x13
+ lsl r0, r0, #0x4
+ ldr r0, [r7, r0]
+ bl FUN_02016A18
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ ldr r0, [r7, r0]
+ bl FUN_02061020
+ add r0, r7, #0x0
+ bl FUN_02016A18
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020479FC
+FUN_020479FC: ; 0x020479FC
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ cmp r4, #0x4
+ blt _02047A0C
+ bl ErrorHandling
+_02047A0C:
+ lsl r0, r4, #0x2
+ add r0, r5, r0
+ ldr r0, [r0, #0x4]
+ add r1, r6, #0x0
+ bl FUN_0206B900
+ cmp r0, #0x0
+ bne _02047A20
+ bl ErrorHandling
+_02047A20:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047A24
+FUN_02047A24: ; 0x02047A24
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ cmp r4, #0x4
+ blt _02047A34
+ bl ErrorHandling
+_02047A34:
+ lsl r1, r4, #0x2
+ add r1, r5, r1
+ ldr r1, [r1, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0206BAD0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047A44
+FUN_02047A44: ; 0x02047A44
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ cmp r4, #0x4
+ blt _02047A54
+ bl ErrorHandling
+_02047A54:
+ lsl r1, r4, #0x2
+ add r1, r5, r1
+ add r1, #0xf8
+ ldr r1, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0202393C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02047A64
+FUN_02047A64: ; 0x02047A64
+ lsl r2, r2, #0x2
+ add r2, r0, r2
+ mov r0, #0x46
+ lsl r0, r0, #0x2
+ ldr r3, _02047A74 ; =FUN_02029F9C
+ ldr r0, [r2, r0]
+ bx r3
+ nop
+_02047A74: .word FUN_02029F9C
+
+ thumb_func_start FUN_02047A78
+FUN_02047A78: ; 0x02047A78
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ add r7, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_02024DA0
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0xc]
+ bl FUN_02029EF8
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ str r0, [sp, #0x10]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204806C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ mov r2, #0x0
+ bl FUN_02047A44
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_02047A24
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ ldr r0, [sp, #0x0]
+ ldr r1, [r5, r1]
+ bl FUN_0206EBB4
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0x4]
+ ldr r1, [r5, r1]
+ bl FUN_02023D80
+ mov r1, #0x13
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0xc]
+ ldr r1, [r5, r1]
+ bl FUN_02024F44
+ ldr r1, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02047A64
+ ldr r0, [r4, #0xc]
+ bl FUN_02022510
+ mov r1, #0x45
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r4, #0x0
+ bl FUN_0204B2A4
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034A04
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0xc]
+ bl FUN_02079C70
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F1B4
+ mov r1, #0x5b
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x10]
+ bl FUN_02034DEC
+ mov r1, #0x5d
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r4, #0x0
+ add r0, #0x94
+ ldr r0, [r0, #0x0]
+ sub r1, #0x68
+ str r0, [r5, r1]
+ ldr r0, [r4, #0xc]
+ bl FUN_0204C1A8
+ mov r1, #0x4a
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0xc]
+ bl FUN_02029AFC
+ mov r1, #0x4b
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x51
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r4, #0x0
+ add r0, #0x98
+ ldr r2, [r0, #0x0]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020254C0
+ mov r1, #0x53
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r4, #0x1c]
+ add r1, #0x10
+ ldr r0, [r0, #0x0]
+ str r0, [r5, r1]
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047BB0
+FUN_02047BB0: ; 0x02047BB0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02047A78
+ add r0, r4, #0x0
+ bl FUN_020480E4
+ pop {r4, pc}
+
+ thumb_func_start FUN_02047BC0
+FUN_02047BC0: ; 0x02047BC0
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r6, r0, #0x0
+ add r0, r1, #0x0
+ ldr r0, [r0, #0xc]
+ str r1, [sp, #0x0]
+ add r7, r2, #0x0
+ bl FUN_020238F4
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029EF8
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0x4]
+ mov r0, #0x15
+ mov r1, #0x6
+ lsl r0, r0, #0x4
+ str r1, [r6, r0]
+ mov r1, #0x9
+ add r0, r0, #0x4
+ str r1, [r6, r0]
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02047A44
+ mov r0, #0xb
+ bl FUN_020669C0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x14]
+ bl FUN_0206B9AC
+ add r1, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0206B8CC
+ ldr r0, [sp, #0x14]
+ mov r4, #0x0
+ bl FUN_0206B9AC
+ cmp r0, #0x0
+ ble _02047C98
+_02047C40:
+ ldr r0, [sp, #0x14]
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r1, r5, #0x0
+ bl FUN_02069B88
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r7, r0
+ beq _02047C82
+ cmp r7, #0x0
+ beq _02047C82
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r7, #0x0
+ bl FUN_02068758
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0x8
+ add r2, sp, #0x18
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+_02047C82:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020479FC
+ ldr r0, [sp, #0x14]
+ add r4, r4, #0x1
+ bl FUN_0206B9AC
+ cmp r4, r0
+ blt _02047C40
+_02047C98:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ ldr r0, [sp, #0x10]
+ ldr r1, [r6, r1]
+ bl FUN_0206EBB4
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0xc]
+ ldr r1, [r6, r1]
+ bl FUN_02023D80
+ mov r1, #0x13
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0x4]
+ ldr r1, [r6, r1]
+ bl FUN_02024F44
+ ldr r1, [sp, #0x8]
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_02047A64
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022510
+ mov r1, #0x45
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ bl FUN_0204B2A4
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ sub r1, #0x54
+ add r0, #0x94
+ ldr r0, [r0, #0x0]
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0204C1A8
+ mov r1, #0x4a
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029AFC
+ mov r1, #0x4b
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x51
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ add r0, #0x98
+ ldr r2, [r0, #0x0]
+ add r0, r1, #0x4
+ str r2, [r6, r0]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020254C0
+ mov r1, #0x53
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ add r1, #0x10
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ str r0, [r6, r1]
+ add r0, r6, #0x0
+ bl FUN_020480E4
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047D48
+FUN_02047D48: ; 0x02047D48
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ ldr r0, [r0, #0xc]
+ str r1, [sp, #0x0]
+ str r2, [sp, #0x4]
+ add r7, r3, #0x0
+ bl FUN_020238F4
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029EF8
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x6
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ mov r2, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ str r1, [r5, r0]
+ mov r1, #0x9
+ add r0, r0, #0x4
+ str r1, [r5, r0]
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0x0
+ bl FUN_02047A44
+ cmp r7, #0x0
+ bne _02047DB6
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02047A24
+ b _02047E14
+_02047DB6:
+ mov r4, #0x0
+ add r1, r4, #0x0
+_02047DBA:
+ ldrb r0, [r7, r1]
+ cmp r0, #0x0
+ beq _02047DC2
+ add r4, r4, #0x1
+_02047DC2:
+ add r1, r1, #0x1
+ cmp r1, #0x6
+ blt _02047DBA
+ cmp r4, #0x0
+ bne _02047DD8
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02047A24
+ b _02047E14
+_02047DD8:
+ mov r0, #0xb
+ bl FUN_020669C0
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x4]
+ add r1, r4, #0x0
+ bl FUN_0206B8CC
+ mov r6, #0x0
+ cmp r4, #0x0
+ ble _02047E0E
+_02047DEE:
+ ldrb r1, [r7, r6]
+ ldr r0, [sp, #0x4]
+ sub r1, r1, #0x1
+ bl FUN_0206B9B0
+ ldr r1, [sp, #0x8]
+ bl FUN_02069B88
+ ldr r1, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020479FC
+ add r6, r6, #0x1
+ cmp r6, r4
+ blt _02047DEE
+_02047E0E:
+ ldr r0, [sp, #0x8]
+ bl FUN_02016A18
+_02047E14:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x0
+ beq _02047E2C
+ mov r1, #0xc
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ beq _02047E2C
+ mov r0, #0x65
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r5, r0]
+_02047E2C:
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ ldr r0, [sp, #0x1c]
+ ldr r1, [r5, r1]
+ bl FUN_0206EBB4
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0x18]
+ ldr r1, [r5, r1]
+ bl FUN_02023D80
+ mov r1, #0x13
+ lsl r1, r1, #0x4
+ ldr r0, [sp, #0x10]
+ ldr r1, [r5, r1]
+ bl FUN_02024F44
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02047A64
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022510
+ mov r1, #0x45
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ bl FUN_0204B2A4
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ sub r1, #0x54
+ add r0, #0x94
+ ldr r0, [r0, #0x0]
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029AFC
+ mov r1, #0x4b
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x51
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ add r0, #0x98
+ ldr r2, [r0, #0x0]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ ldr r0, [sp, #0x0]
+ add r1, #0x18
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020254C0
+ mov r1, #0x53
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ bl FUN_02033534
+ bl FUN_0202D8B0
+ cmp r0, #0x0
+ beq _02047F10
+ ldr r0, [sp, #0x20]
+ bl FUN_02023A28
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x20]
+ bl FUN_020239CC
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020536D0
+ add r1, r5, #0x0
+ add r1, #0x29
+ strb r0, [r1, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_0202398C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x3c
+ bl StringCopy
+ add r3, r5, #0x0
+ add r3, #0x28
+ add r5, #0x90
+ mov r2, #0x6
+_02047F00:
+ ldmia r3!, {r0-r1}
+ stmia r5!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02047F00
+ ldr r0, [r3, #0x0]
+ add sp, #0x24
+ str r0, [r5, #0x0]
+ pop {r4-r7, pc}
+_02047F10:
+ add r0, r5, #0x0
+ bl FUN_020480E4
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02047F1C
+FUN_02047F1C: ; 0x02047F1C
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ add r6, r2, #0x0
+ bl FUN_0206BB1C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_02047D48
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02047F38
+FUN_02047F38: ; 0x02047F38
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r7, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E24
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0202393C
+ ldr r0, [r4, #0x4]
+ add r1, r7, #0x0
+ bl FUN_0206BAD0
+ mov r0, #0x42
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x0]
+ bl FUN_0206EBB4
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x4]
+ bl FUN_02023D80
+ mov r0, #0x19
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ strh r0, [r5, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02047FA4
+FUN_02047FA4: ; 0x02047FA4
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ add r1, r0, #0x0
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02023D80
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02047FD0
+FUN_02047FD0: ; 0x02047FD0
+ push {r3-r5, lr}
+ ldr r2, [r0, #0x1c]
+ add r4, r1, #0x0
+ ldr r1, [r2, #0x8]
+ ldr r2, [r2, #0xc]
+ bl FUN_0204A6E0
+ add r5, r0, #0x0
+ bl FUN_020548F0
+ cmp r0, #0x0
+ beq _02047FEC
+ mov r0, #0x8
+ pop {r3-r5, pc}
+_02047FEC:
+ add r0, r5, #0x0
+ bl FUN_0205478C
+ cmp r0, #0x0
+ bne _02048000
+ add r0, r5, #0x0
+ bl FUN_02054798
+ cmp r0, #0x0
+ beq _02048004
+_02048000:
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_02048004:
+ add r0, r5, #0x0
+ bl FUN_02054830
+ cmp r0, #0x0
+ beq _02048012
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02048012:
+ add r0, r5, #0x0
+ bl FUN_020549AC
+ cmp r0, #0x0
+ beq _02048020
+ mov r0, #0x6
+ pop {r3-r5, pc}
+_02048020:
+ add r0, r5, #0x0
+ bl FUN_02054974
+ cmp r0, #0x0
+ bne _02048034
+ add r0, r5, #0x0
+ bl FUN_02054990
+ cmp r0, #0x0
+ beq _02048038
+_02048034:
+ mov r0, #0xa
+ pop {r3-r5, pc}
+_02048038:
+ add r0, r5, #0x0
+ bl FUN_02054A3C
+ cmp r0, #0x0
+ beq _02048046
+ mov r0, #0x5
+ pop {r3-r5, pc}
+_02048046:
+ add r0, r5, #0x0
+ bl FUN_0205481C
+ cmp r0, #0x0
+ beq _02048054
+ mov r0, #0x7
+ pop {r3-r5, pc}
+_02048054:
+ cmp r4, #0xc
+ bhs _02048060
+ ldr r0, _02048068 ; =0x020F45F8
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r3-r5, pc}
+_02048060:
+ bl ErrorHandling
+ mov r0, #0xc
+ pop {r3-r5, pc}
+ .balign 4
+_02048068: .word 0x020F45F8
+
+ thumb_func_start FUN_0204806C
+FUN_0204806C: ; 0x0204806C
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034860
+ mov r1, #0x15
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ ldr r0, [r6, #0x4]
+ cmp r0, #0x2
+ bne _02048096
+ mov r0, #0x1
+ str r0, [r5, r1]
+_02048096:
+ mov r1, #0x15
+ lsl r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r0, r4, #0x0
+ bl FUN_02047FD0
+ mov r1, #0x55
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020480AC
+FUN_020480AC: ; 0x020480AC
+ mov r1, #0x55
+ mov r2, #0x7
+ lsl r1, r1, #0x2
+ str r2, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020480B8
+FUN_020480B8: ; 0x020480B8
+ cmp r0, #0x2
+ beq _020480C0
+ cmp r0, #0x3
+ bne _020480C4
+_020480C0:
+ mov r0, #0x0
+ bx lr
+_020480C4:
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020480C8
+FUN_020480C8: ; 0x020480C8
+ cmp r0, #0x1
+ beq _020480D0
+ cmp r0, #0x4
+ bne _020480D4
+_020480D0:
+ mov r0, #0x0
+ bx lr
+_020480D4:
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020480D8
+FUN_020480D8: ; 0x020480D8
+ cmp r0, #0x4
+ bne _020480E0
+ mov r0, #0x0
+ bx lr
+_020480E0:
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020480E4
+FUN_020480E4: ; 0x020480E4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_020239CC
+ add r1, r4, #0x0
+ add r1, #0x29
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_0202398C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x3c
+ bl StringCopy
+ add r3, r4, #0x0
+ add r3, #0x28
+ add r4, #0x90
+ mov r2, #0x6
+_02048112:
+ ldmia r3!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02048112
+ ldr r0, [r3, #0x0]
+ str r0, [r4, #0x0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02048120
+FUN_02048120: ; 0x02048120
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r0, _02048158 ; =0x020F465C
+ bl FUN_0201E66C
+ ldr r0, _0204815C ; =0x020F4630
+ bl FUN_02016BBC
+ ldr r2, _02048160 ; =0x020F4640
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r3, #0x0
+ bl FUN_02016C18
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r3, #0x1a
+ str r0, [sp, #0x4]
+ mov r0, #0xe
+ mov r1, #0x6
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_02006930
+ add sp, #0x8
+ pop {r4, pc}
+ .balign 4
+_02048158: .word 0x020F465C
+_0204815C: .word 0x020F4630
+_02048160: .word 0x020F4640
+
+ thumb_func_start FUN_02048164
+FUN_02048164: ; 0x02048164
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x24
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _0204817A
+ bl ErrorHandling
+_0204817A:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x24
+ bl memset
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ str r5, [r4, #0x4]
+ mov r0, #0xb
+ bl FUN_02016B94
+ str r0, [r4, #0x8]
+ bl FUN_02048120
+ mov r2, #0x52
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ mov r3, #0xb
+ bl FUN_0200A86C
+ str r0, [r4, #0x1c]
+ mov r0, #0xb
+ bl FUN_0200AA80
+ str r0, [r4, #0x20]
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x8]
+ ldr r2, _02048208 ; =0x020F4628
+ add r1, #0xc
+ bl FUN_02019150
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x20]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r5, #0x1c]
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204820C ; =0x0000019E
+ cmp r1, r0
+ bne _020481E6
+ mov r2, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ add r3, r2, #0x0
+ bl FUN_020482F4
+ b _020481F2
+_020481E6:
+ mov r2, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ add r3, r2, #0x0
+ bl FUN_020482F4
+_020481F2:
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_020191D0
+ ldr r1, _02048210 ; =FUN_02048214
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_02048208: .word 0x020F4628
+_0204820C: .word 0x0000019E
+_02048210: .word FUN_02048214
+
+ thumb_func_start FUN_02048214
+FUN_02048214: ; 0x02048214
+ push {r3-r4, lr}
+ sub sp, #0xc
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x4
+ bhi _020482EA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02048230: ; jump table (using 16-bit offset)
+ .short _0204823A - _02048230 - 2; case 0
+ .short _02048258 - _02048230 - 2; case 1
+ .short _02048268 - _02048230 - 2; case 2
+ .short _02048298 - _02048230 - 2; case 3
+ .short _020482B2 - _02048230 - 2; case 4
+_0204823A:
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ mov r2, #0x2a
+ mov r3, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_02048258:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020482EA
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_02048268:
+ ldr r0, _020482F0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ bne _02048278
+ mov r0, #0x2
+ tst r0, r1
+ beq _020482EA
+_02048278:
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_02048298:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020482EA
+ add r0, r4, #0x0
+ add r0, #0xc
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020482EA
+_020482B2:
+ add r0, r4, #0x0
+ add r0, #0xc
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_02019178
+ ldr r0, [r4, #0x20]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x1c]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ bl FUN_020178A0
+ ldr r0, [r4, #0x8]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_020482EA:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+_020482F0: .word 0x021C48B8
+
+ thumb_func_start FUN_020482F4
+FUN_020482F4: ; 0x020482F4
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ mov r0, #0x1
+ str r1, [sp, #0x10]
+ lsl r0, r0, #0xa
+ mov r1, #0xb
+ add r7, r3, #0x0
+ bl FUN_020219F4
+ add r6, r0, #0x0
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ mov r1, #0xb
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0xc
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r0, [r5, #0x1c]
+ ldr r1, [sp, #0x10]
+ add r2, r6, #0x0
+ bl FUN_0200A8E0
+ ldr r0, [r5, #0x20]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ mov r0, #0x0
+ add r1, r4, #0x0
+ add r2, r0, #0x0
+ bl FUN_02002F08
+ add r3, r0, #0x0
+ str r7, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _02048378 ; =0x000F0200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ ldrb r5, [r5, #0x13]
+ add r0, #0xc
+ add r2, r4, #0x0
+ lsl r5, r5, #0x3
+ sub r3, r5, r3
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x19
+ sub r3, r3, #0x4
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0201BDE0
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+_02048378: .word 0x000F0200
+
+ thumb_func_start FUN_0204837C
+FUN_0204837C: ; 0x0204837C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x6
+ bhi _02048488
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020483A2: ; jump table (using 16-bit offset)
+ .short _020483B0 - _020483A2 - 2; case 0
+ .short _020483E8 - _020483A2 - 2; case 1
+ .short _020483F8 - _020483A2 - 2; case 2
+ .short _0204840C - _020483A2 - 2; case 3
+ .short _02048434 - _020483A2 - 2; case 4
+ .short _02048442 - _020483A2 - 2; case 5
+ .short _02048482 - _020483A2 - 2; case 6
+_020483B0:
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ add r7, r0, #0x0
+ bl FUN_02034DFC
+ add r1, sp, #0x4
+ str r0, [sp, #0x0]
+ bl FUN_02034EC4
+ add r0, r7, #0x0
+ bl FUN_02034DCC
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_02034E90
+ add r0, r5, #0x0
+ add r1, sp, #0x4
+ bl FUN_02049160
+ add r0, r6, #0x0
+ bl FUN_020637F0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_020483E8:
+ mov r0, #0x0
+ mov r1, #0x14
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_020483F8:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02048488
+ bl FUN_0204AB0C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_0204840C:
+ mov r0, #0xf
+ mvn r0, r0
+ mov r1, #0x37
+ mov r2, #0x1
+ bl FUN_0200A274
+ mov r0, #0xf
+ mvn r0, r0
+ mov r1, #0x3f
+ mov r2, #0x2
+ bl FUN_0200A274
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02048164
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048434:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048442:
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ bl FUN_02034E8C
+ add r7, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DFC
+ cmp r7, r0
+ bne _0204846E
+ mov r2, #0x0
+ ldr r1, _02048490 ; =0x000007E4
+ add r0, r5, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _0204847A
+_0204846E:
+ mov r2, #0x0
+ ldr r1, _02048494 ; =0x000007E5
+ add r0, r5, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+_0204847A:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048488
+_02048482:
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02048488:
+ mov r0, #0x0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_02048490: .word 0x000007E4
+_02048494: .word 0x000007E5
+
+ thumb_func_start FUN_02048498
+FUN_02048498: ; 0x02048498
+ ldr r3, _020484A0 ; =FUN_0204640C
+ ldr r1, _020484A4 ; =FUN_0204837C
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_020484A0: .word FUN_0204640C
+_020484A4: .word FUN_0204837C
+
+ thumb_func_start FUN_020484A8
+FUN_020484A8: ; 0x020484A8
+ push {r3-r6, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r6, r1, #0x0
+ mov r1, #0xb
+ add r2, sp, #0x0
+ bl FUN_02022534
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x1
+ bne _020484C6
+ cmp r6, #0x0
+ bne _020484CC
+_020484C6:
+ add r0, r4, #0x0
+ bl FUN_0202B03C
+_020484CC:
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ add r0, sp, #0x4
+ bl FUN_020126B4
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, sp, #0x4
+ bl FUN_0202B050
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02022540
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x14
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020484F8
+FUN_020484F8: ; 0x020484F8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x9
+ bhi _02048554
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02048526: ; jump table (using 16-bit offset)
+ .short _0204853A - _02048526 - 2; case 0
+ .short _0204854A - _02048526 - 2; case 1
+ .short _02048586 - _02048526 - 2; case 2
+ .short _020485AE - _02048526 - 2; case 3
+ .short _020485C0 - _02048526 - 2; case 4
+ .short _020485F6 - _02048526 - 2; case 5
+ .short _02048612 - _02048526 - 2; case 6
+ .short _02048624 - _02048526 - 2; case 7
+ .short _02048644 - _02048526 - 2; case 8
+ .short _02048666 - _02048526 - 2; case 9
+_0204853A:
+ add r0, r6, #0x0
+ add r1, r5, #0x4
+ bl FUN_02038814
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_0204854A:
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02048556
+_02048554:
+ b _02048688
+_02048556:
+ mov r1, #0x4
+ mov r0, #0x3
+ lsl r2, r1, #0xf
+ bl FUN_0201681C
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02048764
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048586:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, [r6, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ bne _020485A8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_020487E4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485A8:
+ mov r0, #0x7
+ str r0, [r4, #0x0]
+ b _02048688
+_020485AE:
+ add r0, r5, #0x0
+ bl FUN_02048838
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485C0:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_02085140
+ bl FUN_02022830
+ ldr r0, [r6, #0xc]
+ bl FUN_02022720
+ add r7, r0, #0x0
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020484A8
+ add r0, r5, #0x0
+ bl FUN_02048848
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02048864
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_020485F6:
+ add r0, r5, #0x0
+ bl FUN_02048838
+ cmp r0, #0x0
+ beq _02048688
+ ldr r0, _02048690 ; =0x0000061B
+ bl FUN_020054C8
+ mov r0, #0x12
+ str r0, [r5, #0x38]
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048612:
+ ldr r1, [r5, #0x38]
+ cmp r1, #0x0
+ beq _0204861E
+ sub r0, r1, #0x1
+ str r0, [r5, #0x38]
+ b _02048688
+_0204861E:
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048624:
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ mov r1, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x20
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048644:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02048688
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_020488D4
+ add r5, #0x10
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02038854
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048688
+_02048666:
+ add r0, r6, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02048688
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x4
+ bl FUN_020168D0
+ mov r0, #0x0
+ bl OS_ResetSystem
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02048688:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02048690: .word 0x0000061B
+
+ thumb_func_start FUN_02048694
+FUN_02048694: ; 0x02048694
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ mov r0, #0x20
+ mov r1, #0x3c
+ bl FUN_02016998
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DCC
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0205ED0C
+ str r0, [r5, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ str r0, [r5, #0x4]
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r5, #0x8]
+ ldr r0, [r4, #0xc]
+ bl FUN_02023918
+ str r0, [r5, #0xc]
+ ldr r0, [r4, #0xc]
+ bl FUN_020238F4
+ bl FUN_020239CC
+ str r0, [r5, #0x10]
+ add r0, r6, #0x0
+ bl FUN_0205ED0C
+ str r0, [r5, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_02024DA0
+ str r0, [r5, #0x18]
+ add r0, r6, #0x0
+ bl FUN_0205ED0C
+ cmp r0, #0x0
+ bne _0204871E
+ add r0, r4, #0x0
+ bl FUN_0204B328
+_0204871E:
+ ldr r0, [r4, #0xc]
+ bl FUN_0206BB1C
+ bl FUN_0204A25C
+ ldr r0, [sp, #0x8]
+ bl FUN_020377B0
+ ldr r0, [sp, #0x4]
+ bl FUN_020377C8
+ add r0, r6, #0x0
+ bl FUN_0205F154
+ add r0, r6, #0x0
+ bl FUN_0205ECFC
+ ldr r0, [sp, #0x0]
+ bl FUN_02023A78
+ ldr r0, [r4, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x2e
+ bl FUN_0202A0E8
+ ldr r1, _02048760 ; =FUN_020484F8
+ add r0, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0204640C
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02048760: .word FUN_020484F8
+
+ thumb_func_start FUN_02048764
+FUN_02048764: ; 0x02048764
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x2c]
+ str r0, [r1, #0x30]
+ add r1, #0x1c
+ add r0, r1, #0x0
+ bl FUN_0201901C
+ ldr r0, _020487D4 ; =0x020F46B0
+ bl FUN_0201E66C
+ ldr r2, _020487D8 ; =0x04000304
+ ldrh r1, [r2, #0x0]
+ lsr r0, r2, #0xb
+ orr r0, r1
+ strh r0, [r2, #0x0]
+ ldr r0, _020487DC ; =0x020F4684
+ bl FUN_02016BBC
+ mov r0, #0x3
+ mov r1, #0x0
+ bl FUN_02017FE4
+ ldr r0, [r4, #0x8]
+ ldr r2, _020487E0 ; =0x020F4694
+ mov r1, #0x3
+ mov r3, #0x0
+ bl FUN_02016C18
+ mov r1, #0x20
+ mov r0, #0x3
+ mov r2, #0x0
+ add r3, r1, #0x0
+ bl FUN_02017F18
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x11
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ add r3, r2, #0x0
+ bl FUN_02018540
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ bl FUN_02017CD0
+ add sp, #0x10
+ pop {r4, pc}
+ nop
+_020487D4: .word 0x020F46B0
+_020487D8: .word 0x04000304
+_020487DC: .word 0x020F4684
+_020487E0: .word 0x020F4694
+
+ thumb_func_start FUN_020487E4
+FUN_020487E4: ; 0x020487E4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl LoadPlayerDataAddress
+ add r6, r0, #0x0
+ mov r0, #0x1a
+ mov r1, #0xc7
+ mov r2, #0xf
+ mov r3, #0x20
+ bl FUN_0200A738
+ str r0, [r4, #0x2c]
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x8]
+ add r1, #0x1c
+ mov r2, #0x3
+ bl FUN_020545B8
+ add r0, r4, #0x0
+ add r0, #0x1c
+ add r1, r6, #0x0
+ bl FUN_02054608
+ add r0, r4, #0x0
+ ldr r1, [r4, #0x2c]
+ add r0, #0x1c
+ add r2, r6, #0x0
+ mov r3, #0x1
+ bl FUN_02054658
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ ldr r1, _02048834 ; =0x000003E2
+ add r0, #0x1c
+ bl FUN_0200D858
+ str r0, [r4, #0x30]
+ pop {r4-r6, pc}
+ .balign 4
+_02048834: .word 0x000003E2
+
+ thumb_func_start FUN_02048838
+FUN_02048838: ; 0x02048838
+ ldr r0, [r0, #0x34]
+ ldr r3, _02048844 ; =FUN_020546C8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx r3
+ nop
+_02048844: .word FUN_020546C8
+
+ thumb_func_start FUN_02048848
+FUN_02048848: ; 0x02048848
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x2c]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x30]
+ bl FUN_0200DBFC
+ add r4, #0x1c
+ add r0, r4, #0x0
+ bl FUN_0205464C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048864
+FUN_02048864: ; 0x02048864
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xc7
+ mov r3, #0x4
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ cmp r6, #0x2
+ bne _020488AC
+ mov r0, #0x4
+ bl FUN_0200AA80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x10
+ mov r3, #0x4
+ bl FUN_0200A9C4
+ str r0, [r4, #0x2c]
+ add r0, r6, #0x0
+ bl FUN_0200AB18
+ b _020488B4
+_020488AC:
+ mov r1, #0x12
+ bl FUN_0200A914
+ str r0, [r4, #0x2c]
+_020488B4:
+ add r0, r7, #0x0
+ bl FUN_0200A8B8
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ ldr r1, [r4, #0x2c]
+ add r0, #0x1c
+ mov r3, #0x1
+ bl FUN_02054658
+ str r0, [r4, #0x34]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020488D4
+FUN_020488D4: ; 0x020488D4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x2c]
+ cmp r0, #0x0
+ beq _020488E4
+ bl FUN_02021A20
+_020488E4:
+ add r0, r4, #0x0
+ add r0, #0x1c
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _020488F8
+ add r4, #0x1c
+ add r0, r4, #0x0
+ bl FUN_02019178
+_020488F8:
+ ldr r0, [r5, #0x8]
+ mov r1, #0x3
+ bl FUN_020178A0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048904
+FUN_02048904: ; 0x02048904
+ ldr r1, [r0, #0x1c]
+ ldr r2, _02048950 ; =0x0000014B
+ ldr r1, [r1, #0x0]
+ cmp r1, r2
+ bgt _0204892C
+ sub r2, r2, #0x5
+ sub r2, r1, r2
+ bmi _02048936
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02048920: ; jump table (using 16-bit offset)
+ .short _02048932 - _02048920 - 2; case 0
+ .short _02048932 - _02048920 - 2; case 1
+ .short _02048932 - _02048920 - 2; case 2
+ .short _02048932 - _02048920 - 2; case 3
+ .short _02048932 - _02048920 - 2; case 4
+ .short _02048932 - _02048920 - 2; case 5
+_0204892C:
+ ldr r2, _02048954 ; =0x000001ED
+ cmp r1, r2
+ bne _02048936
+_02048932:
+ mov r2, #0x1
+ b _02048938
+_02048936:
+ mov r2, #0x0
+_02048938:
+ cmp r2, #0x0
+ bne _02048946
+ ldr r1, [r0, #0x6c]
+ cmp r1, #0x4
+ bne _02048946
+ mov r1, #0x0
+ str r1, [r0, #0x6c]
+_02048946:
+ cmp r2, #0x0
+ beq _0204894E
+ mov r1, #0x4
+ str r1, [r0, #0x6c]
+_0204894E:
+ bx lr
+ .balign 4
+_02048950: .word 0x0000014B
+_02048954: .word 0x000001ED
+
+ thumb_func_start FUN_02048958
+FUN_02048958: ; 0x02048958
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02034E30
+ add r6, r0, #0x0
+ bl FUN_02034DC8
+ add r2, r0, #0x0
+ cmp r4, #0x0
+ beq _0204898C
+ ldr r3, [r5, #0x1c]
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ ldr r2, [r5, #0x1c]
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ str r0, [r2, #0x0]
+_0204898C:
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_02034A60
+ ldr r0, [r5, #0x1c]
+ ldr r1, [r0, #0x4]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ beq _020489DA
+ add r0, r5, #0x0
+ bl FUN_02034B00
+ ldrh r2, [r0, #0x0]
+ ldr r1, [r5, #0x1c]
+ str r2, [r1, #0x8]
+ ldrh r2, [r0, #0x2]
+ ldr r1, [r5, #0x1c]
+ str r2, [r1, #0xc]
+ ldrh r1, [r0, #0x6]
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ cmp r1, r0
+ bne _020489DA
+ add r0, r6, #0x0
+ bl FUN_02034DD0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02034DC4
+ add r2, r0, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r4!, {r0-r1}
+ ldmia r2!, {r0-r1}
+ stmia r4!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r4, #0x0]
+_020489DA:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020489DC
+FUN_020489DC: ; 0x020489DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0x5
+ blt _020489EA
+ bl ErrorHandling
+_020489EA:
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x1c
+ ldr r0, _020489F8 ; =0x021C4918
+ strb r1, [r0, #0x5]
+ pop {r4, pc}
+ .balign 4
+_020489F8: .word 0x021C4918
+
+ thumb_func_start FUN_020489FC
+FUN_020489FC: ; 0x020489FC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x1c]
+ add r4, r1, #0x0
+ ldr r7, [r0, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0204AB44
+ add r0, r5, #0x0
+ bl FUN_02039564
+ cmp r4, #0x0
+ bne _02048A28
+ add r0, r5, #0x0
+ bl FUN_020636DC
+ b _02048A2E
+_02048A28:
+ add r0, r5, #0x0
+ bl FUN_02063684
+_02048A2E:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F408
+ cmp r4, #0x0
+ bne _02048A42
+ add r0, r5, #0x0
+ bl FUN_0204B0F8
+_02048A42:
+ cmp r4, #0x0
+ bne _02048A50
+ ldr r0, [r5, #0xc]
+ bl FUN_02024ED8
+ bl FUN_02025484
+_02048A50:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02034FE4
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ cmp r6, #0xe
+ bne _02048A72
+ ldr r0, [sp, #0x0]
+ bl FUN_0205F2C4
+ cmp r0, #0x1
+ beq _02048A80
+_02048A72:
+ cmp r6, #0x10
+ bne _02048A82
+ ldr r0, [sp, #0x0]
+ bl FUN_0205F294
+ cmp r0, #0x1
+ bne _02048A82
+_02048A80:
+ mov r6, #0x0
+_02048A82:
+ ldr r0, [sp, #0x4]
+ add r1, r6, #0x0
+ bl FUN_02034DF4
+ cmp r4, #0x0
+ beq _02048AA6
+ ldr r0, [sp, #0x4]
+ bl FUN_02034E10
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0203484C
+ cmp r6, r0
+ beq _02048AB4
+ bl ErrorHandling
+ b _02048AB4
+_02048AA6:
+ add r0, r7, #0x0
+ bl FUN_0203484C
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02034E18
+_02048AB4:
+ cmp r4, #0x0
+ bne _02048ACA
+ add r0, r7, #0x0
+ bl FUN_02034EF8
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ beq _02048ACA
+ ldr r0, [sp, #0x4]
+ bl FUN_02034E04
+_02048ACA:
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0203989C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x74
+ strh r1, [r0, #0x0]
+ add r5, #0x76
+ strh r1, [r5, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048AE4
+FUN_02048AE4: ; 0x02048AE4
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ mov r1, #0x40
+ mov r2, #0x5
+ bl FUN_02057380
+ str r0, [r5, #0x34]
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ bl FUN_020239CC
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ ldr r3, [r5, #0x1c]
+ ldr r1, [r0, #0x4]
+ str r1, [sp, #0x0]
+ str r4, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x34]
+ ldr r1, [r3, #0x8]
+ ldr r2, [r3, #0xc]
+ ldr r3, [r3, #0x10]
+ bl FUN_02055068
+ str r0, [r5, #0x38]
+ add r0, r5, #0x0
+ bl FUN_02034AC8
+ ldr r0, [r5, #0x34]
+ bl FUN_02058768
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048B34
+FUN_02048B34: ; 0x02048B34
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204CC48
+ ldr r0, [r4, #0x38]
+ bl FUN_02055160
+ ldr r0, [r4, #0x34]
+ bl FUN_0205771C
+ ldr r0, [r4, #0x34]
+ bl FUN_020573AC
+ pop {r4, pc}
+
+ thumb_func_start FUN_02048B50
+FUN_02048B50: ; 0x02048B50
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x40
+ mov r2, #0x5
+ bl FUN_02057380
+ str r0, [r5, #0x34]
+ add r0, r5, #0x0
+ bl FUN_02034E60
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ bl FUN_020239CC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x34]
+ add r1, r4, #0x0
+ bl FUN_020550A4
+ str r0, [r5, #0x38]
+ ldr r0, [r5, #0x34]
+ bl FUN_02058768
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048B90
+FUN_02048B90: ; 0x02048B90
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02048904
+ ldr r0, [r4, #0x58]
+ cmp r0, #0x0
+ beq _02048BA2
+ bl ErrorHandling
+_02048BA2:
+ ldr r0, [r4, #0x1c]
+ ldr r1, [r4, #0x28]
+ ldr r0, [r0, #0x0]
+ bl FUN_020344AC
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x3
+ bl FUN_0205F524
+ cmp r0, #0x0
+ beq _02048BC2
+ ldr r0, [r4, #0x28]
+ bl FUN_020346CC
+_02048BC2:
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x2
+ bl FUN_0205F524
+ cmp r0, #0x0
+ bne _02048BD8
+ ldr r0, [r4, #0x28]
+ bl FUN_02034678
+_02048BD8:
+ ldr r0, [r4, #0x6c]
+ cmp r0, #0x5
+ blt _02048BE2
+ bl ErrorHandling
+_02048BE2:
+ ldr r0, [r4, #0x6c]
+ ldr r1, _02048C28 ; =0x020F46E0
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ str r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ str r0, [r4, #0x5c]
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ str r0, [r4, #0x18]
+ ldr r1, [r4, #0x70]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, #0x58
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x1c
+ bl FUN_0204A690
+ ldr r0, [r4, #0x70]
+ ldr r1, [r0, #0x0]
+ lsl r0, r1, #0xc
+ lsr r0, r0, #0x1c
+ beq _02048C24
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x18
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0204A368
+_02048C24:
+ pop {r4, pc}
+ nop
+_02048C28: .word 0x020F46E0
+
+ thumb_func_start FUN_02048C2C
+FUN_02048C2C: ; 0x02048C2C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x58]
+ cmp r0, #0x0
+ bne _02048C3A
+ bl ErrorHandling
+_02048C3A:
+ mov r0, #0x0
+ str r0, [r4, #0x58]
+ mov r0, #0x5
+ str r0, [r4, #0x18]
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0xc
+ lsr r0, r0, #0x1c
+ beq _02048C52
+ add r0, r4, #0x0
+ bl FUN_0204A390
+_02048C52:
+ mov r0, #0x0
+ str r0, [r4, #0x70]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02048C58
+FUN_02048C58: ; 0x02048C58
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02048C7E
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xb
+ ldr r0, [r0, #0x0]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02028FA4
+ add r4, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x0
+ bl FUN_02028AD4
+_02048C7E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02048C80
+FUN_02048C80: ; 0x02048C80
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02048CAE
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ ldr r0, [r0, #0x0]
+ mov r1, #0xb
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02028FA4
+ add r4, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x0
+ bl FUN_02028AD4
+_02048CAE:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02048CB0
+FUN_02048CB0: ; 0x02048CB0
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ ldr r1, [r4, #0x1c]
+ ldr r1, [r1, #0x0]
+ str r1, [r5, #0x0]
+ mov r1, #0x0
+ mvn r1, r1
+ str r1, [r5, #0x4]
+ str r0, [r5, #0x8]
+ str r6, [r5, #0xc]
+ mov r0, #0x1
+ str r0, [r5, #0x10]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048CDC
+FUN_02048CDC: ; 0x02048CDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_020349E4
+ cmp r0, #0x0
+ beq _02048CFE
+ ldr r1, [r4, #0x1c]
+ ldr r0, [r1, #0x8]
+ cmp r0, #0x7
+ bne _02048CFE
+ ldr r0, [r1, #0xc]
+ cmp r0, #0x6
+ bne _02048CFE
+ mov r0, #0x1
+ pop {r4, pc}
+_02048CFE:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048D04
+FUN_02048D04: ; 0x02048D04
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0x0]
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ mvn r0, r0
+ str r0, [r4, #0x4]
+ mov r0, #0x8
+ str r0, [r4, #0x8]
+ mov r0, #0x2
+ str r0, [r4, #0xc]
+ mov r0, #0x1
+ str r0, [r4, #0x10]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02048D34
+FUN_02048D34: ; 0x02048D34
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02048D56
+ cmp r0, #0x1
+ beq _02048D7A
+ cmp r0, #0x2
+ beq _02048D88
+ b _02048D8C
+_02048D56:
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ bl FUN_02048958
+ add r0, r5, #0x0
+ bl FUN_02048B90
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020489FC
+ add r0, r5, #0x0
+ bl FUN_02048AE4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048D8C
+_02048D7A:
+ add r0, r6, #0x0
+ bl FUN_0204B0E8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02048D8C
+_02048D88:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02048D8C:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02048D90
+FUN_02048D90: ; 0x02048D90
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x0
+ str r1, [r4, #0x6c]
+ bl FUN_02039874
+ ldr r1, _02048DA8 ; =FUN_02048D34
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020463CC
+ pop {r4, pc}
+ .balign 4
+_02048DA8: .word FUN_02048D34
+
+ thumb_func_start FUN_02048DAC
+FUN_02048DAC: ; 0x02048DAC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x4
+ bhi _02048EC2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02048DD8: ; jump table (using 16-bit offset)
+ .short _02048DE2 - _02048DD8 - 2; case 0
+ .short _02048E10 - _02048DD8 - 2; case 1
+ .short _02048EA4 - _02048DD8 - 2; case 2
+ .short _02048EB0 - _02048DD8 - 2; case 3
+ .short _02048EB4 - _02048DD8 - 2; case 4
+_02048DE2:
+ ldr r0, [r4, #0xc]
+ bl FUN_02025B94
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_0205F2D4
+ add r7, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020289A4
+ add r1, r7, #0x0
+ bl FUN_02028A20
+ cmp r0, #0x0
+ beq _02048E10
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02037944
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02048EC2
+_02048E10:
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_0205F2D4
+ add r7, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020289A4
+ add r1, r7, #0x0
+ bl FUN_020289B0
+ add r1, r4, #0x0
+ add r1, #0x98
+ str r0, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0205F174
+ cmp r0, #0x0
+ beq _02048E78
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02048CDC
+ cmp r0, #0x0
+ beq _02048E4E
+ add r0, r4, #0x0
+ bl FUN_02048D04
+_02048E4E:
+ add r0, r6, #0x0
+ bl FUN_0205F164
+ add r0, r7, #0x0
+ bl FUN_02034DD0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02048958
+ add r0, r4, #0x0
+ bl FUN_02048B90
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020489FC
+ add r0, r4, #0x0
+ bl FUN_02048AE4
+ b _02048E92
+_02048E78:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02048958
+ add r0, r4, #0x0
+ bl FUN_02048B90
+ add r0, r4, #0x0
+ bl FUN_0204B0F8
+ add r0, r4, #0x0
+ bl FUN_02048B50
+_02048E92:
+ add r0, r4, #0x0
+ bl FUN_02048C58
+ add r0, r4, #0x0
+ bl FUN_02063808
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02048EC2
+_02048EA4:
+ add r0, r7, #0x0
+ bl FUN_0204B0E8
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02048EC2
+_02048EB0:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02048EB4:
+ add r0, r4, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _02048EC2
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+_02048EC2:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02048EC8
+FUN_02048EC8: ; 0x02048EC8
+ ldr r3, _02048ED4 ; =FUN_020463CC
+ mov r2, #0x0
+ str r2, [r0, #0x6c]
+ ldr r1, _02048ED8 ; =FUN_02048DAC
+ bx r3
+ nop
+_02048ED4: .word FUN_020463CC
+_02048ED8: .word FUN_02048DAC
+
+ thumb_func_start FUN_02048EDC
+FUN_02048EDC: ; 0x02048EDC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x5
+ bhi _02048FC4
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02048F10: ; jump table (using 16-bit offset)
+ .short _02048F1C - _02048F10 - 2; case 0
+ .short _02048F54 - _02048F10 - 2; case 1
+ .short _02048F7E - _02048F10 - 2; case 2
+ .short _02048F9A - _02048F10 - 2; case 3
+ .short _02048FAE - _02048F10 - 2; case 4
+ .short _02048FBA - _02048F10 - 2; case 5
+_02048F1C:
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ ldr r0, [r4, #0xc]
+ bl FUN_02025B94
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2
+ bl FUN_0205F2D4
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020289A4
+ add r1, r6, #0x0
+ bl FUN_020289B0
+ add r4, #0x98
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048F54:
+ add r0, r4, #0x0
+ add r1, r6, #0x4
+ bl FUN_02048958
+ add r0, r4, #0x0
+ bl FUN_02048B90
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020489FC
+ add r0, r4, #0x0
+ bl FUN_02048AE4
+ add r0, r4, #0x0
+ bl FUN_02048C80
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048F7E:
+ add r0, r4, #0x0
+ bl FUN_020520AC
+ str r0, [r4, #0x78]
+ bl FUN_02052EE8
+ str r0, [r4, #0x7c]
+ add r0, r7, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048F9A:
+ mov r1, #0x0
+ str r1, [r6, #0x0]
+ add r0, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD05_021E7750
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048FAE:
+ ldr r1, [r6, #0x0]
+ cmp r1, #0x0
+ beq _02048FC4
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02048FC4
+_02048FBA:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02048FC4:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02048FC8
+FUN_02048FC8: ; 0x02048FC8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034998
+ cmp r0, #0x0
+ bne _02049000
+ add r0, r4, #0x0
+ bl FUN_02048CDC
+ cmp r0, #0x0
+ beq _02048FF8
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02048D04
+ add r0, r5, #0x0
+ bl FUN_0205F154
+ b _02049000
+_02048FF8:
+ add r0, r4, #0x0
+ bl FUN_02048EC8
+ pop {r3-r5, pc}
+_02049000:
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r1, #0x0
+ ldr r0, _02049030 ; =0x000001D2
+ str r1, [r2, #0x0]
+ str r0, [r2, #0x4]
+ sub r0, r1, #0x1
+ str r0, [r2, #0x8]
+ mov r0, #0x8
+ str r0, [r2, #0xc]
+ mov r0, #0xe
+ str r0, [r2, #0x10]
+ str r1, [r2, #0x14]
+ mov r0, #0x2
+ str r0, [r4, #0x6c]
+ ldr r1, _02049034 ; =FUN_02048EDC
+ add r0, r4, #0x0
+ bl FUN_020463CC
+ pop {r3-r5, pc}
+ nop
+_02049030: .word 0x000001D2
+_02049034: .word FUN_02048EDC
+
+ thumb_func_start FUN_02049038
+FUN_02049038: ; 0x02049038
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _020490B6
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0204905C: ; jump table (using 16-bit offset)
+ .short _02049064 - _0204905C - 2; case 0
+ .short _02049080 - _0204905C - 2; case 1
+ .short _02049090 - _0204905C - 2; case 2
+ .short _020490AE - _0204905C - 2; case 3
+_02049064:
+ ldr r0, _020490BC ; =0x00000603
+ bl FUN_020054C8
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD60
+ add r0, r5, #0x0
+ bl FUN_0204B090
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020490B6
+_02049080:
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020490B6
+_02049090:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _020490B6
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204B0E8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020490B6
+_020490AE:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020490B6:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_020490BC: .word 0x00000603
+
+ thumb_func_start FUN_020490C0
+FUN_020490C0: ; 0x020490C0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x1c
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ ldmia r4!, {r0-r1}
+ add r3, r2, #0x4
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ ldr r1, _020490EC ; =FUN_02049038
+ str r0, [r3, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ .balign 4
+_020490EC: .word FUN_02049038
+
+ thumb_func_start FUN_020490F0
+FUN_020490F0: ; 0x020490F0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02049112
+ cmp r0, #0x1
+ beq _02049126
+ cmp r0, #0x2
+ beq _0204914C
+ b _0204915C
+_02049112:
+ add r0, r5, #0x0
+ bl FUN_02048B34
+ add r0, r5, #0x0
+ bl FUN_02048C2C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204915C
+_02049126:
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02048958
+ add r0, r5, #0x0
+ bl FUN_02048B90
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020489FC
+ add r5, #0x90
+ ldr r0, [r5, #0x0]
+ bl FUN_0205DD40
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204915C
+_0204914C:
+ add r0, r5, #0x0
+ bl FUN_02048AE4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204915C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02049160
+FUN_02049160: ; 0x02049160
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ beq _02049186
+ bl ErrorHandling
+ pop {r3-r7, pc}
+_02049186:
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ ldmia r5!, {r0-r1}
+ add r2, r4, #0x4
+ stmia r2!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ ldr r1, _020491A4 ; =FUN_020490F0
+ str r0, [r2, #0x0]
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_020491A4: .word FUN_020490F0
+
+ thumb_func_start FUN_020491A8
+FUN_020491A8: ; 0x020491A8
+ push {lr}
+ sub sp, #0x14
+ str r1, [sp, #0x0]
+ ldr r1, [sp, #0x18]
+ str r2, [sp, #0x4]
+ str r1, [sp, #0xc]
+ ldr r1, [sp, #0x1c]
+ str r3, [sp, #0x8]
+ str r1, [sp, #0x10]
+ add r1, sp, #0x0
+ bl FUN_02049160
+ add sp, #0x14
+ pop {pc}
+
+ thumb_func_start FUN_020491C4
+FUN_020491C4: ; 0x020491C4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _0204923C
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020491E8: ; jump table (using 16-bit offset)
+ .short _020491F0 - _020491E8 - 2; case 0
+ .short _02049206 - _020491E8 - 2; case 1
+ .short _02049216 - _020491E8 - 2; case 2
+ .short _02049234 - _020491E8 - 2; case 3
+_020491F0:
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD60
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204923C
+_02049206:
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204923C
+_02049216:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _0204923C
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204923C
+_02049234:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204923C:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02049240
+FUN_02049240: ; 0x02049240
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r5, [r2, #0x4]
+ str r4, [r2, #0x8]
+ ldr r0, [sp, #0x18]
+ str r6, [r2, #0xc]
+ str r0, [r2, #0x10]
+ ldr r0, [sp, #0x1c]
+ ldr r1, _02049270 ; =FUN_020491C4
+ str r0, [r2, #0x14]
+ add r0, r7, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_02049270: .word FUN_020491C4
+
+ thumb_func_start FUN_02049274
+FUN_02049274: ; 0x02049274
+ push {r4-r5, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x20]
+ str r1, [sp, #0x0]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x20
+ str r0, [sp, #0x10]
+ mov r0, #0xb
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ add r3, r2, #0x0
+ add r5, sp, #0x0
+ str r0, [r2, #0x4]
+ ldmia r5!, {r0-r1}
+ add r3, #0x8
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ ldr r1, _020492B8 ; =FUN_02049304
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020463CC
+ add sp, #0x14
+ pop {r4-r5, pc}
+ nop
+_020492B8: .word FUN_02049304
+
+ thumb_func_start FUN_020492BC
+FUN_020492BC: ; 0x020492BC
+ push {r4-r5, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x20]
+ str r1, [sp, #0x0]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x20
+ str r0, [sp, #0x10]
+ mov r0, #0xb
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ add r3, r2, #0x0
+ add r5, sp, #0x0
+ str r0, [r2, #0x4]
+ ldmia r5!, {r0-r1}
+ add r3, #0x8
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ ldr r1, _02049300 ; =FUN_02049304
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020463EC
+ add sp, #0x14
+ pop {r4-r5, pc}
+ nop
+_02049300: .word FUN_02049304
+
+ thumb_func_start FUN_02049304
+FUN_02049304: ; 0x02049304
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r5, r4, #0x0
+ ldr r1, [r4, #0x0]
+ add r5, #0x8
+ cmp r1, #0x3
+ bhi _02049390
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0204932C: ; jump table (using 16-bit offset)
+ .short _02049334 - _0204932C - 2; case 0
+ .short _0204934A - _0204932C - 2; case 1
+ .short _02049364 - _0204932C - 2; case 2
+ .short _02049388 - _0204932C - 2; case 3
+_02049334:
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0204AD60
+ add r0, r7, #0x0
+ bl FUN_02049394
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049390
+_0204934A:
+ ldr r0, [r6, #0x38]
+ mov r1, #0x0
+ bl FUN_020553A8
+ add r1, r4, #0x0
+ add r0, r7, #0x0
+ add r1, #0x8
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049390
+_02049364:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049390
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_020637A8
+ add r0, r7, #0x0
+ bl FUN_020493D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049390
+_02049388:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02049390:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02049394
+FUN_02049394: ; 0x02049394
+ ldr r3, _0204939C ; =FUN_0204640C
+ ldr r1, _020493A0 ; =FUN_020493A4
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_0204939C: .word FUN_0204640C
+_020493A0: .word FUN_020493A4
+
+ thumb_func_start FUN_020493A4
+FUN_020493A4: ; 0x020493A4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020493BA
+ cmp r0, #0x1
+ beq _020493C8
+ b _020493CC
+_020493BA:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020493CC
+_020493C8:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020493CC:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020493D0
+FUN_020493D0: ; 0x020493D0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204652C
+ add r2, r0, #0x0
+ ldr r1, _020493E4 ; =FUN_020493E8
+ add r0, r4, #0x0
+ bl FUN_0204640C
+ pop {r4, pc}
+ .balign 4
+_020493E4: .word FUN_020493E8
+
+ thumb_func_start FUN_020493E8
+FUN_020493E8: ; 0x020493E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ beq _02049408
+ cmp r1, #0x1
+ beq _02049416
+ cmp r1, #0x2
+ beq _02049428
+ b _0204942C
+_02049408:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204942C
+_02049416:
+ bl MOD05_021E331C
+ add r0, r5, #0x0
+ bl FUN_02049430
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204942C
+_02049428:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204942C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02049430
+FUN_02049430: ; 0x02049430
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _02049452
+ bl ErrorHandling
+ pop {r4-r6, pc}
+_02049452:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553E8
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD06_022483BC
+ str r0, [r4, #0x4]
+ ldr r1, _02049470 ; =FUN_02049474
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_02049470: .word FUN_02049474
+
+ thumb_func_start FUN_02049474
+FUN_02049474: ; 0x02049474
+ push {r4, lr}
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ bl MOD06_022483E0
+ cmp r0, #0x1
+ bne _02049490
+ ldr r0, [r4, #0x4]
+ bl MOD06_022483EC
+ mov r0, #0x1
+ pop {r4, pc}
+_02049490:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02049494
+FUN_02049494: ; 0x02049494
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x20
+ add r4, r2, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r4, [r2, #0x4]
+ str r0, [r2, #0x8]
+ add r3, r2, #0x0
+ ldmia r5!, {r0-r1}
+ add r3, #0xc
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ ldr r1, _020494C8 ; =FUN_020494CC
+ str r0, [r3, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020463EC
+ pop {r4-r6, pc}
+ .balign 4
+_020494C8: .word FUN_020494CC
+
+ thumb_func_start FUN_020494CC
+FUN_020494CC: ; 0x020494CC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r6, r4, #0x0
+ ldr r1, [r4, #0x0]
+ add r6, #0xc
+ cmp r1, #0x3
+ bhi _02049570
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020494F4: ; jump table (using 16-bit offset)
+ .short _020494FC - _020494F4 - 2; case 0
+ .short _02049512 - _020494F4 - 2; case 1
+ .short _0204952C - _020494F4 - 2; case 2
+ .short _02049568 - _020494F4 - 2; case 3
+_020494FC:
+ ldr r1, [r6, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204AD60
+ add r0, r7, #0x0
+ bl FUN_02049574
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049570
+_02049512:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_020553A8
+ add r1, r4, #0x0
+ add r0, r7, #0x0
+ add r1, #0xc
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049570
+_0204952C:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049570
+ ldr r1, [r6, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204AD8C
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x2
+ bne _0204954A
+ add r0, r5, #0x0
+ bl FUN_020637C4
+ b _0204955A
+_0204954A:
+ cmp r0, #0x1
+ bhi _02049556
+ add r0, r5, #0x0
+ bl FUN_020637E0
+ b _0204955A
+_02049556:
+ bl ErrorHandling
+_0204955A:
+ add r0, r7, #0x0
+ bl FUN_020495B0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049570
+_02049568:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02049570:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02049574
+FUN_02049574: ; 0x02049574
+ ldr r3, _0204957C ; =FUN_0204640C
+ ldr r1, _02049580 ; =FUN_02049584
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_0204957C: .word FUN_0204640C
+_02049580: .word FUN_02049584
+
+ thumb_func_start FUN_02049584
+FUN_02049584: ; 0x02049584
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _0204959A
+ cmp r0, #0x1
+ beq _020495A8
+ b _020495AC
+_0204959A:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020495AC
+_020495A8:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020495AC:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020495B0
+FUN_020495B0: ; 0x020495B0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204652C
+ add r2, r0, #0x0
+ ldr r1, _020495C4 ; =FUN_020495C8
+ add r0, r4, #0x0
+ bl FUN_0204640C
+ pop {r4, pc}
+ .balign 4
+_020495C4: .word FUN_020495C8
+
+ thumb_func_start FUN_020495C8
+FUN_020495C8: ; 0x020495C8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020495F0
+ cmp r0, #0x1
+ beq _020495FE
+ cmp r0, #0x2
+ beq _02049612
+ b _02049616
+_020495F0:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049616
+_020495FE:
+ add r0, r6, #0x0
+ bl MOD05_021E331C
+ add r0, r5, #0x0
+ bl FUN_0204961C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049616
+_02049612:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02049616:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204961C
+FUN_0204961C: ; 0x0204961C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _0204963E
+ bl ErrorHandling
+ pop {r4-r6, pc}
+_0204963E:
+ ldr r2, [r6, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl MOD06_0224C8C8
+ add r2, r0, #0x0
+ ldr r1, _02049654 ; =0x0224C8E9
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ .balign 4
+_02049654: .word 0x0224C8E9
+
+ thumb_func_start FUN_02049658
+FUN_02049658: ; 0x02049658
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r5, r4, #0x0
+ ldr r1, [r4, #0x0]
+ add r5, #0x8
+ cmp r1, #0x6
+ bhi _02049712
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02049680: ; jump table (using 16-bit offset)
+ .short _0204968E - _02049680 - 2; case 0
+ .short _020496A0 - _02049680 - 2; case 1
+ .short _020496BC - _02049680 - 2; case 2
+ .short _020496CC - _02049680 - 2; case 3
+ .short _020496EA - _02049680 - 2; case 4
+ .short _020496FE - _02049680 - 2; case 5
+ .short _0204970A - _02049680 - 2; case 6
+_0204968E:
+ add r0, r7, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x4
+ bl MOD05_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496A0:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02049712
+ ldr r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD60
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496BC:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496CC:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049712
+ ldr r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496EA:
+ mov r1, #0x0
+ str r1, [r4, #0x4]
+ add r0, r7, #0x0
+ add r2, r4, #0x4
+ bl MOD05_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_020496FE:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02049712
+ add r0, r1, #0x1
+ str r0, [r4, #0x0]
+ b _02049712
+_0204970A:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02049712:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02049718
+FUN_02049718: ; 0x02049718
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x1c
+ add r6, r2, #0x0
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r7, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ mov r1, #0x0
+ add r2, r7, #0x0
+ str r4, [sp, #0x0]
+ str r6, [sp, #0x4]
+ add r3, sp, #0x0
+ str r1, [sp, #0x8]
+ str r1, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldmia r3!, {r0-r1}
+ add r2, #0x8
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ ldr r1, _02049768 ; =FUN_02049658
+ str r0, [r2, #0x0]
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_020463CC
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_02049768: .word FUN_02049658
+
+ thumb_func_start FUN_0204976C
+FUN_0204976C: ; 0x0204976C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_020169D8
+ add r5, r0, #0x0
+ mov r1, #0x0
+ str r1, [r5, #0x0]
+ str r1, [r5, #0x4]
+ ldr r0, [r6, #0x6c]
+ cmp r0, #0x1
+ bne _020497A4
+ ldr r0, [r4, #0x0]
+ str r0, [r5, #0x8]
+ sub r0, r1, #0x1
+ str r0, [r5, #0xc]
+ ldr r0, [r4, #0x8]
+ str r0, [r5, #0x10]
+ ldr r0, [r4, #0xc]
+ str r0, [r5, #0x14]
+ b _02049820
+_020497A4:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02048CB0
+ mov r0, #0x2
+ str r0, [r5, #0x8]
+ sub r0, r0, #0x3
+ str r0, [r5, #0xc]
+ ldr r1, [r4, #0x8]
+ asr r0, r1, #0x4
+ lsr r0, r0, #0x1b
+ add r0, r1, r0
+ asr r0, r0, #0x5
+ ldr r1, [r4, #0xc]
+ sub r6, r0, #0x1
+ asr r0, r1, #0x4
+ lsr r0, r0, #0x1b
+ add r0, r1, r0
+ asr r0, r0, #0x5
+ sub r4, r0, #0x6
+ cmp r6, #0x0
+ bge _020497D4
+ bl ErrorHandling
+_020497D4:
+ cmp r4, #0x0
+ bge _020497DC
+ bl ErrorHandling
+_020497DC:
+ lsr r2, r6, #0x1f
+ lsl r1, r6, #0x1f
+ sub r1, r1, r2
+ mov r0, #0x1f
+ ror r1, r0
+ add r0, r2, r1
+ bne _020497EE
+ mov r0, #0x8
+ b _020497F0
+_020497EE:
+ mov r0, #0x17
+_020497F0:
+ lsr r3, r4, #0x1f
+ lsl r2, r4, #0x1f
+ sub r2, r2, r3
+ mov r1, #0x1f
+ ror r2, r1
+ add r1, r3, r2
+ bne _02049802
+ mov r1, #0x8
+ b _02049804
+_02049802:
+ mov r1, #0x17
+_02049804:
+ lsr r2, r6, #0x1f
+ add r2, r6, r2
+ asr r2, r2, #0x1
+ add r6, r2, #0x1
+ lsr r2, r4, #0x1f
+ add r2, r4, r2
+ asr r2, r2, #0x1
+ add r3, r2, #0x3
+ lsl r2, r6, #0x5
+ add r0, r0, r2
+ str r0, [r5, #0x10]
+ lsl r0, r3, #0x5
+ add r0, r1, r0
+ str r0, [r5, #0x14]
+_02049820:
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02049824
+FUN_02049824: ; 0x02049824
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0204976C
+ add r4, r0, #0x0
+ beq _02049840
+ add r0, r5, #0x0
+ bl FUN_02049BE8
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463CC
+_02049840:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02049844
+FUN_02049844: ; 0x02049844
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0xc
+ bhi _0204992C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204986A: ; jump table (using 16-bit offset)
+ .short _02049884 - _0204986A - 2; case 0
+ .short _020498DC - _0204986A - 2; case 1
+ .short _02049918 - _0204986A - 2; case 2
+ .short _0204995E - _0204986A - 2; case 3
+ .short _020499A2 - _0204986A - 2; case 4
+ .short _020499D0 - _0204986A - 2; case 5
+ .short _020499E2 - _0204986A - 2; case 6
+ .short _020499F2 - _0204986A - 2; case 7
+ .short _02049A06 - _0204986A - 2; case 8
+ .short _02049A14 - _0204986A - 2; case 9
+ .short _02049A42 - _0204986A - 2; case 10
+ .short _02049A64 - _0204986A - 2; case 11
+ .short _02049A96 - _0204986A - 2; case 12
+_02049884:
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xcf
+ mov r3, #0xb
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ mov r1, #0x7c
+ bl FUN_0200A914
+ str r0, [r4, #0x34]
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x8]
+ add r1, #0x24
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x24
+ bl FUN_02054608
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ ldr r1, [r4, #0x34]
+ add r0, #0x24
+ mov r3, #0x1
+ bl FUN_02054658
+ add r1, r4, #0x0
+ add r1, #0x38
+ strb r0, [r1, #0x0]
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020498DC:
+ add r0, r4, #0x0
+ add r0, #0x38
+ ldrb r0, [r0, #0x0]
+ bl FUN_020546C8
+ cmp r0, #0x1
+ bne _0204992C
+ ldr r0, [r4, #0x34]
+ bl FUN_02021A20
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0xb
+ str r3, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ ldr r2, _02049AB8 ; =0x000003D9
+ mov r1, #0x3
+ bl FUN_0200CB00
+ mov r3, #0xb
+ str r3, [sp, #0x0]
+ ldr r0, [r5, #0x8]
+ ldr r1, _02049ABC ; =0x020F46D8
+ ldr r2, _02049AB8 ; =0x000003D9
+ bl FUN_02002198
+ str r0, [r4, #0x3c]
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049918:
+ ldr r0, [r4, #0x3c]
+ mov r1, #0xb
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0204992E
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _02049946
+_0204992C:
+ b _02049AB2
+_0204992E:
+ add r0, r4, #0x0
+ add r0, #0x24
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0x24
+ bl FUN_02019178
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049946:
+ add r0, r4, #0x0
+ add r0, #0x24
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0x24
+ bl FUN_02019178
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_0204995E:
+ ldr r0, [r5, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ beq _02049976
+ mov r2, #0x0
+ ldr r1, _02049AC0 ; =0x000007F2
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ b _0204999C
+_02049976:
+ ldr r0, [r5, #0xc]
+ bl FUN_02025BE8
+ add r0, r5, #0x0
+ mov r1, #0xb
+ mov r2, #0x3
+ bl MOD05_021E8588
+ str r0, [r4, #0x20]
+ bl MOD05_021E84F4
+ add r3, r4, #0x0
+ mov r2, #0x0
+ ldr r1, _02049AC4 ; =0x000007D5
+ add r0, r6, #0x0
+ add r3, #0x1c
+ strh r2, [r4, #0x1c]
+ bl FUN_02038CD8
+_0204999C:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499A2:
+ ldr r0, [r5, #0xc]
+ bl FUN_0202280C
+ cmp r0, #0x0
+ beq _020499B2
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499B2:
+ ldr r0, [r4, #0x20]
+ bl MOD05_021E856C
+ ldr r0, [r4, #0x20]
+ bl MOD05_021E85E4
+ ldrh r0, [r4, #0x1c]
+ cmp r0, #0x0
+ bne _020499CA
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499CA:
+ mov r0, #0x6
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499D0:
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020499E2:
+ mov r0, #0x0
+ mov r1, #0x1e
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_020499F2:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049AB2
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A06:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A14:
+ mov r0, #0x1
+ str r0, [r5, #0x6c]
+ ldr r0, _02049AC8 ; =SDK_OVERLAY_MODULE_18_ID
+ mov r1, #0x2
+ bl HandleLoadOverlay
+ add r0, r5, #0x0
+ bl FUN_0204FC5C
+ ldr r0, [r4, #0x14]
+ mov r2, #0x1
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r3, [r4, #0x10]
+ add r0, r6, #0x0
+ sub r2, r2, #0x2
+ bl FUN_020491A8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A42:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049AB2
+ mov r0, #0x0
+ bl FUN_0200415C
+ add r0, r5, #0x0
+ bl FUN_0204AB44
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A64:
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049AB2
+ bl FUN_0204FCA0
+ add r0, r5, #0x0
+ bl MOD18_02244824
+ mov r1, #0x0
+ str r0, [r5, #0x68]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1e
+ sub r2, #0x10
+ mov r3, #0x19
+ bl FUN_0200A208
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049AB2
+_02049A96:
+ mov r0, #0x2
+ bl FUN_0200A344
+ cmp r0, #0x0
+ beq _02049AB2
+ mov r0, #0x1
+ bl MOD18_02247970
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02049AB2:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_02049AB8: .word 0x000003D9
+_02049ABC: .word 0x020F46D8
+_02049AC0: .word 0x000007F2
+_02049AC4: .word 0x000007D5
+_02049AC8: .word SDK_OVERLAY_MODULE_18_ID
+
+ thumb_func_start FUN_02049ACC
+FUN_02049ACC: ; 0x02049ACC
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x7
+ bhi _02049BDC
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02049AF2: ; jump table (using 16-bit offset)
+ .short _02049B02 - _02049AF2 - 2; case 0
+ .short _02049B2C - _02049AF2 - 2; case 1
+ .short _02049B54 - _02049AF2 - 2; case 2
+ .short _02049B68 - _02049AF2 - 2; case 3
+ .short _02049B76 - _02049AF2 - 2; case 4
+ .short _02049B9C - _02049AF2 - 2; case 5
+ .short _02049BBE - _02049AF2 - 2; case 6
+ .short _02049BD2 - _02049AF2 - 2; case 7
+_02049B02:
+ mov r0, #0x0
+ bl MOD18_02247970
+ bl FUN_0204FCD8
+ ldr r0, [r5, #0x68]
+ bl MOD18_0224484C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1e
+ add r1, r0, #0x0
+ sub r1, #0x2e
+ mov r2, #0x0
+ mov r3, #0x1
+ bl FUN_0200A208
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B2C:
+ mov r0, #0x2
+ bl FUN_0200A344
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r5, #0x68]
+ cmp r0, #0x0
+ bne _02049BDC
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _02049BDC
+ mov r0, #0x0
+ mov r1, #0x1e
+ bl FUN_020053CC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B54:
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B68:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B76:
+ mov r0, #0x0
+ str r0, [r5, #0x6c]
+ ldr r0, _02049BE4 ; =SDK_OVERLAY_MODULE_18_ID
+ bl UnloadOverlayByID
+ ldr r0, [r4, #0x14]
+ mov r2, #0x1
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r3, [r4, #0x10]
+ add r0, r6, #0x0
+ sub r2, r2, #0x2
+ bl FUN_020491A8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049B9C:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049BDC
+ mov r0, #0x0
+ bl FUN_0200415C
+ add r0, r5, #0x0
+ bl FUN_0204AB44
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049BBE:
+ add r0, r6, #0x0
+ mov r1, #0x3
+ bl FUN_02049C0C
+ cmp r0, #0x0
+ beq _02049BDC
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049BDC
+_02049BD2:
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02049BDC:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ nop
+_02049BE4: .word SDK_OVERLAY_MODULE_18_ID
+
+ thumb_func_start FUN_02049BE8
+FUN_02049BE8: ; 0x02049BE8
+ push {r3, lr}
+ ldr r0, [r0, #0x6c]
+ cmp r0, #0x0
+ bne _02049BF4
+ ldr r0, _02049C04 ; =FUN_02049844
+ pop {r3, pc}
+_02049BF4:
+ cmp r0, #0x1
+ bne _02049BFC
+ ldr r0, _02049C08 ; =FUN_02049ACC
+ pop {r3, pc}
+_02049BFC:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02049C04: .word FUN_02049844
+_02049C08: .word FUN_02049ACC
+
+ thumb_func_start FUN_02049C0C
+FUN_02049C0C: ; 0x02049C0C
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ mov r5, #0x0
+ cmp r0, #0x0
+ beq _02049C2E
+ cmp r0, #0x1
+ beq _02049C44
+ b _02049C4E
+_02049C2E:
+ add r2, r4, #0x0
+ str r5, [r4, #0x18]
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ add r2, #0x18
+ bl FUN_02053C98
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02049C4E
+_02049C44:
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _02049C4E
+ str r5, [r4, #0x4]
+ mov r5, #0x1
+_02049C4E:
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02049C54
+FUN_02049C54: ; 0x02049C54
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02049C76
+ cmp r0, #0x1
+ beq _02049C84
+ cmp r0, #0x2
+ beq _02049C9C
+ b _02049CAC
+_02049C76:
+ add r0, r5, #0x0
+ bl FUN_02048B34
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049CAC
+_02049C84:
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02048958
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0203989C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049CAC
+_02049C9C:
+ add r0, r5, #0x0
+ bl FUN_02048AE4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02049CAC:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02049CB0
+FUN_02049CB0: ; 0x02049CB0
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ beq _02049CD6
+ bl ErrorHandling
+ pop {r3-r7, pc}
+_02049CD6:
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ ldmia r5!, {r0-r1}
+ add r2, r4, #0x4
+ stmia r2!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ ldr r1, _02049CF4 ; =FUN_02049C54
+ str r0, [r2, #0x0]
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_02049CF4: .word FUN_02049C54
+
+ thumb_func_start FUN_02049CF8
+FUN_02049CF8: ; 0x02049CF8
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x5
+ bhi _02049D98
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02049D24: ; jump table (using 16-bit offset)
+ .short _02049D30 - _02049D24 - 2; case 0
+ .short _02049D4C - _02049D24 - 2; case 1
+ .short _02049D60 - _02049D24 - 2; case 2
+ .short _02049D72 - _02049D24 - 2; case 3
+ .short _02049D80 - _02049D24 - 2; case 4
+ .short _02049D8E - _02049D24 - 2; case 5
+_02049D30:
+ ldr r1, [r5, #0x8]
+ add r0, r7, #0x0
+ mov r2, #0x0
+ bl FUN_0204ACA8
+ add r0, r7, #0x0
+ mov r1, #0x1
+ add r2, r5, #0x4
+ bl MOD05_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D4C:
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ beq _02049D98
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D60:
+ add r5, #0x8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D72:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D80:
+ add r0, r6, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049D98
+_02049D8E:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02049D98:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02049D9C
+FUN_02049D9C: ; 0x02049D9C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x1c
+ bl FUN_020169D8
+ add r6, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x1c
+ bl MI_CpuFill8
+ add r2, r6, #0x0
+ ldmia r4!, {r0-r1}
+ add r2, #0x8
+ stmia r2!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ str r0, [r2, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020520F8
+ ldr r0, [r5, #0x7c]
+ bl FUN_02052FA4
+ mov r0, #0x0
+ str r0, [r5, #0x6c]
+ ldr r1, _02049DF0 ; =FUN_02049CF8
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_020463CC
+ mov r0, #0x0
+ str r0, [r5, #0x78]
+ pop {r4-r6, pc}
+ nop
+_02049DF0: .word FUN_02049CF8
+
+ thumb_func_start FUN_02049DF4
+FUN_02049DF4: ; 0x02049DF4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x6
+ bhi _02049E9E
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02049E20: ; jump table (using 16-bit offset)
+ .short _02049E2E - _02049E20 - 2; case 0
+ .short _02049E46 - _02049E20 - 2; case 1
+ .short _02049E54 - _02049E20 - 2; case 2
+ .short _02049E66 - _02049E20 - 2; case 3
+ .short _02049E74 - _02049E20 - 2; case 4
+ .short _02049E88 - _02049E20 - 2; case 5
+ .short _02049E94 - _02049E20 - 2; case 6
+_02049E2E:
+ ldr r1, [r5, #0x8]
+ add r0, r7, #0x0
+ mov r2, #0x0
+ bl FUN_0204ACA8
+ add r0, r6, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E46:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E54:
+ add r5, #0x8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E66:
+ add r0, r6, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E74:
+ mov r1, #0x0
+ str r1, [r5, #0x4]
+ add r0, r7, #0x0
+ add r2, r5, #0x4
+ bl MOD05_021E7750
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E88:
+ ldr r1, [r5, #0x4]
+ cmp r1, #0x0
+ beq _02049E9E
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049E9E
+_02049E94:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02049E9E:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02049EA4
+FUN_02049EA4: ; 0x02049EA4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x1c
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_02048CB0
+ ldr r0, _02049F08 ; =0x000001D2
+ str r0, [r4, #0x8]
+ mov r0, #0x0
+ mvn r0, r0
+ str r0, [r4, #0xc]
+ mov r0, #0x8
+ str r0, [r4, #0x10]
+ mov r0, #0xe
+ str r0, [r4, #0x14]
+ mov r0, #0x0
+ str r0, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_020520AC
+ str r0, [r5, #0x78]
+ bl FUN_02052EE8
+ str r0, [r5, #0x7c]
+ mov r0, #0x2
+ str r0, [r5, #0x6c]
+ ldr r1, _02049F0C ; =FUN_02049DF4
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_02049F08: .word 0x000001D2
+_02049F0C: .word FUN_02049DF4
+
+ thumb_func_start FUN_02049F10
+FUN_02049F10: ; 0x02049F10
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _02049F8E
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02049F34: ; jump table (using 16-bit offset)
+ .short _02049F3C - _02049F34 - 2; case 0
+ .short _02049F58 - _02049F34 - 2; case 1
+ .short _02049F68 - _02049F34 - 2; case 2
+ .short _02049F86 - _02049F34 - 2; case 3
+_02049F3C:
+ ldr r0, _02049F94 ; =0x00000603
+ bl FUN_020054C8
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD60
+ add r0, r5, #0x0
+ bl FUN_0204B090
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049F8E
+_02049F58:
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049F8E
+_02049F68:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _02049F8E
+ ldr r1, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0204AD8C
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02049F8E
+_02049F86:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02049F8E:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_02049F94: .word 0x00000603
+
+ thumb_func_start FUN_02049F98
+FUN_02049F98: ; 0x02049F98
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r1, r4, #0x0
+ bl FUN_02048CB0
+ mov r0, #0x3
+ str r0, [r4, #0x6c]
+ mov r0, #0xb
+ mov r1, #0x1c
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x30]
+ str r5, [sp, #0x4]
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x34]
+ str r6, [sp, #0x8]
+ str r0, [sp, #0x14]
+ mov r0, #0x0
+ str r7, [sp, #0xc]
+ add r4, sp, #0x4
+ str r0, [r2, #0x0]
+ ldmia r4!, {r0-r1}
+ add r3, r2, #0x4
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ ldr r1, _02049FF8 ; =FUN_02049F10
+ str r0, [r3, #0x0]
+ ldr r0, [sp, #0x0]
+ bl FUN_0204640C
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_02049FF8: .word FUN_02049F10
+
+ thumb_func_start FUN_02049FFC
+FUN_02049FFC: ; 0x02049FFC
+ push {r4, lr}
+ bl FUN_02046528
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DD0
+ add r1, r0, #0x0
+ mov r0, #0x0
+ str r0, [r4, #0x6c]
+ ldr r0, [r4, #0x10]
+ bl FUN_020490C0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204A01C
+FUN_0204A01C: ; 0x0204A01C
+ push {r4, lr}
+ mov r1, #0xa2
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204A030
+ mov r0, #0x0
+ pop {r4, pc}
+_0204A030:
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204A042
+ mov r0, #0x1
+ pop {r4, pc}
+_0204A042:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A048
+FUN_0204A048: ; 0x0204A048
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x10]
+ bl FUN_020238F4
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ bl FUN_0206BB1C
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ bl FUN_02066978
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #0x10]
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ mov r3, #0x20
+ bl FUN_02066ACC
+ ldr r0, [sp, #0x40]
+ ldr r1, [sp, #0x14]
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x3c]
+ add r0, r4, #0x0
+ mov r2, #0x4
+ str r5, [sp, #0x4]
+ bl FUN_0206A014
+ add r0, sp, #0x28
+ ldrh r0, [r0, #0x10]
+ mov r1, #0x6
+ add r2, sp, #0x1c
+ str r0, [sp, #0x1c]
+ add r0, r4, #0x0
+ bl FUN_02067830
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ add r5, r0, #0x0
+ beq _0204A0BC
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202C144
+_0204A0BC:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ add sp, #0x20
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A0C8
+FUN_0204A0C8: ; 0x0204A0C8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ add r0, r4, #0x0
+ add r5, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020238F4
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl FUN_0206BB1C
+ add r6, r0, #0x0
+ mov r0, #0x20
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ bl FUN_02066978
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x24]
+ bl FUN_02015CF8
+ mov r1, #0x4
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r3, [sp, #0x8]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r7, #0x0
+ bl MOD05_021ECF14
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B900
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A120
+FUN_0204A120: ; 0x0204A120
+ push {r3-r5, lr}
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206B9B0
+ lsl r2, r5, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A138
+FUN_0204A138: ; 0x0204A138
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ bl FUN_0206B9AC
+ add r7, r0, #0x0
+ mov r6, #0x0
+ cmp r7, #0x0
+ ble _0204A1A2
+_0204A14A:
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204A19C
+ add r0, r4, #0x0
+ mov r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204A198
+ add r0, r4, #0x0
+ mov r1, #0x37
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204A198
+ add r0, r4, #0x0
+ mov r1, #0x38
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _0204A198
+ add r0, r4, #0x0
+ mov r1, #0x39
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bne _0204A19C
+_0204A198:
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_0204A19C:
+ add r6, r6, #0x1
+ cmp r6, r7
+ blt _0204A14A
+_0204A1A2:
+ mov r0, #0xff
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A1A8
+FUN_0204A1A8: ; 0x0204A1A8
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_0206B9AC
+ mov r5, #0x0
+ add r6, r0, #0x0
+ add r4, r5, #0x0
+ cmp r6, #0x0
+ ble _0204A1D2
+_0204A1BA:
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ bl FUN_0204A01C
+ cmp r0, #0x0
+ beq _0204A1CC
+ add r5, r5, #0x1
+_0204A1CC:
+ add r4, r4, #0x1
+ cmp r4, r6
+ blt _0204A1BA
+_0204A1D2:
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A1D8
+FUN_0204A1D8: ; 0x0204A1D8
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_0206B9AC
+ add r5, r0, #0x0
+ mov r4, #0x0
+ cmp r5, #0x0
+ ble _0204A204
+_0204A1E8:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r7, r0, #0x0
+ bl FUN_0204A01C
+ cmp r0, #0x0
+ beq _0204A1FE
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+_0204A1FE:
+ add r4, r4, #0x1
+ cmp r4, r5
+ blt _0204A1E8
+_0204A204:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A20C
+FUN_0204A20C: ; 0x0204A20C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ ldr r4, _0204A244 ; =0x00000000
+ beq _0204A240
+_0204A21C:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r7, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204A236
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+_0204A236:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, r5
+ blo _0204A21C
+_0204A240:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204A244: .word 0x00000000
+
+ thumb_func_start FUN_0204A248
+FUN_0204A248: ; 0x0204A248
+ push {r3, lr}
+ bl FUN_0204A1A8
+ cmp r0, #0x2
+ blt _0204A256
+ mov r0, #0x1
+ pop {r3, pc}
+_0204A256:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A25C
+FUN_0204A25C: ; 0x0204A25C
+ push {r3-r7, lr}
+ mov r2, #0x1
+ add r1, sp, #0x0
+ add r7, r0, #0x0
+ strb r2, [r1, #0x0]
+ bl FUN_0206B9AC
+ add r6, r0, #0x0
+ mov r5, #0x0
+ cmp r6, #0x0
+ ble _0204A298
+_0204A272:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0204A292
+ add r0, r4, #0x0
+ mov r1, #0x19
+ add r2, sp, #0x0
+ bl FUN_02067830
+_0204A292:
+ add r5, r5, #0x1
+ cmp r5, r6
+ blt _0204A272
+_0204A298:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A29C
+FUN_0204A29C: ; 0x0204A29C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ mov r7, #0x0
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r6, r7, #0x0
+ bl FUN_0206B9AC
+ add r4, r7, #0x0
+ str r0, [sp, #0x8]
+ cmp r0, #0x0
+ ble _0204A310
+_0204A2B4:
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ bl FUN_0204A01C
+ cmp r0, #0x0
+ beq _0204A308
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r1, #0x88
+ tst r0, r1
+ beq _0204A308
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ cmp r0, #0x1
+ bls _0204A2EA
+ sub r0, r0, #0x1
+ str r0, [sp, #0xc]
+_0204A2EA:
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ add r2, sp, #0xc
+ bl FUN_02067830
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x1
+ bne _0204A306
+ ldr r2, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x7
+ add r6, r6, #0x1
+ bl FUN_020688E8
+_0204A306:
+ add r7, r7, #0x1
+_0204A308:
+ ldr r0, [sp, #0x8]
+ add r4, r4, #0x1
+ cmp r4, r0
+ blt _0204A2B4
+_0204A310:
+ cmp r6, #0x0
+ beq _0204A31A
+ add sp, #0x10
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_0204A31A:
+ cmp r7, #0x0
+ beq _0204A324
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204A324:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A32C
+FUN_0204A32C: ; 0x0204A32C
+ push {r3-r4, lr}
+ sub sp, #0x4
+ mov r1, #0x9f
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ mov r1, #0x88
+ tst r0, r1
+ beq _0204A362
+ add r0, r4, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _0204A362
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add sp, #0x4
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_0204A362:
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0204A368
+FUN_0204A368: ; 0x0204A368
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x54]
+ add r4, r1, #0x0
+ cmp r0, #0x0
+ bne _0204A388
+ ldr r1, _0204A38C ; =0x000080E2
+ mov r0, #0xb
+ bl FUN_02016998
+ str r0, [r5, #0x54]
+ ldr r0, [r5, #0x28]
+ ldr r1, [r5, #0x54]
+ add r2, r4, #0x0
+ bl FUN_0204A3B0
+_0204A388:
+ pop {r3-r5, pc}
+ nop
+_0204A38C: .word 0x000080E2
+
+ thumb_func_start FUN_0204A390
+FUN_0204A390: ; 0x0204A390
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x54]
+ cmp r0, #0x0
+ beq _0204A3A2
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x54]
+_0204A3A2:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204A3A4
+FUN_0204A3A4: ; 0x0204A3A4
+ ldrb r0, [r1, r0]
+ add r2, r1, #0x0
+ add r2, #0xe2
+ lsl r0, r0, #0xb
+ add r0, r2, r0
+ bx lr
+
+ thumb_func_start FUN_0204A3B0
+FUN_0204A3B0: ; 0x0204A3B0
+ push {r4-r7, lr}
+ sub sp, #0x3c
+ str r1, [sp, #0x8]
+ str r2, [sp, #0xc]
+ str r0, [sp, #0x4]
+ mov r2, #0x0
+ add r1, sp, #0x18
+ strb r2, [r1, #0x0]
+ bl FUN_020344FC
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_0203450C
+ str r0, [sp, #0x10]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _0204A410
+ ldr r7, [sp, #0x14]
+_0204A3DA:
+ mov r5, #0x0
+ cmp r6, #0x0
+ ble _0204A402
+_0204A3E0:
+ add r0, r5, r7
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_020344D8
+ add r1, sp, #0x18
+ add r1, #0x2
+ add r2, sp, #0x18
+ bl FUN_0204A45C
+ ldr r1, [sp, #0x8]
+ add r5, r5, #0x1
+ strb r0, [r1, r4]
+ cmp r5, r6
+ blt _0204A3E0
+_0204A402:
+ ldr r0, [sp, #0x14]
+ add r7, r7, r6
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x10]
+ str r1, [sp, #0x14]
+ cmp r1, r0
+ blt _0204A3DA
+_0204A410:
+ mov r0, #0x43
+ mov r1, #0xb
+ bl FUN_02006670
+ add r7, r0, #0x0
+ ldr r0, [sp, #0xc]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0204A452
+ ldr r0, [sp, #0x8]
+ add r4, sp, #0x18
+ add r0, #0xe2
+ add r4, #0x2
+ add r5, r6, #0x0
+ str r0, [sp, #0x8]
+_0204A42E:
+ ldr r0, [sp, #0x8]
+ lsl r1, r5, #0x1
+ add r0, r0, r1
+ str r0, [sp, #0x0]
+ ldrh r1, [r4, #0x0]
+ mov r2, #0x10
+ add r0, r7, #0x0
+ lsl r3, r2, #0x7
+ bl FUN_02006814
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ add r5, r5, r0
+ ldr r0, [sp, #0xc]
+ add r6, r6, #0x1
+ add r4, r4, #0x2
+ cmp r6, r0
+ blt _0204A42E
+_0204A452:
+ add r0, r7, #0x0
+ bl FUN_020066F4
+ add sp, #0x3c
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0204A45C
+FUN_0204A45C: ; 0x0204A45C
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ add r5, r0, #0x0
+ ldrb r0, [r7, #0x0]
+ add r6, r1, #0x0
+ mov r4, #0x0
+ cmp r0, #0x0
+ bls _0204A482
+_0204A46C:
+ lsl r1, r4, #0x1
+ ldrh r1, [r6, r1]
+ cmp r5, r1
+ bne _0204A478
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_0204A478:
+ add r1, r4, #0x1
+ lsl r1, r1, #0x18
+ lsr r4, r1, #0x18
+ cmp r4, r0
+ blo _0204A46C
+_0204A482:
+ cmp r4, #0x10
+ blo _0204A48A
+ bl ErrorHandling
+_0204A48A:
+ lsl r0, r4, #0x1
+ strh r5, [r6, r0]
+ ldrb r0, [r7, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r7, #0x0]
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A498
+FUN_0204A498: ; 0x0204A498
+ cmp r0, r1
+ blt _0204A4A0
+ sub r0, r0, r1
+ bx lr
+_0204A4A0:
+ sub r0, r1, r0
+ bx lr
+
+ thumb_func_start FUN_0204A4A4
+FUN_0204A4A4: ; 0x0204A4A4
+ push {r3-r7, lr}
+ sub sp, #0x38
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r4, [sp, #0x2c]
+ str r6, [sp, #0x34]
+ str r0, [sp, #0x10]
+ str r0, [sp, #0x30]
+ ldr r0, [r5, #0x24]
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x28]
+ bl FUN_020344FC
+ str r0, [sp, #0x24]
+ lsl r0, r0, #0x5
+ str r0, [sp, #0xc]
+ asr r0, r4, #0xf
+ lsr r0, r0, #0x10
+ add r0, r4, r0
+ asr r7, r0, #0x10
+ asr r0, r6, #0xf
+ lsr r0, r0, #0x10
+ add r0, r6, r0
+ asr r0, r0, #0x10
+ str r0, [sp, #0x1c]
+ add r2, r5, #0x0
+ add r2, #0x9c
+ ldr r1, [sp, #0x1c]
+ ldr r2, [r2, #0x0]
+ add r0, r7, #0x0
+ add r3, sp, #0x28
+ bl MOD05_021F4520
+ str r0, [sp, #0x20]
+ lsr r0, r7, #0x5
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x1c]
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x18]
+ lsl r0, r0, #0x5
+ add r0, #0x10
+ lsl r0, r0, #0x10
+ sub r0, r4, r0
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x14]
+ lsl r0, r0, #0x5
+ add r0, #0x10
+ lsl r0, r0, #0x10
+ sub r0, r6, r0
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #0xc]
+ mul r0, r1
+ ldr r1, [sp, #0xc]
+ add r0, r7, r0
+ bl MOD05_021EF620
+ ldr r2, [sp, #0x14]
+ add r1, r0, #0x0
+ add r3, r2, #0x0
+ ldr r0, [sp, #0x24]
+ ldr r2, [sp, #0x8]
+ mul r3, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r3
+ bl MOD05_021EF654
+ add r1, r0, #0x0
+ cmp r1, #0x3
+ bls _0204A53C
+ mov r4, #0x0
+ b _0204A558
+_0204A53C:
+ lsl r1, r1, #0x18
+ ldr r0, [sp, #0x8]
+ lsr r1, r1, #0x18
+ bl MOD05_021EF8C8
+ add r3, r0, #0x0
+ add r0, sp, #0x30
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x2c]
+ ldr r2, [sp, #0x34]
+ bl MOD05_021F3DA4
+ add r4, r0, #0x0
+_0204A558:
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x0
+ beq _0204A5A4
+ add r0, sp, #0x28
+ add r5, #0x9c
+ ldrb r0, [r0, #0x0]
+ ldr r1, [r5, #0x0]
+ bl MOD05_021F4568
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ beq _0204A59E
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0x10]
+ cmp r5, r0
+ bgt _0204A57C
+ mov r1, #0x1
+ b _0204A5B2
+_0204A57C:
+ ldr r1, [sp, #0x4]
+ bl FUN_0204A498
+ add r4, r0, #0x0
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0204A498
+ cmp r4, r0
+ bgt _0204A598
+ ldr r0, [sp, #0x30]
+ mov r1, #0x1
+ str r0, [sp, #0x10]
+ b _0204A5B2
+_0204A598:
+ str r5, [sp, #0x10]
+ mov r1, #0x2
+ b _0204A5B2
+_0204A59E:
+ mov r1, #0x2
+ str r5, [sp, #0x10]
+ b _0204A5B2
+_0204A5A4:
+ cmp r4, #0x0
+ beq _0204A5B0
+ ldr r0, [sp, #0x30]
+ mov r1, #0x1
+ str r0, [sp, #0x10]
+ b _0204A5B2
+_0204A5B0:
+ mov r1, #0x0
+_0204A5B2:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x0
+ beq _0204A5BA
+ strb r1, [r0, #0x0]
+_0204A5BA:
+ ldr r0, [sp, #0x10]
+ add sp, #0x38
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A5C0
+FUN_0204A5C0: ; 0x0204A5C0
+ push {r3, lr}
+ asr r1, r2, #0xf
+ lsr r1, r1, #0x10
+ add r1, r2, r1
+ asr r2, r3, #0xf
+ lsr r2, r2, #0x10
+ add r2, r3, r2
+ ldr r0, [r0, #0x24]
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ mov r3, #0x0
+ bl MOD05_021EF844
+ ldr r1, [sp, #0x8]
+ cmp r1, #0x0
+ beq _0204A5EE
+ cmp r0, #0x0
+ beq _0204A5E8
+ mov r1, #0x1
+ b _0204A5EA
+_0204A5E8:
+ mov r1, #0x0
+_0204A5EA:
+ ldr r0, [sp, #0x8]
+ strb r1, [r0, #0x0]
+_0204A5EE:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A5F4
+FUN_0204A5F4: ; 0x0204A5F4
+ push {r3-r7, lr}
+ ldr r7, [r0, #0x24]
+ add r4, r3, #0x0
+ add r0, r7, #0x0
+ add r3, sp, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl MOD05_021EF844
+ cmp r0, #0x0
+ bne _0204A612
+ mov r0, #0xff
+ strh r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204A612:
+ add r1, sp, #0x0
+ ldrb r1, [r1, #0x0]
+ add r0, r7, #0x0
+ bl MOD05_021EF8DC
+ lsr r2, r5, #0x1f
+ lsl r1, r5, #0x1b
+ sub r1, r1, r2
+ mov r3, #0x1b
+ ror r1, r3
+ add r1, r2, r1
+ lsr r5, r6, #0x1f
+ lsl r2, r6, #0x1b
+ sub r2, r2, r5
+ ror r2, r3
+ add r2, r5, r2
+ lsl r2, r2, #0x5
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ ldrh r0, [r0, r1]
+ strh r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A640
+FUN_0204A640: ; 0x0204A640
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x28]
+ add r4, r2, #0x0
+ add r5, r1, #0x0
+ add r7, r3, #0x0
+ bl FUN_020344FC
+ asr r2, r4, #0x4
+ asr r1, r5, #0x4
+ lsr r2, r2, #0x1b
+ lsr r1, r1, #0x1b
+ add r2, r4, r2
+ add r1, r5, r1
+ asr r2, r2, #0x5
+ asr r1, r1, #0x5
+ mul r0, r2
+ add r0, r1, r0
+ ldr r1, [r6, #0x54]
+ bl FUN_0204A3A4
+ lsr r2, r5, #0x1f
+ lsl r1, r5, #0x1b
+ sub r1, r1, r2
+ mov r3, #0x1b
+ ror r1, r3
+ add r1, r2, r1
+ lsr r5, r4, #0x1f
+ lsl r2, r4, #0x1b
+ sub r2, r2, r5
+ ror r2, r3
+ add r2, r5, r2
+ lsl r2, r2, #0x5
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ ldrh r0, [r0, r1]
+ strh r0, [r7, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A690
+FUN_0204A690: ; 0x0204A690
+ push {r3, lr}
+ cmp r1, #0x0
+ bne _0204A69C
+ ldr r1, _0204A6AC ; =0x020F4708
+ str r1, [r0, #0x0]
+ pop {r3, pc}
+_0204A69C:
+ cmp r1, #0x1
+ bne _0204A6A6
+ ldr r1, _0204A6B0 ; =0x020F4710
+ str r1, [r0, #0x0]
+ pop {r3, pc}
+_0204A6A6:
+ bl ErrorHandling
+ pop {r3, pc}
+ .balign 4
+_0204A6AC: .word 0x020F4708
+_0204A6B0: .word 0x020F4710
+
+ thumb_func_start FUN_0204A6B4
+FUN_0204A6B4: ; 0x0204A6B4
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r4, [r0, #0x58]
+ add r3, sp, #0x0
+ ldr r4, [r4, #0x4]
+ blx r4
+ cmp r0, #0x0
+ beq _0204A6DA
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x0]
+ asr r0, r0, #0xf
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0x1
+ and r1, r0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x1
+ beq _0204A6DC
+_0204A6DA:
+ mov r0, #0x0
+_0204A6DC:
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0204A6E0
+FUN_0204A6E0: ; 0x0204A6E0
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r4, [r0, #0x58]
+ add r3, sp, #0x0
+ ldr r4, [r4, #0x4]
+ blx r4
+ cmp r0, #0x0
+ beq _0204A700
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x0]
+ add sp, #0x4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3-r4, pc}
+_0204A700:
+ mov r0, #0xff
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A708
+FUN_0204A708: ; 0x0204A708
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r4, [sp, #0x10]
+ str r4, [sp, #0x0]
+ ldr r4, [r0, #0x58]
+ ldr r4, [r4, #0x0]
+ blx r4
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A71C
+FUN_0204A71C: ; 0x0204A71C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, [sp, #0x10]
+ mov r5, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r4, #0x4]
+ lsl r2, r2, #0x10
+ lsl r5, r5, #0xe
+ lsl r3, r3, #0x10
+ add r2, r2, r5
+ add r3, r3, r5
+ bl FUN_0204A708
+ ldr r1, [r4, #0x4]
+ cmp r0, r1
+ bge _0204A744
+ mov r4, #0x0
+ add r2, r1, #0x0
+ mvn r4, r4
+ b _0204A754
+_0204A744:
+ cmp r0, r1
+ ble _0204A750
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r4, #0x1
+ b _0204A754
+_0204A750:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0204A754:
+ sub r1, r2, r0
+ mov r0, #0x5
+ lsl r0, r0, #0xe
+ cmp r1, r0
+ blt _0204A768
+ cmp r4, #0x0
+ bne _0204A76A
+ bl ErrorHandling
+ b _0204A76A
+_0204A768:
+ mov r4, #0x0
+_0204A76A:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A770
+FUN_0204A770: ; 0x0204A770
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, sp, #0x4
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ add r7, r3, #0x0
+ str r6, [sp, #0x0]
+ bl FUN_0204A71C
+ ldr r1, [sp, #0x20]
+ cmp r1, #0x0
+ beq _0204A78A
+ strb r0, [r1, #0x0]
+_0204A78A:
+ cmp r0, #0x0
+ bne _0204A7C2
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6B4
+ add r6, r0, #0x0
+ bne _0204A7BC
+ add r0, sp, #0x4
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _0204A7BC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6E0
+ bl FUN_020548B4
+ cmp r0, #0x0
+ beq _0204A7BC
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204A7BC:
+ add sp, #0x8
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_0204A7C2:
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A7C8
+FUN_0204A7C8: ; 0x0204A7C8
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r6, sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x4]
+ add r4, r2, #0x0
+ add r7, r3, #0x0
+ str r6, [sp, #0x0]
+ bl FUN_0204A71C
+ ldr r1, [sp, #0x28]
+ cmp r1, #0x0
+ beq _0204A7E4
+ strb r0, [r1, #0x0]
+_0204A7E4:
+ cmp r0, #0x0
+ bne _0204A83A
+ add r0, sp, #0xc
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x4]
+ add r0, r5, #0x0
+ ldr r3, [r3, #0x4]
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0205CE00
+ cmp r0, #0x0
+ bne _0204A834
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6B4
+ str r0, [sp, #0xc]
+ cmp r0, #0x0
+ bne _0204A82E
+ add r0, sp, #0x8
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _0204A82E
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6E0
+ bl FUN_020548B4
+ cmp r0, #0x0
+ beq _0204A82E
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204A82E:
+ ldr r0, [sp, #0xc]
+ add sp, #0x10
+ pop {r3-r7, pc}
+_0204A834:
+ ldr r0, [sp, #0xc]
+ add sp, #0x10
+ pop {r3-r7, pc}
+_0204A83A:
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A840
+FUN_0204A840: ; 0x0204A840
+ push {r3-r7, lr}
+ add r6, r0, r2
+ ldr r0, [sp, #0x18]
+ add r4, r1, r3
+ add r0, r6, r0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x1c]
+ ldr r5, [sp, #0x20]
+ add r7, r4, r0
+ cmp r6, #0x0
+ blt _0204A864
+ cmp r4, #0x0
+ blt _0204A864
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ blt _0204A864
+ cmp r7, #0x0
+ bge _0204A868
+_0204A864:
+ bl ErrorHandling
+_0204A868:
+ lsl r0, r6, #0x10
+ str r0, [r5, #0x0]
+ lsl r0, r4, #0x10
+ str r0, [r5, #0x4]
+ ldr r0, [sp, #0x0]
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x8]
+ lsl r0, r7, #0x10
+ str r0, [r5, #0xc]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204A87C
+FUN_0204A87C: ; 0x0204A87C
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r3, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r0, sp, #0x0
+ add r1, r3, #0x0
+ bl MOD05_021E7EA0
+ ldr r1, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, [sp, #0x8]
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r1, [r4, #0x8]
+ add r2, r2, r1
+ str r2, [sp, #0x8]
+ ldr r1, [r5, #0x0]
+ cmp r1, r0
+ bgt _0204A8BC
+ ldr r1, [r5, #0x8]
+ cmp r0, r1
+ bgt _0204A8BC
+ ldr r0, [r5, #0x4]
+ cmp r0, r2
+ bgt _0204A8BC
+ ldr r0, [r5, #0xc]
+ cmp r2, r0
+ bgt _0204A8BC
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_0204A8BC:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204A8C4
+FUN_0204A8C4: ; 0x0204A8C4
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+_0204A8D4:
+ ldr r1, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ ldr r1, [r1, #0x24]
+ add r2, sp, #0xc
+ bl MOD05_021EF604
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r0, [r0, #0x24]
+ bl MOD05_021EF824
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x28]
+ bl FUN_020344FC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r2, sp, #0x10
+ bl FUN_0204AAD4
+ mov r5, #0x0
+_0204A900:
+ ldr r0, [sp, #0xc]
+ add r1, r5, #0x0
+ bl MOD05_021E7ED0
+ add r1, r7, #0x0
+ add r2, sp, #0x10
+ add r4, r0, #0x0
+ bl FUN_0204A87C
+ cmp r0, #0x0
+ beq _0204A92E
+ add r0, r4, #0x0
+ bl MOD05_021E7EC4
+ cmp r0, r6
+ bne _0204A92E
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _0204A928
+ str r4, [r0, #0x0]
+_0204A928:
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0204A92E:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x20
+ blo _0204A900
+ ldr r0, [sp, #0x8]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ cmp r0, #0x4
+ blo _0204A8D4
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0204A94C
+FUN_0204A94C: ; 0x0204A94C
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+_0204A95C:
+ ldr r1, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ ldr r1, [r1, #0x24]
+ add r2, sp, #0xc
+ bl MOD05_021EF604
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r0, [r0, #0x24]
+ bl MOD05_021EF824
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x28]
+ bl FUN_020344FC
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ add r2, sp, #0x10
+ bl FUN_0204AAD4
+ mov r6, #0x0
+_0204A988:
+ ldr r0, [sp, #0xc]
+ add r1, r6, #0x0
+ bl MOD05_021E7ED0
+ ldr r1, [sp, #0x4]
+ add r2, sp, #0x10
+ add r7, r0, #0x0
+ bl FUN_0204A87C
+ cmp r0, #0x0
+ beq _0204A9D2
+ add r0, r7, #0x0
+ bl MOD05_021E7EC4
+ mov r1, #0x0
+ cmp r4, #0x0
+ bls _0204A9D2
+_0204A9AA:
+ lsl r2, r1, #0x2
+ ldr r2, [r5, r2]
+ cmp r0, r2
+ bne _0204A9C8
+ ldr r1, [sp, #0x30]
+ cmp r1, #0x0
+ beq _0204A9BA
+ str r7, [r1, #0x0]
+_0204A9BA:
+ ldr r1, [sp, #0x34]
+ cmp r1, #0x0
+ beq _0204A9C2
+ str r0, [r1, #0x0]
+_0204A9C2:
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0204A9C8:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, r4
+ blo _0204A9AA
+_0204A9D2:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x20
+ blo _0204A988
+ ldr r0, [sp, #0x8]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ cmp r0, #0x4
+ blo _0204A95C
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0204A9F0
+FUN_0204A9F0: ; 0x0204A9F0
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ mov r7, #0x0
+_0204A9FE:
+ ldr r1, [sp, #0x0]
+ add r0, r7, #0x0
+ ldr r1, [r1, #0x24]
+ add r2, sp, #0xc
+ bl MOD05_021EF604
+ mov r4, #0x0
+_0204AA0C:
+ ldr r0, [sp, #0xc]
+ add r1, r4, #0x0
+ bl MOD05_021E7ED0
+ add r6, r0, #0x0
+ bl MOD05_021E7EC4
+ cmp r0, r5
+ bne _0204AA40
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _0204AA26
+ str r6, [r0, #0x0]
+_0204AA26:
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _0204AA3A
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x24]
+ bl MOD05_021EF824
+ ldr r1, [sp, #0x8]
+ str r0, [r1, #0x0]
+_0204AA3A:
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204AA40:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x20
+ blo _0204AA0C
+ add r0, r7, #0x1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, #0x4
+ blo _0204A9FE
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AA5C
+FUN_0204AA5C: ; 0x0204AA5C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+_0204AA6C:
+ ldr r1, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ ldr r1, [r1, #0x24]
+ add r2, sp, #0xc
+ bl MOD05_021EF604
+ mov r6, #0x0
+_0204AA7A:
+ ldr r0, [sp, #0xc]
+ add r1, r6, #0x0
+ bl MOD05_021E7ED0
+ add r7, r0, #0x0
+ bl MOD05_021E7EC4
+ mov r1, #0x0
+ cmp r4, #0x0
+ bls _0204AAB6
+_0204AA8E:
+ lsl r2, r1, #0x2
+ ldr r2, [r5, r2]
+ cmp r0, r2
+ bne _0204AAAC
+ ldr r1, [sp, #0x4]
+ cmp r1, #0x0
+ beq _0204AA9E
+ str r7, [r1, #0x0]
+_0204AA9E:
+ ldr r1, [sp, #0x28]
+ cmp r1, #0x0
+ beq _0204AAA6
+ str r0, [r1, #0x0]
+_0204AAA6:
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204AAAC:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, r4
+ blo _0204AA8E
+_0204AAB6:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x20
+ blo _0204AA7A
+ ldr r0, [sp, #0x8]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ cmp r0, #0x4
+ blo _0204AA6C
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204AAD4
+FUN_0204AAD4: ; 0x0204AAD4
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ mov r2, #0x1
+ lsl r2, r2, #0x14
+ str r2, [r4, #0x0]
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ str r2, [r4, #0x8]
+ bl _s32_div_f
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ ldr r0, [r4, #0x0]
+ lsl r1, r1, #0x15
+ add r0, r0, r1
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x15
+ add r0, r1, r0
+ str r0, [r4, #0x8]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AB0C
+FUN_0204AB0C: ; 0x0204AB0C
+ push {r3, lr}
+ bl FUN_0200541C
+ bl FUN_02004810
+ mov r0, #0x0
+ bl FUN_0200415C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AB20
+FUN_0204AB20: ; 0x0204AB20
+ push {r4, lr}
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02034E30
+ bl FUN_02034DE8
+ strh r4, [r0, #0x0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AB34
+FUN_0204AB34: ; 0x0204AB34
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DE8
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204AB44
+FUN_0204AB44: ; 0x0204AB44
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DE8
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AB58
+FUN_0204AB58: ; 0x0204AB58
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r4, r1, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x2
+ bne _0204AB6C
+ ldr r0, _0204ABA0 ; =0x0000047F
+ pop {r3-r5, pc}
+_0204AB6C:
+ add r0, r5, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ bl FUN_0205E128
+ cmp r0, #0x1
+ bne _0204AB7E
+ ldr r0, _0204ABA4 ; =0x0000047E
+ pop {r3-r5, pc}
+_0204AB7E:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204ABA8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204AB34
+ cmp r0, #0x0
+ beq _0204AB9A
+ add r0, r5, #0x0
+ bl FUN_0204AB34
+ add r4, r0, #0x0
+_0204AB9A:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ nop
+_0204ABA0: .word 0x0000047F
+_0204ABA4: .word 0x0000047E
+
+ thumb_func_start FUN_0204ABA8
+FUN_0204ABA8: ; 0x0204ABA8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0204ABBE
+ add r0, r4, #0x0
+ bl FUN_020347B0
+ b _0204ABC4
+_0204ABBE:
+ add r0, r4, #0x0
+ bl FUN_020347C4
+_0204ABC4:
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ add r1, r4, #0x0
+ bl FUN_0205EF20
+ cmp r0, #0x0
+ beq _0204ABD8
+ add r6, r0, #0x0
+_0204ABD8:
+ add r0, r6, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204ABDC
+FUN_0204ABDC: ; 0x0204ABDC
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r4, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_020553C4
+ add r6, r0, #0x0
+ bl FUN_02004104
+ cmp r0, #0x1
+ bne _0204ABFC
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0204ABFC:
+ add r0, r5, #0x0
+ bl FUN_02004124
+ cmp r4, r0
+ bne _0204AC0C
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0204AC0C:
+ bl FUN_02004810
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x10
+ add r3, sp, #0xc
+ bl FUN_0204ACCC
+ cmp r6, #0x1
+ beq _0204AC22
+ bne _0204AC3A
+_0204AC22:
+ mov r0, #0x1e
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r2, [sp, #0x10]
+ ldr r3, [sp, #0xc]
+ mov r0, #0x4
+ add r1, r4, #0x0
+ bl FUN_02004E08
+ b _0204AC4C
+_0204AC3A:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r2, [sp, #0x10]
+ ldr r3, [sp, #0xc]
+ mov r0, #0x4
+ add r1, r4, #0x0
+ bl FUN_02004DCC
+_0204AC4C:
+ mov r0, #0x1
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AC54
+FUN_0204AC54: ; 0x0204AC54
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02004104
+ cmp r0, #0x1
+ bne _0204AC6C
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0204AC6C:
+ add r0, r5, #0x0
+ bl FUN_02004124
+ cmp r4, r0
+ bne _0204AC7C
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0204AC7C:
+ bl FUN_02004810
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, sp, #0xc
+ add r3, sp, #0x8
+ bl FUN_0204ACCC
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r2, [sp, #0xc]
+ ldr r3, [sp, #0x8]
+ mov r0, #0x4
+ add r1, r4, #0x0
+ bl FUN_02004DCC
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204ACA8
+FUN_0204ACA8: ; 0x0204ACA8
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ bl FUN_0204AB58
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204AD44
+ bl FUN_0200414C
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0204AC54
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204ACCC
+FUN_0204ACCC: ; 0x0204ACCC
+ cmp r1, #0x3
+ bhi _0204AD0A
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204ACDC: ; jump table (using 16-bit offset)
+ .short _0204ACE4 - _0204ACDC - 2; case 0
+ .short _0204ACEE - _0204ACDC - 2; case 1
+ .short _0204ACF8 - _0204ACDC - 2; case 2
+ .short _0204AD02 - _0204ACDC - 2; case 3
+_0204ACE4:
+ mov r0, #0x1e
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ str r0, [r3, #0x0]
+ bx lr
+_0204ACEE:
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ str r0, [r3, #0x0]
+ bx lr
+_0204ACF8:
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0xf
+ str r0, [r3, #0x0]
+ bx lr
+_0204AD02:
+ mov r0, #0x3c
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ str r0, [r3, #0x0]
+_0204AD0A:
+ bx lr
+
+ thumb_func_start FUN_0204AD0C
+FUN_0204AD0C: ; 0x0204AD0C
+ push {r3-r5, lr}
+ mov r1, #0x1
+ bl FUN_0206AC74
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r0, _0204AD38 ; =0x0000044D
+ ldr r2, _0204AD3C ; =0x020F4718
+ mov r4, #0x0
+_0204AD1E:
+ lsl r3, r4, #0x2
+ ldrh r1, [r2, r3]
+ cmp r5, r1
+ bne _0204AD2C
+ ldr r0, _0204AD40 ; =0x020F471A
+ ldrh r0, [r0, r3]
+ pop {r3-r5, pc}
+_0204AD2C:
+ add r1, r4, #0x1
+ lsl r1, r1, #0x10
+ lsr r4, r1, #0x10
+ cmp r4, #0x4e
+ blo _0204AD1E
+ pop {r3-r5, pc}
+ .balign 4
+_0204AD38: .word 0x0000044D
+_0204AD3C: .word 0x020F4718
+_0204AD40: .word 0x020F471A
+
+ thumb_func_start FUN_0204AD44
+FUN_0204AD44: ; 0x0204AD44
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0204AD58
+ add r0, r4, #0x0
+ bl FUN_020347B0
+ pop {r4, pc}
+_0204AD58:
+ add r0, r4, #0x0
+ bl FUN_020347C4
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204AD60
+FUN_0204AD60: ; 0x0204AD60
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_02004104
+ cmp r0, #0x1
+ beq _0204AD88
+ bl FUN_02004124
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0204ABA8
+ cmp r4, r0
+ beq _0204AD88
+ mov r0, #0x0
+ mov r1, #0x28
+ bl FUN_020053CC
+_0204AD88:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AD8C
+FUN_0204AD8C: ; 0x0204AD8C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02004104
+ cmp r0, #0x1
+ beq _0204ADB8
+ mov r0, #0x0
+ bl FUN_0200415C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204ABA8
+ add r4, r0, #0x0
+ bl FUN_0200414C
+ mov r0, #0x4
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_0200433C
+_0204ADB8:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204ADBC
+FUN_0204ADBC: ; 0x0204ADBC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0204AB58
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204ABA8
+ bl FUN_0200414C
+ mov r0, #0x4
+ add r1, r6, #0x0
+ mov r2, #0x1
+ bl FUN_0200433C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204ADE0
+FUN_0204ADE0: ; 0x0204ADE0
+ mov r3, #0x0
+ add r2, r3, #0x0
+_0204ADE4:
+ lsl r1, r3, #0x2
+ add r1, r0, r1
+ strb r2, [r1, #0x6]
+ strb r2, [r1, #0x7]
+ strb r2, [r1, #0x8]
+ strb r2, [r1, #0x9]
+ add r1, r3, #0x1
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #0x6
+ blo _0204ADE4
+ str r2, [r0, #0x0]
+ strb r2, [r0, #0x4]
+ strb r2, [r0, #0x5]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204AE04
+FUN_0204AE04: ; 0x0204AE04
+ push {r4, lr}
+ add r4, r0, #0x0
+ asr r0, r1, #0x4
+ lsr r0, r0, #0x1b
+ add r0, r1, r0
+ asr r1, r2, #0x4
+ lsr r1, r1, #0x1b
+ add r1, r2, r1
+ lsl r0, r0, #0x13
+ lsl r1, r1, #0x13
+ ldrb r2, [r4, #0x4]
+ lsr r0, r0, #0x18
+ lsr r1, r1, #0x18
+ cmp r0, r2
+ bne _0204AE28
+ ldrb r2, [r4, #0x5]
+ cmp r1, r2
+ beq _0204AE58
+_0204AE28:
+ ldr r2, [r4, #0x0]
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ strb r0, [r2, #0x6]
+ ldr r0, [r4, #0x0]
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ strb r1, [r0, #0x7]
+ ldr r0, [r4, #0x0]
+ mov r1, #0xff
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ strb r1, [r0, #0x8]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ strb r1, [r0, #0x9]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x6
+ add r0, r0, #0x1
+ bl _s32_div_f
+ str r1, [r4, #0x0]
+_0204AE58:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AE5C
+FUN_0204AE5C: ; 0x0204AE5C
+ push {r4, lr}
+ add r4, r0, #0x0
+ lsl r0, r1, #0x18
+ lsl r1, r2, #0x18
+ ldrb r2, [r4, #0x4]
+ lsr r0, r0, #0x18
+ lsr r1, r1, #0x18
+ cmp r0, r2
+ bne _0204AE74
+ ldrb r2, [r4, #0x5]
+ cmp r1, r2
+ beq _0204AEA6
+_0204AE74:
+ ldr r2, [r4, #0x0]
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ strb r0, [r2, #0x6]
+ ldr r2, [r4, #0x0]
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ strb r1, [r2, #0x7]
+ ldr r2, [r4, #0x0]
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ strb r3, [r2, #0x8]
+ ldr r2, [r4, #0x0]
+ mov r3, #0x1
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ strb r3, [r2, #0x9]
+ strb r0, [r4, #0x4]
+ strb r1, [r4, #0x5]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x6
+ add r0, r0, #0x1
+ bl _s32_div_f
+ str r1, [r4, #0x0]
+_0204AEA6:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204AEA8
+FUN_0204AEA8: ; 0x0204AEA8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ beq _0204AEC6
+ cmp r1, #0x1
+ beq _0204AEE6
+ b _0204AEF4
+_0204AEC6:
+ ldr r0, [r4, #0x8]
+ add r1, r5, #0x0
+ add r2, r4, #0x4
+ bl MOD05_021E3444
+ ldr r1, [r4, #0xc]
+ mov r0, #0x5
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204AEF4
+_0204AEE6:
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x1
+ bne _0204AEF4
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204AEF4:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204AEF8
+FUN_0204AEF8: ; 0x0204AEF8
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x10
+ add r4, r2, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r0, [r2, #0x4]
+ str r5, [r2, #0x8]
+ ldr r1, _0204AF20 ; =FUN_0204AEA8
+ add r0, r6, #0x0
+ str r4, [r2, #0xc]
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_0204AF20: .word FUN_0204AEA8
+
+ thumb_func_start FUN_0204AF24
+FUN_0204AF24: ; 0x0204AF24
+ push {r3, lr}
+ bl FUN_02046528
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _0204AF36
+ mov r0, #0x1
+ pop {r3, pc}
+_0204AF36:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AF3C
+FUN_0204AF3C: ; 0x0204AF3C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _0204AF54
+ bl ErrorHandling
+ pop {r3-r5, pc}
+_0204AF54:
+ add r0, r4, #0x0
+ bl FUN_02037394
+ ldr r1, _0204AF68 ; =FUN_0204AF24
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_0204AF68: .word FUN_0204AF24
+
+ thumb_func_start FUN_0204AF6C
+FUN_0204AF6C: ; 0x0204AF6C
+ push {r3, lr}
+ bl FUN_02046528
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0204AF7E
+ mov r0, #0x1
+ pop {r3, pc}
+_0204AF7E:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AF84
+FUN_0204AF84: ; 0x0204AF84
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ bl FUN_0203739C
+ cmp r0, #0x0
+ beq _0204AF9C
+ bl ErrorHandling
+ pop {r3-r5, pc}
+_0204AF9C:
+ add r0, r4, #0x0
+ bl FUN_0204649C
+ ldr r1, _0204AFB0 ; =FUN_0204AF6C
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_0204AFB0: .word FUN_0204AF6C
+
+ thumb_func_start FUN_0204AFB4
+FUN_0204AFB4: ; 0x0204AFB4
+ push {r3, lr}
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204AFC2
+ mov r0, #0x1
+ pop {r3, pc}
+_0204AFC2:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204AFC8
+FUN_0204AFC8: ; 0x0204AFC8
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02046528
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _0204AFE2
+ bl ErrorHandling
+ add sp, #0xc
+ pop {r3-r4, pc}
+_0204AFE2:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r1, _0204B008 ; =FUN_0204AFB4
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_0204640C
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+_0204B008: .word FUN_0204AFB4
+
+ thumb_func_start FUN_0204B00C
+FUN_0204B00C: ; 0x0204B00C
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02046528
+ bl FUN_0203739C
+ cmp r0, #0x0
+ bne _0204B026
+ bl ErrorHandling
+ add sp, #0xc
+ pop {r3-r4, pc}
+_0204B026:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r1, _0204B04C ; =FUN_0204AFB4
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_0204640C
+ add sp, #0xc
+ pop {r3-r4, pc}
+ nop
+_0204B04C: .word FUN_0204AFB4
+
+ thumb_func_start FUN_0204B050
+FUN_0204B050: ; 0x0204B050
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _0204B06A
+ cmp r0, #0x1
+ beq _0204B078
+ cmp r0, #0x2
+ beq _0204B086
+ b _0204B08A
+_0204B06A:
+ add r0, r5, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B08A
+_0204B078:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B08A
+_0204B086:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204B08A:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B090
+FUN_0204B090: ; 0x0204B090
+ ldr r3, _0204B098 ; =FUN_0204640C
+ ldr r1, _0204B09C ; =FUN_0204B050
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_0204B098: .word FUN_0204640C
+_0204B09C: .word FUN_0204B050
+
+ thumb_func_start FUN_0204B0A0
+FUN_0204B0A0: ; 0x0204B0A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046530
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ beq _0204B0C0
+ cmp r1, #0x1
+ beq _0204B0CE
+ cmp r1, #0x2
+ beq _0204B0E0
+ b _0204B0E4
+_0204B0C0:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B0E4
+_0204B0CE:
+ bl MOD05_021E331C
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B0E4
+_0204B0E0:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204B0E4:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204B0E8
+FUN_0204B0E8: ; 0x0204B0E8
+ ldr r3, _0204B0F0 ; =FUN_0204640C
+ ldr r1, _0204B0F4 ; =FUN_0204B0A0
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_0204B0F0: .word FUN_0204640C
+_0204B0F4: .word FUN_0204B0A0
+
+ thumb_func_start FUN_0204B0F8
+FUN_0204B0F8: ; 0x0204B0F8
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02023794
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _0204B12A
+ add r0, sp, #0xc
+ add r1, sp, #0x0
+ bl FUN_0201265C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, sp, #0xc
+ bl FUN_0204B130
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, sp, #0xc
+ add r3, sp, #0x0
+ bl FUN_0204B158
+_0204B12A:
+ add sp, #0x1c
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B130
+FUN_0204B130: ; 0x0204B130
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ add r0, r2, #0x0
+ bl RTC_ConvertDateToDay
+ ldr r1, [r5, #0x20]
+ add r4, r0, #0x0
+ cmp r4, r1
+ bhs _0204B148
+ str r4, [r5, #0x20]
+ pop {r4-r6, pc}
+_0204B148:
+ cmp r4, r1
+ bls _0204B156
+ add r0, r6, #0x0
+ sub r1, r4, r1
+ bl FUN_0204B1DC
+ str r4, [r5, #0x20]
+_0204B156:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204B158
+FUN_0204B158: ; 0x0204B158
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r2, #0x0
+ str r0, [sp, #0x0]
+ add r6, r3, #0x0
+ add r5, r1, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl RTC_ConvertDateTimeToSecond
+ str r1, [sp, #0x8]
+ add r1, r5, #0x0
+ add r7, r0, #0x0
+ add r0, r5, #0x4
+ add r1, #0x14
+ bl RTC_ConvertDateTimeToSecond
+ add r2, r1, #0x0
+ sub r1, r7, r0
+ ldr r1, [sp, #0x8]
+ sbc r1, r2
+ bge _0204B19C
+ add r2, r5, #0x4
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ add r5, #0x14
+ stmia r5!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ add sp, #0xc
+ str r0, [r5, #0x0]
+ pop {r4-r7, pc}
+_0204B19C:
+ ldr r1, [sp, #0x8]
+ sub r0, r7, r0
+ sbc r1, r2
+ mov r2, #0x3c
+ mov r3, #0x0
+ str r1, [sp, #0x8]
+ bl _ll_sdiv
+ add r7, r0, #0x0
+ cmp r7, #0x0
+ ble _0204B1D8
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02023884
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0204B270
+ add r2, r5, #0x4
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ add r5, #0x14
+ stmia r5!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ str r0, [r5, #0x0]
+_0204B1D8:
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0204B1DC
+FUN_0204B1DC: ; 0x0204B1DC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ bl FUN_020377AC
+ add r1, r4, #0x0
+ bl FUN_02025A60
+ add r0, r5, #0x0
+ bl FUN_0203959C
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02060344
+ ldr r0, [r5, #0xc]
+ bl FUN_0202881C
+ add r1, r4, #0x0
+ bl FUN_02028754
+ ldr r0, [r5, #0xc]
+ bl FUN_0202A9B0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0202881C
+ bl FUN_020287A4
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0202A988
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_02069D50
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ add r6, r0, #0x0
+ bl FUN_0205F594
+ cmp r0, r4
+ ble _0204B244
+ sub r0, r0, r4
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ b _0204B246
+_0204B244:
+ mov r1, #0x0
+_0204B246:
+ add r0, r6, #0x0
+ bl FUN_0205F5A4
+ lsl r1, r4, #0x10
+ ldr r0, [r5, #0xc]
+ lsr r1, r1, #0x10
+ bl FUN_0205F618
+ ldr r0, [r5, #0xc]
+ bl FUN_0205F668
+ ldr r0, [r5, #0xc]
+ bl FUN_0206007C
+ ldr r0, [r5, #0xc]
+ bl FUN_02029AFC
+ bl FUN_02029C08
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B270
+FUN_0204B270: ; 0x0204B270
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0204B3D0
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ bl FUN_0202A9D0
+ add r0, r5, #0x0
+ bl FUN_0204B33C
+ add r2, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02025B60
+ ldr r0, [r5, #0xc]
+ bl FUN_02022504
+ ldr r2, [r6, #0x4]
+ add r1, r4, #0x0
+ bl FUN_0202B3C4
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204B2A4
+FUN_0204B2A4: ; 0x0204B2A4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0x14]
+ bl FUN_020127A8
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2B4
+FUN_0204B2B4: ; 0x0204B2B4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0x8]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2C0
+FUN_0204B2C0: ; 0x0204B2C0
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0xc]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2CC
+FUN_0204B2CC: ; 0x0204B2CC
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0x10]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2D8
+FUN_0204B2D8: ; 0x0204B2D8
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0x14]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2E4
+FUN_0204B2E4: ; 0x0204B2E4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ ldr r0, [r0, #0x18]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204B2F0
+FUN_0204B2F0: ; 0x0204B2F0
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_02023794
+ add r3, r0, #0x0
+ ldr r2, [r3, #0x24]
+ ldr r3, [r3, #0x28]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl RTC_ConvertSecondToDateTime
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204B30C
+FUN_0204B30C: ; 0x0204B30C
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_02023794
+ add r3, r0, #0x0
+ ldr r2, [r3, #0x2c]
+ ldr r3, [r3, #0x30]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl RTC_ConvertSecondToDateTime
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204B328
+FUN_0204B328: ; 0x0204B328
+ push {r4, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ add r4, r0, #0x0
+ bl FUN_020126FC
+ str r0, [r4, #0x2c]
+ str r1, [r4, #0x30]
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204B33C
+FUN_0204B33C: ; 0x0204B33C
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02023794
+ bl FUN_02023874
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B34C
+FUN_0204B34C: ; 0x0204B34C
+ cmp r0, #0x0
+ bne _0204B354
+ mov r0, #0x0
+ bx lr
+_0204B354:
+ add r0, #0x94
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+
+ thumb_func_start FUN_0204B35C
+FUN_0204B35C: ; 0x0204B35C
+ cmp r0, #0x0
+ bne _0204B364
+ mov r0, #0x0
+ bx lr
+_0204B364:
+ sub r0, #0x94
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+
+ thumb_func_start FUN_0204B36C
+FUN_0204B36C: ; 0x0204B36C
+ cmp r0, #0x0
+ bne _0204B374
+ mov r0, #0x0
+ bx lr
+_0204B374:
+ add r0, #0x5e
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+
+ thumb_func_start FUN_0204B37C
+FUN_0204B37C: ; 0x0204B37C
+ cmp r0, #0x0
+ bne _0204B384
+ mov r0, #0x0
+ bx lr
+_0204B384:
+ sub r0, #0x5e
+ bx lr
+
+ thumb_func_start FUN_0204B388
+FUN_0204B388: ; 0x0204B388
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x64
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x64
+ bl MI_CpuFill8
+ str r6, [r4, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02025128
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B410
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B3B8
+FUN_0204B3B8: ; 0x0204B3B8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204B444
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B3D0
+FUN_0204B3D0: ; 0x0204B3D0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ add r6, r1, #0x0
+ cmp r0, #0x0
+ bne _0204B3FA
+ mov r0, #0xb
+ bl FUN_02025128
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_02024ECC
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_020253E0
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ pop {r4-r6, pc}
+_0204B3FA:
+ ldr r0, [r0, #0x18]
+ ldr r5, [r0, #0x4]
+ ldr r0, [r4, #0xc]
+ bl FUN_02024ECC
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_020253E0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B410
+FUN_0204B410: ; 0x0204B410
+ push {r3-r5, lr}
+ ldr r4, [r0, #0x3c]
+ add r5, r1, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x11
+ bl MOD05_021E4C54
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02016998
+ str r0, [r5, #0x60]
+ ldr r2, [r5, #0x60]
+ add r0, r4, #0x0
+ mov r1, #0x11
+ bl MOD05_021E4C60
+ add r0, r5, #0x0
+ add r1, r5, #0x0
+ add r5, #0x60
+ add r0, #0x8
+ add r1, #0x5c
+ add r2, r5, #0x0
+ bl FUN_0201B234
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204B444
+FUN_0204B444: ; 0x0204B444
+ ldr r3, _0204B44C ; =MOD05_021E4C00
+ ldr r0, [r0, #0x60]
+ bx r3
+ nop
+_0204B44C: .word MOD05_021E4C00
+
+ thumb_func_start FUN_0204B450
+FUN_0204B450: ; 0x0204B450
+ push {r3-r5, lr}
+ sub sp, #0x30
+ ldr r3, _0204B48C ; =0x020F4860
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, sp, #0x24
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ add r0, sp, #0x0
+ bl MTX_Identity33_
+ ldr r0, [r5, #0x4]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x18]
+ add r2, sp, #0x0
+ ldr r0, [r0, #0x5c]
+ add r3, sp, #0x24
+ bl FUN_0201B6D0
+ cmp r0, #0x0
+ beq _0204B484
+ add sp, #0x30
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204B484:
+ mov r0, #0x0
+ add sp, #0x30
+ pop {r3-r5, pc}
+ nop
+_0204B48C: .word 0x020F4860
+
+ thumb_func_start FUN_0204B490
+FUN_0204B490: ; 0x0204B490
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0xc]
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x34]
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ bne _0204B4F8
+ mov r6, #0x0
+ mov r7, #0x1
+_0204B4B6:
+ ldr r0, [sp, #0x0]
+ bl FUN_02058458
+ bl FUN_0205C334
+ cmp r0, #0x1
+ bne _0204B4E8
+ ldr r0, [sp, #0x0]
+ bl FUN_02058B7C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204B450
+ cmp r0, #0x0
+ beq _0204B4E8
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_020252C4
+_0204B4E8:
+ ldr r0, [r5, #0x34]
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ beq _0204B4B6
+_0204B4F8:
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204B4FC
+FUN_0204B4FC: ; 0x0204B4FC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r7, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02025244
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020252E8
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_0204B34C
+ str r0, [sp, #0x8]
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02025268
+ add r2, r0, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r6, #0x10
+ ldr r1, [sp, #0x8]
+ add r0, r5, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x10
+ bl FUN_020616A4
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020252F4
+ add r0, r7, #0x0
+ bl FUN_0205C374
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_0204B34C
+ lsl r2, r6, #0x10
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x4
+ bl FUN_0206ED38
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B57C
+FUN_0204B57C: ; 0x0204B57C
+ push {r4-r6, lr}
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ add r5, r2, #0x0
+ bl FUN_02024ECC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204B37C
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_020252DC
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B5A8
+FUN_0204B5A8: ; 0x0204B5A8
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02024ECC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204B35C
+ ldr r2, [r4, #0x4]
+ add r3, r0, #0x0
+ ldr r2, [r2, #0x18]
+ add r0, r7, #0x0
+ ldr r2, [r2, #0x4]
+ add r1, r5, #0x0
+ bl FUN_02025274
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B5DC
+FUN_0204B5DC: ; 0x0204B5DC
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020252AC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B5FC
+FUN_0204B5FC: ; 0x0204B5FC
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02025238
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B61C
+FUN_0204B61C: ; 0x0204B61C
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02025244
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B63C
+FUN_0204B63C: ; 0x0204B63C
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02025244
+ bl FUN_0204B34C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B660
+FUN_0204B660: ; 0x0204B660
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020252D0
+ bl FUN_0204B36C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B684
+FUN_0204B684: ; 0x0204B684
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202524C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B6A4
+FUN_0204B6A4: ; 0x0204B6A4
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020252E8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B6C4
+FUN_0204B6C4: ; 0x0204B6C4
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ ldr r4, _0204B708 ; =0x00000000
+ beq _0204B6D8
+ add r0, r5, #0x0
+ bl FUN_02058458
+ cmp r0, #0x64
+ beq _0204B6DC
+_0204B6D8:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0204B6DC:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0204B5FC
+ cmp r0, #0x0
+ bne _0204B6FE
+ mov r0, #0x1
+ orr r4, r0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0204B660
+ cmp r0, #0x0
+ bne _0204B702
+ mov r0, #0x2
+ orr r4, r0
+ b _0204B702
+_0204B6FE:
+ mov r0, #0x4
+ orr r4, r0
+_0204B702:
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204B708: .word 0x00000000
+
+ thumb_func_start FUN_0204B70C
+FUN_0204B70C: ; 0x0204B70C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, [r7, #0x38]
+ add r5, r2, #0x0
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r7, #0x38]
+ bl FUN_0205532C
+ add r4, r0, #0x0
+ cmp r5, #0x2
+ bne _0204B72A
+ sub r6, r6, #0x1
+ b _0204B746
+_0204B72A:
+ cmp r5, #0x3
+ bne _0204B732
+ add r6, r6, #0x1
+ b _0204B746
+_0204B732:
+ cmp r5, #0x0
+ bne _0204B73A
+ sub r4, r4, #0x1
+ b _0204B746
+_0204B73A:
+ cmp r5, #0x1
+ bne _0204B742
+ add r4, r4, #0x1
+ b _0204B746
+_0204B742:
+ bl ErrorHandling
+_0204B746:
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204A6B4
+ cmp r0, #0x0
+ beq _0204B758
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204B758:
+ ldr r0, [r7, #0x34]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_02058D74
+ cmp r0, #0x0
+ beq _0204B76A
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204B76A:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B770
+FUN_0204B770: ; 0x0204B770
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r6, r1, #0x0
+ bl FUN_02055320
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ cmp r6, #0x2
+ bne _0204B78E
+ sub r4, r4, #0x1
+ b _0204B794
+_0204B78E:
+ cmp r6, #0x3
+ bne _0204B794
+ add r4, r4, #0x1
+_0204B794:
+ ldr r0, [r5, #0x34]
+ add r1, r4, #0x0
+ sub r2, r2, #0x1
+ bl FUN_02058D74
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204B7A0
+FUN_0204B7A0: ; 0x0204B7A0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r6, r1, #0x0
+ bl FUN_02055320
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x4]
+ cmp r0, #0x0
+ bne _0204B7C0
+ sub r4, r4, #0x1
+ b _0204B7CC
+_0204B7C0:
+ cmp r0, #0x1
+ bne _0204B7C8
+ add r4, r4, #0x1
+ b _0204B7CC
+_0204B7C8:
+ bl ErrorHandling
+_0204B7CC:
+ ldr r0, [r5, #0x34]
+ add r1, r7, #0x0
+ add r2, r4, #0x0
+ bl FUN_02058D74
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0204B7D8
+FUN_0204B7D8: ; 0x0204B7D8
+ push {r3, lr}
+ bl FUN_02058458
+ cmp r0, #0x64
+ bne _0204B7E6
+ mov r0, #0x1
+ pop {r3, pc}
+_0204B7E6:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B7EC
+FUN_0204B7EC: ; 0x0204B7EC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204B7A0
+ add r1, r0, #0x0
+ beq _0204B7FE
+ add r0, r4, #0x0
+ bl FUN_0204B5DC
+_0204B7FE:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204B800
+FUN_0204B800: ; 0x0204B800
+ push {r3-r5, lr}
+ ldr r0, [r0, #0x38]
+ add r4, r2, #0x0
+ add r5, r1, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ bl FUN_0205AEA4
+ str r0, [r5, #0xc]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B818
+FUN_0204B818: ; 0x0204B818
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x4
+ bls _0204B832
+ b _0204B98E
+_0204B832:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204B83E: ; jump table (using 16-bit offset)
+ .short _0204B848 - _0204B83E - 2; case 0
+ .short _0204B866 - _0204B83E - 2; case 1
+ .short _0204B876 - _0204B83E - 2; case 2
+ .short _0204B93A - _0204B83E - 2; case 3
+ .short _0204B972 - _0204B83E - 2; case 4
+_0204B848:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x10
+ bl MOD05_021E5FD8
+ ldr r0, [r5, #0x38]
+ bl MOD05_021E5FE0
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B866:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B7EC
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+_0204B876:
+ ldr r0, _0204B994 ; =0x021C48B8
+ mov r1, #0x20
+ ldr r0, [r0, #0x44]
+ tst r1, r0
+ beq _0204B8B8
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0204B770
+ cmp r0, #0x0
+ beq _0204B894
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ bne _0204B89A
+_0204B894:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B89A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_0204B70C
+ cmp r0, #0x0
+ bne _0204B922
+ ldr r2, _0204B998 ; =0x020F4850
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B800
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8B8:
+ mov r1, #0x10
+ tst r1, r0
+ beq _0204B8F6
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0204B770
+ cmp r0, #0x0
+ beq _0204B8D2
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ bne _0204B8D8
+_0204B8D2:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8D8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x3
+ bl FUN_0204B70C
+ cmp r0, #0x0
+ bne _0204B922
+ ldr r2, _0204B99C ; =0x020F4858
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B800
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B8F6:
+ mov r1, #0x40
+ tst r1, r0
+ beq _0204B910
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x1
+ bne _0204B910
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B910:
+ mov r1, #0x80
+ tst r0, r1
+ beq _0204B922
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ bne _0204B922
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B922:
+ ldr r0, [r4, #0x8]
+ add r0, r0, #0x1
+ str r0, [r4, #0x8]
+ cmp r0, #0x5a
+ ble _0204B98E
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B93A:
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AEF0
+ cmp r0, #0x0
+ beq _0204B98E
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AEFC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204B7A0
+ cmp r0, #0x0
+ beq _0204B964
+ bl FUN_0204B7D8
+ cmp r0, #0x0
+ beq _0204B964
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B964:
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ b _0204B98E
+_0204B972:
+ ldr r0, [r5, #0x38]
+ ldr r1, [r4, #0x4]
+ bl FUN_02055304
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058908
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204B98E:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_0204B994: .word 0x021C48B8
+_0204B998: .word 0x020F4850
+_0204B99C: .word 0x020F4858
+
+ thumb_func_start FUN_0204B9A0
+FUN_0204B9A0: ; 0x0204B9A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x20
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0x10]
+ ldr r1, _0204B9C8 ; =FUN_0204B818
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ .balign 4
+_0204B9C8: .word FUN_0204B818
+
+ thumb_func_start FUN_0204B9CC
+FUN_0204B9CC: ; 0x0204B9CC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_020553C4
+ bl FUN_02055648
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl MOD05_021E5FD8
+ ldr r0, [r4, #0x38]
+ bl MOD05_021E5FE0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204B9EC
+FUN_0204B9EC: ; 0x0204B9EC
+ push {r4, lr}
+ ldr r1, _0204BA14 ; =0x021C5A1C
+ add r4, r0, #0x0
+ mov r0, #0x0
+ mov r2, #0x4c
+ bl MIi_CpuClearFast
+ ldr r1, _0204BA14 ; =0x021C5A1C
+ add r0, r4, #0x0
+ bl FUN_0204BB20
+ ldr r0, _0204BA14 ; =0x021C5A1C
+ bl FUN_0204BBC4
+ bl FUN_020126FC
+ ldr r2, _0204BA18 ; =0x021C5A1C
+ str r0, [r2, #0x40]
+ str r1, [r2, #0x44]
+ pop {r4, pc}
+ .balign 4
+_0204BA14: .word 0x021C5A1C
+_0204BA18: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BA1C
+FUN_0204BA1C: ; 0x0204BA1C
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ ldr r4, _0204BA60 ; =0x021C5A1C
+ bl FUN_02029FC8
+ add r5, r0, #0x0
+ bl FUN_020126FC
+ add r3, r1, #0x0
+ ldr r1, _0204BA64 ; =0x021C5A1C
+ add r2, r0, #0x0
+ ldr r0, [r1, #0x40]
+ ldr r1, [r1, #0x44]
+ bl FUN_020127C0
+ mov r2, #0xfa
+ mov r3, #0x0
+ lsl r2, r2, #0x2
+ sub r2, r0, r2
+ sbc r1, r3
+ bge _0204BA50
+ mov r1, #0xfa
+ lsl r1, r1, #0x2
+ sub r0, r1, r0
+ lsl r0, r0, #0x1
+ b _0204BA52
+_0204BA50:
+ mov r0, #0x0
+_0204BA52:
+ str r0, [r4, #0x48]
+ add r0, r5, #0x0
+ mov r1, #0x11
+ bl FUN_0202A170
+ pop {r3-r5, pc}
+ nop
+_0204BA60: .word 0x021C5A1C
+_0204BA64: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BA68
+FUN_0204BA68: ; 0x0204BA68
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204BA8C ; =0x021C5A1C
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0204BBE8
+ cmp r0, #0x1
+ bne _0204BA88
+ ldr r1, _0204BA8C ; =0x021C5A1C
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_0204BC48
+ pop {r4-r6, pc}
+_0204BA88:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_0204BA8C: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BA90
+FUN_0204BA90: ; 0x0204BA90
+ ldr r3, _0204BA98 ; =FUN_0204BD40
+ ldr r1, _0204BA9C ; =0x021C5A1C
+ bx r3
+ nop
+_0204BA98: .word FUN_0204BD40
+_0204BA9C: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAA0
+FUN_0204BAA0: ; 0x0204BAA0
+ ldr r3, _0204BAA8 ; =FUN_0204BD18
+ ldr r2, _0204BAAC ; =0x021C5A1C
+ bx r3
+ nop
+_0204BAA8: .word FUN_0204BD18
+_0204BAAC: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAB0
+FUN_0204BAB0: ; 0x0204BAB0
+ push {r3, lr}
+ ldr r0, _0204BAC0 ; =0x021C5A1C
+ bl FUN_0204BBA8
+ mov r1, #0x6
+ sub r0, r1, r0
+ pop {r3, pc}
+ nop
+_0204BAC0: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAC4
+FUN_0204BAC4: ; 0x0204BAC4
+ ldr r3, _0204BACC ; =FUN_0204BD8C
+ ldr r0, _0204BAD0 ; =0x021C5A1C
+ bx r3
+ nop
+_0204BACC: .word FUN_0204BD8C
+_0204BAD0: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAD4
+FUN_0204BAD4: ; 0x0204BAD4
+ ldr r3, _0204BADC ; =FUN_0204BE10
+ ldr r0, _0204BAE0 ; =0x021C5A1C
+ bx r3
+ nop
+_0204BADC: .word FUN_0204BE10
+_0204BAE0: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAE4
+FUN_0204BAE4: ; 0x0204BAE4
+ ldr r3, _0204BAEC ; =FUN_0204BDA0
+ ldr r0, _0204BAF0 ; =0x021C5A1C
+ bx r3
+ nop
+_0204BAEC: .word FUN_0204BDA0
+_0204BAF0: .word 0x021C5A1C
+
+ thumb_func_start FUN_0204BAF4
+FUN_0204BAF4: ; 0x0204BAF4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ beq _0204BB04
+ ldr r0, _0204BB1C ; =0x000001ED
+ cmp r5, r0
+ bls _0204BB08
+_0204BB04:
+ bl ErrorHandling
+_0204BB08:
+ mov r3, #0x6
+ add r0, r4, #0x0
+ sub r4, r5, #0x1
+ str r3, [sp, #0x0]
+ mov r1, #0x83
+ mov r2, #0x0
+ mul r3, r4
+ bl FUN_02006548
+ pop {r3-r5, pc}
+ .balign 4
+_0204BB1C: .word 0x000001ED
+
+ thumb_func_start FUN_0204BB20
+FUN_0204BB20: ; 0x0204BB20
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r0, [r0, #0xc]
+ str r1, [sp, #0x0]
+ bl FUN_02022528
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ bl FUN_020669C0
+ ldr r5, [sp, #0x0]
+ add r4, r0, #0x0
+ mov r6, #0x0
+ add r7, sp, #0x8
+_0204BB3C:
+ ldr r0, [sp, #0x0]
+ add r2, r4, #0x0
+ add r1, r0, r6
+ add r1, #0x30
+ mov r0, #0x0
+ strb r0, [r1, #0x0]
+ ldr r0, [sp, #0x4]
+ add r1, r6, #0x0
+ bl FUN_0202BFD8
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ strh r0, [r5, #0x0]
+ add r1, sp, #0x8
+ bl FUN_0204BAF4
+ ldrb r0, [r7, #0x0]
+ cmp r0, #0x0
+ beq _0204BB6E
+ b _0204BB72
+_0204BB6E:
+ ldrb r0, [r7, #0x1]
+ add r0, r0, #0x4
+_0204BB72:
+ strb r0, [r5, #0x2]
+ ldrb r0, [r7, #0x3]
+ mov r1, #0xb0
+ mov r2, #0x0
+ strb r0, [r5, #0x3]
+ ldrb r0, [r7, #0x2]
+ strh r0, [r5, #0x4]
+ add r0, r4, #0x0
+ bl FUN_020671BC
+ strb r0, [r5, #0x6]
+ add r0, r4, #0x0
+ mov r1, #0xb1
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r5, #0x7]
+ add r6, r6, #0x1
+ add r5, #0x8
+ cmp r6, #0x6
+ blt _0204BB3C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BBA8
+FUN_0204BBA8: ; 0x0204BBA8
+ mov r3, #0x0
+ add r2, r3, #0x0
+_0204BBAC:
+ add r1, r0, r2
+ add r1, #0x30
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204BBB8
+ add r3, r3, #0x1
+_0204BBB8:
+ add r2, r2, #0x1
+ cmp r2, #0x6
+ blt _0204BBAC
+ add r0, r3, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204BBC4
+FUN_0204BBC4: ; 0x0204BBC4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl rand_LC
+ ldr r1, _0204BBE4 ; =0x0000199A
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0xa
+ blo _0204BBDE
+ bl ErrorHandling
+_0204BBDE:
+ add r0, r5, #0x5
+ str r0, [r4, #0x38]
+ pop {r3-r5, pc}
+ .balign 4
+_0204BBE4: .word 0x0000199A
+
+ thumb_func_start FUN_0204BBE8
+FUN_0204BBE8: ; 0x0204BBE8
+ push {r3, lr}
+ ldr r1, [r0, #0x38]
+ sub r1, r1, #0x1
+ str r1, [r0, #0x38]
+ bne _0204BBFA
+ bl FUN_0204BBC4
+ mov r0, #0x1
+ pop {r3, pc}
+_0204BBFA:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BC00
+FUN_0204BC00: ; 0x0204BC00
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0204A6E0
+ add r4, r0, #0x0
+ cmp r5, #0x20
+ blt _0204BC14
+ mov r5, #0x1
+ b _0204BC16
+_0204BC14:
+ mov r5, #0x0
+_0204BC16:
+ cmp r6, #0x20
+ bge _0204BC1E
+ mov r0, #0x0
+ b _0204BC20
+_0204BC1E:
+ mov r0, #0x2
+_0204BC20:
+ add r5, r5, r0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0205478C
+ cmp r0, #0x0
+ beq _0204BC32
+ add r0, r5, #0x1
+ pop {r4-r6, pc}
+_0204BC32:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0205481C
+ cmp r0, #0x0
+ beq _0204BC42
+ add r0, r5, #0x5
+ pop {r4-r6, pc}
+_0204BC42:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BC48
+FUN_0204BC48: ; 0x0204BC48
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r1, r2, #0x0
+ add r2, r3, #0x0
+ mov r6, #0x0
+ bl FUN_0204BC00
+ add r7, r0, #0x0
+ bne _0204BC5E
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_0204BC5E:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+_0204BC62:
+ add r2, r5, r0
+ add r2, #0x30
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _0204BC76
+ ldrb r2, [r1, #0x2]
+ cmp r7, r2
+ bne _0204BC76
+ ldrb r2, [r1, #0x3]
+ add r6, r6, r2
+_0204BC76:
+ add r0, r0, #0x1
+ add r1, #0x8
+ cmp r0, #0x6
+ blt _0204BC62
+ cmp r6, #0x0
+ bne _0204BC86
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204BC86:
+ add r0, r6, #0x0
+ add r0, #0x14
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _0204BC94
+ bl ErrorHandling
+_0204BC94:
+ add r0, r6, #0x0
+ add r0, #0x14
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x1
+ bhi _0204BCA4
+ mov r4, #0x0
+ b _0204BCD8
+_0204BCA4:
+ bl rand_LC
+ add r1, r6, #0x0
+ add r1, #0x14
+ add r4, r0, #0x0
+ lsl r1, r1, #0x10
+ ldr r0, _0204BD14 ; =0x0000FFFF
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r4, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ add r6, #0x14
+ lsr r4, r0, #0x10
+ lsl r0, r6, #0x10
+ lsr r0, r0, #0x10
+ cmp r4, r0
+ blo _0204BCD8
+ bl ErrorHandling
+_0204BCD8:
+ cmp r4, #0x14
+ bge _0204BCE0
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204BCE0:
+ sub r4, #0x14
+ mov r1, #0x0
+ add r0, r5, #0x0
+_0204BCE6:
+ add r2, r5, r1
+ add r2, #0x30
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _0204BD04
+ ldrb r2, [r0, #0x2]
+ cmp r7, r2
+ bne _0204BD04
+ ldrb r2, [r0, #0x3]
+ cmp r4, r2
+ bge _0204BD02
+ str r1, [r5, #0x3c]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204BD02:
+ sub r4, r4, r2
+_0204BD04:
+ add r1, r1, #0x1
+ add r0, #0x8
+ cmp r1, #0x6
+ blt _0204BCE6
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204BD14: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204BD18
+FUN_0204BD18: ; 0x0204BD18
+ push {r4, lr}
+ ldr r0, [r1, #0x14]
+ add r4, r2, #0x0
+ cmp r0, #0x4
+ beq _0204BD28
+ cmp r0, #0x5
+ beq _0204BD3E
+ b _0204BD3A
+_0204BD28:
+ add r0, r4, #0x0
+ bl FUN_0204BBA8
+ add r1, r0, #0x1
+ ldr r0, [r4, #0x3c]
+ add r0, r4, r0
+ add r0, #0x30
+ strb r1, [r0, #0x0]
+ pop {r4, pc}
+_0204BD3A:
+ bl ErrorHandling
+_0204BD3E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0204BD40
+FUN_0204BD40: ; 0x0204BD40
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x20
+ add r6, r1, #0x0
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02022528
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204BAB0
+ add r1, r0, #0x0
+ mov r0, #0xb
+ bl FUN_02047800
+ add r1, r5, #0x0
+ add r7, r0, #0x0
+ bl FUN_02047BB0
+ ldr r0, [sp, #0x0]
+ ldr r1, [r6, #0x3c]
+ add r2, r4, #0x0
+ bl FUN_0202BFD8
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020479FC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BD8C
+FUN_0204BD8C: ; 0x0204BD8C
+ mov r3, #0x0
+ add r2, r3, #0x0
+_0204BD90:
+ ldrh r1, [r0, #0x4]
+ add r2, r2, #0x1
+ add r0, #0x8
+ add r3, r3, r1
+ cmp r2, #0x6
+ blt _0204BD90
+ add r0, r3, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204BDA0
+FUN_0204BDA0: ; 0x0204BDA0
+ push {r4-r7}
+ mov r3, #0x0
+ add r5, r0, #0x0
+ add r4, r3, #0x0
+ mov r0, #0x1
+_0204BDAA:
+ mov r1, #0x0
+_0204BDAC:
+ add r2, r5, r1
+ add r2, #0x30
+ ldrb r2, [r2, #0x0]
+ cmp r0, r2
+ bne _0204BDEC
+ lsl r1, r1, #0x3
+ add r2, r5, r1
+ ldrb r1, [r2, #0x6]
+ ldrb r2, [r2, #0x7]
+ cmp r0, #0x1
+ beq _0204BDD8
+ mov r6, r12
+ cmp r6, r1
+ beq _0204BDD8
+ mov r6, r12
+ cmp r6, r2
+ beq _0204BDD8
+ cmp r7, r1
+ beq _0204BDD8
+ cmp r7, r2
+ beq _0204BDD8
+ add r4, #0xc8
+_0204BDD8:
+ mov r6, #0x1
+ mov r12, r1
+ lsl r6, r1
+ add r1, r3, #0x0
+ mov r3, #0x1
+ lsl r3, r2
+ orr r1, r6
+ add r7, r2, #0x0
+ orr r3, r1
+ b _0204BDF2
+_0204BDEC:
+ add r1, r1, #0x1
+ cmp r1, #0x6
+ blt _0204BDAC
+_0204BDF2:
+ add r0, r0, #0x1
+ cmp r0, #0x7
+ blt _0204BDAA
+ cmp r3, #0x0
+ beq _0204BE0A
+ mov r0, #0x1
+_0204BDFE:
+ add r1, r3, #0x0
+ tst r1, r0
+ beq _0204BE06
+ add r4, #0x32
+_0204BE06:
+ lsr r3, r3, #0x1
+ bne _0204BDFE
+_0204BE0A:
+ add r0, r4, #0x0
+ pop {r4-r7}
+ bx lr
+
+ thumb_func_start FUN_0204BE10
+FUN_0204BE10: ; 0x0204BE10
+ ldr r0, [r0, #0x48]
+ bx lr
+
+ thumb_func_start FUN_0204BE14
+FUN_0204BE14: ; 0x0204BE14
+ mov r0, #0xe8
+ bx lr
+
+ thumb_func_start FUN_0204BE18
+FUN_0204BE18: ; 0x0204BE18
+ push {r3-r5, lr}
+ mov r2, #0x0
+ add r3, r2, #0x0
+_0204BE1E:
+ add r1, r0, r2
+ add r2, r2, #0x1
+ strb r3, [r1, #0x3]
+ cmp r2, #0x20
+ blt _0204BE1E
+ strb r3, [r0, #0x1]
+ strb r3, [r0, #0x2]
+ ldrb r1, [r0, #0x0]
+ mov r2, #0x1
+ bic r1, r2
+ strb r1, [r0, #0x0]
+ ldrb r4, [r0, #0x0]
+ mov r1, #0x38
+ bic r4, r1
+ strb r4, [r0, #0x0]
+ ldrb r4, [r0, #0x0]
+ mov r1, #0x2
+ bic r4, r1
+ strb r4, [r0, #0x0]
+ str r3, [r0, #0x24]
+ ldrh r1, [r0, #0x28]
+ bic r1, r2
+ strh r1, [r0, #0x28]
+ ldrh r2, [r0, #0x28]
+ mov r1, #0x3e
+ bic r2, r1
+ strh r2, [r0, #0x28]
+ ldrh r2, [r0, #0x28]
+ ldr r1, _0204BEB0 ; =0xFFFFF03F
+ and r1, r2
+ strh r1, [r0, #0x28]
+ add r1, r0, #0x0
+ mov r2, #0x1
+ add r1, #0xa8
+ strb r2, [r1, #0x0]
+ add r1, r0, #0x0
+ add r1, #0xa4
+ str r3, [r1, #0x0]
+ ldr r1, _0204BEB4 ; =0x020F486C
+ add r2, r0, #0x0
+_0204BE6E:
+ ldrb r5, [r1, #0x0]
+ add r4, r2, #0x0
+ add r4, #0xa9
+ strb r5, [r4, #0x0]
+ add r4, r2, #0x0
+ ldrb r5, [r1, #0x1]
+ add r4, #0xaa
+ add r3, r3, #0x1
+ strb r5, [r4, #0x0]
+ add r1, r1, #0x2
+ add r2, r2, #0x2
+ cmp r3, #0x6
+ blt _0204BE6E
+ mov r4, #0x0
+ add r3, r0, #0x0
+ add r1, r4, #0x0
+_0204BE8E:
+ add r2, r3, #0x0
+ add r2, #0xb6
+ strh r1, [r2, #0x0]
+ add r2, r3, #0x0
+ add r2, #0xb8
+ add r4, r4, #0x1
+ add r3, r3, #0x4
+ strh r1, [r2, #0x0]
+ cmp r4, #0xc
+ blt _0204BE8E
+ ldrb r3, [r0, #0x0]
+ mov r2, #0x4
+ bic r3, r2
+ strb r3, [r0, #0x0]
+ bl FUN_0204BED8
+ pop {r3-r5, pc}
+ .balign 4
+_0204BEB0: .word 0xFFFFF03F
+_0204BEB4: .word 0x020F486C
+
+ thumb_func_start FUN_0204BEB8
+FUN_0204BEB8: ; 0x0204BEB8
+ ldrb r2, [r0, #0x0]
+ mov r1, #0x1
+ bic r2, r1
+ mov r1, #0x1
+ orr r1, r2
+ strb r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204BEC8
+FUN_0204BEC8: ; 0x0204BEC8
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+
+ thumb_func_start FUN_0204BED0
+FUN_0204BED0: ; 0x0204BED0
+ add r0, r0, r1
+ ldrb r0, [r0, #0x3]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204BED8
+FUN_0204BED8: ; 0x0204BED8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bmi _0204BEE4
+ cmp r4, #0x19
+ blt _0204BEE8
+_0204BEE4:
+ bl ErrorHandling
+_0204BEE8:
+ mov r0, #0x1
+ ldrsb r1, [r5, r0]
+ cmp r1, #0x19
+ bge _0204BF10
+ add r2, r5, #0x3
+ ldrb r1, [r2, r4]
+ cmp r1, #0x0
+ bne _0204BF10
+ strb r0, [r2, r4]
+ ldrsb r0, [r5, r0]
+ add r0, r0, #0x1
+ strb r0, [r5, #0x1]
+ cmp r4, #0x3
+ bne _0204BF0C
+ ldrb r1, [r5, #0x0]
+ mov r0, #0x2
+ orr r0, r1
+ strb r0, [r5, #0x0]
+_0204BF0C:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204BF10:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204BF14
+FUN_0204BF14: ; 0x0204BF14
+ mov r1, #0x2
+ ldrsb r0, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204BF1C
+FUN_0204BF1C: ; 0x0204BF1C
+ push {r3-r4}
+ mov r1, #0x2
+ ldrsb r3, [r0, r1]
+ mov r2, #0x0
+ add r4, r3, #0x0
+_0204BF26:
+ add r3, r3, #0x1
+ cmp r3, #0x19
+ blt _0204BF2E
+ add r3, r2, #0x0
+_0204BF2E:
+ cmp r3, r4
+ beq _0204BF3A
+ add r1, r0, r3
+ ldrb r1, [r1, #0x3]
+ cmp r1, #0x0
+ beq _0204BF26
+_0204BF3A:
+ mov r1, #0x2
+ strb r3, [r0, #0x2]
+ ldrsb r0, [r0, r1]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0204BF44
+FUN_0204BF44: ; 0x0204BF44
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _0204BF4E
+ bl ErrorHandling
+_0204BF4E:
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1d
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BF58
+FUN_0204BF58: ; 0x0204BF58
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _0204BF66
+ bl ErrorHandling
+_0204BF66:
+ cmp r4, #0x8
+ blo _0204BF6E
+ bl ErrorHandling
+_0204BF6E:
+ ldrb r1, [r5, #0x0]
+ mov r0, #0x38
+ bic r1, r0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1a
+ orr r0, r1
+ strb r0, [r5, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204BF84
+FUN_0204BF84: ; 0x0204BF84
+ ldr r0, [r0, #0x24]
+ bx lr
+
+ thumb_func_start FUN_0204BF88
+FUN_0204BF88: ; 0x0204BF88
+ ldrb r2, [r0, #0x0]
+ lsl r2, r2, #0x1e
+ lsr r2, r2, #0x1f
+ beq _0204BF92
+ str r1, [r0, #0x24]
+_0204BF92:
+ bx lr
+
+ thumb_func_start FUN_0204BF94
+FUN_0204BF94: ; 0x0204BF94
+ ldrh r0, [r0, #0x28]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+
+ thumb_func_start FUN_0204BF9C
+FUN_0204BF9C: ; 0x0204BF9C
+ ldrh r3, [r0, #0x28]
+ lsl r3, r3, #0x1a
+ lsr r3, r3, #0x1b
+ str r3, [r1, #0x0]
+ ldrh r0, [r0, #0x28]
+ lsl r0, r0, #0x14
+ lsr r0, r0, #0x1a
+ str r0, [r2, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204BFB0
+FUN_0204BFB0: ; 0x0204BFB0
+ push {r4-r5}
+ ldrh r4, [r0, #0x28]
+ mov r5, #0x1
+ lsl r1, r1, #0x10
+ bic r4, r5
+ lsr r5, r1, #0x10
+ mov r1, #0x1
+ and r1, r5
+ orr r1, r4
+ strh r1, [r0, #0x28]
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ lsl r2, r2, #0x1b
+ ldrh r1, [r0, #0x28]
+ mov r4, #0x3e
+ lsr r2, r2, #0x1a
+ bic r1, r4
+ orr r1, r2
+ strh r1, [r0, #0x28]
+ ldrh r2, [r0, #0x28]
+ ldr r1, _0204BFEC ; =0xFFFFF03F
+ and r2, r1
+ lsl r1, r3, #0x10
+ lsr r1, r1, #0x10
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x14
+ orr r1, r2
+ strh r1, [r0, #0x28]
+ pop {r4-r5}
+ bx lr
+ .balign 4
+_0204BFEC: .word 0xFFFFF03F
+
+ thumb_func_start FUN_0204BFF0
+FUN_0204BFF0: ; 0x0204BFF0
+ push {r3-r4}
+ add r3, r0, #0x0
+ add r3, #0xa8
+ ldrb r3, [r3, #0x0]
+ cmp r3, r1
+ bne _0204C016
+ add r1, r0, #0x0
+ add r1, #0xa4
+ ldr r4, [r1, #0x0]
+ mov r3, #0x1
+ sub r1, r2, #0x1
+ add r2, r3, #0x0
+ lsl r2, r1
+ add r1, r4, #0x0
+ orr r1, r2
+ add r0, #0xa4
+ str r1, [r0, #0x0]
+ pop {r3-r4}
+ bx lr
+_0204C016:
+ add r3, r0, #0x0
+ add r3, #0xa8
+ strb r1, [r3, #0x0]
+ mov r3, #0x1
+ sub r1, r2, #0x1
+ add r2, r3, #0x0
+ lsl r2, r1
+ add r0, #0xa4
+ str r2, [r0, #0x0]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0204C02C
+FUN_0204C02C: ; 0x0204C02C
+ push {r3-r4}
+ add r3, r0, #0x0
+ add r3, #0xa8
+ ldrb r3, [r3, #0x0]
+ cmp r3, r1
+ bne _0204C052
+ add r1, r0, #0x0
+ add r1, #0xa4
+ ldr r4, [r1, #0x0]
+ mov r3, #0x1
+ sub r1, r2, #0x1
+ add r2, r3, #0x0
+ lsl r2, r1
+ mvn r1, r2
+ and r1, r4
+ add r0, #0xa4
+ str r1, [r0, #0x0]
+ pop {r3-r4}
+ bx lr
+_0204C052:
+ add r2, r0, #0x0
+ add r2, #0xa8
+ strb r1, [r2, #0x0]
+ mov r1, #0x0
+ add r0, #0xa4
+ str r1, [r0, #0x0]
+ pop {r3-r4}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204C064
+FUN_0204C064: ; 0x0204C064
+ add r3, r0, #0x0
+ add r3, #0xa8
+ ldrb r3, [r3, #0x0]
+ cmp r3, r1
+ bne _0204C07C
+ add r0, #0xa4
+ ldr r1, [r0, #0x0]
+ sub r0, r2, #0x1
+ lsr r1, r0
+ mov r0, #0x1
+ and r0, r1
+ bx lr
+_0204C07C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204C080
+FUN_0204C080: ; 0x0204C080
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ cmp r4, #0x6
+ blt _0204C092
+ bl ErrorHandling
+_0204C092:
+ lsl r1, r4, #0x1
+ add r0, r5, r1
+ add r0, #0xa9
+ strb r6, [r0, #0x0]
+ add r0, r5, r1
+ add r0, #0xaa
+ strb r7, [r0, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C0A4
+FUN_0204C0A4: ; 0x0204C0A4
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ cmp r4, #0x6
+ blt _0204C0B6
+ bl ErrorHandling
+_0204C0B6:
+ lsl r1, r4, #0x1
+ add r0, r5, r1
+ add r0, #0xa9
+ ldrb r0, [r0, #0x0]
+ strb r0, [r6, #0x0]
+ add r0, r5, r1
+ add r0, #0xaa
+ ldrb r0, [r0, #0x0]
+ strb r0, [r7, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C0CC
+FUN_0204C0CC: ; 0x0204C0CC
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+
+ thumb_func_start FUN_0204C0D4
+FUN_0204C0D4: ; 0x0204C0D4
+ push {r3, lr}
+ ldrb r2, [r0, #0x0]
+ lsl r2, r2, #0x1d
+ lsr r2, r2, #0x1f
+ beq _0204C0E6
+ add r0, #0x2a
+ mov r2, #0x78
+ bl MI_CpuCopy8
+_0204C0E6:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204C0E8
+FUN_0204C0E8: ; 0x0204C0E8
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r4, #0x0
+ add r1, #0x2a
+ mov r2, #0x78
+ bl MI_CpuCopy8
+ ldrb r1, [r4, #0x0]
+ mov r0, #0x4
+ orr r0, r1
+ strb r0, [r4, #0x0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C104
+FUN_0204C104: ; 0x0204C104
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_0204C158
+ cmp r0, #0xc
+ blt _0204C138
+ mov r0, #0x0
+ add r1, r5, #0x0
+_0204C116:
+ add r2, r1, #0x0
+ add r2, #0xba
+ ldrh r3, [r2, #0x0]
+ add r2, r1, #0x0
+ add r2, #0xb6
+ strh r3, [r2, #0x0]
+ add r2, r1, #0x0
+ add r2, #0xbc
+ ldrh r3, [r2, #0x0]
+ add r2, r1, #0x0
+ add r2, #0xb8
+ add r0, r0, #0x1
+ add r1, r1, #0x4
+ strh r3, [r2, #0x0]
+ cmp r0, #0xb
+ blt _0204C116
+ mov r0, #0xb
+_0204C138:
+ lsl r4, r0, #0x2
+ add r0, r6, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, r5, r4
+ add r1, #0xb6
+ strh r0, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0206B754
+ add r1, r5, r4
+ add r1, #0xb8
+ strh r0, [r1, #0x0]
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204C158
+FUN_0204C158: ; 0x0204C158
+ mov r2, #0x0
+_0204C15A:
+ add r1, r0, #0x0
+ add r1, #0xb6
+ ldrh r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _0204C168
+ add r0, r2, #0x0
+ bx lr
+_0204C168:
+ add r2, r2, #0x1
+ add r0, r0, #0x4
+ cmp r2, #0xc
+ blt _0204C15A
+ add r0, r2, #0x0
+ bx lr
+
+ thumb_func_start FUN_0204C174
+FUN_0204C174: ; 0x0204C174
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x0]
+ cmp r4, #0xc
+ blt _0204C186
+ bl ErrorHandling
+_0204C186:
+ add r6, r5, #0x0
+ lsl r4, r4, #0x2
+ add r6, #0xb6
+ ldrh r0, [r6, r4]
+ cmp r0, #0x0
+ bne _0204C196
+ bl ErrorHandling
+_0204C196:
+ ldrh r0, [r6, r4]
+ str r0, [r7, #0x0]
+ add r0, r5, r4
+ add r0, #0xb8
+ ldrh r1, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ str r1, [r0, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C1A8
+FUN_0204C1A8: ; 0x0204C1A8
+ ldr r3, _0204C1B0 ; =FUN_02022610
+ mov r1, #0x5
+ bx r3
+ nop
+_0204C1B0: .word FUN_02022610
+
+ thumb_func_start FUN_0204C1B4
+FUN_0204C1B4: ; 0x0204C1B4
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ ldr r0, [sp, #0x24]
+ mov r1, #0x20
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02016998
+ add r2, r0, #0x0
+ str r5, [r2, #0x4]
+ str r4, [r2, #0x8]
+ str r6, [r2, #0xc]
+ add r0, sp, #0x8
+ ldrh r0, [r0, #0x10]
+ ldr r1, _0204C1F0 ; =FUN_0204C1F4
+ strh r0, [r2, #0x10]
+ ldr r0, [sp, #0x1c]
+ str r0, [r2, #0x14]
+ ldr r0, [sp, #0x20]
+ str r0, [r2, #0x18]
+ ldr r0, [sp, #0x24]
+ str r0, [r2, #0x1c]
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ nop
+_0204C1F0: .word FUN_0204C1F4
+
+ thumb_func_start FUN_0204C1F4
+FUN_0204C1F4: ; 0x0204C1F4
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _0204C214
+ cmp r0, #0x1
+ beq _0204C23C
+ b _0204C258
+_0204C214:
+ ldr r0, [r5, #0x4]
+ ldr r0, [r0, #0x1c]
+ bl MOD05_021F4608
+ ldr r0, [r4, #0x14]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x1c]
+ str r0, [sp, #0x8]
+ ldrh r3, [r4, #0x10]
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200E1D0
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C258
+_0204C23C:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204C258
+ ldr r0, [r5, #0x4]
+ ldr r0, [r0, #0x1c]
+ bl MOD05_021F45E8
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_0204C258:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C260
+FUN_0204C260: ; 0x0204C260
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x24
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r0, [r2, #0x4]
+ str r5, [r2, #0x8]
+ str r4, [r2, #0xc]
+ ldr r0, [sp, #0x18]
+ str r6, [r2, #0x10]
+ str r0, [r2, #0x14]
+ ldr r0, [sp, #0x1c]
+ ldr r1, _0204C298 ; =FUN_0204C380
+ str r0, [r2, #0x18]
+ ldr r0, [sp, #0x20]
+ str r0, [r2, #0x20]
+ add r0, r7, #0x0
+ bl FUN_020463CC
+ pop {r3-r7, pc}
+ nop
+_0204C298: .word FUN_0204C380
+
+ thumb_func_start FUN_0204C29C
+FUN_0204C29C: ; 0x0204C29C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x24
+ str r2, [sp, #0x0]
+ str r3, [sp, #0x4]
+ bl FUN_020169D8
+ add r6, r0, #0x0
+ mov r4, #0x0
+ str r4, [r6, #0x0]
+ str r4, [r6, #0x4]
+ ldr r0, [sp, #0x0]
+ str r5, [r6, #0x8]
+ str r0, [r6, #0xc]
+ ldr r0, [sp, #0x4]
+ str r0, [r6, #0x10]
+ ldr r0, [sp, #0x20]
+ str r0, [r6, #0x14]
+ ldr r0, [sp, #0x24]
+ str r0, [r6, #0x18]
+ ldr r0, [r7, #0x1c]
+ ldr r0, [r0, #0x0]
+ str r0, [sp, #0x8]
+ bl FUN_02034930
+ cmp r0, #0x0
+ beq _0204C308
+ add r0, r5, #0x0
+ bl FUN_02034930
+ cmp r0, #0x0
+ beq _0204C2E6
+ mov r4, #0x6
+ b _0204C36A
+_0204C2E6:
+ add r0, r5, #0x0
+ bl FUN_02034964
+ cmp r0, #0x0
+ beq _0204C2F4
+ mov r4, #0x5
+ b _0204C36A
+_0204C2F4:
+ add r0, r5, #0x0
+ bl FUN_02034944
+ cmp r0, #0x0
+ beq _0204C302
+ mov r4, #0x6
+ b _0204C36A
+_0204C302:
+ bl ErrorHandling
+ b _0204C36A
+_0204C308:
+ ldr r0, [sp, #0x8]
+ bl FUN_02034964
+ cmp r0, #0x0
+ beq _0204C334
+ add r0, r5, #0x0
+ bl FUN_02034930
+ cmp r0, #0x0
+ beq _0204C320
+ mov r4, #0x4
+ b _0204C36A
+_0204C320:
+ add r0, r5, #0x0
+ bl FUN_02034944
+ cmp r0, #0x0
+ beq _0204C32E
+ mov r4, #0x6
+ b _0204C36A
+_0204C32E:
+ bl ErrorHandling
+ b _0204C36A
+_0204C334:
+ ldr r0, [sp, #0x8]
+ bl FUN_02034944
+ cmp r0, #0x0
+ beq _0204C366
+ add r0, r5, #0x0
+ bl FUN_02034964
+ cmp r0, #0x0
+ bne _0204C36A
+ add r0, r5, #0x0
+ bl FUN_02034944
+ cmp r0, #0x0
+ beq _0204C356
+ mov r4, #0x6
+ b _0204C36A
+_0204C356:
+ add r0, r5, #0x0
+ bl FUN_02034930
+ cmp r0, #0x0
+ bne _0204C36A
+ bl ErrorHandling
+ b _0204C36A
+_0204C366:
+ bl ErrorHandling
+_0204C36A:
+ ldr r1, _0204C37C ; =FUN_0204C380
+ add r0, r7, #0x0
+ add r2, r6, #0x0
+ str r4, [r6, #0x20]
+ bl FUN_020463CC
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_0204C37C: .word FUN_0204C380
+
+ thumb_func_start FUN_0204C380
+FUN_0204C380: ; 0x0204C380
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r6, r4, #0x0
+ ldr r1, [r4, #0x0]
+ add r6, #0x8
+ cmp r1, #0x6
+ bhi _0204C458
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0204C3A8: ; jump table (using 16-bit offset)
+ .short _0204C3B6 - _0204C3A8 - 2; case 0
+ .short _0204C3DA - _0204C3A8 - 2; case 1
+ .short _0204C3E8 - _0204C3A8 - 2; case 2
+ .short _0204C3F8 - _0204C3A8 - 2; case 3
+ .short _0204C406 - _0204C3A8 - 2; case 4
+ .short _0204C41E - _0204C3A8 - 2; case 5
+ .short _0204C450 - _0204C3A8 - 2; case 6
+_0204C3B6:
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ ldr r1, [r6, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD60
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0204C45C ; =0x020F4894
+ ldr r1, [r1, r2]
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C3DA:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C3E8:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02049160
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C3F8:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C406:
+ ldr r0, [r4, #0x20]
+ lsl r1, r0, #0x2
+ ldr r0, _0204C460 ; =0x020F48B0
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ beq _0204C416
+ add r0, r7, #0x0
+ blx r1
+_0204C416:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C41E:
+ bl FUN_02005404
+ cmp r0, #0x0
+ bne _0204C458
+ ldr r1, [r6, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0204AD8C
+ add r0, r7, #0x0
+ bl MOD05_021E331C
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0204C464 ; =0x020F4878
+ ldr r1, [r1, r2]
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _0204C458
+_0204C450:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C458:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204C45C: .word 0x020F4894
+_0204C460: .word 0x020F48B0
+_0204C464: .word 0x020F4878
+
+ thumb_func_start FUN_0204C468
+FUN_0204C468: ; 0x0204C468
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C484
+ cmp r0, #0x1
+ beq _0204C498
+ b _0204C49C
+_0204C484:
+ ldr r0, _0204C4A0 ; =0x00000603
+ bl FUN_020054C8
+ add r0, r5, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C49C
+_0204C498:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0204C49C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0204C4A0: .word 0x00000603
+
+ thumb_func_start FUN_0204C4A4
+FUN_0204C4A4: ; 0x0204C4A4
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x3
+ bhi _0204C522
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204C4C8: ; jump table (using 16-bit offset)
+ .short _0204C4D0 - _0204C4C8 - 2; case 0
+ .short _0204C4F6 - _0204C4C8 - 2; case 1
+ .short _0204C510 - _0204C4C8 - 2; case 2
+ .short _0204C51E - _0204C4C8 - 2; case 3
+_0204C4D0:
+ bl MOD05_021DA5B8
+ str r0, [r4, #0x1c]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl MOD05_021DA5D0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C522
+_0204C4F6:
+ ldr r1, [r4, #0x1c]
+ add r0, r5, #0x0
+ bl MOD05_021DA5D8
+ cmp r0, #0x0
+ beq _0204C522
+ ldr r0, [r4, #0x1c]
+ bl MOD05_021DA5C8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C522
+_0204C510:
+ add r0, r6, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C522
+_0204C51E:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C522:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C528
+FUN_0204C528: ; 0x0204C528
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C54A
+ cmp r0, #0x1
+ beq _0204C570
+ cmp r0, #0x2
+ beq _0204C598
+ b _0204C59C
+_0204C54A:
+ bl MOD05_021DA5B8
+ str r0, [r4, #0x1c]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl MOD05_021DA5D0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C59C
+_0204C570:
+ ldr r0, [r5, #0x38]
+ ldr r6, [r4, #0x1c]
+ bl FUN_020552F8
+ add r2, r0, #0x0
+ lsl r2, r2, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ lsr r2, r2, #0x18
+ bl MOD05_021DAC70
+ cmp r0, #0x0
+ beq _0204C59C
+ ldr r0, [r4, #0x1c]
+ bl MOD05_021DA5C8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C59C
+_0204C598:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C59C:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204C5A0
+FUN_0204C5A0: ; 0x0204C5A0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x3
+ bhi _0204C63C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204C5C4: ; jump table (using 16-bit offset)
+ .short _0204C5CC - _0204C5C4 - 2; case 0
+ .short _0204C5FE - _0204C5C4 - 2; case 1
+ .short _0204C61C - _0204C5C4 - 2; case 2
+ .short _0204C630 - _0204C5C4 - 2; case 3
+_0204C5CC:
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ cmp r6, #0x2
+ bne _0204C5E6
+ mov r1, #0xa
+ bl FUN_0205ADDC
+ b _0204C5F6
+_0204C5E6:
+ cmp r6, #0x3
+ bne _0204C5F2
+ mov r1, #0xb
+ bl FUN_0205ADDC
+ b _0204C5F6
+_0204C5F2:
+ bl ErrorHandling
+_0204C5F6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C63C
+_0204C5FE:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _0204C63C
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C63C
+_0204C61C:
+ ldr r0, _0204C640 ; =0x00000603
+ bl FUN_020054C8
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C63C
+_0204C630:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204C63C
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C63C:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_0204C640: .word 0x00000603
+
+ thumb_func_start FUN_0204C644
+FUN_0204C644: ; 0x0204C644
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C668
+ cmp r0, #0x1
+ beq _0204C67E
+ b _0204C682
+_0204C668:
+ bl MOD05_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C688 ; =0x021DB1D1
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C682
+_0204C67E:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C682:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204C688: .word 0x021DB1D1
+
+ thumb_func_start FUN_0204C68C
+FUN_0204C68C: ; 0x0204C68C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C6B0
+ cmp r0, #0x1
+ beq _0204C6C6
+ b _0204C6CA
+_0204C6B0:
+ bl MOD05_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C6D0 ; =0x021DB145
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C6CA
+_0204C6C6:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C6CA:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204C6D0: .word 0x021DB145
+
+ thumb_func_start FUN_0204C6D4
+FUN_0204C6D4: ; 0x0204C6D4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x3
+ bhi _0204C798
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204C6F8: ; jump table (using 16-bit offset)
+ .short _0204C700 - _0204C6F8 - 2; case 0
+ .short _0204C74A - _0204C6F8 - 2; case 1
+ .short _0204C770 - _0204C6F8 - 2; case 2
+ .short _0204C794 - _0204C6F8 - 2; case 3
+_0204C700:
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ add r7, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0204A6E0
+ bl FUN_020547B0
+ cmp r0, #0x0
+ beq _0204C736
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ mov r0, #0x1
+ str r0, [r5, #0x4]
+ b _0204C798
+_0204C736:
+ bl MOD05_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C79C ; =0x021DB251
+ add r0, r6, #0x0
+ bl FUN_0204640C
+ mov r0, #0x3
+ str r0, [r5, #0x4]
+ b _0204C798
+_0204C74A:
+ bl MOD05_021DA5B8
+ str r0, [r5, #0x1c]
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r5, #0x1c]
+ add r0, r6, #0x0
+ bl MOD05_021DA5D0
+ ldr r0, [r5, #0x4]
+ add r0, r0, #0x1
+ str r0, [r5, #0x4]
+ b _0204C798
+_0204C770:
+ ldr r5, [r5, #0x1c]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl MOD05_021DA7B4
+ cmp r0, #0x0
+ beq _0204C798
+ add r0, r5, #0x0
+ bl MOD05_021DA5C8
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ mov r1, #0x0
+ bl FUN_0205889C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C794:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C798:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204C79C: .word 0x021DB251
+
+ thumb_func_start FUN_0204C7A0
+FUN_0204C7A0: ; 0x0204C7A0
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C7BE
+ cmp r0, #0x1
+ beq _0204C814
+ b _0204C818
+_0204C7BE:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204A6E0
+ bl FUN_020547B0
+ cmp r0, #0x0
+ beq _0204C7FE
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ mov r0, #0x1
+ str r0, [r4, #0x4]
+ ldr r1, _0204C81C ; =FUN_0204C6D4
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463EC
+ b _0204C818
+_0204C7FE:
+ bl MOD05_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C820 ; =0x021DB381
+ add r0, r6, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C818
+_0204C814:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204C818:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204C81C: .word FUN_0204C6D4
+_0204C820: .word 0x021DB381
+
+ thumb_func_start FUN_0204C824
+FUN_0204C824: ; 0x0204C824
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C846
+ cmp r0, #0x1
+ beq _0204C86C
+ cmp r0, #0x2
+ beq _0204C894
+ b _0204C898
+_0204C846:
+ bl MOD05_021DA5B8
+ str r0, [r4, #0x1c]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ ldr r2, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl MOD05_021DA5D0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C898
+_0204C86C:
+ ldr r0, [r5, #0x38]
+ ldr r6, [r4, #0x1c]
+ bl FUN_020552F8
+ add r2, r0, #0x0
+ lsl r2, r2, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ lsr r2, r2, #0x18
+ bl MOD05_021DAAA4
+ cmp r0, #0x0
+ beq _0204C898
+ ldr r0, [r4, #0x1c]
+ bl MOD05_021DA5C8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C898
+_0204C894:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C898:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204C89C
+FUN_0204C89C: ; 0x0204C89C
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x3
+ bhi _0204C936
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204C8C0: ; jump table (using 16-bit offset)
+ .short _0204C8C8 - _0204C8C0 - 2; case 0
+ .short _0204C904 - _0204C8C0 - 2; case 1
+ .short _0204C922 - _0204C8C0 - 2; case 2
+ .short _0204C932 - _0204C8C0 - 2; case 3
+_0204C8C8:
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ cmp r0, #0x2
+ bne _0204C8EA
+ add r0, r6, #0x0
+ mov r1, #0xa
+ bl FUN_0205ADDC
+ b _0204C8FC
+_0204C8EA:
+ cmp r0, #0x3
+ bne _0204C8F8
+ add r0, r6, #0x0
+ mov r1, #0xb
+ bl FUN_0205ADDC
+ b _0204C8FC
+_0204C8F8:
+ bl ErrorHandling
+_0204C8FC:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C904:
+ ldr r0, [r5, #0x38]
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _0204C936
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C922:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0204C936
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C936
+_0204C932:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C936:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204C93C
+FUN_0204C93C: ; 0x0204C93C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0204C960
+ cmp r0, #0x1
+ beq _0204C976
+ b _0204C97A
+_0204C960:
+ bl MOD05_021DB030
+ add r2, r0, #0x0
+ ldr r1, _0204C980 ; =0x021DB041
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0204C97A
+_0204C976:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204C97A:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204C980: .word 0x021DB041
+
+ thumb_func_start FUN_0204C984
+FUN_0204C984: ; 0x0204C984
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ bl FUN_02055350
+ cmp r4, #0x3
+ bne _0204C9AA
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ sub r0, r1, r0
+ str r0, [sp, #0x4]
+ b _0204C9B4
+_0204C9AA:
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+_0204C9B4:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r2, [sp, #0x4]
+ ldr r3, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0204A708
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ add r2, r4, #0x0
+ bl FUN_020554EC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EFEC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EC68
+ add sp, #0x10
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204C9EC
+FUN_0204C9EC: ; 0x0204C9EC
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ bl FUN_02055350
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0204A6E0
+ add r6, r0, #0x0
+ bl FUN_020548D8
+ cmp r0, #0x0
+ beq _0204CA32
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+ mov r4, #0x2
+ b _0204CA48
+_0204CA32:
+ add r0, r6, #0x0
+ bl FUN_020548E4
+ cmp r0, #0x0
+ beq _0204CA48
+ mov r0, #0x1
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x10
+ sub r0, r1, r0
+ str r0, [sp, #0x4]
+ mov r4, #0x3
+_0204CA48:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r2, [sp, #0x4]
+ ldr r3, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0204A708
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ add r2, r4, #0x0
+ bl FUN_020554EC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EFEC
+ ldr r0, [r5, #0x38]
+ bl FUN_02055360
+ ldr r1, [r5, #0x20]
+ bl FUN_0201EC68
+ add sp, #0x10
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0204CA80
+FUN_0204CA80: ; 0x0204CA80
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CA8C ; =0x020F48CC
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CA8C: .word 0x020F48CC
+
+ thumb_func_start FUN_0204CA90
+FUN_0204CA90: ; 0x0204CA90
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CA9C ; =0x020F48CD
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CA9C: .word 0x020F48CD
+
+ thumb_func_start FUN_0204CAA0
+FUN_0204CAA0: ; 0x0204CAA0
+ mov r1, #0x1c
+ ldr r2, _0204CAAC ; =0x020F48CC
+ mul r1, r0
+ add r0, r2, r1
+ add r0, r0, #0x2
+ bx lr
+ .balign 4
+_0204CAAC: .word 0x020F48CC
+
+ thumb_func_start FUN_0204CAB0
+FUN_0204CAB0: ; 0x0204CAB0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CABC ; =0x020F48D7
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CABC: .word 0x020F48D7
+
+ thumb_func_start FUN_0204CAC0
+FUN_0204CAC0: ; 0x0204CAC0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CACC ; =0x020F48D8
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CACC: .word 0x020F48D8
+
+ thumb_func_start FUN_0204CAD0
+FUN_0204CAD0: ; 0x0204CAD0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CADC ; =0x020F48D9
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CADC: .word 0x020F48D9
+
+ thumb_func_start FUN_0204CAE0
+FUN_0204CAE0: ; 0x0204CAE0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CAEC ; =0x020F48DC
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_0204CAEC: .word 0x020F48DC
+
+ thumb_func_start FUN_0204CAF0
+FUN_0204CAF0: ; 0x0204CAF0
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CAFC ; =0x020F48E0
+ ldr r0, [r0, r1]
+ bx lr
+ nop
+_0204CAFC: .word 0x020F48E0
+
+ thumb_func_start FUN_0204CB00
+FUN_0204CB00: ; 0x0204CB00
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CB0C ; =0x020F48E4
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CB0C: .word 0x020F48E4
+
+ thumb_func_start FUN_0204CB10
+FUN_0204CB10: ; 0x0204CB10
+ mov r1, #0x1c
+ mul r1, r0
+ ldr r0, _0204CB1C ; =0x020F48E5
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_0204CB1C: .word 0x020F48E5
+
+ thumb_func_start FUN_0204CB20
+FUN_0204CB20: ; 0x0204CB20
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ ldr r1, _0204CC34 ; =0x021C5A68
+ add r5, r2, #0x0
+ ldr r2, [r1, #0x0]
+ cmp r2, #0x0
+ beq _0204CB32
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204CB32:
+ bne _0204CB40
+ mov r2, #0xb1
+ str r0, [r1, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ bl MI_CpuFill8
+_0204CB40:
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r0, _0204CC38 ; =0x000002BE
+ ldr r2, [r1, #0x0]
+ strb r5, [r2, r0]
+ mov r2, #0x0
+ ldr r0, [r1, #0x0]
+ cmp r5, #0x0
+ str r2, [r0, #0x4]
+ beq _0204CB6C
+ bl MOD18_02244D1C
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x4]
+ ldr r0, [r1, #0x0]
+ ldr r0, [r0, #0x4]
+ bl MOD18_02244D20
+_0204CB6C:
+ ldr r0, _0204CC34 ; =0x021C5A68
+ ldr r7, _0204CC3C ; =0x0000FFFF
+ ldr r1, [r0, #0x0]
+ str r4, [r1, #0x54]
+ mov r1, #0x0
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+_0204CB7A:
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ mov r4, #0x0
+ add r5, #0xa6
+ mvn r4, r4
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0xa2
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0xa4
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ add r5, #0xa7
+ mov r4, #0x2
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ mov r4, #0x0
+ add r5, #0x66
+ mvn r4, r4
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0x62
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r4, r4, r2
+ add r4, #0x64
+ strh r7, [r4, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r2
+ add r5, #0x67
+ mov r4, #0x2
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ ldr r5, _0204CC40 ; =0x00000102
+ add r6, r4, r1
+ mov r4, #0x0
+ mvn r4, r4
+ strb r4, [r6, r5]
+ ldr r4, [r0, #0x0]
+ add r2, #0x8
+ add r5, r4, r1
+ add r5, #0xe2
+ mov r4, #0x0
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r1
+ add r5, #0xea
+ mov r4, #0x1
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ add r5, r4, r1
+ add r5, #0xf2
+ mov r4, #0x0
+ strb r4, [r5, #0x0]
+ ldr r4, [r0, #0x0]
+ mov r5, #0xff
+ add r6, r4, r3
+ add r4, r5, #0x0
+ add r4, #0x6b
+ add r1, r1, #0x1
+ add r3, #0x22
+ strh r5, [r6, r4]
+ cmp r1, #0x8
+ blt _0204CB7A
+ ldr r2, _0204CC34 ; =0x021C5A68
+ mov r1, #0xaf
+ ldr r3, [r2, #0x0]
+ lsl r1, r1, #0x2
+ mov r0, #0x0
+ strb r0, [r3, r1]
+ ldr r2, [r2, #0x0]
+ add r1, r1, #0x3
+ strb r0, [r2, r1]
+ ldr r0, _0204CC44 ; =FUN_0204D4F0
+ mov r1, #0x0
+ mov r2, #0xc8
+ bl FUN_0200CA44
+ ldr r1, _0204CC34 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ str r0, [r1, #0x50]
+ bl FUN_02030FA8
+ bl FUN_0204CF60
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_0204CC34: .word 0x021C5A68
+_0204CC38: .word 0x000002BE
+_0204CC3C: .word 0x0000FFFF
+_0204CC40: .word 0x00000102
+_0204CC44: .word FUN_0204D4F0
+
+ thumb_func_start FUN_0204CC48
+FUN_0204CC48: ; 0x0204CC48
+ push {r3-r7, lr}
+ ldr r4, _0204CC94 ; =0x021C5A68
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _0204CC92
+ ldr r6, _0204CC98 ; =0x000002BE
+ mov r5, #0x0
+ mov r7, #0x1
+_0204CC58:
+ ldr r0, [r4, #0x0]
+ ldrb r0, [r0, r6]
+ cmp r0, #0x0
+ beq _0204CC6E
+ lsl r0, r5, #0x18
+ lsr r0, r0, #0x18
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_0204D43C
+ b _0204CC7A
+_0204CC6E:
+ lsl r0, r5, #0x18
+ mov r1, #0x1
+ lsr r0, r0, #0x18
+ add r2, r1, #0x0
+ bl FUN_0204D43C
+_0204CC7A:
+ add r5, r5, #0x1
+ cmp r5, #0x8
+ blt _0204CC58
+ ldr r0, _0204CC94 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldr r0, _0204CC98 ; =0x000002BE
+ ldrb r1, [r2, r0]
+ cmp r1, #0x0
+ beq _0204CC92
+ mov r1, #0x1
+ sub r0, r0, #0x1
+ strb r1, [r2, r0]
+_0204CC92:
+ pop {r3-r7, pc}
+ .balign 4
+_0204CC94: .word 0x021C5A68
+_0204CC98: .word 0x000002BE
+
+ thumb_func_start FUN_0204CC9C
+FUN_0204CC9C: ; 0x0204CC9C
+ push {r3, lr}
+ ldr r1, _0204CCD8 ; =0x021C5A68
+ ldr r3, [r1, #0x0]
+ cmp r3, #0x0
+ beq _0204CCD6
+ ldr r0, _0204CCDC ; =0x000002BB
+ mov r2, #0x1
+ strb r2, [r3, r0]
+ ldr r1, [r1, #0x0]
+ mov r2, #0x0
+ add r0, r0, #0x2
+ strb r2, [r1, r0]
+ bl FUN_0204CF60
+ mov r0, #0x1
+ bl FUN_0204D168
+ ldr r0, _0204CCD8 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ ldr r0, _0204CCD8 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+_0204CCD6:
+ pop {r3, pc}
+ .balign 4
+_0204CCD8: .word 0x021C5A68
+_0204CCDC: .word 0x000002BB
+
+ thumb_func_start FUN_0204CCE0
+FUN_0204CCE0: ; 0x0204CCE0
+ push {r3-r7, lr}
+ ldr r7, _0204CD70 ; =0x021C5A68
+ add r6, r0, #0x0
+ ldr r0, [r7, #0x0]
+ cmp r0, #0x0
+ beq _0204CD6E
+ mov r4, #0x0
+ add r5, r4, #0x0
+_0204CCF0:
+ ldr r0, [r7, #0x0]
+ add r1, r0, r5
+ mov r0, #0x9f
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204CD0E
+ bl FUN_02016A18
+ ldr r0, [r7, #0x0]
+ mov r1, #0x0
+ add r2, r0, r5
+ mov r0, #0x9f
+ lsl r0, r0, #0x2
+ str r1, [r2, r0]
+_0204CD0E:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x5
+ blt _0204CCF0
+ ldr r0, _0204CD70 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldr r0, _0204CD74 ; =0x000002B2
+ ldrh r1, [r2, r0]
+ cmp r1, #0x5
+ blo _0204CD28
+ ldr r0, [r2, #0x54]
+ bl FUN_02061B64
+_0204CD28:
+ mov r4, #0x0
+ add r5, r4, #0x0
+_0204CD2C:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_0204D43C
+ add r4, r4, #0x1
+ cmp r4, #0x8
+ blt _0204CD2C
+ ldr r0, _0204CD70 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x50]
+ bl FUN_0200CAB4
+ ldr r0, _0204CD70 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _0204CD60
+ bl MOD18_02244D3C
+ ldr r0, _0204CD70 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ bl FUN_02016A18
+_0204CD60:
+ ldr r0, _0204CD70 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ bl FUN_02016A18
+ ldr r0, _0204CD70 ; =0x021C5A68
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+_0204CD6E:
+ pop {r3-r7, pc}
+ .balign 4
+_0204CD70: .word 0x021C5A68
+_0204CD74: .word 0x000002B2
+
+ thumb_func_start FUN_0204CD78
+FUN_0204CD78: ; 0x0204CD78
+ push {r4, lr}
+ lsl r4, r0, #0x2
+ ldr r0, _0204CDB0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ ldr r0, [r0, #0x28]
+ cmp r0, #0x0
+ beq _0204CDAC
+ bl FUN_020646A0
+ cmp r0, #0x0
+ beq _0204CD9E
+ ldr r0, _0204CDB0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ ldr r0, [r0, #0x28]
+ bl FUN_02064520
+ b _0204CDA2
+_0204CD9E:
+ bl ErrorHandling
+_0204CDA2:
+ ldr r0, _0204CDB0 ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ str r1, [r0, #0x28]
+_0204CDAC:
+ pop {r4, pc}
+ nop
+_0204CDB0: .word 0x021C5A68
+
+ thumb_func_start FUN_0204CDB4
+FUN_0204CDB4: ; 0x0204CDB4
+ push {r3-r7, lr}
+ mov r4, #0x0
+ ldr r6, _0204CED4 ; =0x021C5A68
+ add r7, r4, #0x0
+ add r5, r4, #0x0
+_0204CDBE:
+ add r0, r4, #0x0
+ bl FUN_0204E778
+ add r0, r4, #0x0
+ bl FUN_0204CD78
+ cmp r4, #0x0
+ beq _0204CDD4
+ add r0, r4, #0x0
+ bl FUN_0204ED9C
+_0204CDD4:
+ ldr r1, [r6, #0x0]
+ add r0, r1, r7
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204CDFA
+ ldr r2, [r1, #0x54]
+ ldr r2, [r2, #0x38]
+ cmp r2, r0
+ beq _0204CDF2
+ ldr r2, _0204CED8 ; =0x000002BE
+ ldrb r1, [r1, r2]
+ cmp r1, #0x0
+ beq _0204CDF2
+ bl FUN_02055168
+_0204CDF2:
+ ldr r0, [r6, #0x0]
+ add r1, r0, r7
+ mov r0, #0x0
+ str r0, [r1, #0x8]
+_0204CDFA:
+ ldr r0, [r6, #0x0]
+ add r7, r7, #0x4
+ add r1, r0, r4
+ add r1, #0x48
+ mov r0, #0x0
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ mov r0, #0x0
+ add r1, #0xa6
+ mvn r0, r0
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204CEDC ; =0x0000FFFF
+ add r1, #0xa2
+ strh r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204CEDC ; =0x0000FFFF
+ add r1, #0xa4
+ strh r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ add r1, #0xa7
+ mov r0, #0x2
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ mov r0, #0x0
+ add r1, #0x66
+ mvn r0, r0
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204CEDC ; =0x0000FFFF
+ add r1, #0x62
+ strh r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204CEDC ; =0x0000FFFF
+ add r1, #0x64
+ strh r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ add r1, #0x67
+ mov r0, #0x2
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x0
+ add r2, r0, r4
+ ldr r0, _0204CEE0 ; =0x00000102
+ mvn r1, r1
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x0
+ add r2, r0, r4
+ ldr r0, _0204CEE4 ; =0x0000010A
+ add r5, #0x8
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r4
+ add r1, #0xe2
+ mov r0, #0x0
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r4
+ add r1, #0xea
+ mov r0, #0x1
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r4
+ add r1, #0xf2
+ mov r0, #0x0
+ strb r0, [r1, #0x0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x0
+ add r2, r0, r4
+ ldr r0, _0204CEE8 ; =0x0000013A
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ add r2, r0, r4
+ ldr r0, _0204CEEC ; =0x00000142
+ add r4, r4, #0x1
+ strb r1, [r2, r0]
+ cmp r4, #0x8
+ blt _0204CDBE
+ ldr r0, _0204CED4 ; =0x021C5A68
+ ldr r1, _0204CEF0 ; =0x000002BF
+ ldr r2, [r0, #0x0]
+ mov r0, #0x0
+ strb r0, [r2, r1]
+ bl FUN_0204CF60
+ ldr r0, _0204CED4 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x50]
+ cmp r0, #0x0
+ bne _0204CED0
+ ldr r0, _0204CEF4 ; =FUN_0204D4F0
+ mov r1, #0x0
+ mov r2, #0xc8
+ bl FUN_0200CA44
+ ldr r1, _0204CED4 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ str r0, [r1, #0x50]
+_0204CED0:
+ pop {r3-r7, pc}
+ nop
+_0204CED4: .word 0x021C5A68
+_0204CED8: .word 0x000002BE
+_0204CEDC: .word 0x0000FFFF
+_0204CEE0: .word 0x00000102
+_0204CEE4: .word 0x0000010A
+_0204CEE8: .word 0x0000013A
+_0204CEEC: .word 0x00000142
+_0204CEF0: .word 0x000002BF
+_0204CEF4: .word FUN_0204D4F0
+
+ thumb_func_start FUN_0204CEF8
+FUN_0204CEF8: ; 0x0204CEF8
+ push {r3, lr}
+ ldr r0, _0204CF20 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x50]
+ cmp r0, #0x0
+ beq _0204CF16
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0204D4F0
+ ldr r0, _0204CF20 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x50]
+ bl FUN_0200CAB4
+_0204CF16:
+ ldr r0, _0204CF20 ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ str r1, [r0, #0x50]
+ pop {r3, pc}
+ .balign 4
+_0204CF20: .word 0x021C5A68
+
+ thumb_func_start FUN_0204CF24
+FUN_0204CF24: ; 0x0204CF24
+ push {r3-r5, lr}
+ ldr r0, _0204CF58 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204CF54
+ mov r5, #0x0
+ add r4, r5, #0x0
+_0204CF32:
+ lsl r0, r5, #0x18
+ lsr r0, r0, #0x18
+ add r1, r4, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204D43C
+ add r0, r5, #0x0
+ bl FUN_0204F69C
+ add r5, r5, #0x1
+ cmp r5, #0x8
+ blt _0204CF32
+ ldr r0, _0204CF58 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204CF5C ; =0x000002BD
+ strb r2, [r1, r0]
+_0204CF54:
+ pop {r3-r5, pc}
+ nop
+_0204CF58: .word 0x021C5A68
+_0204CF5C: .word 0x000002BD
+
+ thumb_func_start FUN_0204CF60
+FUN_0204CF60: ; 0x0204CF60
+ push {r4, lr}
+ bl FUN_02031190
+ ldr r1, _0204D03C ; =0x021C5A68
+ lsl r0, r0, #0x2
+ ldr r2, [r1, #0x0]
+ ldr r1, [r2, #0x54]
+ add r0, r2, r0
+ ldr r1, [r1, #0x38]
+ str r1, [r0, #0x8]
+ bl FUN_02031190
+ ldr r1, _0204D03C ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0x48
+ strb r2, [r0, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0xa2
+ strh r0, [r1, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0xa4
+ strh r0, [r1, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_020552F8
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0xa6
+ strb r0, [r1, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0x62
+ strh r0, [r1, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0x64
+ strh r0, [r1, #0x0]
+ bl FUN_02031190
+ add r4, r0, #0x0
+ ldr r0, _0204D03C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_020552F8
+ ldr r1, _0204D03C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0x66
+ strb r0, [r1, #0x0]
+ pop {r4, pc}
+ nop
+_0204D03C: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D040
+FUN_0204D040: ; 0x0204D040
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ ldr r0, _0204D110 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D114 ; =0x000002BF
+ strb r2, [r1, r0]
+ bl FUN_02031190
+ ldr r2, _0204D110 ; =0x021C5A68
+ add r1, r0, #0x0
+ ldr r4, [r2, #0x0]
+ lsl r6, r1, #0x2
+ ldr r0, [r4, #0x54]
+ ldr r3, [r0, #0x38]
+ add r0, r4, r6
+ str r3, [r0, #0x8]
+ ldr r0, [r2, #0x0]
+ mov r3, #0x1
+ add r0, r0, r1
+ add r0, #0x48
+ strb r3, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ ldr r3, [r2, #0x0]
+ lsl r5, r0, #0x3
+ add r0, r3, r5
+ add r0, #0xa2
+ lsl r4, r1, #0x3
+ add r3, r3, r4
+ ldrh r0, [r0, #0x0]
+ add r3, #0xa2
+ strh r0, [r3, #0x0]
+ ldr r3, [r2, #0x0]
+ add r0, r3, r5
+ add r0, #0xa4
+ add r3, r3, r4
+ ldrh r0, [r0, #0x0]
+ add r3, #0xa4
+ strh r0, [r3, #0x0]
+ ldr r7, [r2, #0x0]
+ mov r0, #0xa6
+ add r3, r7, r5
+ ldrsb r0, [r3, r0]
+ add r3, r7, r4
+ add r3, #0xa6
+ strb r0, [r3, #0x0]
+ ldr r3, [r2, #0x0]
+ mov r7, #0x29
+ add r0, r3, r5
+ add r0, #0x62
+ add r3, r3, r4
+ ldrh r0, [r0, #0x0]
+ add r3, #0x62
+ lsl r7, r7, #0x4
+ strh r0, [r3, #0x0]
+ ldr r3, [r2, #0x0]
+ add r0, r3, r5
+ add r0, #0x64
+ add r3, r3, r4
+ ldrh r0, [r0, #0x0]
+ add r3, #0x64
+ strh r0, [r3, #0x0]
+ ldr r0, [r2, #0x0]
+ mov r3, #0x66
+ add r5, r0, r5
+ add r0, r0, r4
+ ldrsb r5, [r5, r3]
+ add r0, #0x66
+ strb r5, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ ldr r4, [r2, #0x0]
+ lsl r5, r0, #0x2
+ add r0, r4, r5
+ ldr r0, [r0, r7]
+ add r4, r4, r6
+ str r0, [r4, r7]
+ ldr r0, [r2, #0x0]
+ mov r4, #0x0
+ add r0, r0, r5
+ str r4, [r0, r7]
+ ldr r2, [r2, #0x0]
+ add r0, r2, r6
+ ldr r0, [r0, r7]
+ cmp r0, #0x0
+ beq _0204D0F8
+ add r3, #0xe4
+ add r3, r2, r3
+ mov r2, #0x22
+ mul r2, r1
+ add r1, r3, r2
+ bl FUN_0202393C
+_0204D0F8:
+ ldr r1, _0204D110 ; =0x021C5A68
+ mov r0, #0xff
+ ldr r3, [r1, #0x0]
+ ldr r1, [sp, #0x0]
+ mov r2, #0x22
+ mul r2, r1
+ add r1, r0, #0x0
+ add r2, r3, r2
+ add r1, #0x6b
+ strh r0, [r2, r1]
+ pop {r3-r7, pc}
+ nop
+_0204D110: .word 0x021C5A68
+_0204D114: .word 0x000002BF
+
+ thumb_func_start FUN_0204D118
+FUN_0204D118: ; 0x0204D118
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, _0204D160 ; =0x021C5A68
+ add r4, r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r6, r2, #0x0
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_020552F8
+ add r1, sp, #0x0
+ strb r4, [r1, #0x0]
+ asr r2, r4, #0x8
+ strb r2, [r1, #0x1]
+ asr r2, r6, #0x8
+ strb r6, [r1, #0x2]
+ strb r2, [r1, #0x3]
+ strb r0, [r1, #0x4]
+ cmp r5, #0x0
+ beq _0204D14A
+ ldrb r2, [r1, #0x4]
+ mov r0, #0x80
+ orr r0, r2
+ strb r0, [r1, #0x4]
+_0204D14A:
+ mov r0, #0x16
+ add r1, sp, #0x0
+ bl FUN_020311D0
+ ldr r0, _0204D160 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D164 ; =0x000002BB
+ strb r2, [r1, r0]
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0204D160: .word 0x021C5A68
+_0204D164: .word 0x000002BB
+
+ thumb_func_start FUN_0204D168
+FUN_0204D168: ; 0x0204D168
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D194 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ add r4, r0, #0x0
+ ldr r0, _0204D194 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204D118
+ pop {r3-r5, pc}
+ nop
+_0204D194: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D198
+FUN_0204D198: ; 0x0204D198
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02031190
+ ldr r1, _0204D1C8 ; =0x021C5A68
+ lsl r0, r0, #0x3
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0x62
+ ldrh r4, [r0, #0x0]
+ bl FUN_02031190
+ ldr r1, _0204D1C8 ; =0x021C5A68
+ lsl r0, r0, #0x3
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0x64
+ ldrh r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204D118
+ pop {r3-r5, pc}
+ nop
+_0204D1C8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D1CC
+FUN_0204D1CC: ; 0x0204D1CC
+ push {r3-r5, lr}
+ sub sp, #0x8
+ ldrh r2, [r1, #0x0]
+ mov r4, #0xf
+ lsl r4, r4, #0xc
+ ldrh r3, [r1, #0x2]
+ cmp r2, r4
+ blo _0204D1DE
+ sub r2, r4, #0x1
+_0204D1DE:
+ mov r4, #0xf
+ lsl r4, r4, #0xc
+ cmp r3, r4
+ blo _0204D1E8
+ sub r3, r4, #0x1
+_0204D1E8:
+ mov r4, #0xf
+ and r0, r4
+ add r4, sp, #0x0
+ strb r0, [r4, #0x0]
+ strb r2, [r4, #0x1]
+ asr r2, r2, #0x8
+ add r5, r2, #0x0
+ mov r0, #0x1
+ and r5, r0
+ asr r2, r3, #0x7
+ mov r0, #0x2
+ and r0, r2
+ add r0, r5, r0
+ strb r0, [r4, #0x2]
+ strb r3, [r4, #0x3]
+ ldrb r0, [r1, #0x7]
+ cmp r0, #0x0
+ beq _0204D214
+ ldrb r2, [r4, #0x2]
+ mov r0, #0x80
+ orr r0, r2
+ strb r0, [r4, #0x2]
+_0204D214:
+ mov r2, #0x4
+ ldrsb r2, [r1, r2]
+ add r5, sp, #0x0
+ ldrb r0, [r5, #0x0]
+ lsr r4, r2, #0x1f
+ lsl r3, r2, #0x1e
+ sub r3, r3, r4
+ mov r2, #0x1e
+ ror r3, r2
+ add r2, r4, r3
+ lsl r2, r2, #0x4
+ add r0, r0, r2
+ strb r0, [r5, #0x0]
+ ldrb r0, [r1, #0x5]
+ ldrb r2, [r5, #0x0]
+ add r1, sp, #0x0
+ lsl r0, r0, #0x6
+ add r0, r2, r0
+ strb r0, [r5, #0x0]
+ mov r0, #0x17
+ mov r2, #0x0
+ bl FUN_02030BC4
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204D248
+FUN_0204D248: ; 0x0204D248
+ push {r3-r5, lr}
+ ldr r0, _0204D2A8 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055370
+ add r4, r0, #0x0
+ ldr r0, _0204D2A8 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055378
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ bne _0204D292
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ beq _0204D292
+ ldr r0, _0204D2A8 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D2AC ; =0x000002BA
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204D292
+ mov r0, #0x1
+ bl FUN_0204D168
+ ldr r0, _0204D2A8 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D2AC ; =0x000002BA
+ strb r2, [r1, r0]
+_0204D292:
+ cmp r4, #0x1
+ bne _0204D2A4
+ cmp r5, #0x1
+ bne _0204D2A4
+ ldr r0, _0204D2A8 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D2AC ; =0x000002BA
+ strb r2, [r1, r0]
+_0204D2A4:
+ pop {r3-r5, pc}
+ nop
+_0204D2A8: .word 0x021C5A68
+_0204D2AC: .word 0x000002BA
+
+ thumb_func_start FUN_0204D2B0
+FUN_0204D2B0: ; 0x0204D2B0
+ push {r3-r7, lr}
+ mov r4, #0x0
+ ldr r7, _0204D2FC ; =0x021C5A68
+ add r5, r4, #0x0
+ add r6, r4, #0x0
+_0204D2BA:
+ ldr r0, [r7, #0x0]
+ add r2, r0, r4
+ add r1, r2, #0x0
+ add r1, #0x48
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204D2E8
+ ldr r3, _0204D300 ; =0x00000132
+ add r1, r0, #0x0
+ ldrb r3, [r2, r3]
+ add r1, #0x62
+ cmp r3, #0x0
+ bne _0204D2DC
+ ldr r3, _0204D304 ; =0x000002BB
+ ldrb r0, [r0, r3]
+ cmp r0, #0x0
+ beq _0204D2E8
+_0204D2DC:
+ ldr r0, _0204D300 ; =0x00000132
+ add r1, r1, r5
+ strb r6, [r2, r0]
+ add r0, r4, #0x0
+ bl FUN_0204D1CC
+_0204D2E8:
+ add r4, r4, #0x1
+ add r5, #0x8
+ cmp r4, #0x8
+ blt _0204D2BA
+ ldr r0, _0204D2FC ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D304 ; =0x000002BB
+ strb r2, [r1, r0]
+ pop {r3-r7, pc}
+ .balign 4
+_0204D2FC: .word 0x021C5A68
+_0204D300: .word 0x00000132
+_0204D304: .word 0x000002BB
+
+ thumb_func_start FUN_0204D308
+FUN_0204D308: ; 0x0204D308
+ ldr r0, _0204D31C ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ cmp r2, #0x0
+ beq _0204D318
+ mov r0, #0xae
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ strb r1, [r2, r0]
+_0204D318:
+ bx lr
+ nop
+_0204D31C: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D320
+FUN_0204D320: ; 0x0204D320
+ mov r0, #0xb1
+ lsl r0, r0, #0x2
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204D328
+FUN_0204D328: ; 0x0204D328
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r1, _0204D430 ; =0x021C5A68
+ add r5, r0, #0x0
+ ldr r2, [r1, #0x0]
+ lsl r6, r5, #0x2
+ add r1, r2, r6
+ ldr r1, [r1, #0x8]
+ cmp r1, #0x0
+ bne _0204D42A
+ ldr r1, _0204D434 ; =0x000002BD
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ bne _0204D42A
+ bl FUN_0202DFA4
+ str r0, [sp, #0xc]
+ cmp r0, #0x0
+ beq _0204D42A
+ ldr r0, _0204D430 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D438 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204D37C
+ bl FUN_02031190
+ cmp r5, r0
+ beq _0204D37C
+ ldr r0, _0204D430 ; =0x021C5A68
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ lsl r1, r1, #0x8
+ ldr r0, [r0, #0x54]
+ add r1, r5, r1
+ ldr r0, [r0, #0x34]
+ bl FUN_02058060
+ cmp r0, #0x0
+ beq _0204D37C
+ bl FUN_02057654
+_0204D37C:
+ ldr r0, _0204D430 ; =0x021C5A68
+ lsl r4, r5, #0x3
+ ldr r7, [r0, #0x0]
+ ldr r0, [sp, #0xc]
+ bl FUN_020239CC
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r7, #0x54]
+ add r7, r7, r4
+ add r1, r7, #0x0
+ add r2, r7, #0x0
+ add r1, #0xa2
+ add r2, #0xa4
+ mov r3, #0xa6
+ ldrh r1, [r1, #0x0]
+ ldrh r2, [r2, #0x0]
+ ldrsb r3, [r7, r3]
+ ldr r0, [r0, #0x34]
+ bl FUN_02055068
+ add r7, r0, #0x0
+ bne _0204D3B2
+ bl ErrorHandling
+_0204D3B2:
+ ldr r0, _0204D430 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r6
+ str r7, [r0, #0x8]
+ add r0, r7, #0x0
+ bl FUN_020553A0
+ mov r1, #0x1
+ lsl r1, r1, #0x8
+ add r1, r5, r1
+ bl FUN_02058444
+ ldr r0, _0204D430 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D438 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204D3DC
+ add r0, r5, #0x0
+ bl MOD18_0223E4D4
+_0204D3DC:
+ ldr r0, _0204D430 ; =0x021C5A68
+ ldr r1, _0204D438 ; =0x000002BE
+ ldr r3, [r0, #0x0]
+ ldrb r2, [r3, r1]
+ cmp r2, #0x0
+ beq _0204D41E
+ add r0, r3, r5
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204D41E
+ sub r0, r1, #0x1
+ ldrb r0, [r3, r0]
+ cmp r0, #0x0
+ bne _0204D40E
+ add r1, r3, r4
+ ldr r0, [r3, #0x54]
+ add r3, r3, r4
+ add r1, #0xa2
+ add r3, #0xa4
+ ldrh r1, [r1, #0x0]
+ ldrh r3, [r3, #0x0]
+ mov r2, #0x0
+ bl MOD05_021E5B30
+_0204D40E:
+ ldr r0, _0204D430 ; =0x021C5A68
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add sp, #0x10
+ add r0, r0, r5
+ add r0, #0x48
+ strb r1, [r0, #0x0]
+ pop {r3-r7, pc}
+_0204D41E:
+ cmp r2, #0x0
+ bne _0204D42A
+ add r0, r3, r5
+ mov r1, #0x1
+ add r0, #0x48
+ strb r1, [r0, #0x0]
+_0204D42A:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_0204D430: .word 0x021C5A68
+_0204D434: .word 0x000002BD
+_0204D438: .word 0x000002BE
+
+ thumb_func_start FUN_0204D43C
+FUN_0204D43C: ; 0x0204D43C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D4CC ; =0x021C5A68
+ add r6, r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r7, r2, #0x0
+ cmp r0, #0x0
+ beq _0204D4C8
+ add r0, #0x5a
+ mov r1, #0x0
+ mov r2, #0x8
+ bl MI_CpuFill8
+ add r0, r5, #0x0
+ bl FUN_0204CD78
+ ldr r0, _0204D4CC ; =0x021C5A68
+ lsl r4, r5, #0x2
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204D492
+ ldr r2, [r1, #0x54]
+ ldr r2, [r2, #0x38]
+ cmp r2, r0
+ beq _0204D488
+ ldr r2, _0204D4D0 ; =0x000002BE
+ ldrb r1, [r1, r2]
+ cmp r1, #0x0
+ bne _0204D47E
+ cmp r7, #0x0
+ beq _0204D484
+_0204D47E:
+ bl FUN_02055168
+ b _0204D488
+_0204D484:
+ bl FUN_02055160
+_0204D488:
+ ldr r0, _0204D4CC ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ str r1, [r0, #0x8]
+_0204D492:
+ ldr r0, _0204D4CC ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r1, #0x48
+ ldrb r0, [r1, r5]
+ cmp r0, #0x0
+ beq _0204D4A6
+ cmp r6, #0x0
+ bne _0204D4A6
+ mov r0, #0x0
+ strb r0, [r1, r5]
+_0204D4A6:
+ ldr r0, _0204D4CC ; =0x021C5A68
+ mov r2, #0x1
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204D4D4 ; =0x00000132
+ cmp r6, #0x0
+ strb r2, [r1, r0]
+ bne _0204D4C8
+ add r0, r5, #0x0
+ bl FUN_0204ED9C
+ ldr r0, _0204D4CC ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, r0, r5
+ add r0, #0xfa
+ strb r1, [r0, #0x0]
+_0204D4C8:
+ pop {r3-r7, pc}
+ nop
+_0204D4CC: .word 0x021C5A68
+_0204D4D0: .word 0x000002BE
+_0204D4D4: .word 0x00000132
+
+ thumb_func_start FUN_0204D4D8
+FUN_0204D4D8: ; 0x0204D4D8
+ ldr r1, _0204D4E8 ; =0x021C48B8
+ mov r0, #0x2
+ ldr r1, [r1, #0x44]
+ tst r1, r0
+ beq _0204D4E4
+ mov r0, #0x1
+_0204D4E4:
+ ldr r3, _0204D4EC ; =FUN_02030F60
+ bx r3
+ .balign 4
+_0204D4E8: .word 0x021C48B8
+_0204D4EC: .word FUN_02030F60
+
+ thumb_func_start FUN_0204D4F0
+FUN_0204D4F0: ; 0x0204D4F0
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ bl FUN_02030F40
+ cmp r0, #0x0
+ beq _0204D530
+ bl FUN_0204D4D8
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D524
+ add r0, r4, #0x0
+ bl FUN_0204D2B0
+ add r0, r4, #0x0
+ bl FUN_0204D248
+ ldr r0, _0204D560 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _0204D52A
+ bl MOD18_02244D58
+ b _0204D52A
+_0204D524:
+ add r0, r4, #0x0
+ bl FUN_0204D248
+_0204D52A:
+ add r0, r4, #0x0
+ bl FUN_0204D568
+_0204D530:
+ ldr r4, _0204D560 ; =0x021C5A68
+ ldr r6, _0204D564 ; =0x000002BE
+ mov r5, #0x0
+_0204D536:
+ ldr r0, [r4, #0x0]
+ ldrb r0, [r0, r6]
+ cmp r0, #0x0
+ beq _0204D556
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D556
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ cmp r0, #0x0
+ bne _0204D556
+ add r0, r5, #0x0
+ bl MOD18_02245358
+_0204D556:
+ add r5, r5, #0x1
+ cmp r5, #0x8
+ blt _0204D536
+ pop {r4-r6, pc}
+ nop
+_0204D560: .word 0x021C5A68
+_0204D564: .word 0x000002BE
+
+ thumb_func_start FUN_0204D568
+FUN_0204D568: ; 0x0204D568
+ push {r3-r7, lr}
+ ldr r4, _0204D608 ; =0x021C5A68
+ ldr r7, _0204D60C ; =0x000002BE
+ mov r5, #0x0
+ add r6, sp, #0x0
+_0204D572:
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _0204D5A0
+ bl FUN_02031280
+ cmp r0, #0x0
+ beq _0204D58A
+ cmp r5, #0x0
+ beq _0204D5A0
+_0204D58A:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D5A0
+ ldr r0, [r4, #0x0]
+ ldrb r0, [r0, r7]
+ cmp r0, #0x0
+ beq _0204D5A0
+ add r0, r5, #0x0
+ bl MOD18_02247614
+_0204D5A0:
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _0204D5B8
+ bl FUN_02031280
+ cmp r0, #0x0
+ beq _0204D5C6
+ cmp r5, #0x0
+ bne _0204D5C6
+_0204D5B8:
+ add r0, r5, #0x0
+ bl FUN_0204DE30
+ add r0, r5, #0x0
+ bl FUN_0204EFCC
+ b _0204D600
+_0204D5C6:
+ ldr r0, [r4, #0x0]
+ add r0, r0, r5
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204D600
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D5F0
+ ldr r1, [r4, #0x0]
+ ldr r0, _0204D60C ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204D5F0
+ add r0, r5, #0x0
+ bl MOD18_0223EB8C
+ add r0, r5, #0x0
+ bl MOD18_0223CB08
+_0204D5F0:
+ strb r5, [r6, #0x0]
+ ldr r3, [r4, #0x0]
+ mov r0, #0x0
+ ldr r3, [r3, #0x54]
+ mov r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_0204DBCC
+_0204D600:
+ add r5, r5, #0x1
+ cmp r5, #0x8
+ blt _0204D572
+ pop {r3-r7, pc}
+ .balign 4
+_0204D608: .word 0x021C5A68
+_0204D60C: .word 0x000002BE
+
+ thumb_func_start FUN_0204D610
+FUN_0204D610: ; 0x0204D610
+ ldr r0, _0204D624 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0204D620
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ ldrb r0, [r1, r0]
+ bx lr
+_0204D620:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0204D624: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D628
+FUN_0204D628: ; 0x0204D628
+ push {r3, lr}
+ ldr r1, _0204D650 ; =0x021C5A68
+ ldr r3, [r1, #0x0]
+ cmp r3, #0x0
+ beq _0204D64E
+ mov r1, #0xaf
+ lsl r1, r1, #0x2
+ ldrb r2, [r3, r1]
+ cmp r2, r0
+ beq _0204D63E
+ strb r0, [r3, r1]
+_0204D63E:
+ ldr r1, _0204D650 ; =0x021C5A68
+ mov r0, #0x3e
+ ldr r2, [r1, #0x0]
+ mov r1, #0xaf
+ lsl r1, r1, #0x2
+ add r1, r2, r1
+ bl FUN_020311D0
+_0204D64E:
+ pop {r3, pc}
+ .balign 4
+_0204D650: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D654
+FUN_0204D654: ; 0x0204D654
+ push {r4, lr}
+ ldr r2, _0204D678 ; =0x021C5A68
+ ldr r4, [r2, #0x0]
+ cmp r4, #0x0
+ beq _0204D674
+ mov r1, #0xaf
+ lsl r1, r1, #0x2
+ ldrb r3, [r4, r1]
+ cmp r3, r0
+ beq _0204D674
+ strb r0, [r4, r1]
+ ldr r2, [r2, #0x0]
+ mov r0, #0x3e
+ add r1, r2, r1
+ bl FUN_020311D0
+_0204D674:
+ pop {r4, pc}
+ nop
+_0204D678: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D67C
+FUN_0204D67C: ; 0x0204D67C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D6BC ; =0x021C5A68
+ add r4, r2, #0x0
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204D6B8
+ cmp r1, #0x1
+ beq _0204D692
+ bl ErrorHandling
+_0204D692:
+ cmp r5, #0x8
+ blt _0204D69A
+ bl ErrorHandling
+_0204D69A:
+ ldrb r0, [r4, #0x0]
+ mov r1, #0x1
+ cmp r0, #0x1
+ beq _0204D6A8
+ cmp r0, #0x0
+ beq _0204D6A8
+ mov r1, #0x0
+_0204D6A8:
+ cmp r1, #0x0
+ bne _0204D6B0
+ bl ErrorHandling
+_0204D6B0:
+ ldrb r1, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204EAD8
+_0204D6B8:
+ pop {r3-r5, pc}
+ nop
+_0204D6BC: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D6C0
+FUN_0204D6C0: ; 0x0204D6C0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D734 ; =0x021C5A68
+ add r4, r1, #0x0
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0204D732
+ ldr r0, _0204D738 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204D6E4
+ add r0, r4, #0x0
+ bl FUN_0204D654
+ ldr r0, _0204D734 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D73C ; =0x000002C1
+ strb r4, [r1, r0]
+_0204D6E4:
+ ldr r4, [r5, #0x38]
+ cmp r4, #0x0
+ beq _0204D6F8
+ bl FUN_02031190
+ ldr r1, _0204D734 ; =0x021C5A68
+ lsl r0, r0, #0x2
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ str r4, [r0, #0x8]
+_0204D6F8:
+ bl FUN_02030F40
+ cmp r0, #0x0
+ beq _0204D712
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D712
+ ldr r1, _0204D734 ; =0x021C5A68
+ mov r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0204D89C
+_0204D712:
+ bl FUN_02030F40
+ cmp r0, #0x0
+ beq _0204D732
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0204D732
+ ldr r0, _0204D734 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D738 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204D732
+ bl FUN_0204EC28
+_0204D732:
+ pop {r3-r5, pc}
+ .balign 4
+_0204D734: .word 0x021C5A68
+_0204D738: .word 0x000002BE
+_0204D73C: .word 0x000002C1
+
+ thumb_func_start FUN_0204D740
+FUN_0204D740: ; 0x0204D740
+ mov r0, #0x20
+ tst r0, r1
+ beq _0204D74A
+ mov r0, #0x2
+ bx lr
+_0204D74A:
+ mov r0, #0x10
+ tst r0, r1
+ beq _0204D754
+ mov r0, #0x3
+ bx lr
+_0204D754:
+ mov r0, #0x40
+ tst r0, r1
+ beq _0204D75E
+ mov r0, #0x0
+ bx lr
+_0204D75E:
+ mov r0, #0x80
+ tst r1, r0
+ beq _0204D768
+ mov r0, #0x1
+ bx lr
+_0204D768:
+ sub r0, #0x81
+ bx lr
+
+ thumb_func_start FUN_0204D76C
+FUN_0204D76C: ; 0x0204D76C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D7AC ; =0x021C5A68
+ add r6, r1, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_02034B64
+ add r4, r0, #0x0
+ ldr r0, _0204D7AC ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_02034B6C
+ mov r2, #0x0
+ cmp r4, #0x0
+ ble _0204D7A6
+_0204D78E:
+ ldrh r1, [r0, #0x18]
+ cmp r5, r1
+ bne _0204D79E
+ ldrh r1, [r0, #0x1a]
+ cmp r6, r1
+ bne _0204D79E
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0204D79E:
+ add r2, r2, #0x1
+ add r0, #0x20
+ cmp r2, r4
+ blt _0204D78E
+_0204D7A6:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0204D7AC: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D7B0
+FUN_0204D7B0: ; 0x0204D7B0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204D824 ; =0x0000FFFF
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ cmp r5, r0
+ beq _0204D812
+ cmp r6, r0
+ beq _0204D812
+ mov r4, #0x0
+_0204D7C4:
+ cmp r4, r7
+ beq _0204D7E0
+ add r0, r4, #0x0
+ bl FUN_0204E544
+ cmp r5, r0
+ bne _0204D7E0
+ add r0, r4, #0x0
+ bl FUN_0204E598
+ cmp r6, r0
+ bne _0204D7E0
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204D7E0:
+ add r4, r4, #0x1
+ cmp r4, #0x8
+ blt _0204D7C4
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0204D76C
+ cmp r0, #0x0
+ beq _0204D7F6
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204D7F6:
+ ldr r0, _0204D828 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204D82C ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204D812
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl MOD18_02246F1C
+ cmp r0, #0x0
+ bne _0204D812
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204D812:
+ ldr r0, _0204D828 ; =0x021C5A68
+ add r1, r5, #0x0
+ ldr r0, [r0, #0x0]
+ add r2, r6, #0x0
+ ldr r0, [r0, #0x54]
+ bl FUN_0204A6B4
+ pop {r3-r7, pc}
+ nop
+_0204D824: .word 0x0000FFFF
+_0204D828: .word 0x021C5A68
+_0204D82C: .word 0x000002BE
+
+ thumb_func_start FUN_0204D830
+FUN_0204D830: ; 0x0204D830
+ push {r3, lr}
+ add r1, r0, #0x0
+ ldr r0, _0204D858 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _0204D852
+ bl MOD18_02244D40
+ bl MOD18_02244DA0
+ cmp r0, #0x0
+ bne _0204D84E
+ mov r0, #0x1
+ pop {r3, pc}
+_0204D84E:
+ mov r0, #0x0
+ pop {r3, pc}
+_0204D852:
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_0204D858: .word 0x021C5A68
+
+ thumb_func_start FUN_0204D85C
+FUN_0204D85C: ; 0x0204D85C
+ cmp r0, #0x5
+ bge _0204D864
+ mov r0, #0x8
+ bx lr
+_0204D864:
+ cmp r0, #0xa
+ bge _0204D86C
+ mov r0, #0x4
+ bx lr
+_0204D86C:
+ mov r0, #0x2
+ bx lr
+
+ thumb_func_start FUN_0204D870
+FUN_0204D870: ; 0x0204D870
+ push {r3-r4, lr}
+ sub sp, #0x14
+ ldr r3, _0204D898 ; =0x020F5824
+ add r4, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, sp, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ cmp r4, #0x5
+ str r0, [r2, #0x0]
+ blt _0204D88E
+ bl ErrorHandling
+_0204D88E:
+ lsl r1, r4, #0x2
+ add r0, sp, #0x0
+ ldr r0, [r0, r1]
+ add sp, #0x14
+ pop {r3-r4, pc}
+ .balign 4
+_0204D898: .word 0x020F5824
+
+ thumb_func_start FUN_0204D89C
+FUN_0204D89C: ; 0x0204D89C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ mov r5, #0x0
+ add r0, r5, #0x0
+ ldr r6, _0204DAF4 ; =0x021C5A68
+ str r5, [sp, #0x4]
+ str r0, [sp, #0x0]
+_0204D8AA:
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ add r1, #0x48
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204D976
+ add r1, r0, r5
+ add r1, #0xe2
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204D976
+ add r1, r0, r5
+ add r1, #0xea
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204D976
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r2, #0x62
+ ldr r0, [r0, #0x4]
+ add r4, r2, r1
+ cmp r0, #0x0
+ beq _0204D8E0
+ add r1, r5, #0x0
+ bl MOD18_02244D40
+ str r0, [sp, #0x4]
+_0204D8E0:
+ ldr r1, [r6, #0x0]
+ ldr r0, _0204DAF8 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204D8F4
+ add r0, r5, #0x0
+ bl MOD18_02245F4C
+ cmp r0, #0x0
+ bne _0204D976
+_0204D8F4:
+ ldr r0, [r6, #0x0]
+ ldr r1, _0204DAFC ; =0x0000013A
+ add r0, r0, r5
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _0204D90A
+ ldr r1, _0204DAFC ; =0x0000013A
+ ldrb r1, [r0, r1]
+ sub r2, r1, #0x1
+ ldr r1, _0204DAFC ; =0x0000013A
+ strb r2, [r0, r1]
+_0204D90A:
+ ldr r0, [r6, #0x0]
+ ldr r1, _0204DAFC ; =0x0000013A
+ add r2, r0, r5
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ bne _0204D93C
+ ldr r1, _0204DAF8 ; =0x000002BE
+ ldrb r0, [r0, r1]
+ cmp r0, #0x0
+ beq _0204D93C
+ add r0, r5, #0x0
+ bl MOD18_0223F8D8
+ cmp r0, #0x0
+ bne _0204D976
+ add r0, r5, #0x0
+ bl FUN_0204D830
+ cmp r0, #0x0
+ bne _0204D93C
+ add r0, r5, #0x0
+ bl MOD06_02247544
+ cmp r0, #0x0
+ bne _0204D976
+_0204D93C:
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _0204D94A
+ bl MOD06_02244DB0
+ cmp r0, #0x0
+ beq _0204D976
+_0204D94A:
+ ldr r0, [r6, #0x0]
+ add r0, r0, r5
+ add r0, #0xf2
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204D95A
+ mov r7, #0x0
+ b _0204D962
+_0204D95A:
+ add r0, r5, #0x0
+ bl FUN_02030F88
+ add r7, r0, #0x0
+_0204D962:
+ add r0, r5, #0x0
+ bl FUN_02030F74
+ strb r0, [r4, #0x5]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204DAFC ; =0x0000013A
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204D978
+_0204D976:
+ b _0204DAE2
+_0204D978:
+ ldr r0, _0204DB00 ; =0x0000010A
+ ldr r2, _0204DB04 ; =0x0000012A
+ ldrb r0, [r1, r0]
+ ldrb r1, [r1, r2]
+ bl FUN_0204D85C
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0x0
+ bl FUN_0204E084
+ cmp r0, #0x0
+ beq _0204D9A8
+ ldr r0, [r6, #0x0]
+ ldr r1, [sp, #0x10]
+ add r2, r0, r5
+ ldr r0, _0204DAFC ; =0x0000013A
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ add r2, r0, r5
+ ldr r0, _0204DB08 ; =0x00000132
+ strb r1, [r2, r0]
+ b _0204DAE2
+_0204D9A8:
+ ldrb r0, [r4, #0x7]
+ cmp r0, #0x1
+ bne _0204D9B8
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ add r2, r0, r5
+ ldr r0, _0204DB08 ; =0x00000132
+ strb r1, [r2, r0]
+_0204D9B8:
+ mov r0, #0x0
+ strb r0, [r4, #0x7]
+ ldr r0, [r6, #0x0]
+ ldr r1, _0204DB0C ; =0x00000122
+ add r0, r0, r5
+ ldrb r1, [r0, r1]
+ cmp r1, #0x2
+ bne _0204D9DE
+ add r1, sp, #0x14
+ strb r5, [r1, #0x1]
+ ldr r1, _0204DB0C ; =0x00000122
+ mov r2, #0x1
+ strb r2, [r0, r1]
+ add r1, sp, #0x14
+ mov r0, #0x28
+ add r1, #0x1
+ bl FUN_02030C4C
+ b _0204DAE2
+_0204D9DE:
+ add r0, r7, #0x0
+ add r1, r7, #0x0
+ bl FUN_0204D740
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204E62C
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0204E664
+ str r0, [sp, #0x8]
+ ldr r1, [sp, #0xc]
+ ldr r0, _0204DB10 ; =0x0000FFFF
+ cmp r1, r0
+ beq _0204DAE2
+ ldr r1, [sp, #0x8]
+ cmp r1, r0
+ beq _0204DAE2
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r7, r0
+ beq _0204DAE2
+ mov r0, #0x4
+ ldrsb r0, [r4, r0]
+ cmp r0, r7
+ beq _0204DA44
+ strb r7, [r4, #0x4]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x4
+ add r2, r0, r5
+ ldr r0, _0204DAFC ; =0x0000013A
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ add r2, r0, r5
+ ldr r0, _0204DB08 ; =0x00000132
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ ldr r1, _0204DB0C ; =0x00000122
+ add r0, r0, r5
+ ldrb r1, [r0, r1]
+ cmp r1, #0x2
+ bls _0204DAE2
+ ldr r1, _0204DB0C ; =0x00000122
+ ldrb r1, [r0, r1]
+ sub r2, r1, #0x1
+ ldr r1, _0204DB0C ; =0x00000122
+ strb r2, [r0, r1]
+ b _0204DAE2
+_0204DA44:
+ ldr r0, [r6, #0x0]
+ ldr r1, _0204DB0C ; =0x00000122
+ add r2, r0, r5
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ bne _0204DAE2
+ ldr r1, _0204DAF8 ; =0x000002BE
+ ldrb r0, [r0, r1]
+ cmp r0, #0x0
+ beq _0204DA66
+ ldr r1, [sp, #0xc]
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ bl MOD18_0224566C
+ cmp r0, #0x1
+ beq _0204DAE2
+_0204DA66:
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x8]
+ add r2, r5, #0x0
+ bl FUN_0204D7B0
+ cmp r0, #0x0
+ beq _0204DA8E
+ mov r0, #0x1
+ strb r0, [r4, #0x7]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ add r2, r0, r5
+ ldr r0, _0204DB08 ; =0x00000132
+ strb r1, [r2, r0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x4
+ add r2, r0, r5
+ ldr r0, _0204DAFC ; =0x0000013A
+ strb r1, [r2, r0]
+ b _0204DAE2
+_0204DA8E:
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ add r2, r0, r5
+ ldr r0, _0204DB08 ; =0x00000132
+ strb r1, [r2, r0]
+ ldr r0, [sp, #0xc]
+ strh r0, [r4, #0x0]
+ ldr r0, [sp, #0x8]
+ strh r0, [r4, #0x2]
+ strb r7, [r4, #0x4]
+ ldrb r0, [r4, #0x5]
+ bl FUN_0204D870
+ ldr r1, [r6, #0x0]
+ add r2, r1, r5
+ ldr r1, _0204DAFC ; =0x0000013A
+ strb r0, [r2, r1]
+ ldr r0, [r6, #0x0]
+ sub r1, #0x20
+ add r0, r0, r5
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _0204DAE2
+ ldr r1, _0204DB14 ; =0x0000011A
+ ldrb r1, [r0, r1]
+ sub r2, r1, #0x1
+ ldr r1, _0204DB14 ; =0x0000011A
+ strb r2, [r0, r1]
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204DB14 ; =0x0000011A
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204DAE2
+ mov r1, #0x1
+ add r0, sp, #0x14
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r2, sp, #0x14
+ mov r3, #0x0
+ bl MOD18_0224089C
+_0204DAE2:
+ ldr r0, [sp, #0x0]
+ add r5, r5, #0x1
+ add r0, #0x8
+ str r0, [sp, #0x0]
+ cmp r5, #0x8
+ bge _0204DAF0
+ b _0204D8AA
+_0204DAF0:
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+_0204DAF4: .word 0x021C5A68
+_0204DAF8: .word 0x000002BE
+_0204DAFC: .word 0x0000013A
+_0204DB00: .word 0x0000010A
+_0204DB04: .word 0x0000012A
+_0204DB08: .word 0x00000132
+_0204DB0C: .word 0x00000122
+_0204DB10: .word 0x0000FFFF
+_0204DB14: .word 0x0000011A
+
+ thumb_func_start FUN_0204DB18
+FUN_0204DB18: ; 0x0204DB18
+ push {r3-r7, lr}
+ ldr r5, _0204DBC0 ; =0x021C5A68
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r3, r2, #0x0
+ cmp r0, #0x0
+ beq _0204DBBC
+ add r2, r0, #0x0
+ ldrb r4, [r3, #0x4]
+ add r2, #0x62
+ lsl r1, r7, #0x3
+ add r2, r2, r1
+ mov r1, #0x80
+ tst r1, r4
+ beq _0204DB3E
+ ldr r1, _0204DBC4 ; =0x000002BB
+ mov r2, #0x1
+ strb r2, [r0, r1]
+ pop {r3-r7, pc}
+_0204DB3E:
+ mov r0, #0x4
+ ldrsb r1, [r2, r0]
+ sub r0, r0, #0x5
+ cmp r1, r0
+ bne _0204DB5A
+ ldr r4, _0204DBC8 ; =0x00000132
+ mov r1, #0x0
+ mov r0, #0x1
+_0204DB4E:
+ ldr r6, [r5, #0x0]
+ add r6, r6, r1
+ add r1, r1, #0x1
+ strb r0, [r6, r4]
+ cmp r1, #0x8
+ blt _0204DB4E
+_0204DB5A:
+ mov r0, #0x0
+ strh r0, [r2, #0x0]
+ strh r0, [r2, #0x2]
+ ldrh r1, [r2, #0x0]
+ ldrb r0, [r3, #0x0]
+ add r0, r1, r0
+ strh r0, [r2, #0x0]
+ ldrb r1, [r3, #0x1]
+ ldrh r0, [r2, #0x0]
+ lsl r4, r1, #0x8
+ mov r1, #0xff
+ lsl r1, r1, #0x8
+ and r4, r1
+ add r0, r0, r4
+ strh r0, [r2, #0x0]
+ ldrh r4, [r2, #0x2]
+ ldrb r0, [r3, #0x2]
+ add r0, r4, r0
+ strh r0, [r2, #0x2]
+ ldrb r4, [r3, #0x3]
+ ldrh r0, [r2, #0x2]
+ lsl r4, r4, #0x8
+ and r1, r4
+ add r0, r0, r1
+ strh r0, [r2, #0x2]
+ ldrb r1, [r3, #0x4]
+ mov r0, #0xf
+ ldr r3, _0204DBC0 ; =0x021C5A68
+ and r0, r1
+ strb r0, [r2, #0x4]
+ ldr r1, [r3, #0x0]
+ mov r0, #0x1
+ add r1, r1, r7
+ add r1, #0x48
+ strb r0, [r1, #0x0]
+ ldr r1, [r3, #0x0]
+ add r4, r1, r7
+ ldr r1, _0204DBC8 ; =0x00000132
+ strb r0, [r4, r1]
+ ldr r0, [r3, #0x0]
+ ldrh r1, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [r0, #0x54]
+ bl FUN_0204A6B4
+ cmp r0, #0x0
+ beq _0204DBBC
+ bl ErrorHandling
+_0204DBBC:
+ pop {r3-r7, pc}
+ nop
+_0204DBC0: .word 0x021C5A68
+_0204DBC4: .word 0x000002BB
+_0204DBC8: .word 0x00000132
+
+ thumb_func_start FUN_0204DBCC
+FUN_0204DBCC: ; 0x0204DBCC
+ push {r3-r5, lr}
+ ldr r0, _0204DC28 ; =0x021C5A68
+ ldrb r4, [r2, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204DC24
+ bl FUN_02031190
+ cmp r4, r0
+ beq _0204DC24
+ ldr r0, _0204DC28 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204DC2C ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204DC14
+ add r0, r4, #0x0
+ bl MOD18_0223E554
+ ldr r0, _0204DC28 ; =0x021C5A68
+ ldr r3, [r0, #0x0]
+ ldr r0, _0204DC30 ; =0x000002BD
+ ldrb r0, [r3, r0]
+ cmp r0, #0x0
+ bne _0204DC14
+ lsl r5, r4, #0x3
+ add r1, r3, r5
+ ldr r0, [r3, #0x54]
+ add r3, r3, r5
+ add r1, #0xa2
+ add r3, #0xa4
+ ldrh r1, [r1, #0x0]
+ ldrh r3, [r3, #0x0]
+ mov r2, #0x0
+ bl MOD05_021E5B30
+_0204DC14:
+ mov r1, #0x0
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_0204D43C
+ add r0, r4, #0x0
+ bl FUN_0202DE78
+_0204DC24:
+ pop {r3-r5, pc}
+ nop
+_0204DC28: .word 0x021C5A68
+_0204DC2C: .word 0x000002BE
+_0204DC30: .word 0x000002BD
+
+ thumb_func_start FUN_0204DC34
+FUN_0204DC34: ; 0x0204DC34
+ mov r0, #0x5
+ bx lr
+
+ thumb_func_start FUN_0204DC38
+FUN_0204DC38: ; 0x0204DC38
+ push {r3-r5, lr}
+ ldrb r1, [r2, #0x0]
+ mov r0, #0xf
+ add r3, r1, #0x0
+ and r3, r0
+ ldr r0, _0204DCB0 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0204DCAC
+ ldrb r4, [r2, #0x2]
+ add r1, #0xa2
+ lsl r0, r3, #0x3
+ add r1, r1, r0
+ mov r0, #0x80
+ tst r0, r4
+ beq _0204DC5C
+ mov r0, #0x1
+ b _0204DC5E
+_0204DC5C:
+ mov r0, #0x0
+_0204DC5E:
+ strb r0, [r1, #0x7]
+ mov r0, #0x0
+ strh r0, [r1, #0x0]
+ strh r0, [r1, #0x2]
+ ldrh r4, [r1, #0x0]
+ ldrb r0, [r2, #0x1]
+ add r0, r4, r0
+ strh r0, [r1, #0x0]
+ ldrb r4, [r2, #0x2]
+ ldrh r0, [r1, #0x0]
+ lsl r5, r4, #0x8
+ mov r4, #0x1
+ lsl r4, r4, #0x8
+ and r5, r4
+ add r0, r0, r5
+ strh r0, [r1, #0x0]
+ ldrh r5, [r1, #0x2]
+ ldrb r0, [r2, #0x3]
+ add r0, r5, r0
+ strh r0, [r1, #0x2]
+ ldrb r5, [r2, #0x2]
+ ldrh r0, [r1, #0x2]
+ lsl r5, r5, #0x7
+ and r4, r5
+ add r0, r0, r4
+ strh r0, [r1, #0x2]
+ ldrb r0, [r2, #0x0]
+ asr r4, r0, #0x4
+ mov r0, #0x3
+ and r4, r0
+ strb r4, [r1, #0x4]
+ ldrb r2, [r2, #0x0]
+ asr r2, r2, #0x6
+ and r0, r2
+ strb r0, [r1, #0x5]
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0204D328
+_0204DCAC:
+ pop {r3-r5, pc}
+ nop
+_0204DCB0: .word 0x021C5A68
+
+ thumb_func_start FUN_0204DCB4
+FUN_0204DCB4: ; 0x0204DCB4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204DD10 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CC4
+ add r4, r0, #0x0
+ ldr r0, _0204DD10 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CB4
+ ldr r0, _0204DD10 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204DD14 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204DD0C
+ bl FUN_02031190
+ cmp r5, r0
+ bne _0204DD0C
+ add r0, r4, #0x0
+ bl FUN_020266B0
+ add r0, r4, #0x0
+ bl FUN_020266C8
+ cmp r0, #0x32
+ bne _0204DD0C
+ ldr r0, _0204DD10 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x25
+ bl FUN_0202A170
+_0204DD0C:
+ pop {r3-r5, pc}
+ nop
+_0204DD10: .word 0x021C5A68
+_0204DD14: .word 0x000002BE
+
+ thumb_func_start FUN_0204DD18
+FUN_0204DD18: ; 0x0204DD18
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r4, _0204DE24 ; =0x020F5808
+ add r6, r3, #0x0
+ add r5, r0, #0x0
+ add r3, sp, #0x4
+ mov r2, #0xc
+_0204DD26:
+ ldrb r0, [r4, #0x0]
+ add r4, r4, #0x1
+ strb r0, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r2, r2, #0x1
+ bne _0204DD26
+ ldr r0, _0204DE28 ; =0x021C5A68
+ ldr r2, _0204DE2C ; =0x00000102
+ ldr r0, [r0, #0x0]
+ add r3, r0, r5
+ ldrsb r3, [r3, r2]
+ mov r2, #0x0
+ mvn r2, r2
+ cmp r3, r2
+ beq _0204DD4E
+ lsl r7, r5, #0x2
+ add r0, r0, r7
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ bne _0204DD54
+_0204DD4E:
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204DD54:
+ cmp r1, #0x0
+ bne _0204DD5E
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204DD5E:
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ ldr r0, _0204DE28 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r7, #0x0
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ bl FUN_020552F8
+ str r0, [sp, #0x0]
+ ldr r0, _0204DE28 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204DE2C ; =0x00000102
+ ldrsb r0, [r1, r0]
+ bl FUN_0204F610
+ ldr r1, [sp, #0x0]
+ cmp r1, r0
+ beq _0204DDB4
+ add r0, r4, #0x0
+ mov r1, #0x80
+ bl FUN_02058418
+ ldr r0, _0204DE28 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204DE2C ; =0x00000102
+ ldrsb r0, [r1, r0]
+ bl FUN_0204F610
+ add r1, r0, #0x0
+ ldr r0, _0204DE28 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r7
+ ldr r0, [r0, #0x8]
+ bl FUN_02055304
+ add r0, r4, #0x0
+ mov r1, #0x80
+ bl FUN_02058410
+_0204DDB4:
+ add r0, r4, #0x0
+ bl FUN_0205AE28
+ add r0, r4, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0204DE1C
+ add r0, r5, #0x0
+ bl FUN_0204DCB4
+ cmp r6, #0x0
+ beq _0204DDD8
+ cmp r6, #0x1
+ beq _0204DDEE
+ cmp r6, #0x2
+ beq _0204DE06
+ b _0204DE1C
+_0204DDD8:
+ ldr r1, _0204DE28 ; =0x021C5A68
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ add r2, r1, r5
+ ldr r1, _0204DE2C ; =0x00000102
+ ldrsb r2, [r2, r1]
+ add r1, sp, #0x4
+ ldrb r1, [r1, r2]
+ bl FUN_0205ADDC
+ b _0204DE1C
+_0204DDEE:
+ ldr r1, _0204DE28 ; =0x021C5A68
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ add r2, r1, r5
+ ldr r1, _0204DE2C ; =0x00000102
+ ldrsb r1, [r2, r1]
+ add r2, r1, #0x4
+ add r1, sp, #0x4
+ ldrb r1, [r1, r2]
+ bl FUN_0205ADDC
+ b _0204DE1C
+_0204DE06:
+ ldr r1, _0204DE28 ; =0x021C5A68
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ add r2, r1, r5
+ ldr r1, _0204DE2C ; =0x00000102
+ ldrsb r2, [r2, r1]
+ add r1, sp, #0x4
+ add r2, #0x8
+ ldrb r1, [r1, r2]
+ bl FUN_0205ADDC
+_0204DE1C:
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_0204DE24: .word 0x020F5808
+_0204DE28: .word 0x021C5A68
+_0204DE2C: .word 0x00000102
+
+ thumb_func_start FUN_0204DE30
+FUN_0204DE30: ; 0x0204DE30
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ ldr r0, _0204E06C ; =0x021C5A68
+ lsl r1, r4, #0x3
+ ldr r0, [r0, #0x0]
+ add r2, r0, #0x0
+ add r2, #0xa2
+ add r5, r2, r1
+ ldr r1, _0204E070 ; =0x00000142
+ add r2, r0, r1
+ ldrb r1, [r2, r4]
+ cmp r1, #0x0
+ beq _0204DE54
+ sub r0, r1, #0x1
+ add sp, #0x1c
+ strb r0, [r2, r4]
+ pop {r4-r7, pc}
+_0204DE54:
+ ldrh r2, [r5, #0x0]
+ ldr r1, _0204E074 ; =0x0000FFFF
+ cmp r2, r1
+ beq _0204DF08
+ ldrh r2, [r5, #0x2]
+ cmp r2, r1
+ beq _0204DF08
+ ldr r1, _0204E078 ; =0x000002BD
+ ldrb r2, [r0, r1]
+ cmp r2, #0x0
+ bne _0204DF08
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ cmp r0, #0x0
+ bne _0204DE86
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204DE86
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E07C ; =0x000002C1
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204DF08
+_0204DE86:
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x2
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ str r0, [sp, #0x18]
+ cmp r0, #0x0
+ bne _0204DE98
+ b _0204E068
+_0204DE98:
+ bl FUN_02055320
+ ldrh r1, [r5, #0x0]
+ sub r0, r0, r1
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x18]
+ bl FUN_0205532C
+ ldrh r1, [r5, #0x2]
+ sub r7, r0, r1
+ ldr r0, [sp, #0x18]
+ bl FUN_020552F8
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ bne _0204DEC2
+ cmp r7, #0x0
+ bne _0204DEC2
+ mov r6, #0x0
+ b _0204DEEC
+_0204DEC2:
+ ldr r0, [sp, #0x10]
+ bl abs
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl abs
+ cmp r6, r0
+ ble _0204DEE2
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _0204DEDE
+ mov r6, #0x20
+ b _0204DEEC
+_0204DEDE:
+ mov r6, #0x10
+ b _0204DEEC
+_0204DEE2:
+ cmp r7, #0x0
+ ble _0204DEEA
+ mov r6, #0x40
+ b _0204DEEC
+_0204DEEA:
+ mov r6, #0x80
+_0204DEEC:
+ add r0, r7, #0x0
+ bl abs
+ ldr r0, [sp, #0x10]
+ bl abs
+ ldrb r3, [r5, #0x5]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r6, #0x0
+ bl FUN_0204DD18
+ cmp r0, #0x0
+ beq _0204DF0A
+_0204DF08:
+ b _0204E068
+_0204DF0A:
+ ldrb r0, [r5, #0x5]
+ mov r7, #0xff
+ str r0, [sp, #0x14]
+ cmp r0, #0x3
+ bhi _0204DF46
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204DF20: ; jump table (using 16-bit offset)
+ .short _0204DF28 - _0204DF20 - 2; case 0
+ .short _0204DF2E - _0204DF20 - 2; case 1
+ .short _0204DF3C - _0204DF20 - 2; case 2
+ .short _0204DF42 - _0204DF20 - 2; case 3
+_0204DF28:
+ mov r0, #0x5
+ str r0, [sp, #0x8]
+ b _0204DF46
+_0204DF2E:
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ orr r0, r6
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ b _0204DF46
+_0204DF3C:
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ b _0204DF46
+_0204DF42:
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+_0204DF46:
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204DF6C
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204DF6C
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldrb r1, [r2, r0]
+ sub r1, r1, #0x1
+ strb r1, [r2, r0]
+ b _0204E00C
+_0204DF6C:
+ bl FUN_02030FE0
+ cmp r0, #0x0
+ bne _0204DFA0
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E080 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204DFA0
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204DFA0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x18]
+ ldr r3, [sp, #0x8]
+ add r1, r6, #0x0
+ add r2, r6, #0x0
+ bl FUN_02057194
+ add r7, r0, #0x0
+ b _0204E00C
+_0204DFA0:
+ mov r0, #0x2
+ add r1, r6, #0x0
+ bic r1, r0
+ bne _0204DFDE
+ ldrb r0, [r5, #0x7]
+ cmp r0, #0x0
+ beq _0204DFDE
+ mov r0, #0x3
+ str r0, [sp, #0x14]
+ mov r0, #0x4
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _0204DFD2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0204DFC6: ; jump table (using 16-bit offset)
+ .short _0204DFCE - _0204DFC6 - 2; case 0
+ .short _0204DFD2 - _0204DFC6 - 2; case 1
+ .short _0204DFD6 - _0204DFC6 - 2; case 2
+ .short _0204DFDA - _0204DFC6 - 2; case 3
+_0204DFCE:
+ mov r7, #0x1c
+ b _0204E00C
+_0204DFD2:
+ mov r7, #0x1d
+ b _0204E00C
+_0204DFD6:
+ mov r7, #0x1e
+ b _0204E00C
+_0204DFDA:
+ mov r7, #0x1f
+ b _0204E00C
+_0204DFDE:
+ cmp r1, #0x0
+ bne _0204DFF6
+ mov r0, #0x4
+ ldrsb r0, [r5, r0]
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ beq _0204DFF6
+ mov r1, #0x24
+ bl FUN_0205AFDC
+ add r7, r0, #0x0
+ b _0204E00C
+_0204DFF6:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x18]
+ ldr r3, [sp, #0x8]
+ add r1, r6, #0x0
+ add r2, r6, #0x0
+ bl FUN_02057194
+ add r7, r0, #0x0
+_0204E00C:
+ ldr r0, [sp, #0x18]
+ bl FUN_02057254
+ cmp r0, #0x0
+ bne _0204E020
+ ldr r0, [sp, #0x18]
+ bl FUN_020570C4
+ cmp r0, #0x0
+ beq _0204E068
+_0204E020:
+ cmp r7, #0xff
+ beq _0204E068
+ ldr r0, [sp, #0x18]
+ add r1, r7, #0x0
+ bl FUN_02057260
+ mov r0, #0x2
+ bic r6, r0
+ beq _0204E068
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ ldr r0, _0204E070 ; =0x00000142
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204E050
+ ldr r0, [sp, #0x14]
+ bl FUN_0204D870
+ ldr r1, _0204E06C ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r2, r1, r4
+ ldr r1, _0204E070 ; =0x00000142
+ strb r0, [r2, r1]
+_0204E050:
+ ldr r0, _0204E06C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E070 ; =0x00000142
+ add r1, r1, r0
+ ldrb r0, [r1, r4]
+ cmp r0, #0x0
+ beq _0204E062
+ sub r0, r0, #0x1
+ strb r0, [r1, r4]
+_0204E062:
+ add r0, r4, #0x0
+ bl FUN_0204DCB4
+_0204E068:
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+_0204E06C: .word 0x021C5A68
+_0204E070: .word 0x00000142
+_0204E074: .word 0x0000FFFF
+_0204E078: .word 0x000002BD
+_0204E07C: .word 0x000002C1
+_0204E080: .word 0x000002BE
+
+ thumb_func_start FUN_0204E084
+FUN_0204E084: ; 0x0204E084
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ ldr r1, _0204E16C ; =0x021C5A68
+ add r5, r0, #0x0
+ ldr r2, [r1, #0x0]
+ ldr r1, _0204E170 ; =0x0000010A
+ add r2, r2, r1
+ ldrb r1, [r2, r5]
+ cmp r1, #0x0
+ bne _0204E0A0
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204E0A0:
+ cmp r1, #0xff
+ bne _0204E0AA
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204E0AA:
+ sub r1, r1, #0x1
+ strb r1, [r2, r5]
+ cmp r4, #0x1
+ bne _0204E0B8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204E0B8:
+ bl FUN_0204E544
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204E598
+ str r0, [sp, #0x0]
+ ldr r0, _0204E16C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204E174 ; =0x00000112
+ ldrb r0, [r1, r0]
+ bl FUN_02059BF4
+ add r7, r6, r0
+ ldr r0, _0204E16C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204E174 ; =0x00000112
+ ldrb r0, [r1, r0]
+ bl FUN_02059C00
+ ldr r1, [sp, #0x0]
+ add r6, r1, r0
+ ldr r0, _0204E16C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204E170 ; =0x0000010A
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204E110
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_0204D7B0
+ cmp r0, #0x0
+ beq _0204E110
+ ldr r1, _0204E16C ; =0x021C5A68
+ mov r0, #0x1
+ ldr r1, [r1, #0x0]
+ add r2, r1, r5
+ ldr r1, _0204E170 ; =0x0000010A
+ strb r0, [r2, r1]
+_0204E110:
+ ldr r0, _0204E16C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E170 ; =0x0000010A
+ add r2, r1, r5
+ ldrb r0, [r2, r0]
+ cmp r0, #0x1
+ bne _0204E124
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204E124:
+ cmp r0, #0x0
+ bne _0204E13E
+ mov r1, #0x1
+ add r0, sp, #0x4
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x0
+ bl MOD18_0224089C
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204E13E:
+ add r1, #0x62
+ lsl r2, r5, #0x3
+ add r0, r1, r2
+ strh r7, [r1, r2]
+ strh r6, [r0, #0x2]
+ cmp r4, #0x2
+ beq _0204E156
+ cmp r4, #0x4
+ beq _0204E15C
+ cmp r4, #0x8
+ beq _0204E162
+ b _0204E166
+_0204E156:
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ b _0204E166
+_0204E15C:
+ mov r1, #0x1
+ strb r1, [r0, #0x5]
+ b _0204E166
+_0204E162:
+ mov r1, #0x2
+ strb r1, [r0, #0x5]
+_0204E166:
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0204E16C: .word 0x021C5A68
+_0204E170: .word 0x0000010A
+_0204E174: .word 0x00000112
+
+ thumb_func_start FUN_0204E178
+FUN_0204E178: ; 0x0204E178
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204E1DC ; =0x021C5A68
+ add r4, r1, #0x0
+ ldr r1, [r0, #0x0]
+ lsl r0, r5, #0x3
+ add r1, #0x62
+ add r6, r1, r0
+ add r0, r4, #0x0
+ add r7, r2, #0x0
+ bl FUN_0204F610
+ ldr r1, _0204E1DC ; =0x021C5A68
+ strb r0, [r6, #0x4]
+ ldr r0, [r1, #0x0]
+ add r2, r0, r5
+ ldr r0, _0204E1E0 ; =0x00000112
+ cmp r7, #0x0
+ strb r4, [r2, r0]
+ beq _0204E1B6
+ ldr r2, [r1, #0x0]
+ mov r3, #0x1
+ add r2, r2, r5
+ add r0, #0x18
+ strb r3, [r2, r0]
+ ldr r0, [r1, #0x0]
+ mov r2, #0x2d
+ add r1, r0, r5
+ add r0, r2, #0x0
+ add r0, #0xdd
+ b _0204E1CA
+_0204E1B6:
+ ldr r2, [r1, #0x0]
+ mov r3, #0x0
+ add r2, r2, r5
+ add r0, #0x18
+ strb r3, [r2, r0]
+ ldr r0, [r1, #0x0]
+ mov r2, #0x1b
+ add r1, r0, r5
+ add r0, r2, #0x0
+ add r0, #0xef
+_0204E1CA:
+ strb r2, [r1, r0]
+ ldr r0, _0204E1DC ; =0x021C5A68
+ mov r2, #0x1
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204E1E4 ; =0x00000132
+ strb r2, [r1, r0]
+ pop {r3-r7, pc}
+ nop
+_0204E1DC: .word 0x021C5A68
+_0204E1E0: .word 0x00000112
+_0204E1E4: .word 0x00000132
+
+ thumb_func_start FUN_0204E1E8
+FUN_0204E1E8: ; 0x0204E1E8
+ ldr r1, _0204E1F8 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ ldr r0, _0204E1FC ; =0x0000010A
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_0204E1F8: .word 0x021C5A68
+_0204E1FC: .word 0x0000010A
+
+ thumb_func_start FUN_0204E200
+FUN_0204E200: ; 0x0204E200
+ ldr r1, _0204E210 ; =0x021C5A68
+ mov r2, #0xff
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ add r0, r2, #0x0
+ add r0, #0xb
+ strb r2, [r1, r0]
+ bx lr
+ .balign 4
+_0204E210: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E214
+FUN_0204E214: ; 0x0204E214
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204E24C ; =0x021C5A68
+ add r4, r1, #0x0
+ ldr r1, [r0, #0x0]
+ lsl r0, r5, #0x2
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204E248
+ bl FUN_020553A0
+ mov r1, #0x80
+ add r6, r0, #0x0
+ bl FUN_02058410
+ mov r1, #0x1
+ add r0, r6, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058410
+ ldr r0, _0204E24C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r5
+ ldr r0, _0204E250 ; =0x00000102
+ strb r4, [r1, r0]
+_0204E248:
+ pop {r4-r6, pc}
+ nop
+_0204E24C: .word 0x021C5A68
+_0204E250: .word 0x00000102
+
+ thumb_func_start FUN_0204E254
+FUN_0204E254: ; 0x0204E254
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E2A0 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x2
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204E29E
+ add r2, r1, r4
+ ldr r1, _0204E2A4 ; =0x00000102
+ ldrsb r2, [r2, r1]
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r2, r1
+ beq _0204E29E
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE50
+ add r0, r5, #0x0
+ mov r1, #0x80
+ bl FUN_02058418
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058418
+ ldr r0, _0204E2A0 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r0, [r0, #0x0]
+ mvn r2, r2
+ add r1, r0, r4
+ ldr r0, _0204E2A4 ; =0x00000102
+ strb r2, [r1, r0]
+_0204E29E:
+ pop {r3-r5, pc}
+ .balign 4
+_0204E2A0: .word 0x021C5A68
+_0204E2A4: .word 0x00000102
+
+ thumb_func_start FUN_0204E2A8
+FUN_0204E2A8: ; 0x0204E2A8
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_0204E2AC
+FUN_0204E2AC: ; 0x0204E2AC
+ ldr r3, _0204E2B0 ; =FUN_0204F7FC
+ bx r3
+ .balign 4
+_0204E2B0: .word FUN_0204F7FC
+
+ thumb_func_start FUN_0204E2B4
+FUN_0204E2B4: ; 0x0204E2B4
+ ldr r3, _0204E2B8 ; =FUN_0204F7FC
+ bx r3
+ .balign 4
+_0204E2B8: .word FUN_0204F7FC
+
+ thumb_func_start FUN_0204E2BC
+FUN_0204E2BC: ; 0x0204E2BC
+ ldr r3, _0204E2C4 ; =FUN_0204F774
+ mov r0, #0x2
+ bx r3
+ nop
+_0204E2C4: .word FUN_0204F774
+
+ thumb_func_start FUN_0204E2C8
+FUN_0204E2C8: ; 0x0204E2C8
+ ldr r3, _0204E2D0 ; =FUN_0204F774
+ mov r0, #0x20
+ bx r3
+ nop
+_0204E2D0: .word FUN_0204F774
+
+ thumb_func_start FUN_0204E2D4
+FUN_0204E2D4: ; 0x0204E2D4
+ ldr r3, _0204E2DC ; =FUN_0204F774
+ mov r0, #0x1
+ bx r3
+ nop
+_0204E2DC: .word FUN_0204F774
+
+ thumb_func_start FUN_0204E2E0
+FUN_0204E2E0: ; 0x0204E2E0
+ push {r3, lr}
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ mov r0, #0x1a
+ add r1, sp, #0x0
+ bl FUN_02030C4C
+ pop {r3, pc}
+
+ thumb_func_start FUN_0204E2F0
+FUN_0204E2F0: ; 0x0204E2F0
+ ldr r3, _0204E2F8 ; =MOD18_0223E4BC
+ ldrb r0, [r2, #0x0]
+ bx r3
+ nop
+_0204E2F8: .word MOD18_0223E4BC
+
+ thumb_func_start FUN_0204E2FC
+FUN_0204E2FC: ; 0x0204E2FC
+ push {r3, lr}
+ bl FUN_02031280
+ cmp r0, #0x0
+ beq _0204E30A
+ mov r0, #0x1
+ pop {r3, pc}
+_0204E30A:
+ ldr r0, _0204E344 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E316
+ mov r0, #0x0
+ pop {r3, pc}
+_0204E316:
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _0204E326
+ mov r0, #0x0
+ pop {r3, pc}
+_0204E326:
+ ldr r0, _0204E344 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E348 ; =0x000002BE
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204E33E
+ bl FUN_0204FE5C
+ cmp r0, #0x0
+ bne _0204E33E
+ mov r0, #0x0
+ pop {r3, pc}
+_0204E33E:
+ mov r0, #0x1
+ pop {r3, pc}
+ nop
+_0204E344: .word 0x021C5A68
+_0204E348: .word 0x000002BE
+
+ thumb_func_start FUN_0204E34C
+FUN_0204E34C: ; 0x0204E34C
+ ldr r1, _0204E358 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ bx lr
+ .balign 4
+_0204E358: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E35C
+FUN_0204E35C: ; 0x0204E35C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E39C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E36C
+ ldr r0, _0204E3A0 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E36C:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E382
+ ldr r0, _0204E39C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa2
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E382:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E398
+ ldr r0, _0204E39C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa2
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E398:
+ ldr r0, _0204E3A0 ; =0x0000FFFF
+ pop {r4, pc}
+ .balign 4
+_0204E39C: .word 0x021C5A68
+_0204E3A0: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E3A4
+FUN_0204E3A4: ; 0x0204E3A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E3E4 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E3B4
+ ldr r0, _0204E3E8 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E3B4:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E3CA
+ ldr r0, _0204E3E4 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa4
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E3CA:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E3E0
+ ldr r0, _0204E3E4 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa4
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E3E0:
+ ldr r0, _0204E3E8 ; =0x0000FFFF
+ pop {r4, pc}
+ .balign 4
+_0204E3E4: .word 0x021C5A68
+_0204E3E8: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E3EC
+FUN_0204E3EC: ; 0x0204E3EC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E438 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E3FC
+ ldr r0, _0204E43C ; =0x0000FFFF
+ pop {r4, pc}
+_0204E3FC:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E412
+ ldr r0, _0204E438 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa2
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E412:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E428
+ ldr r0, _0204E438 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E42C
+_0204E428:
+ ldr r0, _0204E43C ; =0x0000FFFF
+ pop {r4, pc}
+_0204E42C:
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa2
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+ nop
+_0204E438: .word 0x021C5A68
+_0204E43C: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E440
+FUN_0204E440: ; 0x0204E440
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E48C ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E450
+ ldr r0, _0204E490 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E450:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E466
+ ldr r0, _0204E48C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa4
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E466:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E47C
+ ldr r0, _0204E48C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E480
+_0204E47C:
+ ldr r0, _0204E490 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E480:
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0xa4
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+ nop
+_0204E48C: .word 0x021C5A68
+_0204E490: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E494
+FUN_0204E494: ; 0x0204E494
+ ldr r1, _0204E4AC ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204E4A6
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ add r0, #0xa2
+ ldrh r0, [r0, #0x0]
+ bx lr
+_0204E4A6:
+ ldr r0, _0204E4B0 ; =0x0000FFFF
+ bx lr
+ nop
+_0204E4AC: .word 0x021C5A68
+_0204E4B0: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E4B4
+FUN_0204E4B4: ; 0x0204E4B4
+ ldr r1, _0204E4CC ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204E4C6
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ add r0, #0xa4
+ ldrh r0, [r0, #0x0]
+ bx lr
+_0204E4C6:
+ ldr r0, _0204E4D0 ; =0x0000FFFF
+ bx lr
+ nop
+_0204E4CC: .word 0x021C5A68
+_0204E4D0: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E4D4
+FUN_0204E4D4: ; 0x0204E4D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E3EC
+ ldr r1, _0204E504 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0204E4E6
+ add r0, r1, #0x0
+ pop {r4, pc}
+_0204E4E6:
+ ldr r0, _0204E508 ; =0x021C5A68
+ lsl r4, r4, #0x3
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ mov r0, #0xa6
+ ldrsb r0, [r1, r0]
+ bl FUN_02059BF4
+ ldr r1, _0204E508 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r4
+ add r1, #0xa2
+ ldrh r1, [r1, #0x0]
+ add r0, r1, r0
+ pop {r4, pc}
+ .balign 4
+_0204E504: .word 0x0000FFFF
+_0204E508: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E50C
+FUN_0204E50C: ; 0x0204E50C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E440
+ ldr r1, _0204E53C ; =0x0000FFFF
+ cmp r0, r1
+ bne _0204E51E
+ add r0, r1, #0x0
+ pop {r4, pc}
+_0204E51E:
+ ldr r0, _0204E540 ; =0x021C5A68
+ lsl r4, r4, #0x3
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ mov r0, #0xa6
+ ldrsb r0, [r1, r0]
+ bl FUN_02059C00
+ ldr r1, _0204E540 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r4
+ add r1, #0xa4
+ ldrh r1, [r1, #0x0]
+ add r0, r1, r0
+ pop {r4, pc}
+ .balign 4
+_0204E53C: .word 0x0000FFFF
+_0204E540: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E544
+FUN_0204E544: ; 0x0204E544
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E590 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E554
+ ldr r0, _0204E594 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E554:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E56A
+ ldr r0, _0204E590 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0x62
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E56A:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E580
+ ldr r0, _0204E590 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E584
+_0204E580:
+ ldr r0, _0204E594 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E584:
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0x62
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+ nop
+_0204E590: .word 0x021C5A68
+_0204E594: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E598
+FUN_0204E598: ; 0x0204E598
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204E5E4 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E5A8
+ ldr r0, _0204E5E8 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E5A8:
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204E5BE
+ ldr r0, _0204E5E4 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0x64
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+_0204E5BE:
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E5D4
+ ldr r0, _0204E5E4 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E5D8
+_0204E5D4:
+ ldr r0, _0204E5E8 ; =0x0000FFFF
+ pop {r4, pc}
+_0204E5D8:
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r0, #0x64
+ ldrh r0, [r0, #0x0]
+ pop {r4, pc}
+ nop
+_0204E5E4: .word 0x021C5A68
+_0204E5E8: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E5EC
+FUN_0204E5EC: ; 0x0204E5EC
+ ldr r1, _0204E604 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204E5FE
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ add r0, #0x62
+ ldrh r0, [r0, #0x0]
+ bx lr
+_0204E5FE:
+ ldr r0, _0204E608 ; =0x0000FFFF
+ bx lr
+ nop
+_0204E604: .word 0x021C5A68
+_0204E608: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E60C
+FUN_0204E60C: ; 0x0204E60C
+ ldr r1, _0204E624 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204E61E
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ add r0, #0x64
+ ldrh r0, [r0, #0x0]
+ bx lr
+_0204E61E:
+ ldr r0, _0204E628 ; =0x0000FFFF
+ bx lr
+ nop
+_0204E624: .word 0x021C5A68
+_0204E628: .word 0x0000FFFF
+
+ thumb_func_start FUN_0204E62C
+FUN_0204E62C: ; 0x0204E62C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E544
+ ldr r1, _0204E65C ; =0x0000FFFF
+ cmp r0, r1
+ bne _0204E63E
+ add r0, r1, #0x0
+ pop {r4, pc}
+_0204E63E:
+ ldr r0, _0204E660 ; =0x021C5A68
+ lsl r4, r4, #0x3
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ mov r0, #0x66
+ ldrsb r0, [r1, r0]
+ bl FUN_02059BF4
+ ldr r1, _0204E660 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r4
+ add r1, #0x62
+ ldrh r1, [r1, #0x0]
+ add r0, r1, r0
+ pop {r4, pc}
+ .balign 4
+_0204E65C: .word 0x0000FFFF
+_0204E660: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E664
+FUN_0204E664: ; 0x0204E664
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E598
+ ldr r1, _0204E694 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0204E676
+ add r0, r1, #0x0
+ pop {r4, pc}
+_0204E676:
+ ldr r0, _0204E698 ; =0x021C5A68
+ lsl r4, r4, #0x3
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ mov r0, #0x66
+ ldrsb r0, [r1, r0]
+ bl FUN_02059C00
+ ldr r1, _0204E698 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r4
+ add r1, #0x64
+ ldrh r1, [r1, #0x0]
+ add r0, r1, r0
+ pop {r4, pc}
+ .balign 4
+_0204E694: .word 0x0000FFFF
+_0204E698: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E69C
+FUN_0204E69C: ; 0x0204E69C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E6B6
+ ldr r0, _0204E6C8 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E6BC
+_0204E6B6:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_0204E6BC:
+ lsl r0, r4, #0x3
+ add r1, r1, r0
+ mov r0, #0xa6
+ ldrsb r0, [r1, r0]
+ pop {r4, pc}
+ nop
+_0204E6C8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E6CC
+FUN_0204E6CC: ; 0x0204E6CC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0204E2FC
+ cmp r0, #0x0
+ beq _0204E6E6
+ ldr r0, _0204E6F8 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x48
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204E6EC
+_0204E6E6:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_0204E6EC:
+ lsl r0, r4, #0x3
+ add r1, r1, r0
+ mov r0, #0x66
+ ldrsb r0, [r1, r0]
+ pop {r4, pc}
+ nop
+_0204E6F8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E6FC
+FUN_0204E6FC: ; 0x0204E6FC
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, _0204E728 ; =0x021C5A68
+ lsl r0, r0, #0x3
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ mov r0, #0x66
+ ldrsb r0, [r1, r0]
+ bl FUN_0204F610
+ ldr r2, _0204E728 ; =0x021C5A68
+ lsl r1, r4, #0x3
+ ldr r3, [r2, #0x0]
+ add r1, r3, r1
+ add r1, #0x66
+ strb r0, [r1, #0x0]
+ ldr r0, [r2, #0x0]
+ mov r3, #0x1
+ add r1, r0, r4
+ ldr r0, _0204E72C ; =0x00000132
+ strb r3, [r1, r0]
+ pop {r4, pc}
+ .balign 4
+_0204E728: .word 0x021C5A68
+_0204E72C: .word 0x00000132
+
+ thumb_func_start FUN_0204E730
+FUN_0204E730: ; 0x0204E730
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, _0204E754 ; =0x021C5A68
+ lsl r0, r0, #0x3
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ mov r0, #0xa6
+ ldrsb r0, [r1, r0]
+ bl FUN_0204F610
+ ldr r1, _0204E754 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x3
+ add r1, r2, r1
+ add r1, #0xa6
+ strb r0, [r1, #0x0]
+ pop {r4, pc}
+ nop
+_0204E754: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E758
+FUN_0204E758: ; 0x0204E758
+ push {r4, lr}
+ add r2, r0, #0x0
+ ldr r0, _0204E774 ; =0x021C5A68
+ add r4, r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r1, r2, #0x0
+ ldr r0, [r0, #0x4]
+ bl MOD18_02244D40
+ add r1, r4, #0x0
+ bl MOD18_02244D98
+ pop {r4, pc}
+ nop
+_0204E774: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E778
+FUN_0204E778: ; 0x0204E778
+ push {r3, lr}
+ add r1, r0, #0x0
+ ldr r0, _0204E790 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ bl MOD18_02244D40
+ mov r1, #0x0
+ bl MOD18_02244D98
+ pop {r3, pc}
+ nop
+_0204E790: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E794
+FUN_0204E794: ; 0x0204E794
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r1, [sp, #0x0]
+ ldr r1, _0204E7C8 ; =0x021C5A68
+ add r6, r3, #0x0
+ ldr r4, [r1, #0x0]
+ lsl r7, r0, #0x3
+ add r4, #0x62
+ add r0, r6, #0x0
+ str r2, [sp, #0x4]
+ add r5, r4, r7
+ bl FUN_02059BF4
+ ldr r1, [sp, #0x0]
+ add r0, r1, r0
+ strh r0, [r4, r7]
+ add r0, r6, #0x0
+ bl FUN_02059C00
+ ldr r1, [sp, #0x4]
+ add r0, r1, r0
+ strh r0, [r5, #0x2]
+ strb r6, [r5, #0x4]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0204E7C8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E7CC
+FUN_0204E7CC: ; 0x0204E7CC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204E848 ; =0x021C5A68
+ add r6, r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r7, r2, #0x0
+ str r3, [sp, #0x0]
+ cmp r0, #0x0
+ beq _0204E844
+ add r2, r0, #0x0
+ add r2, #0xa2
+ lsl r1, r5, #0x3
+ add r4, r2, r1
+ ldr r1, _0204E84C ; =0x000002BD
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ bne _0204E7FA
+ ldrh r1, [r4, #0x0]
+ ldrh r3, [r4, #0x2]
+ ldr r0, [r0, #0x54]
+ mov r2, #0x0
+ bl MOD05_021E5B30
+_0204E7FA:
+ strh r6, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ strh r7, [r4, #0x2]
+ strb r0, [r4, #0x4]
+ ldr r0, _0204E848 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r5, #0x2
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204E81A
+ ldr r3, [sp, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02055514
+_0204E81A:
+ ldr r0, _0204E848 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E84C ; =0x000002BD
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204E832
+ ldr r0, [r1, #0x54]
+ ldrh r1, [r4, #0x0]
+ ldrh r3, [r4, #0x2]
+ mov r2, #0x0
+ bl MOD05_021E5B30
+_0204E832:
+ ldr r0, _0204E848 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204E84C ; =0x000002BD
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204E844
+ add r0, r5, #0x0
+ bl FUN_0204F0A8
+_0204E844:
+ pop {r3-r7, pc}
+ nop
+_0204E848: .word 0x021C5A68
+_0204E84C: .word 0x000002BD
+
+ thumb_func_start FUN_0204E850
+FUN_0204E850: ; 0x0204E850
+ push {r3-r4, lr}
+ sub sp, #0x4
+ mov r2, #0x2
+ add r1, sp, #0x0
+ add r4, r0, #0x0
+ strb r2, [r1, #0x0]
+ strb r4, [r1, #0x1]
+ ldr r1, _0204E8AC ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r4
+ add r1, #0xe2
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204E88A
+ bl FUN_0204D830
+ cmp r0, #0x0
+ bne _0204E88A
+ add r0, r4, #0x0
+ bl FUN_0204EE9C
+ cmp r0, #0x0
+ add r0, sp, #0x0
+ beq _0204E886
+ mov r1, #0x3
+ strb r1, [r0, #0x0]
+ b _0204E88A
+_0204E886:
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+_0204E88A:
+ mov r0, #0x1d
+ add r1, sp, #0x0
+ mov r2, #0x2
+ bl FUN_02030BC4
+ cmp r0, #0x0
+ beq _0204E8A8
+ add r0, sp, #0x0
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ beq _0204E8A8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0204EAD8
+_0204E8A8:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0204E8AC: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E8B0
+FUN_0204E8B0: ; 0x0204E8B0
+ push {r3-r6}
+ ldr r2, _0204E8F8 ; =0x021C5A68
+ ldr r3, [r2, #0x0]
+ cmp r3, #0x0
+ bne _0204E8C0
+ mov r0, #0xff
+ pop {r3-r6}
+ bx lr
+_0204E8C0:
+ mov r2, #0x0
+ add r4, r3, #0x0
+_0204E8C4:
+ add r5, r3, #0x0
+ add r5, #0x48
+ ldrb r5, [r5, #0x0]
+ cmp r5, #0x0
+ beq _0204E8E8
+ add r5, r4, #0x0
+ add r5, #0x64
+ ldrh r6, [r5, #0x0]
+ add r5, r4, #0x0
+ add r5, #0x62
+ ldrh r5, [r5, #0x0]
+ cmp r0, r5
+ bne _0204E8E8
+ cmp r1, r6
+ bne _0204E8E8
+ add r0, r2, #0x0
+ pop {r3-r6}
+ bx lr
+_0204E8E8:
+ add r2, r2, #0x1
+ add r3, r3, #0x1
+ add r4, #0x8
+ cmp r2, #0x8
+ blt _0204E8C4
+ mov r0, #0xff
+ pop {r3-r6}
+ bx lr
+ .balign 4
+_0204E8F8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204E8FC
+FUN_0204E8FC: ; 0x0204E8FC
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_02030FE0
+ cmp r0, #0x0
+ beq _0204E962
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _0204E936
+ bl FUN_02031190
+ ldrb r1, [r4, #0x1]
+ cmp r1, r0
+ bne _0204E936
+ ldr r1, _0204E964 ; =0x021C5A68
+ mov r0, #0xae
+ ldr r3, [r1, #0x0]
+ lsl r0, r0, #0x2
+ ldrb r2, [r3, r0]
+ cmp r2, #0x0
+ bne _0204E962
+ mov r2, #0x1
+ strb r2, [r3, r0]
+ ldr r1, [r1, #0x0]
+ ldr r0, _0204E968 ; =FUN_0204D308
+ ldr r1, [r1, #0x54]
+ bl MOD18_022494C8
+ pop {r4, pc}
+_0204E936:
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x3
+ bne _0204E962
+ bl FUN_02031190
+ ldrb r1, [r4, #0x1]
+ cmp r1, r0
+ bne _0204E962
+ ldr r1, _0204E964 ; =0x021C5A68
+ mov r0, #0xae
+ ldr r3, [r1, #0x0]
+ lsl r0, r0, #0x2
+ ldrb r2, [r3, r0]
+ cmp r2, #0x0
+ bne _0204E962
+ mov r2, #0x1
+ strb r2, [r3, r0]
+ ldr r1, [r1, #0x0]
+ ldr r0, _0204E968 ; =FUN_0204D308
+ ldr r1, [r1, #0x54]
+ bl MOD06_0224A7C8
+_0204E962:
+ pop {r4, pc}
+ .balign 4
+_0204E964: .word 0x021C5A68
+_0204E968: .word FUN_0204D308
+
+ thumb_func_start FUN_0204E96C
+FUN_0204E96C: ; 0x0204E96C
+ push {r4-r6, lr}
+ ldr r0, _0204EACC ; =0x021C5A68
+ add r5, r2, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r6, r0, #0x0
+ ldrb r0, [r5, #0x1]
+ cmp r0, #0x8
+ blo _0204E988
+ bl ErrorHandling
+_0204E988:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x4
+ bne _0204E9AA
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204E9AA
+ bl FUN_0204F7E4
+ bl MOD18_0223D638
+ ldr r3, _0204EAD0 ; =FUN_0204E2AC
+ mov r1, #0x48
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+_0204E9AA:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _0204E9B8
+ ldrb r0, [r5, #0x1]
+ ldrb r1, [r5, #0x2]
+ bl FUN_0204E730
+_0204E9B8:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _0204EA7C
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204EA7C
+ ldr r2, _0204EACC ; =0x021C5A68
+ ldrb r0, [r5, #0x2]
+ ldr r2, [r2, #0x0]
+ ldr r1, _0204EAD4 ; =FUN_0204D308
+ ldr r2, [r2, #0x54]
+ bl MOD18_02247A34
+ ldr r0, _0204EACC ; =0x021C5A68
+ ldrb r4, [r5, #0x1]
+ ldr r2, [r0, #0x0]
+ mov r3, #0xf
+ add r1, r2, #0x0
+ add r1, #0x58
+ ldrb r1, [r1, #0x0]
+ add r2, #0x58
+ bic r1, r3
+ mov r3, #0xf
+ and r3, r4
+ orr r1, r3
+ strb r1, [r2, #0x0]
+ ldr r2, [r0, #0x0]
+ mov r3, #0xf0
+ add r1, r2, #0x0
+ add r1, #0x58
+ ldrb r1, [r1, #0x0]
+ add r2, #0x58
+ bic r1, r3
+ ldrb r3, [r5, #0x2]
+ lsl r3, r3, #0x1c
+ lsr r3, r3, #0x18
+ orr r1, r3
+ strb r1, [r2, #0x0]
+ ldr r3, [r0, #0x0]
+ add r1, r3, #0x0
+ add r1, #0x59
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x1
+ add r3, #0x59
+ bic r2, r1
+ strb r2, [r3, #0x0]
+ ldr r3, [r0, #0x0]
+ add r1, r3, #0x0
+ add r1, #0x59
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x2
+ add r3, #0x59
+ bic r2, r1
+ strb r2, [r3, #0x0]
+ ldrb r4, [r5, #0x2]
+ ldr r1, [r0, #0x0]
+ add r0, r1, r4
+ add r0, #0x5a
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204EA7C
+ ldr r0, [r1, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CB4
+ add r1, r4, #0x0
+ bl FUN_02026908
+ add r0, r6, #0x0
+ bl FUN_0205F688
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_0205F698
+ add r0, r6, #0x0
+ bl FUN_0205F6A8
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_0205F6B8
+ ldr r0, _0204EACC ; =0x021C5A68
+ ldrb r1, [r5, #0x2]
+ ldr r2, [r0, #0x0]
+ add r2, #0x5a
+ ldrb r0, [r2, r1]
+ add r0, r0, #0x1
+ strb r0, [r2, r1]
+_0204EA7C:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _0204EA9A
+ ldrb r4, [r5, #0x2]
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204EA9A
+ ldr r2, _0204EACC ; =0x021C5A68
+ ldrb r1, [r5, #0x1]
+ ldr r2, [r2, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0x54]
+ bl MOD18_02248DF8
+_0204EA9A:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x2
+ bne _0204EABC
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204EABC
+ bl FUN_0204F7E4
+ bl MOD18_0223D638
+ ldr r3, _0204EAD0 ; =FUN_0204E2AC
+ mov r1, #0x2
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+_0204EABC:
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _0204EACA
+ ldrb r0, [r5, #0x1]
+ ldrb r1, [r5, #0x2]
+ bl MOD18_0223E4A8
+_0204EACA:
+ pop {r4-r6, pc}
+ .balign 4
+_0204EACC: .word 0x021C5A68
+_0204EAD0: .word FUN_0204E2AC
+_0204EAD4: .word FUN_0204D308
+
+ thumb_func_start FUN_0204EAD8
+FUN_0204EAD8: ; 0x0204EAD8
+ push {r3-r4}
+ ldr r3, _0204EB0C ; =0x021C5A68
+ ldr r4, [r3, #0x0]
+ add r4, #0xe2
+ ldrb r2, [r4, r0]
+ cmp r1, r2
+ beq _0204EB08
+ strb r1, [r4, r0]
+ ldr r2, [r3, #0x0]
+ lsl r1, r0, #0x3
+ add r2, r2, r1
+ mov r4, #0x0
+ add r2, #0x69
+ strb r4, [r2, #0x0]
+ ldr r2, [r3, #0x0]
+ mov r4, #0x1
+ add r2, r2, r0
+ ldr r0, _0204EB10 ; =0x00000132
+ strb r4, [r2, r0]
+ ldr r0, [r3, #0x0]
+ mov r2, #0x2
+ add r0, r0, r1
+ add r0, #0x67
+ strb r2, [r0, #0x0]
+_0204EB08:
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_0204EB0C: .word 0x021C5A68
+_0204EB10: .word 0x00000132
+
+ thumb_func_start FUN_0204EB14
+FUN_0204EB14: ; 0x0204EB14
+ ldr r1, _0204EB3C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ ldr r1, _0204EB40 ; =0x000002C2
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ beq _0204EB24
+ mov r0, #0x0
+ bx lr
+_0204EB24:
+ add r1, r2, r0
+ add r1, #0xea
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _0204EB36
+ add r0, r2, r0
+ add r0, #0xe2
+ ldrb r0, [r0, #0x0]
+ bx lr
+_0204EB36:
+ mov r0, #0x0
+ bx lr
+ nop
+_0204EB3C: .word 0x021C5A68
+_0204EB40: .word 0x000002C2
+
+ thumb_func_start FUN_0204EB44
+FUN_0204EB44: ; 0x0204EB44
+ push {r3-r7, lr}
+ sub sp, #0x30
+ ldr r1, _0204EBF8 ; =0x020F5800
+ add r0, sp, #0x8
+ ldrh r2, [r1, #0x0]
+ ldr r3, _0204EBFC ; =0x020F5814
+ strh r2, [r0, #0x0]
+ ldrh r2, [r1, #0x2]
+ strh r2, [r0, #0x2]
+ ldrh r2, [r1, #0x4]
+ ldrh r1, [r1, #0x6]
+ strh r2, [r0, #0x4]
+ strh r1, [r0, #0x6]
+ add r2, sp, #0x20
+ mov r1, #0x8
+_0204EB62:
+ ldrh r0, [r3, #0x0]
+ add r3, r3, #0x2
+ strh r0, [r2, #0x0]
+ add r2, r2, #0x2
+ sub r1, r1, #0x1
+ bne _0204EB62
+ bl FUN_02033534
+ bl FUN_02031248
+ add r6, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x0]
+ cmp r6, #0x2
+ bne _0204EB86
+ add r5, sp, #0x8
+ b _0204EB88
+_0204EB86:
+ add r5, sp, #0x20
+_0204EB88:
+ mov r7, #0x0
+ cmp r6, #0x0
+ ble _0204EBD4
+_0204EB8E:
+ mov r4, #0x0
+ cmp r6, #0x0
+ ble _0204EBCC
+_0204EB94:
+ add r0, r4, #0x0
+ bl FUN_0204E3EC
+ ldrh r1, [r5, #0x0]
+ cmp r1, r0
+ bne _0204EBC6
+ add r0, r4, #0x0
+ bl FUN_0204E440
+ ldrh r1, [r5, #0x2]
+ cmp r1, r0
+ bne _0204EBC6
+ ldr r0, [sp, #0x4]
+ lsl r1, r4, #0x2
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, sp, #0x10
+ str r7, [r0, r1]
+ bl FUN_02031190
+ cmp r4, r0
+ bne _0204EBCC
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ b _0204EBCC
+_0204EBC6:
+ add r4, r4, #0x1
+ cmp r4, r6
+ blt _0204EB94
+_0204EBCC:
+ add r7, r7, #0x1
+ add r5, r5, #0x4
+ cmp r7, r6
+ blt _0204EB8E
+_0204EBD4:
+ ldr r0, [sp, #0x4]
+ cmp r0, r6
+ bne _0204EBF2
+ mov r5, #0x0
+ cmp r6, #0x0
+ ble _0204EBF2
+ add r4, sp, #0x10
+_0204EBE2:
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_020313B4
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, r6
+ blt _0204EBE2
+_0204EBF2:
+ ldr r0, [sp, #0x0]
+ add sp, #0x30
+ pop {r3-r7, pc}
+ .balign 4
+_0204EBF8: .word 0x020F5800
+_0204EBFC: .word 0x020F5814
+
+ thumb_func_start FUN_0204EC00
+FUN_0204EC00: ; 0x0204EC00
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x3
+ bne _0204EC14
+ ldr r1, _0204EC24 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0xf2
+ strb r2, [r0, #0x0]
+ bx lr
+_0204EC14:
+ ldr r1, _0204EC24 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_0204EC24: .word 0x021C5A68
+
+ thumb_func_start FUN_0204EC28
+FUN_0204EC28: ; 0x0204EC28
+ push {r3-r7, lr}
+ sub sp, #0x8
+ bl FUN_02033534
+ bl FUN_02031248
+ add r7, r0, #0x0
+ cmp r7, #0x2
+ bne _0204EC40
+ ldr r0, _0204ECB4 ; =0x02105E5C
+ str r0, [sp, #0x0]
+ b _0204EC44
+_0204EC40:
+ ldr r0, _0204ECB8 ; =0x02105E64
+ str r0, [sp, #0x0]
+_0204EC44:
+ mov r1, #0x0
+ add r0, sp, #0x4
+ strb r1, [r0, #0x0]
+ cmp r7, #0x0
+ ble _0204ECAE
+_0204EC4E:
+ ldr r0, _0204ECBC ; =0x021C5A68
+ add r6, sp, #0x4
+ ldr r1, [r0, #0x0]
+ ldrb r0, [r6, #0x0]
+ add r1, r1, r0
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204ECA0
+ mov r4, #0x0
+ cmp r7, #0x0
+ ble _0204ECA0
+ ldr r5, [sp, #0x0]
+_0204EC6A:
+ ldrb r0, [r6, #0x0]
+ bl FUN_0204E544
+ ldrh r1, [r5, #0x0]
+ cmp r1, r0
+ bne _0204EC98
+ ldrb r0, [r6, #0x0]
+ bl FUN_0204E598
+ ldrh r1, [r5, #0x2]
+ cmp r1, r0
+ bne _0204EC98
+ ldr r0, _0204ECBC ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldrb r0, [r6, #0x0]
+ add r1, r1, r0
+ add r1, #0xf2
+ mov r0, #0x1
+ strb r0, [r1, #0x0]
+ mov r0, #0x5f
+ add r1, sp, #0x4
+ bl FUN_02030C4C
+_0204EC98:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, r7
+ blt _0204EC6A
+_0204ECA0:
+ add r0, sp, #0x4
+ ldrb r1, [r0, #0x0]
+ add r1, r1, #0x1
+ strb r1, [r0, #0x0]
+ ldrb r0, [r0, #0x0]
+ cmp r0, r7
+ blt _0204EC4E
+_0204ECAE:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0204ECB4: .word 0x02105E5C
+_0204ECB8: .word 0x02105E64
+_0204ECBC: .word 0x021C5A68
+
+ thumb_func_start FUN_0204ECC0
+FUN_0204ECC0: ; 0x0204ECC0
+ push {r4, lr}
+ bl FUN_02031190
+ add r4, r0, #0x0
+ bl FUN_0204E3EC
+ cmp r0, #0x8
+ ble _0204ECE0
+ mov r0, #0x2
+ bl FUN_0204F6DC
+ mov r0, #0x2
+ mov r1, #0x24
+ bl FUN_0205AFDC
+ b _0204ECEE
+_0204ECE0:
+ mov r0, #0x3
+ bl FUN_0204F6DC
+ mov r0, #0x3
+ mov r1, #0x24
+ bl FUN_0205AFDC
+_0204ECEE:
+ add r1, r0, #0x0
+ ldr r0, _0204ED04 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ lsl r0, r4, #0x2
+ add r0, r2, r0
+ ldr r0, [r0, #0x8]
+ bl FUN_02057260
+ bl FUN_0204FB14
+ pop {r4, pc}
+ .balign 4
+_0204ED04: .word 0x021C5A68
+
+ thumb_func_start FUN_0204ED08
+FUN_0204ED08: ; 0x0204ED08
+ push {r3-r7, lr}
+ sub sp, #0x8
+ bl FUN_02033534
+ bl FUN_02031248
+ mov r3, #0x0
+ str r0, [sp, #0x0]
+ cmp r0, #0x0
+ ble _0204ED3C
+ ldr r0, _0204ED94 ; =0x021C5A68
+ mov r1, #0x66
+ add r2, r1, #0x0
+ ldr r4, [r0, #0x0]
+ sub r2, #0x67
+_0204ED26:
+ ldrsb r0, [r4, r1]
+ cmp r0, r2
+ bne _0204ED32
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0204ED32:
+ ldr r0, [sp, #0x0]
+ add r3, r3, #0x1
+ add r4, #0x8
+ cmp r3, r0
+ blt _0204ED26
+_0204ED3C:
+ ldr r0, [sp, #0x0]
+ mov r5, #0x0
+ cmp r0, #0x0
+ ble _0204ED8E
+ add r4, r5, #0x0
+_0204ED46:
+ ldr r0, _0204ED94 ; =0x021C5A68
+ ldr r7, [r0, #0x0]
+ mov r0, #0x4
+ add r7, #0x62
+ add r6, r7, r4
+ ldrsb r0, [r6, r0]
+ bl FUN_0204F610
+ str r0, [sp, #0x4]
+ bl FUN_02059BF4
+ ldrh r1, [r7, r4]
+ add r0, r1, r0
+ strh r0, [r7, r4]
+ ldr r0, [sp, #0x4]
+ bl FUN_02059C00
+ ldrh r1, [r6, #0x2]
+ add r0, r1, r0
+ strh r0, [r6, #0x2]
+ mov r0, #0x2
+ strb r0, [r6, #0x5]
+ ldr r0, _0204ED94 ; =0x021C5A68
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r2, r0, r5
+ ldr r0, _0204ED98 ; =0x00000132
+ strb r1, [r2, r0]
+ add r0, r5, #0x0
+ bl FUN_0204EAD8
+ ldr r0, [sp, #0x0]
+ add r5, r5, #0x1
+ add r4, #0x8
+ cmp r5, r0
+ blt _0204ED46
+_0204ED8E:
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0204ED94: .word 0x021C5A68
+_0204ED98: .word 0x00000132
+
+ thumb_func_start FUN_0204ED9C
+FUN_0204ED9C: ; 0x0204ED9C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204EDE8 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x2
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204EDE2
+ bl FUN_02016A18
+ ldr r2, _0204EDE8 ; =0x021C5A68
+ lsl r1, r4, #0x2
+ ldr r3, [r2, #0x0]
+ mov r0, #0x0
+ add r3, r3, r1
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ str r0, [r3, r1]
+ ldr r1, [r2, #0x0]
+ mov r3, #0xff
+ add r1, r1, r4
+ add r1, #0xfa
+ strb r0, [r1, #0x0]
+ mov r0, #0x22
+ ldr r1, [r2, #0x0]
+ mul r0, r4
+ add r1, r1, r0
+ add r0, r3, #0x0
+ add r0, #0x6b
+ strh r3, [r1, r0]
+ mov r0, #0x1
+ pop {r4, pc}
+_0204EDE2:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0204EDE8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204EDEC
+FUN_0204EDEC: ; 0x0204EDEC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02031190
+ cmp r7, r0
+ bne _0204EE90
+ ldr r0, _0204EE98 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ lsl r0, r7, #0x2
+ add r1, r2, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204EE96
+ ldr r0, [r2, #0x54]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x1c
+ bl FUN_0202A170
+ ldr r0, _0204EE98 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ mov r0, #0xa3
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204EE2A
+ bl FUN_02016A18
+_0204EE2A:
+ mov r0, #0x9e
+ lsl r0, r0, #0x2
+ ldr r2, _0204EE98 ; =0x021C5A68
+ mov r5, #0x4
+ mov r6, #0x10
+ add r1, r0, #0x4
+_0204EE36:
+ ldr r3, [r2, #0x0]
+ sub r5, r5, #0x1
+ add r4, r3, r6
+ ldr r3, [r4, r0]
+ sub r6, r6, #0x4
+ str r3, [r4, r1]
+ cmp r5, #0x1
+ bge _0204EE36
+ ldr r1, _0204EE98 ; =0x021C5A68
+ mov r0, #0x29
+ ldr r3, [r1, #0x0]
+ lsl r4, r7, #0x2
+ add r2, r3, r4
+ lsl r0, r0, #0x4
+ ldr r2, [r2, r0]
+ sub r0, #0x14
+ str r2, [r3, r0]
+ ldr r5, [r1, #0x0]
+ ldr r0, [r5, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CC4
+ mov r1, #0x29
+ add r2, r5, r4
+ lsl r1, r1, #0x4
+ ldr r1, [r2, r1]
+ bl FUN_02025C40
+ ldr r1, _0204EE98 ; =0x021C5A68
+ mov r3, #0x0
+ ldr r0, [r1, #0x0]
+ add r2, r0, r4
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ str r3, [r2, r0]
+ mov r0, #0x22
+ ldr r1, [r1, #0x0]
+ mul r0, r7
+ mov r2, #0xff
+ add r1, r1, r0
+ add r0, r2, #0x0
+ add r0, #0x6b
+ strh r2, [r1, r0]
+ pop {r3-r7, pc}
+_0204EE90:
+ add r0, r7, #0x0
+ bl FUN_0204ED9C
+_0204EE96:
+ pop {r3-r7, pc}
+ .balign 4
+_0204EE98: .word 0x021C5A68
+
+ thumb_func_start FUN_0204EE9C
+FUN_0204EE9C: ; 0x0204EE9C
+ ldr r1, _0204EEB8 ; =0x021C5A68
+ lsl r0, r0, #0x2
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204EEB2
+ mov r0, #0x1
+ bx lr
+_0204EEB2:
+ mov r0, #0x0
+ bx lr
+ nop
+_0204EEB8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204EEBC
+FUN_0204EEBC: ; 0x0204EEBC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0204EF48 ; =0x021C5A68
+ add r6, r1, #0x0
+ ldr r1, [r0, #0x0]
+ lsl r0, r5, #0x2
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204EF44
+ add r0, r6, #0x0
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ beq _0204EF44
+ mov r0, #0xf
+ lsl r4, r5, #0x2
+ bl FUN_02023928
+ mov r3, #0x29
+ ldr r1, _0204EF48 ; =0x021C5A68
+ add r2, r0, #0x0
+ ldr r0, [r1, #0x0]
+ lsl r3, r3, #0x4
+ add r0, r0, r4
+ str r2, [r0, r3]
+ ldr r1, [r1, #0x0]
+ add r0, r7, #0x0
+ add r1, r1, r4
+ ldr r1, [r1, r3]
+ bl FUN_0202393C
+ ldr r1, _0204EF48 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r0, [r1, #0x0]
+ ldr r3, _0204EF4C ; =0x0000016A
+ add r0, r0, r5
+ add r0, #0xfa
+ strb r2, [r0, #0x0]
+ mov r0, #0x22
+ add r2, r5, #0x0
+ mul r2, r0
+ ldr r0, [r1, #0x0]
+ add r0, r0, r2
+ strh r5, [r0, r3]
+ ldr r1, [r1, #0x0]
+ sub r3, #0x20
+ add r1, r1, r3
+ add r0, r7, #0x0
+ add r1, r1, r2
+ bl FUN_0202393C
+ bl FUN_02031190
+ cmp r6, r0
+ bne _0204EF40
+ ldr r0, _0204EF48 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0xc]
+ bl FUN_02026CB4
+ bl FUN_02026BC8
+_0204EF40:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204EF44:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0204EF48: .word 0x021C5A68
+_0204EF4C: .word 0x0000016A
+
+ thumb_func_start FUN_0204EF50
+FUN_0204EF50: ; 0x0204EF50
+ push {r3-r7, lr}
+ ldr r4, _0204EFC4 ; =0x021C5A68
+ mov r7, #0x29
+ ldr r6, [r4, #0x0]
+ add r3, r0, #0x0
+ lsl r7, r7, #0x4
+ add r5, r6, r7
+ lsl r0, r3, #0x2
+ add r2, r1, #0x0
+ ldr r1, [r5, r0]
+ cmp r1, #0x0
+ bne _0204EFBE
+ lsl r1, r2, #0x2
+ add r6, r6, r1
+ ldr r6, [r6, r7]
+ cmp r6, #0x0
+ beq _0204EFBE
+ str r6, [r5, r0]
+ ldr r5, [r4, #0x0]
+ mov r6, #0x0
+ add r1, r5, r1
+ str r6, [r1, r7]
+ ldr r1, [r4, #0x0]
+ mov r5, #0x1
+ add r1, r1, r3
+ add r1, #0xfa
+ strb r5, [r1, #0x0]
+ ldr r1, [r4, #0x0]
+ add r1, r1, r2
+ add r1, #0xfa
+ strb r6, [r1, #0x0]
+ mov r1, #0x22
+ ldr r5, [r4, #0x0]
+ mul r1, r3
+ add r6, r5, r1
+ ldr r5, _0204EFC8 ; =0x0000016A
+ strh r3, [r6, r5]
+ mov r6, #0x22
+ mov r5, #0xff
+ mul r6, r2
+ ldr r3, [r4, #0x0]
+ add r2, r5, #0x0
+ add r3, r3, r6
+ add r2, #0x6b
+ strh r5, [r3, r2]
+ ldr r2, [r4, #0x0]
+ add r5, #0x4b
+ add r0, r2, r0
+ add r2, r2, r5
+ ldr r0, [r0, r7]
+ add r1, r2, r1
+ bl FUN_0202393C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204EFBE:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_0204EFC4: .word 0x021C5A68
+_0204EFC8: .word 0x0000016A
+
+ thumb_func_start FUN_0204EFCC
+FUN_0204EFCC: ; 0x0204EFCC
+ push {r4, lr}
+ ldr r1, _0204F06C ; =0x021C5A68
+ add r4, r0, #0x0
+ ldr r3, [r1, #0x0]
+ ldr r1, _0204F070 ; =0x000002BD
+ ldrb r1, [r3, r1]
+ cmp r1, #0x0
+ bne _0204F068
+ lsl r1, r4, #0x2
+ add r2, r3, r1
+ ldr r1, [r2, #0x8]
+ cmp r1, #0x0
+ beq _0204F068
+ add r3, r3, r4
+ add r3, #0xfa
+ ldrb r3, [r3, #0x0]
+ cmp r3, #0x3
+ bhi _0204F068
+ add r3, r3, r3
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_0204EFFC: ; jump table (using 16-bit offset)
+ .short _0204F064 - _0204EFFC - 2; case 0
+ .short _0204F048 - _0204EFFC - 2; case 1
+ .short _0204F02C - _0204EFFC - 2; case 2
+ .short _0204F004 - _0204EFFC - 2; case 3
+_0204F004:
+ ldr r0, [r2, #0x28]
+ cmp r0, #0x0
+ bne _0204F01E
+ add r0, r1, #0x0
+ bl FUN_020553A0
+ bl MOD05_021E5970
+ ldr r1, _0204F06C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ add r1, r2, r1
+ str r0, [r1, #0x28]
+_0204F01E:
+ ldr r0, _0204F06C ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ add r0, #0xfa
+ strb r1, [r0, #0x0]
+ pop {r4, pc}
+_0204F02C:
+ ldr r0, [r2, #0x28]
+ cmp r0, #0x0
+ bne _0204F068
+ add r0, r1, #0x0
+ bl FUN_020553A0
+ bl MOD05_021E57D4
+ ldr r1, _0204F06C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ add r1, r2, r1
+ str r0, [r1, #0x28]
+ pop {r4, pc}
+_0204F048:
+ ldr r0, [r2, #0x28]
+ cmp r0, #0x0
+ bne _0204F068
+ add r0, r1, #0x0
+ bl FUN_020553A0
+ bl MOD05_021E5614
+ ldr r1, _0204F06C ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ add r1, r2, r1
+ str r0, [r1, #0x28]
+ pop {r4, pc}
+_0204F064:
+ bl FUN_0204CD78
+_0204F068:
+ pop {r4, pc}
+ nop
+_0204F06C: .word 0x021C5A68
+_0204F070: .word 0x000002BD
+
+ thumb_func_start FUN_0204F074
+FUN_0204F074: ; 0x0204F074
+ ldr r1, _0204F088 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ add r2, #0xfa
+ ldrb r1, [r2, r0]
+ cmp r1, #0x1
+ beq _0204F084
+ mov r1, #0x2
+ strb r1, [r2, r0]
+_0204F084:
+ bx lr
+ nop
+_0204F088: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F08C
+FUN_0204F08C: ; 0x0204F08C
+ ldr r1, _0204F0A0 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ add r2, #0xfa
+ ldrb r1, [r2, r0]
+ cmp r1, #0x1
+ beq _0204F09C
+ mov r1, #0x3
+ strb r1, [r2, r0]
+_0204F09C:
+ ldr r3, _0204F0A4 ; =FUN_0204CD78
+ bx r3
+ .balign 4
+_0204F0A0: .word 0x021C5A68
+_0204F0A4: .word FUN_0204CD78
+
+ thumb_func_start FUN_0204F0A8
+FUN_0204F0A8: ; 0x0204F0A8
+ ldr r1, _0204F0BC ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ add r2, #0xfa
+ ldrb r1, [r2, r0]
+ cmp r1, #0x1
+ beq _0204F0B8
+ mov r1, #0x0
+ strb r1, [r2, r0]
+_0204F0B8:
+ ldr r3, _0204F0C0 ; =FUN_0204CD78
+ bx r3
+ .balign 4
+_0204F0BC: .word 0x021C5A68
+_0204F0C0: .word FUN_0204CD78
+
+ thumb_func_start FUN_0204F0C4
+FUN_0204F0C4: ; 0x0204F0C4
+ mov r0, #0x3
+ bx lr
+
+ thumb_func_start FUN_0204F0C8
+FUN_0204F0C8: ; 0x0204F0C8
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ strb r4, [r0, #0x1]
+ ldrb r1, [r2, #0x0]
+ cmp r1, #0x0
+ beq _0204F0E0
+ cmp r1, #0x3
+ beq _0204F0F0
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0204F0E0:
+ mov r1, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x55
+ add r1, sp, #0x0
+ bl FUN_02030C4C
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0204F0F0:
+ mov r1, #0x3
+ strb r1, [r0, #0x0]
+ mov r0, #0x55
+ add r1, sp, #0x0
+ bl FUN_02030C4C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0204EAD8
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0204F108
+FUN_0204F108: ; 0x0204F108
+ push {r3, lr}
+ bl FUN_02031190
+ bl FUN_0204F0A8
+ bl MOD18_0223D648
+ bl MOD18_0224DD94
+ mov r0, #0x4
+ bl FUN_0204F774
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204F124
+FUN_0204F124: ; 0x0204F124
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x4]
+ mov r4, #0x0
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ add r0, r7, #0x0
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _0204F14A
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ bl FUN_0200CAB4
+ pop {r3-r7, pc}
+_0204F14A:
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ cmp r0, #0x3c
+ ble _0204F156
+ mov r4, #0x1
+_0204F156:
+ cmp r4, #0x0
+ beq _0204F172
+ ldr r0, _0204F174 ; =0x021C5A68
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, r0, r7
+ add r0, #0xea
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ bl FUN_0200CAB4
+_0204F172:
+ pop {r3-r7, pc}
+ .balign 4
+_0204F174: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F178
+FUN_0204F178: ; 0x0204F178
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ bl FUN_02016998
+ add r1, r0, #0x0
+ mov r2, #0x0
+ str r2, [r1, #0x0]
+ ldr r0, _0204F1A8 ; =0x021C5A68
+ str r4, [r1, #0x4]
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ add r0, #0xea
+ strb r2, [r0, #0x0]
+ ldr r0, _0204F1AC ; =FUN_0204F124
+ mov r2, #0x64
+ bl FUN_0200CA44
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0204EAD8
+ pop {r4, pc}
+ .balign 4
+_0204F1A8: .word 0x021C5A68
+_0204F1AC: .word FUN_0204F124
+
+ thumb_func_start FUN_0204F1B0
+FUN_0204F1B0: ; 0x0204F1B0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x1
+ add r5, r0, #0x0
+ tst r1, r2
+ beq _0204F1C4
+ mov r1, #0xb
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ b _0204F1F6
+_0204F1C4:
+ bl FUN_0204EE9C
+ cmp r0, #0x0
+ beq _0204F1D4
+ mov r1, #0xb
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ b _0204F1F6
+_0204F1D4:
+ cmp r4, #0xff
+ bne _0204F1DC
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0204F1DC:
+ add r0, r4, #0x0
+ bl FUN_0204EE9C
+ cmp r0, #0x0
+ bne _0204F1EA
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0204F1EA:
+ mov r1, #0x5
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0204F178
+_0204F1F6:
+ add r0, sp, #0x0
+ strb r5, [r0, #0x1]
+ strb r4, [r0, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0204EAD8
+ mov r0, #0x55
+ add r1, sp, #0x0
+ bl FUN_02030C4C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0204F210
+FUN_0204F210: ; 0x0204F210
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ bl FUN_0204EE9C
+ cmp r0, #0x0
+ beq _0204F226
+ mov r1, #0xc
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ b _0204F22C
+_0204F226:
+ add sp, #0x4
+ mov r0, #0x0
+ pop {r3-r4, pc}
+_0204F22C:
+ strb r4, [r0, #0x1]
+ mov r0, #0x55
+ add r1, sp, #0x0
+ bl FUN_02030C4C
+ mov r0, #0x1
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0204F23C
+FUN_0204F23C: ; 0x0204F23C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl MOD18_0223E6B8
+ mov r0, #0x0
+ bl FUN_0204D628
+ mov r0, #0x4
+ bl FUN_0204F74C
+ bl MOD18_0223D648
+ add r6, r0, #0x0
+ ldrb r0, [r5, #0x1]
+ bl FUN_0202DFA4
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl MOD18_0224DDB8
+ cmp r4, #0x0
+ beq _0204F29C
+ bl FUN_02031190
+ ldr r1, _0204F2C8 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0xfa
+ strb r2, [r0, #0x0]
+ bl FUN_02031190
+ bl FUN_0204F0A8
+ bl FUN_02031190
+ bl FUN_0204F074
+ bl MOD18_0223D648
+ ldr r3, _0204F2CC ; =FUN_0204F108
+ mov r1, #0xa
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ b _0204F2AA
+_0204F29C:
+ bl MOD18_0223D648
+ ldr r3, _0204F2CC ; =FUN_0204F108
+ mov r1, #0xb
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+_0204F2AA:
+ mov r0, #0xff
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r1, _0204F2D0 ; =0x00000424
+ mov r0, #0x4
+ mov r2, #0x3c
+ str r3, [sp, #0x4]
+ bl FUN_02004DCC
+ ldr r0, _0204F2D4 ; =0x000005F6
+ bl FUN_020054C8
+ add sp, #0x8
+ pop {r4-r6, pc}
+ nop
+_0204F2C8: .word 0x021C5A68
+_0204F2CC: .word FUN_0204F108
+_0204F2D0: .word 0x00000424
+_0204F2D4: .word 0x000005F6
+
+ thumb_func_start FUN_0204F2D8
+FUN_0204F2D8: ; 0x0204F2D8
+ push {r4-r5, lr}
+ sub sp, #0xc
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ add r5, r2, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CB4
+ add r4, r0, #0x0
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x5
+ bgt _0204F308
+ cmp r0, #0x0
+ blt _0204F346
+ beq _0204F31E
+ cmp r0, #0x3
+ bne _0204F300
+ b _0204F4D2
+_0204F300:
+ cmp r0, #0x5
+ beq _0204F370
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F308:
+ cmp r0, #0xc
+ bgt _0204F346
+ cmp r0, #0xb
+ blt _0204F346
+ bne _0204F314
+ b _0204F48C
+_0204F314:
+ cmp r0, #0xc
+ bne _0204F31A
+ b _0204F4AE
+_0204F31A:
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F31E:
+ ldr r1, _0204F5E0 ; =0x021C5A68
+ ldrb r0, [r5, #0x1]
+ ldr r2, [r1, #0x0]
+ lsl r1, r0, #0x2
+ add r2, r2, r1
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ ldr r1, [r2, r1]
+ cmp r1, #0x0
+ beq _0204F346
+ bl FUN_0204ED9C
+ ldrb r0, [r5, #0x1]
+ bl FUN_0204F0A8
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ beq _0204F348
+_0204F346:
+ b _0204F5DA
+_0204F348:
+ bl FUN_0204F7E4
+ bl MOD18_0223D648
+ ldr r3, _0204F5E4 ; =FUN_0204E2B4
+ mov r1, #0x2
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ mov r0, #0xff
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r1, _0204F5E8 ; =0x00000424
+ mov r0, #0x4
+ mov r2, #0x3c
+ str r3, [sp, #0x4]
+ bl FUN_02004DCC
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F370:
+ ldrb r0, [r5, #0x1]
+ bl FUN_0202DFA4
+ cmp r0, #0x0
+ bne _0204F384
+ ldrb r0, [r5, #0x2]
+ bl FUN_0204ED9C
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F384:
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldrb r0, [r5, #0x2]
+ lsl r0, r0, #0x2
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0204F3AC
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ beq _0204F3A4
+ b _0204F5DA
+_0204F3A4:
+ bl FUN_0204F7FC
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F3AC:
+ ldrb r0, [r5, #0x1]
+ bl FUN_0202DFA4
+ add r1, r0, #0x0
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldrb r0, [r5, #0x2]
+ lsl r0, r0, #0x2
+ add r2, r2, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r2, r0]
+ bl FUN_02023AA4
+ cmp r0, #0x1
+ bne _0204F41A
+ ldrb r0, [r5, #0x2]
+ bl FUN_0204ED9C
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204F3FC
+ add r0, r4, #0x0
+ bl FUN_02026C00
+ bl FUN_0204F7E4
+ bl MOD18_0223D648
+ ldr r3, _0204F5EC ; =FUN_0204E2AC
+ mov r1, #0xd
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ ldr r0, _0204F5F0 ; =0x00000625
+ bl FUN_020054C8
+ b _0204F410
+_0204F3FC:
+ bl FUN_02031190
+ ldrb r1, [r5, #0x2]
+ cmp r1, r0
+ bne _0204F410
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204F23C
+_0204F410:
+ ldrb r0, [r5, #0x1]
+ bl MOD18_022472AC
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F41A:
+ ldrb r0, [r5, #0x1]
+ ldrb r1, [r5, #0x2]
+ bl FUN_0204EF50
+ cmp r0, #0x0
+ beq _0204F4B8
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204F46C
+ add r0, r4, #0x0
+ bl FUN_02026970
+ mov r0, #0x1
+ bl FUN_0204F74C
+ bl MOD18_0223D648
+ add r4, r0, #0x0
+ ldrb r0, [r5, #0x2]
+ bl FUN_0202DFA4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl MOD18_0224DDB8
+ bl MOD18_0223D648
+ ldr r3, _0204F5F4 ; =FUN_0204E2D4
+ mov r1, #0xc
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ ldr r0, _0204F5F8 ; =0x00000425
+ bl FUN_0200521C
+ ldr r0, _0204F5F0 ; =0x00000625
+ bl FUN_020054C8
+ b _0204F480
+_0204F46C:
+ bl FUN_02031190
+ ldrb r1, [r5, #0x2]
+ cmp r1, r0
+ bne _0204F480
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0204F23C
+_0204F480:
+ ldrb r0, [r5, #0x1]
+ ldrb r1, [r5, #0x2]
+ bl MOD18_02247294
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F48C:
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204F4B8
+ mov r0, #0x2
+ bl FUN_0204F74C
+ bl MOD18_0223D648
+ ldr r3, _0204F5FC ; =FUN_0204E2BC
+ mov r1, #0x6
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F4AE:
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ beq _0204F4BA
+_0204F4B8:
+ b _0204F5DA
+_0204F4BA:
+ mov r0, #0x20
+ bl FUN_0204F74C
+ bl MOD18_0223D648
+ ldr r3, _0204F600 ; =FUN_0204E2C8
+ mov r1, #0x5
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0204F4D2:
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldrb r0, [r5, #0x1]
+ add r0, r1, r0
+ add r0, #0xfa
+ strb r2, [r0, #0x0]
+ ldrb r0, [r5, #0x1]
+ bl FUN_0204F0A8
+ bl FUN_02031190
+ ldrb r1, [r5, #0x1]
+ cmp r1, r0
+ bne _0204F58C
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_020377AC
+ bl FUN_02026CB4
+ add r4, r0, #0x0
+ bl FUN_020269A0
+ add r1, sp, #0x8
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020269D4
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205EDF8
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldrb r1, [r5, #0x1]
+ ldr r0, [r0, #0x0]
+ lsl r1, r1, #0x2
+ add r2, r0, r1
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ ldr r1, [r2, r1]
+ cmp r1, #0x0
+ beq _0204F54A
+ ldr r0, [r0, #0x54]
+ bl FUN_0206189C
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r1, _0204F604 ; =0x0000FFFF
+ ldr r3, [r0, #0x0]
+ ldr r0, _0204F608 ; =0x000002B2
+ ldrh r2, [r3, r0]
+ cmp r2, r1
+ beq _0204F54A
+ add r1, r2, #0x1
+ strh r1, [r3, r0]
+_0204F54A:
+ bl FUN_0204F7E4
+ ldr r0, _0204F60C ; =0x0000062B
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020269A0
+ add r1, sp, #0x8
+ ldrb r1, [r1, #0x0]
+ cmp r1, r0
+ bne _0204F572
+ bl MOD18_0223D648
+ ldr r3, _0204F5EC ; =FUN_0204E2AC
+ mov r1, #0x7
+ mov r2, #0x1
+ bl MOD18_0224DCB8
+ b _0204F57A
+_0204F572:
+ mov r0, #0x60
+ add r1, sp, #0x8
+ bl FUN_020311D0
+_0204F57A:
+ mov r0, #0xff
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r1, _0204F5E8 ; =0x00000424
+ mov r0, #0x4
+ mov r2, #0x3c
+ str r3, [sp, #0x4]
+ bl FUN_02004DCC
+_0204F58C:
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldrb r0, [r5, #0x1]
+ lsl r0, r0, #0x2
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204F5D4
+ bl FUN_02031190
+ bl FUN_0202DFA4
+ add r1, r0, #0x0
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldrb r0, [r5, #0x1]
+ lsl r0, r0, #0x2
+ add r2, r2, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r2, r0]
+ bl FUN_02023AA4
+ cmp r0, #0x1
+ bne _0204F5D4
+ ldrb r0, [r5, #0x1]
+ bl FUN_0202DFA4
+ add r1, r0, #0x0
+ ldr r0, _0204F5E0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ bl FUN_020618B8
+_0204F5D4:
+ ldrb r0, [r5, #0x1]
+ bl FUN_0204EDEC
+_0204F5DA:
+ add sp, #0xc
+ pop {r4-r5, pc}
+ nop
+_0204F5E0: .word 0x021C5A68
+_0204F5E4: .word FUN_0204E2B4
+_0204F5E8: .word 0x00000424
+_0204F5EC: .word FUN_0204E2AC
+_0204F5F0: .word 0x00000625
+_0204F5F4: .word FUN_0204E2D4
+_0204F5F8: .word 0x00000425
+_0204F5FC: .word FUN_0204E2BC
+_0204F600: .word FUN_0204E2C8
+_0204F604: .word 0x0000FFFF
+_0204F608: .word 0x000002B2
+_0204F60C: .word 0x0000062B
+
+ thumb_func_start FUN_0204F610
+FUN_0204F610: ; 0x0204F610
+ push {r3, lr}
+ cmp r0, #0x0
+ bne _0204F61A
+ mov r0, #0x1
+ pop {r3, pc}
+_0204F61A:
+ cmp r0, #0x1
+ bne _0204F622
+ mov r0, #0x0
+ pop {r3, pc}
+_0204F622:
+ cmp r0, #0x2
+ bne _0204F62A
+ mov r0, #0x3
+ pop {r3, pc}
+_0204F62A:
+ cmp r0, #0x3
+ bne _0204F632
+ mov r0, #0x2
+ pop {r3, pc}
+_0204F632:
+ bl ErrorHandling
+ mov r0, #0x2
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204F63C
+FUN_0204F63C: ; 0x0204F63C
+ push {r3-r4}
+ ldr r3, _0204F658 ; =0x021C5A68
+ ldr r2, [r3, #0x0]
+ add r4, r2, r0
+ ldr r2, _0204F65C ; =0x0000011A
+ strb r1, [r4, r2]
+ ldr r1, [r3, #0x0]
+ mov r4, #0xf
+ add r0, r1, r0
+ add r2, #0x20
+ strb r4, [r0, r2]
+ pop {r3-r4}
+ bx lr
+ nop
+_0204F658: .word 0x021C5A68
+_0204F65C: .word 0x0000011A
+
+ thumb_func_start FUN_0204F660
+FUN_0204F660: ; 0x0204F660
+ ldr r1, _0204F670 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ ldr r0, _0204F674 ; =0x0000011A
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_0204F670: .word 0x021C5A68
+_0204F674: .word 0x0000011A
+
+ thumb_func_start FUN_0204F678
+FUN_0204F678: ; 0x0204F678
+ push {r3-r4}
+ ldr r3, _0204F694 ; =0x021C5A68
+ ldr r2, [r3, #0x0]
+ add r4, r2, r0
+ ldr r2, _0204F698 ; =0x00000122
+ strb r1, [r4, r2]
+ ldr r1, [r3, #0x0]
+ mov r4, #0xf
+ add r0, r1, r0
+ add r2, #0x18
+ strb r4, [r0, r2]
+ pop {r3-r4}
+ bx lr
+ nop
+_0204F694: .word 0x021C5A68
+_0204F698: .word 0x00000122
+
+ thumb_func_start FUN_0204F69C
+FUN_0204F69C: ; 0x0204F69C
+ ldr r1, _0204F6AC ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ ldr r0, _0204F6B0 ; =0x00000122
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_0204F6AC: .word 0x021C5A68
+_0204F6B0: .word 0x00000122
+
+ thumb_func_start FUN_0204F6B4
+FUN_0204F6B4: ; 0x0204F6B4
+ ldr r1, _0204F6C0 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ ldr r0, _0204F6C4 ; =0x00000142
+ ldrb r0, [r1, r0]
+ bx lr
+ .balign 4
+_0204F6C0: .word 0x021C5A68
+_0204F6C4: .word 0x00000142
+
+ thumb_func_start FUN_0204F6C8
+FUN_0204F6C8: ; 0x0204F6C8
+ ldr r1, _0204F6D4 ; =0x021C5A68
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ ldr r0, _0204F6D8 ; =0x0000013A
+ ldrb r0, [r1, r0]
+ bx lr
+ .balign 4
+_0204F6D4: .word 0x021C5A68
+_0204F6D8: .word 0x0000013A
+
+ thumb_func_start FUN_0204F6DC
+FUN_0204F6DC: ; 0x0204F6DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0204F708 ; =0x021C5A68
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x54]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055304
+ bl FUN_02031190
+ ldr r1, _0204F708 ; =0x021C5A68
+ lsl r0, r0, #0x3
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ add r0, #0xa6
+ strb r4, [r0, #0x0]
+ mov r0, #0x0
+ bl FUN_0204D168
+ pop {r4, pc}
+ nop
+_0204F708: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F70C
+FUN_0204F70C: ; 0x0204F70C
+ push {r4, lr}
+ ldr r3, _0204F728 ; =0x021C5A68
+ lsl r2, r0, #0x3
+ ldr r4, [r3, #0x0]
+ lsl r0, r0, #0x2
+ add r2, r4, r2
+ add r2, #0xa6
+ strb r1, [r2, #0x0]
+ ldr r2, [r3, #0x0]
+ add r0, r2, r0
+ ldr r0, [r0, #0x8]
+ bl FUN_02055304
+ pop {r4, pc}
+ .balign 4
+_0204F728: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F72C
+FUN_0204F72C: ; 0x0204F72C
+ push {r3, lr}
+ ldr r1, _0204F748 ; =0x021C5A68
+ lsl r0, r0, #0x2
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204F742
+ bl FUN_020552F8
+ pop {r3, pc}
+_0204F742:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3, pc}
+ .balign 4
+_0204F748: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F74C
+FUN_0204F74C: ; 0x0204F74C
+ push {r3, lr}
+ cmp r0, #0x0
+ beq _0204F75C
+ ldr r1, _0204F770 ; =0x021C5A68
+ ldr r2, [r1, #0x0]
+ ldr r1, [r2, #0x0]
+ orr r0, r1
+ str r0, [r2, #0x0]
+_0204F75C:
+ bl FUN_02037760
+ ldr r0, _0204F770 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ strb r2, [r1, r0]
+ pop {r3, pc}
+ nop
+_0204F770: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F774
+FUN_0204F774: ; 0x0204F774
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ beq _0204F788
+ ldr r0, _0204F7D0 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ mvn r0, r4
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+_0204F788:
+ ldr r0, _0204F7D0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x10
+ bne _0204F7A0
+ mov r1, #0x1
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x3e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+_0204F7A0:
+ ldr r0, _0204F7D0 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0204F7CC
+ cmp r4, #0x10
+ beq _0204F7BC
+ bl FUN_02037778
+ mov r0, #0x1
+ bl FUN_0204D628
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0204F7BC:
+ bl FUN_02037778
+ ldr r0, _0204F7D0 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ strb r2, [r1, r0]
+_0204F7CC:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0204F7D0: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F7D4
+FUN_0204F7D4: ; 0x0204F7D4
+ ldr r0, _0204F7E0 ; =0x021C5A68
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ str r1, [r0, #0x0]
+ bx lr
+ nop
+_0204F7E0: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F7E4
+FUN_0204F7E4: ; 0x0204F7E4
+ push {r3, lr}
+ bl FUN_02037760
+ ldr r0, _0204F7F8 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ strb r2, [r1, r0]
+ pop {r3, pc}
+ .balign 4
+_0204F7F8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F7FC
+FUN_0204F7FC: ; 0x0204F7FC
+ push {r3, lr}
+ bl FUN_02037778
+ mov r0, #0x1
+ bl FUN_0204D628
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0204F80C
+FUN_0204F80C: ; 0x0204F80C
+ push {r3, lr}
+ ldr r0, _0204F850 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldr r0, _0204F854 ; =0x000002BF
+ ldrb r1, [r2, r0]
+ cmp r1, #0x0
+ bne _0204F84C
+ sub r0, r0, #0x1
+ ldrb r0, [r2, r0]
+ cmp r0, #0x0
+ bne _0204F832
+ bl FUN_0204F7FC
+ ldr r0, _0204F850 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204F854 ; =0x000002BF
+ strb r2, [r1, r0]
+ pop {r3, pc}
+_0204F832:
+ bl FUN_02031190
+ bl MOD12_0223E734
+ cmp r0, #0x0
+ beq _0204F84C
+ bl FUN_0204F7FC
+ ldr r0, _0204F850 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204F854 ; =0x000002BF
+ strb r2, [r1, r0]
+_0204F84C:
+ pop {r3, pc}
+ nop
+_0204F850: .word 0x021C5A68
+_0204F854: .word 0x000002BF
+
+ thumb_func_start FUN_0204F858
+FUN_0204F858: ; 0x0204F858
+ push {r3, lr}
+ ldr r0, _0204F884 ; =0x021C5A68
+ ldr r2, [r0, #0x0]
+ ldr r0, _0204F888 ; =0x000002BF
+ ldrb r1, [r2, r0]
+ cmp r1, #0x0
+ bne _0204F880
+ sub r0, r0, #0x1
+ ldrb r0, [r2, r0]
+ cmp r0, #0x0
+ beq _0204F880
+ bl FUN_02031190
+ bl MOD12_0223E734
+ cmp r0, #0x0
+ bne _0204F880
+ mov r0, #0x0
+ bl FUN_0204D628
+_0204F880:
+ pop {r3, pc}
+ nop
+_0204F884: .word 0x021C5A68
+_0204F888: .word 0x000002BF
+
+ thumb_func_start FUN_0204F88C
+FUN_0204F88C: ; 0x0204F88C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r0, _0204F908 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204F902
+ mov r6, #0x0
+ add r4, r6, #0x0
+ add r5, r6, #0x0
+_0204F89E:
+ ldr r0, _0204F908 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0204F8F8
+ bl FUN_02031190
+ cmp r6, r0
+ beq _0204F8F8
+ ldr r0, _0204F908 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r0, r0, r4
+ ldr r0, [r0, #0x8]
+ bl FUN_020553A0
+ ldr r1, _0204F908 ; =0x021C5A68
+ str r0, [sp, #0xc]
+ ldr r1, [r1, #0x0]
+ add r1, r1, r5
+ add r2, r1, #0x0
+ add r2, #0xa2
+ ldrh r2, [r2, #0x0]
+ str r2, [sp, #0x8]
+ add r2, r1, #0x0
+ add r2, #0xa4
+ ldrh r7, [r2, #0x0]
+ mov r2, #0xa6
+ ldrsb r1, [r1, r2]
+ str r1, [sp, #0x4]
+ ldr r1, [sp, #0x8]
+ bl FUN_02058B30
+ ldr r0, [sp, #0xc]
+ add r1, r7, #0x0
+ bl FUN_02058B50
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x8]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0xc]
+ mov r2, #0x0
+ add r3, r7, #0x0
+ bl FUN_02058E28
+_0204F8F8:
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ add r5, #0x8
+ cmp r6, #0x8
+ blt _0204F89E
+_0204F902:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_0204F908: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F90C
+FUN_0204F90C: ; 0x0204F90C
+ push {r4-r5}
+ mov r3, #0xff
+ mov r4, #0x0
+ add r0, r3, #0x0
+ ldr r1, _0204F92C ; =0x021C5A68
+ add r5, r4, #0x0
+ add r0, #0x6b
+_0204F91A:
+ ldr r2, [r1, #0x0]
+ add r4, r4, #0x1
+ add r2, r2, r5
+ add r5, #0x22
+ strh r3, [r2, r0]
+ cmp r4, #0x8
+ blt _0204F91A
+ pop {r4-r5}
+ bx lr
+ .balign 4
+_0204F92C: .word 0x021C5A68
+
+ thumb_func_start FUN_0204F930
+FUN_0204F930: ; 0x0204F930
+ push {r3-r5, lr}
+ ldr r0, _0204F9B0 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204F9B4 ; =0x000002B9
+ strb r2, [r1, r0]
+ bl FUN_02031190
+ ldr r1, _0204F9B0 ; =0x021C5A68
+ lsl r0, r0, #0x2
+ ldr r1, [r1, #0x0]
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204F96E
+ bl FUN_02031190
+ ldr r1, _0204F9B0 ; =0x021C5A68
+ add r3, r0, #0x0
+ ldr r2, [r1, #0x0]
+ lsl r1, r3, #0x2
+ add r2, r2, r1
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ ldr r1, [r2, r1]
+ mov r0, #0x5b
+ bl FUN_020311D0
+ pop {r3-r5, pc}
+_0204F96E:
+ mov r0, #0xf
+ bl FUN_02023928
+ add r4, r0, #0x0
+ mov r0, #0x14
+ mov r1, #0xf
+ bl FUN_020219F4
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ bne _0204F988
+ bl ErrorHandling
+_0204F988:
+ cmp r5, #0x0
+ bne _0204F990
+ bl ErrorHandling
+_0204F990:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0202397C
+ mov r0, #0x5b
+ add r1, r4, #0x0
+ bl FUN_020311D0
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r3-r5, pc}
+ nop
+_0204F9B0: .word 0x021C5A68
+_0204F9B4: .word 0x000002B9
+
+ thumb_func_start FUN_0204F9B8
+FUN_0204F9B8: ; 0x0204F9B8
+ mov r0, #0x20
+ bx lr
+
+ thumb_func_start FUN_0204F9BC
+FUN_0204F9BC: ; 0x0204F9BC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, sp, #0x4
+ strb r5, [r0, #0x0]
+ ldr r0, _0204FA54 ; =0x021C5A68
+ add r6, r2, #0x0
+ ldr r2, [r0, #0x0]
+ cmp r2, #0x0
+ beq _0204FA4C
+ ldr r1, _0204FA58 ; =0x0000014A
+ mov r0, #0x22
+ add r4, r5, #0x0
+ mul r4, r0
+ add r1, r2, r1
+ add r0, r6, #0x0
+ add r1, r1, r4
+ bl FUN_0202393C
+ add r0, r6, #0x0
+ mov r1, #0xf
+ bl FUN_020239A0
+ str r0, [sp, #0x0]
+ bl FUN_02021D3C
+ cmp r0, #0x0
+ beq _0204F9FE
+ ldr r0, _0204FA54 ; =0x021C5A68
+ ldr r0, [r0, #0x0]
+ add r1, r0, r4
+ ldr r0, _0204FA5C ; =0x0000016A
+ strh r5, [r1, r0]
+_0204F9FE:
+ mov r4, #0x0
+ ldr r6, _0204FA54 ; =0x021C5A68
+ ldr r7, _0204FA5C ; =0x0000016A
+ add r5, r4, #0x0
+_0204FA06:
+ ldr r0, [r6, #0x0]
+ add r1, r0, r5
+ ldrh r0, [r1, r7]
+ cmp r0, #0xff
+ beq _0204FA26
+ ldr r0, _0204FA5C ; =0x0000016A
+ strh r4, [r1, r0]
+ mov r0, #0x5c
+ add r1, r0, #0x0
+ ldr r2, [r6, #0x0]
+ add r1, #0xee
+ add r1, r2, r1
+ add r1, r1, r5
+ mov r2, #0x22
+ bl FUN_02030B3C
+_0204FA26:
+ add r4, r4, #0x1
+ add r5, #0x22
+ cmp r4, #0x8
+ blt _0204FA06
+ mov r0, #0x5d
+ add r1, sp, #0x4
+ mov r2, #0x1
+ bl FUN_02030BC4
+ ldr r0, [sp, #0x0]
+ bl FUN_02021A20
+ ldr r0, _0204FA54 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FA60 ; =0x000002C2
+ add sp, #0x8
+ strb r2, [r1, r0]
+ pop {r3-r7, pc}
+_0204FA4C:
+ bl ErrorHandling
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0204FA54: .word 0x021C5A68
+_0204FA58: .word 0x0000014A
+_0204FA5C: .word 0x0000016A
+_0204FA60: .word 0x000002C2
+
+ thumb_func_start FUN_0204FA64
+FUN_0204FA64: ; 0x0204FA64
+ ldr r0, _0204FA70 ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FA74 ; =0x0000025A
+ add r0, r1, r0
+ bx lr
+ nop
+_0204FA70: .word 0x021C5A68
+_0204FA74: .word 0x0000025A
+
+ thumb_func_start FUN_0204FA78
+FUN_0204FA78: ; 0x0204FA78
+ push {r4-r6, lr}
+ ldr r0, _0204FAC8 ; =0x021C5A68
+ add r6, r2, #0x0
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0204FAC4
+ ldrh r5, [r6, #0x20]
+ lsl r0, r5, #0x2
+ add r1, r1, r0
+ mov r0, #0x29
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ cmp r0, #0x0
+ beq _0204FA98
+ bl FUN_02016A18
+_0204FA98:
+ mov r0, #0xf
+ lsl r4, r5, #0x2
+ bl FUN_02023928
+ ldr r2, _0204FAC8 ; =0x021C5A68
+ ldr r1, [r2, #0x0]
+ add r3, r1, r4
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ str r0, [r3, r1]
+ ldr r2, [r2, #0x0]
+ add r0, r6, #0x0
+ add r2, r2, r4
+ ldr r1, [r2, r1]
+ bl FUN_0202393C
+ ldr r0, _0204FAC8 ; =0x021C5A68
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, r0, r5
+ add r0, #0xfa
+ strb r1, [r0, #0x0]
+_0204FAC4:
+ pop {r4-r6, pc}
+ nop
+_0204FAC8: .word 0x021C5A68
+
+ thumb_func_start FUN_0204FACC
+FUN_0204FACC: ; 0x0204FACC
+ mov r0, #0x22
+ bx lr
+
+ thumb_func_start FUN_0204FAD0
+FUN_0204FAD0: ; 0x0204FAD0
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_02031190
+ ldrb r1, [r4, #0x0]
+ cmp r1, r0
+ bne _0204FAE8
+ ldr r0, _0204FAF4 ; =0x021C5A68
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FAF8 ; =0x000002B9
+ strb r2, [r1, r0]
+_0204FAE8:
+ ldr r0, _0204FAF4 ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FAFC ; =0x000002C2
+ strb r2, [r1, r0]
+ pop {r4, pc}
+ .balign 4
+_0204FAF4: .word 0x021C5A68
+_0204FAF8: .word 0x000002B9
+_0204FAFC: .word 0x000002C2
+
+ thumb_func_start FUN_0204FB00
+FUN_0204FB00: ; 0x0204FB00
+ ldr r0, _0204FB0C ; =0x021C5A68
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FB10 ; =0x000002B9
+ ldrb r0, [r1, r0]
+ bx lr
+ nop
+_0204FB0C: .word 0x021C5A68
+_0204FB10: .word 0x000002B9
+
+ thumb_func_start FUN_0204FB14
+FUN_0204FB14: ; 0x0204FB14
+ ldr r0, _0204FB24 ; =0x021C5A68
+ mov r2, #0x8
+ ldr r1, [r0, #0x0]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_0204FB24: .word 0x021C5A68
+
+ thumb_func_start FUN_0204FB28
+FUN_0204FB28: ; 0x0204FB28
+ push {r3-r5, lr}
+ mov r4, #0x0
+ bl FUN_02031190
+ ldr r2, _0204FB9C ; =0x021C5A68
+ lsl r1, r0, #0x2
+ ldr r3, [r2, #0x0]
+ add r5, r3, r1
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ ldr r3, [r5, r1]
+ cmp r3, #0x0
+ beq _0204FB60
+ add r4, r3, #0x0
+ mov r3, #0x0
+ str r3, [r5, r1]
+ ldr r1, [r2, #0x0]
+ add r1, r1, r0
+ add r1, #0xfa
+ strb r3, [r1, #0x0]
+ ldr r3, [r2, #0x0]
+ mov r2, #0x22
+ mul r2, r0
+ mov r1, #0xff
+ add r0, r1, #0x0
+ add r2, r3, r2
+ add r0, #0x6b
+ strh r1, [r2, r0]
+_0204FB60:
+ mov r5, #0x0
+_0204FB62:
+ add r0, r5, #0x0
+ bl FUN_0204ED9C
+ add r5, r5, #0x1
+ cmp r5, #0x8
+ blt _0204FB62
+ cmp r4, #0x0
+ beq _0204FB9A
+ ldr r1, _0204FB9C ; =0x021C5A68
+ mov r0, #0x29
+ ldr r2, [r1, #0x0]
+ lsl r0, r0, #0x4
+ str r4, [r2, r0]
+ ldr r0, [r1, #0x0]
+ mov r2, #0x1
+ add r0, #0xfa
+ strb r2, [r0, #0x0]
+ ldr r2, [r1, #0x0]
+ ldr r1, _0204FBA0 ; =0x0000014A
+ add r0, r4, #0x0
+ add r1, r2, r1
+ bl FUN_0202393C
+ ldr r0, _0204FB9C ; =0x021C5A68
+ mov r2, #0x0
+ ldr r1, [r0, #0x0]
+ ldr r0, _0204FBA4 ; =0x0000016A
+ strh r2, [r1, r0]
+_0204FB9A:
+ pop {r3-r5, pc}
+ .balign 4
+_0204FB9C: .word 0x021C5A68
+_0204FBA0: .word 0x0000014A
+_0204FBA4: .word 0x0000016A
+
+ thumb_func_start FUN_0204FBA8
+FUN_0204FBA8: ; 0x0204FBA8
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204FBAC
+FUN_0204FBAC: ; 0x0204FBAC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0204FBB0
+FUN_0204FBB0: ; 0x0204FBB0
+ push {r4, lr}
+ ldr r1, _0204FC08 ; =0x021C5A6C
+ add r4, r0, #0x0
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _0204FC04
+ bl FUN_0208881C
+ mov r0, #0xf
+ mov r1, #0x48
+ bl FUN_02016998
+ ldr r1, _0204FC08 ; =0x021C5A6C
+ mov r2, #0x48
+ str r0, [r1, #0x0]
+ mov r1, #0x0
+ bl MI_CpuFill8
+ ldr r0, _0204FC08 ; =0x021C5A6C
+ mov r1, #0x32
+ ldr r0, [r0, #0x0]
+ mov r2, #0xa
+ strh r1, [r0, #0x3c]
+ ldr r0, _0204FC0C ; =FUN_0205006C
+ mov r1, #0x0
+ bl FUN_0200CA44
+ ldr r1, _0204FC08 ; =0x021C5A6C
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x38]
+ ldr r0, [r1, #0x0]
+ mov r2, #0x0
+ str r4, [r0, #0x18]
+ ldr r0, [r1, #0x0]
+ str r2, [r0, #0x44]
+ bl FUN_0204FBA8
+ ldr r0, _0204FC08 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x1c
+ bl FUN_020312BC
+_0204FC04:
+ pop {r4, pc}
+ nop
+_0204FC08: .word 0x021C5A6C
+_0204FC0C: .word FUN_0205006C
+
+ thumb_func_start FUN_0204FC10
+FUN_0204FC10: ; 0x0204FC10
+ push {r4-r6, lr}
+ ldr r0, _0204FC58 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204FC56
+ ldr r0, [r0, #0x38]
+ bl FUN_0200CAB4
+ mov r4, #0x0
+ ldr r6, _0204FC58 ; =0x021C5A6C
+ add r5, r4, #0x0
+_0204FC26:
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r5]
+ cmp r0, #0x0
+ beq _0204FC32
+ bl FUN_02016A18
+_0204FC32:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _0204FC26
+ ldr r0, _0204FC58 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x44]
+ cmp r0, #0x0
+ beq _0204FC48
+ bl FUN_02016A18
+_0204FC48:
+ ldr r0, _0204FC58 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ bl FUN_02016A18
+ ldr r0, _0204FC58 ; =0x021C5A6C
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+_0204FC56:
+ pop {r4-r6, pc}
+ .balign 4
+_0204FC58: .word 0x021C5A6C
+
+ thumb_func_start FUN_0204FC5C
+FUN_0204FC5C: ; 0x0204FC5C
+ push {r4, lr}
+ ldr r1, _0204FC9C ; =0x021C5A6C
+ add r4, r0, #0x0
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _0204FC9A
+ bl FUN_020377AC
+ bl FUN_02031824
+ add r0, r4, #0x0
+ bl FUN_0204FBB0
+ mov r2, #0x3a
+ mov r0, #0x3
+ mov r1, #0x21
+ lsl r2, r2, #0xa
+ bl FUN_0201681C
+ ldr r0, _0204FC9C ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F194
+ cmp r0, #0x0
+ bne _0204FC9A
+ bl FUN_02031924
+_0204FC9A:
+ pop {r4, pc}
+ .balign 4
+_0204FC9C: .word 0x021C5A6C
+
+ thumb_func_start FUN_0204FCA0
+FUN_0204FCA0: ; 0x0204FCA0
+ push {r3, lr}
+ ldr r0, _0204FCD0 ; =0x021C5A6C
+ mov r2, #0x1
+ ldr r1, [r0, #0x0]
+ add r1, #0x41
+ strb r2, [r1, #0x0]
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x24
+ bl FUN_0202A170
+ ldr r0, _0204FCD0 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl MOD18_0223E060
+ ldr r0, _0204FCD4 ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0204FCD0: .word 0x021C5A6C
+_0204FCD4: .word FUN_020500A4
+
+ thumb_func_start FUN_0204FCD8
+FUN_0204FCD8: ; 0x0204FCD8
+ push {r3, lr}
+ ldr r0, _0204FCEC ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0204FCEA
+ ldr r0, _0204FCF0 ; =FUN_02050D54
+ mov r1, #0x3
+ bl FUN_02050094
+_0204FCEA:
+ pop {r3, pc}
+ .balign 4
+_0204FCEC: .word 0x021C5A6C
+_0204FCF0: .word FUN_02050D54
+
+ thumb_func_start FUN_0204FCF4
+FUN_0204FCF4: ; 0x0204FCF4
+ push {r3, lr}
+ bl FUN_02031914
+ ldr r0, _0204FD04 ; =FUN_020504D8
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0204FD04: .word FUN_020504D8
+
+ thumb_func_start FUN_0204FD08
+FUN_0204FD08: ; 0x0204FD08
+ push {r3, lr}
+ bl FUN_0202EDD8
+ cmp r0, #0x0
+ bne _0204FD1E
+ bl MOD18_02245F1C
+ ldr r0, _0204FD20 ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+_0204FD1E:
+ pop {r3, pc}
+ .balign 4
+_0204FD20: .word FUN_020500A4
+
+ thumb_func_start FUN_0204FD24
+FUN_0204FD24: ; 0x0204FD24
+ push {r3, lr}
+ bl FUN_02031934
+ ldr r0, _0204FD34 ; =FUN_0204FD08
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0204FD34: .word FUN_0204FD08
+
+ thumb_func_start FUN_0204FD38
+FUN_0204FD38: ; 0x0204FD38
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r0, _0204FDBC ; =0x021C5A6C
+ add r2, sp, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r3, _0204FDC0 ; =0x020F5838
+ ldr r5, [r0, #0x34]
+ add r6, r2, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, _0204FDC4 ; =FUN_020502AC
+ ldr r4, _0204FDC8 ; =FUN_02050548
+ ldr r7, _0204FDCC ; =FUN_02050168
+ cmp r5, r0
+ bne _0204FD68
+ ldr r0, _0204FDD0 ; =FUN_0205031C
+ mov r1, #0x0
+ bl FUN_02050094
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204FD68:
+ cmp r4, r5
+ bne _0204FD7A
+ ldr r0, _0204FDD4 ; =FUN_02050578
+ mov r1, #0x0
+ bl FUN_02050094
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204FD7A:
+ cmp r7, r5
+ bne _0204FD8C
+ ldr r0, _0204FDD8 ; =FUN_020505E0
+ mov r1, #0x0
+ bl FUN_02050094
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204FD8C:
+ ldr r0, _0204FDDC ; =FUN_020504D0
+ cmp r0, r5
+ bne _0204FDA0
+ ldr r0, _0204FDE0 ; =FUN_02050610
+ mov r1, #0x0
+ bl FUN_02050094
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204FDA0:
+ mov r1, #0x0
+_0204FDA2:
+ ldr r0, [r6, #0x0]
+ cmp r5, r0
+ bne _0204FDAE
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0204FDAE:
+ add r1, r1, #0x1
+ add r6, r6, #0x4
+ cmp r1, #0x4
+ blo _0204FDA2
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_0204FDBC: .word 0x021C5A6C
+_0204FDC0: .word 0x020F5838
+_0204FDC4: .word FUN_020502AC
+_0204FDC8: .word FUN_02050548
+_0204FDCC: .word FUN_02050168
+_0204FDD0: .word FUN_0205031C
+_0204FDD4: .word FUN_02050578
+_0204FDD8: .word FUN_020505E0
+_0204FDDC: .word FUN_020504D0
+_0204FDE0: .word FUN_02050610
+
+ thumb_func_start FUN_0204FDE4
+FUN_0204FDE4: ; 0x0204FDE4
+ push {r4, lr}
+ ldr r0, _0204FE38 ; =0x021C5A6C
+ ldr r3, _0204FE3C ; =FUN_0205058C
+ ldr r0, [r0, #0x0]
+ ldr r2, _0204FE40 ; =FUN_020505F4
+ ldr r4, [r0, #0x34]
+ ldr r0, _0204FE44 ; =FUN_02050330
+ ldr r1, _0204FE48 ; =FUN_02050624
+ cmp r4, r0
+ bne _0204FE04
+ ldr r0, _0204FE4C ; =FUN_02050338
+ mov r1, #0x0
+ bl FUN_02050094
+ mov r0, #0x1
+ pop {r4, pc}
+_0204FE04:
+ cmp r3, r4
+ bne _0204FE14
+ ldr r0, _0204FE50 ; =FUN_02050594
+ mov r1, #0x0
+ bl FUN_02050094
+ mov r0, #0x1
+ pop {r4, pc}
+_0204FE14:
+ cmp r2, r4
+ bne _0204FE24
+ ldr r0, _0204FE54 ; =FUN_020505F8
+ mov r1, #0x0
+ bl FUN_02050094
+ mov r0, #0x1
+ pop {r4, pc}
+_0204FE24:
+ cmp r1, r4
+ bne _0204FE34
+ ldr r0, _0204FE58 ; =FUN_02050628
+ mov r1, #0x0
+ bl FUN_02050094
+ mov r0, #0x1
+ pop {r4, pc}
+_0204FE34:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0204FE38: .word 0x021C5A6C
+_0204FE3C: .word FUN_0205058C
+_0204FE40: .word FUN_020505F4
+_0204FE44: .word FUN_02050330
+_0204FE48: .word FUN_02050624
+_0204FE4C: .word FUN_02050338
+_0204FE50: .word FUN_02050594
+_0204FE54: .word FUN_020505F8
+_0204FE58: .word FUN_02050628
+
+ thumb_func_start FUN_0204FE5C
+FUN_0204FE5C: ; 0x0204FE5C
+ push {r3-r4}
+ sub sp, #0x38
+ ldr r4, _0204FEA8 ; =0x020F5848
+ add r3, sp, #0x0
+ mov r2, #0x7
+_0204FE66:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0204FE66
+ ldr r0, _0204FEAC ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x34]
+ cmp r0, #0x0
+ bne _0204FE80
+ add sp, #0x38
+ mov r0, #0x0
+ pop {r3-r4}
+ bx lr
+_0204FE80:
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _0204FE9E
+ add r2, sp, #0x0
+_0204FE88:
+ ldr r0, [r2, #0x0]
+ cmp r1, r0
+ bne _0204FE96
+ add sp, #0x38
+ mov r0, #0x1
+ pop {r3-r4}
+ bx lr
+_0204FE96:
+ add r2, r2, #0x4
+ ldr r0, [r2, #0x0]
+ cmp r0, #0x0
+ bne _0204FE88
+_0204FE9E:
+ mov r0, #0x0
+ add sp, #0x38
+ pop {r3-r4}
+ bx lr
+ nop
+_0204FEA8: .word 0x020F5848
+_0204FEAC: .word 0x021C5A6C
+
+ thumb_func_start FUN_0204FEB0
+FUN_0204FEB0: ; 0x0204FEB0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _0204FEE8
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ mov r1, #0x0
+ add r3, r5, #0x0
+ str r1, [sp, #0x0]
+ add r3, #0xac
+ ldr r3, [r3, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02031948
+ add r0, r5, #0x0
+ bl FUN_0204FBB0
+ ldr r0, _0204FEEC ; =FUN_02050640
+ mov r1, #0x0
+ bl FUN_02050094
+_0204FEE8:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_0204FEEC: .word FUN_02050640
+
+ thumb_func_start FUN_0204FEF0
+FUN_0204FEF0: ; 0x0204FEF0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _0204FF28
+ add r0, r5, #0x0
+ bl FUN_020377AC
+ mov r1, #0x0
+ add r3, r5, #0x0
+ str r1, [sp, #0x0]
+ add r3, #0xac
+ ldr r3, [r3, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02031990
+ add r0, r5, #0x0
+ bl FUN_0204FBB0
+ ldr r0, _0204FF2C ; =FUN_02050668
+ mov r1, #0x0
+ bl FUN_02050094
+_0204FF28:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_0204FF2C: .word FUN_02050668
+
+ thumb_func_start FUN_0204FF30
+FUN_0204FF30: ; 0x0204FF30
+ ldr r1, _0204FF40 ; =0x021C5A6C
+ ldr r3, _0204FF44 ; =FUN_02050094
+ ldr r1, [r1, #0x0]
+ add r1, #0x3e
+ strb r0, [r1, #0x0]
+ ldr r0, _0204FF48 ; =FUN_02050688
+ mov r1, #0x0
+ bx r3
+ .balign 4
+_0204FF40: .word 0x021C5A6C
+_0204FF44: .word FUN_02050094
+_0204FF48: .word FUN_02050688
+
+ thumb_func_start FUN_0204FF4C
+FUN_0204FF4C: ; 0x0204FF4C
+ ldr r3, _0204FF54 ; =FUN_02050094
+ ldr r0, _0204FF58 ; =FUN_02050BBC
+ mov r1, #0x0
+ bx r3
+ .balign 4
+_0204FF54: .word FUN_02050094
+_0204FF58: .word FUN_02050BBC
+
+ thumb_func_start FUN_0204FF5C
+FUN_0204FF5C: ; 0x0204FF5C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3BC
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3BC
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ bl FUN_02031810
+ cmp r0, #0x0
+ beq _02050014
+ ldr r0, _02050018 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ bne _0204FF9C
+ add r0, r4, #0x0
+ bl FUN_0204FBB0
+ ldr r0, _02050018 ; =0x021C5A6C
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, #0x42
+ strb r1, [r0, #0x0]
+ b _0204FFA2
+_0204FF9C:
+ mov r0, #0x0
+ add r1, #0x42
+ strb r0, [r1, #0x0]
+_0204FFA2:
+ ldr r0, _02050018 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ bl FUN_02031190
+ str r0, [sp, #0x8]
+ bl FUN_02031190
+ bl FUN_0202DFA4
+ mov r4, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _0204FFEA
+ ldr r6, _02050018 ; =0x021C5A6C
+ add r5, r4, #0x0
+ add r7, r4, #0x0
+_0204FFCA:
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r5]
+ cmp r0, #0x0
+ bne _0204FFDE
+ ldr r1, _0205001C ; =0x0000066C
+ add r0, r7, #0x0
+ bl FUN_02016998
+ ldr r1, [r6, #0x0]
+ str r0, [r1, r5]
+_0204FFDE:
+ add r5, r5, #0x4
+ add r4, r4, #0x1
+ bl FUN_02030F20
+ cmp r4, r0
+ blt _0204FFCA
+_0204FFEA:
+ ldr r0, _02050018 ; =0x021C5A6C
+ mov r3, #0xff
+ ldr r1, [r0, #0x0]
+ ldr r0, [r1, #0x18]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_02064E90
+ mov r0, #0x5f
+ bl FUN_02031588
+ ldr r0, _02050020 ; =FUN_02050C14
+ mov r1, #0x0
+ bl FUN_02050094
+_02050014:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02050018: .word 0x021C5A6C
+_0205001C: .word 0x0000066C
+_02050020: .word FUN_02050C14
+
+ thumb_func_start FUN_02050024
+FUN_02050024: ; 0x02050024
+ push {r3, lr}
+ ldr r0, _02050040 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0205003E
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ ldr r0, _02050044 ; =FUN_02050DB0
+ mov r1, #0x5
+ bl FUN_02050094
+_0205003E:
+ pop {r3, pc}
+ .balign 4
+_02050040: .word 0x021C5A6C
+_02050044: .word FUN_02050DB0
+
+ thumb_func_start FUN_02050048
+FUN_02050048: ; 0x02050048
+ push {r3, lr}
+ ldr r0, _02050064 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050060
+ mov r0, #0x5b
+ bl FUN_02031588
+ ldr r0, _02050068 ; =FUN_02050D88
+ mov r1, #0x5
+ bl FUN_02050094
+_02050060:
+ pop {r3, pc}
+ nop
+_02050064: .word 0x021C5A6C
+_02050068: .word FUN_02050D88
+
+ thumb_func_start FUN_0205006C
+FUN_0205006C: ; 0x0205006C
+ push {r3, lr}
+ ldr r1, _02050090 ; =0x021C5A6C
+ ldr r2, [r1, #0x0]
+ cmp r2, #0x0
+ bne _0205007C
+ bl FUN_0200CAB4
+ pop {r3, pc}
+_0205007C:
+ ldr r1, [r2, #0x34]
+ cmp r1, #0x0
+ beq _0205008C
+ add r2, #0x40
+ ldrb r0, [r2, #0x0]
+ cmp r0, #0x0
+ bne _0205008C
+ blx r1
+_0205008C:
+ pop {r3, pc}
+ nop
+_02050090: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050094
+FUN_02050094: ; 0x02050094
+ ldr r2, _020500A0 ; =0x021C5A6C
+ ldr r3, [r2, #0x0]
+ str r0, [r3, #0x34]
+ ldr r0, [r2, #0x0]
+ strh r1, [r0, #0x3c]
+ bx lr
+ .balign 4
+_020500A0: .word 0x021C5A6C
+
+ thumb_func_start FUN_020500A4
+FUN_020500A4: ; 0x020500A4
+ push {r3, lr}
+ ldr r0, _02050108 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020500B6
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020500B6:
+ bl FUN_02030F40
+ cmp r0, #0x0
+ beq _02050104
+ ldr r0, _02050108 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl MOD18_0223E1E0
+ bl FUN_0202DBE0
+ mov r0, #0x0
+ bl FUN_0204D168
+ bl MOD18_0223EF7C
+ bl MOD06_02245FA0
+ ldr r0, _02050108 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F194
+ cmp r0, #0x0
+ bne _020500F8
+ ldr r0, _0205010C ; =FUN_02050114
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020500F8:
+ bl FUN_0204F80C
+ ldr r0, _02050110 ; =FUN_02050144
+ mov r1, #0x18
+ bl FUN_02050094
+_02050104:
+ pop {r3, pc}
+ nop
+_02050108: .word 0x021C5A6C
+_0205010C: .word FUN_02050114
+_02050110: .word FUN_02050144
+
+ thumb_func_start FUN_02050114
+FUN_02050114: ; 0x02050114
+ push {r3, lr}
+ ldr r0, _0205013C ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F194
+ cmp r0, #0x0
+ beq _0205013A
+ bl FUN_02031880
+ bl FUN_0204F80C
+ ldr r0, _02050140 ; =FUN_02050168
+ mov r1, #0x18
+ bl FUN_02050094
+_0205013A:
+ pop {r3, pc}
+ .balign 4
+_0205013C: .word 0x021C5A6C
+_02050140: .word FUN_02050168
+
+ thumb_func_start FUN_02050144
+FUN_02050144: ; 0x02050144
+ push {r3, lr}
+ ldr r0, _02050160 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050156
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050156:
+ ldr r0, _02050164 ; =FUN_02050168
+ mov r1, #0x18
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050160: .word 0x021C5A6C
+_02050164: .word FUN_02050168
+
+ thumb_func_start FUN_02050168
+FUN_02050168: ; 0x02050168
+ push {r3, lr}
+ bl MOD06_0223DFB4
+ bl FUN_0204F80C
+ bl FUN_020318C4
+ cmp r0, #0x0
+ beq _02050198
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050190
+ bl MOD18_02245324
+ ldr r0, _0205019C ; =FUN_0205024C
+ mov r1, #0x3c
+ bl FUN_02050094
+ pop {r3, pc}
+_02050190:
+ ldr r0, _020501A0 ; =FUN_020501A4
+ mov r1, #0x78
+ bl FUN_02050094
+_02050198:
+ pop {r3, pc}
+ nop
+_0205019C: .word FUN_0205024C
+_020501A0: .word FUN_020501A4
+
+ thumb_func_start FUN_020501A4
+FUN_020501A4: ; 0x020501A4
+ push {r3, lr}
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020501B4
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_020501B4:
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _020501CE
+ bl FUN_020311F0
+ cmp r0, #0x0
+ bne _020501CE
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x0
+ bne _020501DC
+_020501CE:
+ bl FUN_02031880
+ ldr r0, _02050244 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020501DC:
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ beq _0205023C
+ ldr r0, _02050240 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050202
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ bne _0205023C
+_02050202:
+ bl MOD18_0223E6B8
+ mov r0, #0x0
+ bl FUN_0204D040
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl MOD18_022408FC
+ mov r0, #0x0
+ mov r1, #0x1
+ bl MOD18_0223FCE8
+ mov r0, #0x0
+ bl FUN_0202DE78
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_0204D43C
+ bl FUN_0204F858
+ ldr r0, _02050248 ; =FUN_02050350
+ mov r1, #0xa
+ bl FUN_02050094
+_0205023C:
+ pop {r3, pc}
+ nop
+_02050240: .word 0x021C5A6C
+_02050244: .word FUN_020504A4
+_02050248: .word FUN_02050350
+
+ thumb_func_start FUN_0205024C
+FUN_0205024C: ; 0x0205024C
+ push {r3, lr}
+ bl MOD06_0223DFB4
+ ldr r0, _020502A0 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050260
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050260:
+ bl FUN_020311E8
+ cmp r0, #0x0
+ bne _02050272
+ ldr r0, _020502A0 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x0
+ bne _0205029E
+_02050272:
+ bl MOD18_0223E6B8
+ cmp r0, #0x0
+ beq _0205027E
+ bl FUN_0204F7FC
+_0205027E:
+ ldr r0, _020502A4 ; =0x02105E74
+ bl FUN_0204FBAC
+ mov r0, #0x0
+ bl FUN_0204D168
+ bl FUN_0204F930
+ bl MOD06_02245FA0
+ bl MOD18_0223E7FC
+ ldr r0, _020502A8 ; =FUN_020502AC
+ mov r1, #0x0
+ bl FUN_02050094
+_0205029E:
+ pop {r3, pc}
+ .balign 4
+_020502A0: .word 0x021C5A6C
+_020502A4: .word 0x02105E74
+_020502A8: .word FUN_020502AC
+
+ thumb_func_start FUN_020502AC
+FUN_020502AC: ; 0x020502AC
+ push {r3, lr}
+ bl MOD06_0223DFB4
+ ldr r0, _02050314 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _02050310
+ bl FUN_020311F0
+ cmp r0, #0x0
+ bne _020502E2
+ bl FUN_0202EE24
+ cmp r0, #0x0
+ beq _020502E2
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ bne _02050310
+ bl FUN_02031280
+ cmp r0, #0x0
+ bne _02050310
+_020502E2:
+ mov r0, #0x0
+ bl MOD18_02245358
+ bl FUN_0204F90C
+ bl MOD06_02247808
+ mov r0, #0x2b
+ bl FUN_020311DC
+ bl FUN_02031190
+ mov r1, #0x1
+ bl MOD18_0223FCE8
+ bl MOD18_0223E6B8
+ bl FUN_020318B4
+ ldr r0, _02050318 ; =FUN_02050458
+ mov r1, #0x0
+ bl FUN_02050094
+_02050310:
+ pop {r3, pc}
+ nop
+_02050314: .word 0x021C5A6C
+_02050318: .word FUN_02050458
+
+ thumb_func_start FUN_0205031C
+FUN_0205031C: ; 0x0205031C
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _0205032C ; =FUN_02050330
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205032C: .word FUN_02050330
+
+ thumb_func_start FUN_02050330
+FUN_02050330: ; 0x02050330
+ ldr r3, _02050334 ; =MOD06_0223DFB4
+ bx r3
+ .balign 4
+_02050334: .word MOD06_0223DFB4
+
+ thumb_func_start FUN_02050338
+FUN_02050338: ; 0x02050338
+ push {r3, lr}
+ bl MOD18_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205034C ; =FUN_020502AC
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205034C: .word FUN_020502AC
+
+ thumb_func_start FUN_02050350
+FUN_02050350: ; 0x02050350
+ push {r3, lr}
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x9
+ bne _02050364
+ bl FUN_0202DBE0
+ bl MOD18_0223E7FC
+_02050364:
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x1
+ bne _02050374
+ mov r0, #0x0
+ bl FUN_0204D198
+_02050374:
+ ldr r0, _020503A8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050384
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050384:
+ bl FUN_0202DCF8
+ cmp r0, #0x0
+ beq _020503A0
+ ldr r0, _020503AC ; =0x02105E80
+ bl FUN_0204FBAC
+ bl FUN_0204F930
+ ldr r0, _020503B0 ; =FUN_020503B4
+ mov r1, #0xc8
+ bl FUN_02050094
+ pop {r3, pc}
+_020503A0:
+ bl FUN_02050548
+ pop {r3, pc}
+ nop
+_020503A8: .word 0x021C5A6C
+_020503AC: .word 0x02105E80
+_020503B0: .word FUN_020503B4
+
+ thumb_func_start FUN_020503B4
+FUN_020503B4: ; 0x020503B4
+ push {r3, lr}
+ bl FUN_0204FB00
+ cmp r0, #0x0
+ beq _020503CC
+ bl MOD18_0223EF7C
+ ldr r0, _020503E8 ; =FUN_020503F0
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020503CC:
+ bl FUN_02050548
+ ldr r0, _020503EC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020503E0
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020503E0:
+ bl FUN_02050510
+ pop {r3, pc}
+ nop
+_020503E8: .word FUN_020503F0
+_020503EC: .word 0x021C5A6C
+
+ thumb_func_start FUN_020503F0
+FUN_020503F0: ; 0x020503F0
+ push {r3, lr}
+ bl MOD18_0223F4D8
+ cmp r0, #0x0
+ beq _02050412
+ ldr r0, _02050418 ; =0x02105E94
+ bl FUN_0204FBAC
+ bl MOD18_0223F4F4
+ bl MOD06_02245FA0
+ ldr r0, _0205041C ; =FUN_02050420
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050412:
+ bl FUN_02050548
+ pop {r3, pc}
+ .balign 4
+_02050418: .word 0x02105E94
+_0205041C: .word FUN_02050420
+
+ thumb_func_start FUN_02050420
+FUN_02050420: ; 0x02050420
+ push {r3, lr}
+ bl MOD18_022461A4
+ cmp r0, #0x0
+ beq _0205044A
+ ldr r0, _02050450 ; =0x02105EB0
+ bl FUN_0204FBAC
+ bl MOD18_022461B8
+ mov r0, #0x1
+ bl FUN_0204D168
+ mov r0, #0x1f
+ bl FUN_020311DC
+ ldr r0, _02050454 ; =FUN_02050548
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_0205044A:
+ bl FUN_02050548
+ pop {r3, pc}
+ .balign 4
+_02050450: .word 0x02105EB0
+_02050454: .word FUN_02050548
+
+ thumb_func_start FUN_02050458
+FUN_02050458: ; 0x02050458
+ push {r3, lr}
+ bl FUN_02031280
+ cmp r0, #0x0
+ beq _02050472
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0204EAD8
+ ldr r0, _02050474 ; =FUN_02050478
+ mov r1, #0x1e
+ bl FUN_02050094
+_02050472:
+ pop {r3, pc}
+ .balign 4
+_02050474: .word FUN_02050478
+
+ thumb_func_start FUN_02050478
+FUN_02050478: ; 0x02050478
+ push {r3, lr}
+ ldr r0, _0205049C ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _0205048A
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_0205048A:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0205049A
+ ldr r0, _020504A0 ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+_0205049A:
+ pop {r3, pc}
+ .balign 4
+_0205049C: .word 0x021C5A6C
+_020504A0: .word FUN_020500A4
+
+ thumb_func_start FUN_020504A4
+FUN_020504A4: ; 0x020504A4
+ push {r3, lr}
+ ldr r0, _020504C8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020504B6
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020504B6:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _020504C6
+ ldr r0, _020504CC ; =FUN_020500A4
+ mov r1, #0x0
+ bl FUN_02050094
+_020504C6:
+ pop {r3, pc}
+ .balign 4
+_020504C8: .word 0x021C5A6C
+_020504CC: .word FUN_020500A4
+
+ thumb_func_start FUN_020504D0
+FUN_020504D0: ; 0x020504D0
+ ldr r3, _020504D4 ; =MOD06_0223DFB4
+ bx r3
+ .balign 4
+_020504D4: .word MOD06_0223DFB4
+
+ thumb_func_start FUN_020504D8
+FUN_020504D8: ; 0x020504D8
+ push {r3, lr}
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050506
+ ldr r0, _02050508 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl MOD18_0223E1E0
+ bl FUN_0202DBE0
+ mov r0, #0x0
+ bl FUN_0204D168
+ bl MOD18_0223EF7C
+ bl MOD06_02245FA0
+ ldr r0, _0205050C ; =FUN_020504D0
+ mov r1, #0x0
+ bl FUN_02050094
+_02050506:
+ pop {r3, pc}
+ .balign 4
+_02050508: .word 0x021C5A6C
+_0205050C: .word FUN_020504D0
+
+ thumb_func_start FUN_02050510
+FUN_02050510: ; 0x02050510
+ push {r3, lr}
+ bl FUN_02031190
+ mov r1, #0x1
+ bl MOD18_0223FCE8
+ bl FUN_02031190
+ mov r1, #0x1
+ bl MOD18_02247728
+ bl MOD18_0223CACC
+ bl FUN_0204CEF8
+ bl MOD18_0223E6B8
+ bl FUN_02031880
+ bl FUN_0204FB28
+ ldr r0, _02050544 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050544: .word FUN_020504A4
+
+ thumb_func_start FUN_02050548
+FUN_02050548: ; 0x02050548
+ push {r3, lr}
+ bl MOD06_0223DFB4
+ bl FUN_0204F80C
+ ldr r0, _02050574 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _02050572
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _0205056E
+ bl FUN_020311F0
+ cmp r0, #0x0
+ beq _02050572
+_0205056E:
+ bl FUN_02050510
+_02050572:
+ pop {r3, pc}
+ .balign 4
+_02050574: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050578
+FUN_02050578: ; 0x02050578
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _02050588 ; =FUN_0205058C
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050588: .word FUN_0205058C
+
+ thumb_func_start FUN_0205058C
+FUN_0205058C: ; 0x0205058C
+ ldr r3, _02050590 ; =MOD18_02247830
+ bx r3
+ .balign 4
+_02050590: .word MOD18_02247830
+
+ thumb_func_start FUN_02050594
+FUN_02050594: ; 0x02050594
+ push {r3, lr}
+ bl MOD18_02245F1C
+ bl FUN_0204CC9C
+ bl FUN_0202EE44
+ cmp r0, #0x0
+ bne _020505AE
+ bl FUN_020311F0
+ cmp r0, #0x0
+ beq _020505CC
+_020505AE:
+ bl MOD18_022452A4
+ bl FUN_0204CEF8
+ bl MOD18_0223E6B8
+ bl FUN_02031880
+ bl FUN_0204FB28
+ ldr r0, _020505D8 ; =FUN_020504A4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_020505CC:
+ ldr r0, _020505DC ; =FUN_02050548
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ nop
+_020505D8: .word FUN_020504A4
+_020505DC: .word FUN_02050548
+
+ thumb_func_start FUN_020505E0
+FUN_020505E0: ; 0x020505E0
+ push {r3, lr}
+ bl FUN_0204CC48
+ ldr r0, _020505F0 ; =FUN_020505F4
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_020505F0: .word FUN_020505F4
+
+ thumb_func_start FUN_020505F4
+FUN_020505F4: ; 0x020505F4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020505F8
+FUN_020505F8: ; 0x020505F8
+ push {r3, lr}
+ bl MOD18_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205060C ; =FUN_02050168
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205060C: .word FUN_02050168
+
+ thumb_func_start FUN_02050610
+FUN_02050610: ; 0x02050610
+ push {r3, lr}
+ bl FUN_0204CF24
+ ldr r0, _02050620 ; =FUN_02050624
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050620: .word FUN_02050624
+
+ thumb_func_start FUN_02050624
+FUN_02050624: ; 0x02050624
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050628
+FUN_02050628: ; 0x02050628
+ push {r3, lr}
+ bl MOD18_02245F1C
+ bl FUN_0204CC9C
+ ldr r0, _0205063C ; =FUN_020504D0
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_0205063C: .word FUN_020504D0
+
+ thumb_func_start FUN_02050640
+FUN_02050640: ; 0x02050640
+ push {r3, lr}
+ bl FUN_02031190
+ bl FUN_02030E7C
+ cmp r0, #0x0
+ beq _0205065E
+ bl MOD06_02240834
+ bl FUN_0202DBE0
+ ldr r0, _02050660 ; =FUN_02050664
+ mov r1, #0x0
+ bl FUN_02050094
+_0205065E:
+ pop {r3, pc}
+ .balign 4
+_02050660: .word FUN_02050664
+
+ thumb_func_start FUN_02050664
+FUN_02050664: ; 0x02050664
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050668
+FUN_02050668: ; 0x02050668
+ push {r3, lr}
+ bl FUN_0202E4C8
+ cmp r0, #0x0
+ beq _0205067E
+ bl MOD06_022407CC
+ ldr r0, _02050680 ; =FUN_02050684
+ mov r1, #0x0
+ bl FUN_02050094
+_0205067E:
+ pop {r3, pc}
+ .balign 4
+_02050680: .word FUN_02050684
+
+ thumb_func_start FUN_02050684
+FUN_02050684: ; 0x02050684
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02050688
+FUN_02050688: ; 0x02050688
+ push {r3, lr}
+ ldr r0, _020506A0 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x3e
+ ldrb r0, [r0, #0x0]
+ bl FUN_020319D8
+ ldr r0, _020506A4 ; =FUN_020506A8
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_020506A0: .word 0x021C5A6C
+_020506A4: .word FUN_020506A8
+
+ thumb_func_start FUN_020506A8
+FUN_020506A8: ; 0x020506A8
+ push {r3, lr}
+ bl FUN_02031A2C
+ cmp r0, #0x0
+ beq _020506BE
+ bl FUN_0202DBE0
+ ldr r0, _020506C0 ; =FUN_020506C4
+ mov r1, #0x0
+ bl FUN_02050094
+_020506BE:
+ pop {r3, pc}
+ .balign 4
+_020506C0: .word FUN_020506C4
+
+ thumb_func_start FUN_020506C4
+FUN_020506C4: ; 0x020506C4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020506C8
+FUN_020506C8: ; 0x020506C8
+ push {r3, lr}
+ mov r0, #0x62
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050704
+ bl FUN_0204D320
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _02050720 ; =0x021C5A6C
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ bl FUN_0204CB20
+ bl FUN_0204F80C
+ bl FUN_02030FC8
+ mov r0, #0x5c
+ bl FUN_02031588
+ ldr r0, _02050724 ; =FUN_02050728
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050704:
+ ldr r0, _02050720 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050714
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050714:
+ mov r0, #0x1e
+ strh r0, [r1, #0x3c]
+ mov r0, #0x62
+ bl FUN_02031588
+ pop {r3, pc}
+ .balign 4
+_02050720: .word 0x021C5A6C
+_02050724: .word FUN_02050728
+
+ thumb_func_start FUN_02050728
+FUN_02050728: ; 0x02050728
+ push {lr}
+ sub sp, #0xc
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050738
+ bl FUN_0202DDE8
+_02050738:
+ mov r0, #0x5c
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050776
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ bl FUN_0200E388
+ mov r0, #0x1
+ bl FUN_0200E388
+ bl FUN_0204CC9C
+ mov r0, #0x0
+ bl FUN_0204D168
+ ldr r0, _0205077C ; =FUN_020507B4
+ mov r1, #0x1
+ bl FUN_02050094
+_02050776:
+ add sp, #0xc
+ pop {pc}
+ nop
+_0205077C: .word FUN_020507B4
+
+ thumb_func_start FUN_02050780
+FUN_02050780: ; 0x02050780
+ push {r3, lr}
+ ldr r0, _020507AC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050792
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050792:
+ mov r0, #0x1e
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020507A8
+ bl FUN_02030FA8
+ ldr r0, _020507B0 ; =FUN_02050930
+ mov r1, #0x0
+ bl FUN_02050094
+_020507A8:
+ pop {r3, pc}
+ nop
+_020507AC: .word 0x021C5A6C
+_020507B0: .word FUN_02050930
+
+ thumb_func_start FUN_020507B4
+FUN_020507B4: ; 0x020507B4
+ push {r3, lr}
+ ldr r0, _020507F0 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020507C6
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020507C6:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _020507DE
+ bl FUN_0204ED08
+ cmp r0, #0x0
+ beq _020507EC
+ mov r0, #0x1e
+ bl FUN_02031588
+ b _020507E4
+_020507DE:
+ mov r0, #0x1e
+ bl FUN_02031588
+_020507E4:
+ ldr r0, _020507F4 ; =FUN_02050780
+ mov r1, #0x14
+ bl FUN_02050094
+_020507EC:
+ pop {r3, pc}
+ nop
+_020507F0: .word 0x021C5A6C
+_020507F4: .word FUN_02050780
+
+ thumb_func_start FUN_020507F8
+FUN_020507F8: ; 0x020507F8
+ push {r3, lr}
+ mov r0, #0x62
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050830
+ bl FUN_0204D320
+ add r1, r0, #0x0
+ mov r0, #0xf
+ bl FUN_02016998
+ ldr r1, _0205084C ; =0x021C5A6C
+ mov r2, #0x0
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ bl FUN_0204CB20
+ bl FUN_0204F80C
+ mov r0, #0x5c
+ bl FUN_02031588
+ ldr r0, _02050850 ; =FUN_02050854
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+_02050830:
+ ldr r0, _0205084C ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050840
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050840:
+ mov r0, #0x1e
+ strh r0, [r1, #0x3c]
+ mov r0, #0x62
+ bl FUN_02031588
+ pop {r3, pc}
+ .balign 4
+_0205084C: .word 0x021C5A6C
+_02050850: .word FUN_02050854
+
+ thumb_func_start FUN_02050854
+FUN_02050854: ; 0x02050854
+ push {r3, lr}
+ sub sp, #0x10
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02050864
+ bl FUN_0202DDE8
+_02050864:
+ mov r0, #0x5c
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020508B0
+ bl FUN_0204CC9C
+ mov r0, #0x0
+ bl FUN_0204D168
+ mov r1, #0x1
+ add r0, sp, #0xc
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0xc
+ bl FUN_020311D0
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ bl FUN_0200E388
+ mov r0, #0x1
+ bl FUN_0200E388
+ ldr r0, _020508B4 ; =FUN_02050A14
+ mov r1, #0x0
+ bl FUN_02050094
+_020508B0:
+ add sp, #0x10
+ pop {r3, pc}
+ .balign 4
+_020508B4: .word FUN_02050A14
+
+ thumb_func_start FUN_020508B8
+FUN_020508B8: ; 0x020508B8
+ push {r3-r7, lr}
+ mov r7, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _02050916
+ ldr r6, _02050928 ; =0x021C5A6C
+_020508C6:
+ bl FUN_02031190
+ cmp r7, r0
+ beq _0205090C
+ add r0, r7, #0x0
+ bl FUN_020315FC
+ cmp r0, #0x5e
+ bne _0205090C
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, #0x18]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _0205090C
+ mov r4, #0x0
+ add r5, r4, #0x0
+_020508E6:
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r5]
+ cmp r0, #0x0
+ beq _020508F8
+ bl FUN_02016A18
+ ldr r1, [r6, #0x0]
+ mov r0, #0x0
+ str r0, [r1, r5]
+_020508F8:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _020508E6
+ ldr r0, [r6, #0x0]
+ ldr r1, _0205092C ; =0x0000238E
+ ldr r0, [r0, #0x18]
+ mov r2, #0x0
+ bl FUN_02038C78
+_0205090C:
+ add r7, r7, #0x1
+ bl FUN_02030F20
+ cmp r7, r0
+ blt _020508C6
+_02050916:
+ ldr r1, _02050928 ; =0x021C5A6C
+ mov r0, #0x4
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x18]
+ ldr r1, [r1, #0x8]
+ bl FUN_020335F0
+ pop {r3-r7, pc}
+ nop
+_02050928: .word 0x021C5A6C
+_0205092C: .word 0x0000238E
+
+ thumb_func_start FUN_02050930
+FUN_02050930: ; 0x02050930
+ push {r3, lr}
+ bl FUN_0204EB44
+ cmp r0, #0x0
+ bne _0205095A
+ ldr r0, _02050960 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r1, #0x1
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+ ldr r0, _02050964 ; =FUN_02050A14
+ mov r1, #0x0
+ bl FUN_02050094
+_0205095A:
+ bl FUN_020508B8
+ pop {r3, pc}
+ .balign 4
+_02050960: .word 0x021C5A6C
+_02050964: .word FUN_02050A14
+
+ thumb_func_start FUN_02050968
+FUN_02050968: ; 0x02050968
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ beq _02050986
+ mov r0, #0xb
+ bl FUN_0206B8AC
+ ldr r1, _020509AC ; =0x021C5A6C
+ ldr r2, [r1, #0x0]
+ str r0, [r2, #0x44]
+ ldr r1, [r1, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x44]
+ bl FUN_0206BAD0
+_02050986:
+ cmp r5, #0x0
+ beq _02050994
+ ldr r0, _020509B0 ; =FUN_02050B8C
+ mov r1, #0x3
+ bl FUN_02050094
+ pop {r3-r5, pc}
+_02050994:
+ mov r1, #0x3
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+ ldr r0, _020509B4 ; =FUN_02050930
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3-r5, pc}
+ .balign 4
+_020509AC: .word 0x021C5A6C
+_020509B0: .word FUN_02050B8C
+_020509B4: .word FUN_02050930
+
+ thumb_func_start FUN_020509B8
+FUN_020509B8: ; 0x020509B8
+ ldr r3, _020509C0 ; =FUN_02050094
+ ldr r0, _020509C4 ; =FUN_02050930
+ mov r1, #0x0
+ bx r3
+ .balign 4
+_020509C0: .word FUN_02050094
+_020509C4: .word FUN_02050930
+
+ thumb_func_start FUN_020509C8
+FUN_020509C8: ; 0x020509C8
+ push {r3, lr}
+ bl FUN_02031438
+ cmp r0, #0x0
+ bne _02050A06
+ bl FUN_02031190
+ bl FUN_0204F6B4
+ cmp r0, #0x0
+ bne _02050A06
+ ldr r0, _02050A08 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _020509EE
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_020509EE:
+ bl FUN_0204F7E4
+ ldr r0, _02050A08 ; =0x021C5A6C
+ ldr r1, _02050A0C ; =FUN_02050968
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x18]
+ bl FUN_02051880
+ ldr r0, _02050A10 ; =FUN_020509B8
+ mov r1, #0x0
+ bl FUN_02050094
+_02050A06:
+ pop {r3, pc}
+ .balign 4
+_02050A08: .word 0x021C5A6C
+_02050A0C: .word FUN_02050968
+_02050A10: .word FUN_020509B8
+
+ thumb_func_start FUN_02050A14
+FUN_02050A14: ; 0x02050A14
+ push {r3, lr}
+ ldr r0, _02050A40 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050A38
+ ldr r0, _02050A44 ; =FUN_020509C8
+ mov r1, #0x5
+ bl FUN_02050094
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r0, #0x5e
+ add r1, sp, #0x0
+ bl FUN_020311D0
+_02050A38:
+ bl FUN_020508B8
+ pop {r3, pc}
+ nop
+_02050A40: .word 0x021C5A6C
+_02050A44: .word FUN_020509C8
+
+ thumb_func_start FUN_02050A48
+FUN_02050A48: ; 0x02050A48
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_02031190
+ ldrb r1, [r4, #0x0]
+ cmp r1, r0
+ bne _02050A60
+ ldr r0, _02050A64 ; =0x021C5A6C
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+_02050A60:
+ pop {r4, pc}
+ nop
+_02050A64: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050A68
+FUN_02050A68: ; 0x02050A68
+ ldr r0, _02050A88 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050A82
+ ldr r1, [r0, #0x34]
+ ldr r0, _02050A8C ; =FUN_02050A14
+ cmp r1, r0
+ beq _02050A7E
+ ldr r0, _02050A90 ; =FUN_02050930
+ cmp r1, r0
+ bne _02050A82
+_02050A7E:
+ mov r0, #0x1
+ bx lr
+_02050A82:
+ mov r0, #0x0
+ bx lr
+ nop
+_02050A88: .word 0x021C5A6C
+_02050A8C: .word FUN_02050A14
+_02050A90: .word FUN_02050930
+
+ thumb_func_start FUN_02050A94
+FUN_02050A94: ; 0x02050A94
+ push {r4, lr}
+ sub sp, #0x8
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050AAA
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ add sp, #0x8
+ pop {r4, pc}
+_02050AAA:
+ mov r4, #0x5
+ bl FUN_02033534
+ cmp r0, #0x2
+ beq _02050AC0
+ cmp r0, #0x4
+ beq _02050ABC
+ cmp r0, #0x5
+ bne _02050AC2
+_02050ABC:
+ mov r4, #0xf
+ b _02050AC2
+_02050AC0:
+ mov r4, #0x7
+_02050AC2:
+ add r0, sp, #0x0
+ bl FUN_02033578
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r1, [r0, #0x44]
+ ldr r0, [r0, #0x18]
+ cmp r1, #0x0
+ bne _02050ADE
+ add r1, sp, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204726C
+ b _02050AF6
+_02050ADE:
+ add r2, r4, #0x0
+ bl FUN_020472B0
+ ldr r0, _02050B00 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x44]
+ bl FUN_02016A18
+ ldr r0, _02050B00 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ str r1, [r0, #0x44]
+_02050AF6:
+ bl FUN_0204FC10
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02050B00: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050B04
+FUN_02050B04: ; 0x02050B04
+ push {r3, lr}
+ bl FUN_0202FA48
+ cmp r0, #0x0
+ beq _02050B3E
+ ldr r0, _02050B40 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B1C
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050B1C:
+ ldr r0, _02050B40 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x5a
+ bne _02050B2C
+ mov r0, #0x4
+ bl FUN_02031588
+_02050B2C:
+ mov r0, #0x4
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050B3E
+ ldr r0, _02050B44 ; =FUN_02050A94
+ mov r1, #0x0
+ bl FUN_02050094
+_02050B3E:
+ pop {r3, pc}
+ .balign 4
+_02050B40: .word 0x021C5A6C
+_02050B44: .word FUN_02050A94
+
+ thumb_func_start FUN_02050B48
+FUN_02050B48: ; 0x02050B48
+ push {r3, lr}
+ ldr r0, _02050B68 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B5A
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050B5A:
+ bl FUN_0202FA10
+ ldr r0, _02050B6C ; =FUN_02050B04
+ mov r1, #0x78
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050B68: .word 0x021C5A6C
+_02050B6C: .word FUN_02050B04
+
+ thumb_func_start FUN_02050B70
+FUN_02050B70: ; 0x02050B70
+ push {r3, lr}
+ mov r0, #0x3
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050B84
+ ldr r0, _02050B88 ; =FUN_02050B48
+ mov r1, #0x2
+ bl FUN_02050094
+_02050B84:
+ pop {r3, pc}
+ nop
+_02050B88: .word FUN_02050B48
+
+ thumb_func_start FUN_02050B8C
+FUN_02050B8C: ; 0x02050B8C
+ push {r3, lr}
+ ldr r0, _02050BB4 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050B9E
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050B9E:
+ mov r0, #0x0
+ bl FUN_0204CCE0
+ mov r0, #0x3
+ bl FUN_02031588
+ ldr r0, _02050BB8 ; =FUN_02050B70
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050BB4: .word 0x021C5A6C
+_02050BB8: .word FUN_02050B70
+
+ thumb_func_start FUN_02050BBC
+FUN_02050BBC: ; 0x02050BBC
+ push {r3, lr}
+ bl FUN_020319F4
+ ldr r0, _02050BCC ; =FUN_02050BD0
+ mov r1, #0x2
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050BCC: .word FUN_02050BD0
+
+ thumb_func_start FUN_02050BD0
+FUN_02050BD0: ; 0x02050BD0
+ push {r3, lr}
+ bl FUN_0202EE0C
+ cmp r0, #0x0
+ beq _02050BE2
+ ldr r0, _02050BE4 ; =FUN_020506A8
+ mov r1, #0xa
+ bl FUN_02050094
+_02050BE2:
+ pop {r3, pc}
+ .balign 4
+_02050BE4: .word FUN_020506A8
+
+ thumb_func_start FUN_02050BE8
+FUN_02050BE8: ; 0x02050BE8
+ ldr r1, _02050BF4 ; =0x021C5A6C
+ mov r2, #0x1
+ ldr r1, [r1, #0x0]
+ add r0, r1, r0
+ strb r2, [r0, #0x10]
+ bx lr
+ .balign 4
+_02050BF4: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050BF8
+FUN_02050BF8: ; 0x02050BF8
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x4
+ blt _02050C04
+ bl ErrorHandling
+_02050C04:
+ ldr r0, _02050C10 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ lsl r0, r4, #0x2
+ ldr r0, [r1, r0]
+ pop {r4, pc}
+ nop
+_02050C10: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050C14
+FUN_02050C14: ; 0x02050C14
+ push {r4, lr}
+ bl FUN_02031190
+ add r4, r0, #0x0
+ mov r0, #0x5f
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050C3E
+ ldr r1, _02050C40 ; =0x021C5A6C
+ mov r0, #0x58
+ ldr r2, [r1, #0x0]
+ lsl r1, r4, #0x2
+ ldr r1, [r2, r1]
+ ldr r2, _02050C44 ; =0x0000066C
+ bl FUN_02030A78
+ ldr r0, _02050C48 ; =FUN_02050C4C
+ mov r1, #0x0
+ bl FUN_02050094
+_02050C3E:
+ pop {r4, pc}
+ .balign 4
+_02050C40: .word 0x021C5A6C
+_02050C44: .word 0x0000066C
+_02050C48: .word FUN_02050C4C
+
+ thumb_func_start FUN_02050C4C
+FUN_02050C4C: ; 0x02050C4C
+ push {r3-r5, lr}
+ mov r4, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _02050C6E
+ ldr r5, _02050C80 ; =0x021C5A6C
+_02050C5A:
+ ldr r0, [r5, #0x0]
+ add r0, r0, r4
+ ldrb r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _02050C7C
+ add r4, r4, #0x1
+ bl FUN_02030F20
+ cmp r4, r0
+ blt _02050C5A
+_02050C6E:
+ mov r0, #0x61
+ bl FUN_02031588
+ ldr r0, _02050C84 ; =FUN_02050CF4
+ mov r1, #0x0
+ bl FUN_02050094
+_02050C7C:
+ pop {r3-r5, pc}
+ nop
+_02050C80: .word 0x021C5A6C
+_02050C84: .word FUN_02050CF4
+
+ thumb_func_start FUN_02050C88
+FUN_02050C88: ; 0x02050C88
+ push {r3, lr}
+ bl FUN_0202FA48
+ cmp r0, #0x0
+ bne _02050CC2
+ ldr r0, _02050CC4 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050CA0
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+_02050CA0:
+ ldr r0, _02050CC4 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ ldrh r0, [r0, #0x3c]
+ cmp r0, #0x5a
+ bne _02050CB0
+ mov r0, #0x5
+ bl FUN_02031588
+_02050CB0:
+ mov r0, #0x5
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050CC2
+ ldr r0, _02050CC8 ; =FUN_02050D10
+ mov r1, #0x0
+ bl FUN_02050094
+_02050CC2:
+ pop {r3, pc}
+ .balign 4
+_02050CC4: .word 0x021C5A6C
+_02050CC8: .word FUN_02050D10
+
+ thumb_func_start FUN_02050CCC
+FUN_02050CCC: ; 0x02050CCC
+ push {r3, lr}
+ ldr r0, _02050CEC ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050CDE
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050CDE:
+ bl FUN_0202FA1C
+ ldr r0, _02050CF0 ; =FUN_02050C88
+ mov r1, #0x78
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050CEC: .word 0x021C5A6C
+_02050CF0: .word FUN_02050C88
+
+ thumb_func_start FUN_02050CF4
+FUN_02050CF4: ; 0x02050CF4
+ push {r3, lr}
+ mov r0, #0x61
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050D08
+ ldr r0, _02050D0C ; =FUN_02050CCC
+ mov r1, #0x2
+ bl FUN_02050094
+_02050D08:
+ pop {r3, pc}
+ nop
+_02050D0C: .word FUN_02050CCC
+
+ thumb_func_start FUN_02050D10
+FUN_02050D10: ; 0x02050D10
+ push {r3, lr}
+ ldr r0, _02050D48 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050D22
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050D22:
+ mov r0, #0x62
+ bl FUN_02031588
+ ldr r0, _02050D48 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ add r0, #0x42
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050D3E
+ ldr r0, _02050D4C ; =FUN_020506C8
+ mov r1, #0x1e
+ bl FUN_02050094
+ pop {r3, pc}
+_02050D3E:
+ ldr r0, _02050D50 ; =FUN_020507F8
+ mov r1, #0x1e
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050D48: .word 0x021C5A6C
+_02050D4C: .word FUN_020506C8
+_02050D50: .word FUN_020507F8
+
+ thumb_func_start FUN_02050D54
+FUN_02050D54: ; 0x02050D54
+ push {r3, lr}
+ ldr r0, _02050D84 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050D66
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050D66:
+ bl MOD18_0223E1A4
+ bl FUN_02031860
+ mov r0, #0x21
+ bl FUN_020168D0
+ ldr r0, _02050D84 ; =0x021C5A6C
+ mov r1, #0x0
+ ldr r0, [r0, #0x0]
+ add r0, #0x41
+ strb r1, [r0, #0x0]
+ bl FUN_0204FC10
+ pop {r3, pc}
+ .balign 4
+_02050D84: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050D88
+FUN_02050D88: ; 0x02050D88
+ push {r3, lr}
+ mov r0, #0x5b
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02050DAA
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ mov r0, #0x1
+ bl FUN_0204CCE0
+ ldr r0, _02050DAC ; =FUN_02050DC8
+ mov r1, #0x5
+ bl FUN_02050094
+_02050DAA:
+ pop {r3, pc}
+ .balign 4
+_02050DAC: .word FUN_02050DC8
+
+ thumb_func_start FUN_02050DB0
+FUN_02050DB0: ; 0x02050DB0
+ push {r3, lr}
+ mov r0, #0x1
+ bl FUN_0204CCE0
+ ldr r0, _02050DC4 ; =FUN_02050DC8
+ mov r1, #0x5
+ bl FUN_02050094
+ pop {r3, pc}
+ nop
+_02050DC4: .word FUN_02050DC8
+
+ thumb_func_start FUN_02050DC8
+FUN_02050DC8: ; 0x02050DC8
+ push {r3, lr}
+ ldr r0, _02050DE8 ; =0x021C5A6C
+ ldr r1, [r0, #0x0]
+ ldrh r0, [r1, #0x3c]
+ cmp r0, #0x0
+ beq _02050DDA
+ sub r0, r0, #0x1
+ strh r0, [r1, #0x3c]
+ pop {r3, pc}
+_02050DDA:
+ bl FUN_02031A08
+ ldr r0, _02050DEC ; =FUN_0204FC10
+ mov r1, #0x0
+ bl FUN_02050094
+ pop {r3, pc}
+ .balign 4
+_02050DE8: .word 0x021C5A6C
+_02050DEC: .word FUN_0204FC10
+
+ thumb_func_start FUN_02050DF0
+FUN_02050DF0: ; 0x02050DF0
+ push {r3, lr}
+ ldr r1, _02050E0C ; =0x021C5A6C
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _02050E02
+ add r1, #0x41
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _02050E06
+_02050E02:
+ mov r0, #0x0
+ pop {r3, pc}
+_02050E06:
+ bl MOD18_0223E2AC
+ pop {r3, pc}
+ .balign 4
+_02050E0C: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E10
+FUN_02050E10: ; 0x02050E10
+ push {r3, lr}
+ ldr r0, _02050E28 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E26
+ add r0, #0x41
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E26
+ bl MOD18_0223E118
+_02050E26:
+ pop {r3, pc}
+ .balign 4
+_02050E28: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E2C
+FUN_02050E2C: ; 0x02050E2C
+ push {r3, lr}
+ ldr r0, _02050E44 ; =0x021C5A6C
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E42
+ add r0, #0x41
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050E42
+ bl MOD18_0223E154
+_02050E42:
+ pop {r3, pc}
+ .balign 4
+_02050E44: .word 0x021C5A6C
+
+ thumb_func_start FUN_02050E48
+FUN_02050E48: ; 0x02050E48
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ ldr r0, [sp, #0x24]
+ mov r1, #0x30
+ str r2, [sp, #0x0]
+ str r3, [sp, #0x4]
+ ldr r6, [r5, #0xc]
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x30
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0207C2A4
+ add r0, r6, #0x0
+ bl FUN_0206BB28
+ str r0, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_02079C70
+ str r0, [r4, #0x2c]
+ add r0, r6, #0x0
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x0]
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ ldr r0, [sp, #0x4]
+ strb r0, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9AC
+ strb r0, [r4, #0x13]
+ mov r0, #0x0
+ strh r0, [r4, #0x18]
+ ldr r0, [sp, #0x20]
+ strb r0, [r4, #0x12]
+ add r0, r6, #0x0
+ bl FUN_0202A918
+ str r0, [r4, #0x20]
+ ldr r1, _02050ECC ; =0x020F5880
+ add r0, r4, #0x0
+ bl FUN_0207B000
+ ldr r1, _02050ED0 ; =0x020FA6E8
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ str r4, [r7, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02050ECC: .word 0x020F5880
+_02050ED0: .word 0x020FA6E8
+
+ thumb_func_start FUN_02050ED4
+FUN_02050ED4: ; 0x02050ED4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ str r0, [r4, #0x14]
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [r5, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02050F64
+ mov r1, #0x1
+ bl FUN_02023B0C
+ add r1, r4, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ mov r2, #0xf
+ lsl r0, r0, #0x18
+ bic r1, r2
+ lsr r2, r0, #0x18
+ mov r0, #0xf
+ and r0, r2
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ mov r1, #0xf0
+ bic r0, r1
+ add r1, r4, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x18
+ b _02050F84
+_02050F64:
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf
+ bic r1, r0
+ mov r0, #0x3
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf0
+ bic r1, r0
+ mov r0, #0x30
+_02050F84:
+ orr r1, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x64
+ add r0, #0x33
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x3c
+ ldrb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ mov r2, #0x0
+_02050FA2:
+ add r0, r5, r2
+ add r0, #0x3d
+ ldrb r1, [r0, #0x0]
+ add r0, r4, r2
+ add r0, #0x2c
+ add r2, r2, #0x1
+ strb r1, [r0, #0x0]
+ cmp r2, #0x6
+ blt _02050FA2
+ ldr r0, [r5, #0x24]
+ ldr r1, _02050FC4 ; =0x020F96DC
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ str r4, [r5, #0x4]
+ pop {r3-r5, pc}
+ nop
+_02050FC4: .word 0x020F96DC
+
+ thumb_func_start FUN_02050FC8
+FUN_02050FC8: ; 0x02050FC8
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02050FDA
+ mov r0, #0x0
+ pop {r4, pc}
+_02050FDA:
+ ldr r0, [r4, #0x4]
+ add r1, r4, #0x0
+ add r0, #0x2c
+ add r1, #0x3d
+ mov r2, #0x6
+ bl MI_CpuCopy8
+ ldr r0, [r4, #0x4]
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x6
+ beq _02050FFC
+ cmp r0, #0x7
+ bne _02051002
+ mov r0, #0x0
+ str r0, [r4, #0x38]
+ b _02051006
+_02050FFC:
+ mov r0, #0x1
+ str r0, [r4, #0x38]
+ b _02051006
+_02051002:
+ mov r0, #0x2
+ str r0, [r4, #0x38]
+_02051006:
+ ldr r0, [r4, #0x4]
+ add r0, #0x22
+ ldrb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x3c
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_02051020
+FUN_02051020: ; 0x02051020
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02051032
+ mov r0, #0x0
+ pop {r4, pc}
+_02051032:
+ ldr r0, [r4, #0x0]
+ ldrb r1, [r0, #0x14]
+ add r0, r4, #0x0
+ add r0, #0x3c
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205104C
+FUN_0205104C: ; 0x0205104C
+ push {r3, lr}
+ ldr r0, [r0, #0x24]
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _02051066
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ bl FUN_0204CC9C
+ mov r0, #0x1
+ pop {r3, pc}
+_02051066:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205106C
+FUN_0205106C: ; 0x0205106C
+ push {r3-r5, lr}
+ bl FUN_02030F20
+ add r5, r0, #0x0
+ mov r4, #0x0
+ cmp r5, #0x0
+ ble _0205108E
+_0205107A:
+ add r0, r4, #0x0
+ bl FUN_020315FC
+ cmp r0, #0x5e
+ bne _02051088
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02051088:
+ add r4, r4, #0x1
+ cmp r4, r5
+ blt _0205107A
+_0205108E:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051094
+FUN_02051094: ; 0x02051094
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ ldr r1, [r4, #0x34]
+ cmp r1, #0x2c
+ bls _020510AE
+ b _020517B8
+_020510AE:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020510BA: ; jump table (using 16-bit offset)
+ .short _02051114 - _020510BA - 2; case 0
+ .short _02051136 - _020510BA - 2; case 1
+ .short _02051150 - _020510BA - 2; case 2
+ .short _0205116A - _020510BA - 2; case 3
+ .short _020511A6 - _020510BA - 2; case 4
+ .short _020511F6 - _020510BA - 2; case 5
+ .short _020517B8 - _020510BA - 2; case 6
+ .short _020511E4 - _020510BA - 2; case 7
+ .short _0205120C - _020510BA - 2; case 8
+ .short _02051232 - _020510BA - 2; case 9
+ .short _0205123E - _020510BA - 2; case 10
+ .short _0205126A - _020510BA - 2; case 11
+ .short _02051288 - _020510BA - 2; case 12
+ .short _0205129C - _020510BA - 2; case 13
+ .short _020512A8 - _020510BA - 2; case 14
+ .short _020512CA - _020510BA - 2; case 15
+ .short _020512E0 - _020510BA - 2; case 16
+ .short _0205130E - _020510BA - 2; case 17
+ .short _02051334 - _020510BA - 2; case 18
+ .short _02051346 - _020510BA - 2; case 19
+ .short _0205138A - _020510BA - 2; case 20
+ .short _0205136A - _020510BA - 2; case 21
+ .short _020513A6 - _020510BA - 2; case 22
+ .short _020513B6 - _020510BA - 2; case 23
+ .short _020513D4 - _020510BA - 2; case 24
+ .short _020513F2 - _020510BA - 2; case 25
+ .short _02051406 - _020510BA - 2; case 26
+ .short _02051472 - _020510BA - 2; case 27
+ .short _020514A8 - _020510BA - 2; case 28
+ .short _020514BE - _020510BA - 2; case 29
+ .short _02051508 - _020510BA - 2; case 30
+ .short _02051540 - _020510BA - 2; case 31
+ .short _02051566 - _020510BA - 2; case 32
+ .short _02051686 - _020510BA - 2; case 33
+ .short _020516B6 - _020510BA - 2; case 34
+ .short _020516CE - _020510BA - 2; case 35
+ .short _020515BA - _020510BA - 2; case 36
+ .short _020515F8 - _020510BA - 2; case 37
+ .short _02051614 - _020510BA - 2; case 38
+ .short _020516DE - _020510BA - 2; case 39
+ .short _020517B8 - _020510BA - 2; case 40
+ .short _02051702 - _020510BA - 2; case 41
+ .short _02051744 - _020510BA - 2; case 42
+ .short _02051766 - _020510BA - 2; case 43
+ .short _02051798 - _020510BA - 2; case 44
+_02051114:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _020511DC
+ mov r0, #0x1
+ str r0, [r4, #0x34]
+ bl FUN_0204ECC0
+ b _020517B8
+_02051136:
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051150:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020511DC
+ mov r0, #0x5d
+ bl FUN_02031588
+ mov r0, #0x3
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205116A:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _0205118A
+ mov r0, #0x7
+ str r0, [r4, #0x34]
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0x34]
+ bl FUN_02058768
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+ b _020517B8
+_0205118A:
+ ldr r0, _020514A4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _020511DC
+ mov r0, #0x4
+ str r0, [r4, #0x34]
+ mov r0, #0x5c
+ bl FUN_02031588
+ mov r0, #0x5
+ add r4, #0x43
+ strb r0, [r4, #0x0]
+ b _020517B8
+_020511A6:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020511C4
+ mov r0, #0x7
+ str r0, [r4, #0x34]
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0x34]
+ bl FUN_02058768
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+_020511C4:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _020511DE
+_020511DC:
+ b _020517B8
+_020511DE:
+ mov r0, #0x8
+ str r0, [r4, #0x34]
+ b _020517B8
+_020511E4:
+ add r0, r4, #0x0
+ bl FUN_02051998
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020511F6:
+ add r0, r4, #0x0
+ bl FUN_02051998
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ bl FUN_0204F7FC
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205120C:
+ mov r0, #0x5d
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051224
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x1
+ blx r2
+ b _020517B8
+_02051224:
+ ldr r1, [r4, #0x50]
+ ldr r2, [r4, #0x8]
+ mov r0, #0x0
+ blx r2
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051232:
+ mov r0, #0xa
+ str r0, [r4, #0x34]
+ mov r0, #0x5
+ add r4, #0x44
+ strb r0, [r4, #0x0]
+ b _020517B8
+_0205123E:
+ add r1, r4, #0x0
+ add r1, #0x44
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ beq _02051256
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ add r4, #0x44
+ sub r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ b _020517B8
+_02051256:
+ ldr r0, [r0, #0x38]
+ bl FUN_020553A0
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ beq _020512FA
+ mov r0, #0xb
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205126A:
+ bl FUN_0204ECC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xd
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0xc
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051288:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020512FA
+ mov r0, #0xd
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205129C:
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ mov r0, #0xe
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512A8:
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _020512FA
+ bl FUN_0204ECC0
+ mov r0, #0xf
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512CA:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051810
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02050ED4
+ mov r0, #0x10
+ str r0, [r4, #0x34]
+ b _020517B8
+_020512E0:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02050FC8
+ cmp r0, #0x0
+ beq _020512FA
+ ldr r0, [r4, #0x38]
+ cmp r0, #0x0
+ beq _020512FC
+ cmp r0, #0x1
+ beq _02051302
+ cmp r0, #0x2
+ beq _02051308
+_020512FA:
+ b _020517B8
+_020512FC:
+ mov r0, #0x14
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051302:
+ mov r0, #0x13
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051308:
+ mov r0, #0x11
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205130E:
+ ldr r0, [r4, #0x24]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ add r3, r4, #0x0
+ add r3, #0x3c
+ ldrb r3, [r3, #0x0]
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02050E48
+ mov r0, #0x12
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051334:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02051020
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0xf
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051346:
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _02051364
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x15
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051364:
+ mov r0, #0x1a
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205136A:
+ add r0, r4, #0x0
+ add r0, #0x3d
+ bl FUN_02033564
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _02051410
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205138A:
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _020513A0
+ mov r0, #0x16
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513A0:
+ mov r0, #0x1a
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513A6:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0x8
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513B6:
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x44
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x44
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051410
+ mov r0, #0x18
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513D4:
+ bl FUN_0204ECC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x13
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x19
+ str r0, [r4, #0x34]
+ b _020517B8
+_020513F2:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051410
+ mov r0, #0xd
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051406:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ bne _02051412
+_02051410:
+ b _020517B8
+_02051412:
+ bl FUN_0205106C
+ cmp r0, #0x0
+ beq _02051420
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051420:
+ ldr r0, [r4, #0x38]
+ cmp r0, #0x0
+ beq _0205142A
+ mov r1, #0x1
+ b _0205142C
+_0205142A:
+ mov r1, #0x0
+_0205142C:
+ add r0, r4, #0x0
+ add r0, #0x82
+ strb r1, [r0, #0x0]
+ add r1, r4, #0x0
+ add r1, #0x82
+ ldrb r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020519F0
+ mov r0, #0x0
+ bl FUN_02031588
+ ldr r0, [r4, #0x28]
+ ldr r2, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xe
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1b
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051472:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ bl FUN_0205106C
+ cmp r0, #0x0
+ beq _0205148E
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205148E:
+ mov r0, #0x0
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051A38
+ mov r0, #0x1c
+ str r0, [r4, #0x34]
+ b _020517B8
+ .balign 4
+_020514A4: .word 0x021C48B8
+_020514A8:
+ add r0, r4, #0x0
+ bl FUN_02051A80
+ cmp r0, #0x0
+ beq _02051574
+ mov r0, #0x1
+ bl FUN_02031588
+ mov r0, #0x1d
+ str r0, [r4, #0x34]
+ b _020517B8
+_020514BE:
+ mov r0, #0x1
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051A90
+ add r1, r4, #0x0
+ add r1, #0x83
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x82
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051502
+ add r0, r4, #0x0
+ add r0, #0x83
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051502
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x14
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1e
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051502:
+ mov r0, #0x2a
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051508:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x89
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x11
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ mov r0, #0x1f
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051540:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _02051574
+ add r0, r4, #0x0
+ bl FUN_02051AF0
+ add r1, r4, #0x0
+ add r1, #0x84
+ ldrb r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02051B68
+ mov r0, #0x20
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051566:
+ add r0, r4, #0x0
+ bl FUN_02051D54
+ cmp r0, #0x1
+ beq _02051576
+ cmp r0, #0x2
+ beq _0205158C
+_02051574:
+ b _020517B8
+_02051576:
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r0, r4, #0x0
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ mov r0, #0x24
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205158C:
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ add r0, r4, #0x0
+ mov r1, #0xff
+ add r0, #0x84
+ strb r1, [r0, #0x0]
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xf
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ bl FUN_02031588
+ mov r0, #0x27
+ str r0, [r4, #0x34]
+ b _020517B8
+_020515BA:
+ add r1, r4, #0x0
+ add r1, #0x84
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x50]
+ bl FUN_0206B9B0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x28]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x12
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x25
+ str r0, [r4, #0x34]
+ b _020517B8
+_020515F8:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _0205168E
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051C88
+ mov r0, #0x26
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051614:
+ add r0, r4, #0x0
+ bl FUN_02051D54
+ cmp r0, #0x1
+ beq _02051642
+ cmp r0, #0x2
+ bne _0205168E
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0x11
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x1f
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051642:
+ mov r0, #0x81
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x1
+ bne _0205167A
+ add r0, r4, #0x0
+ bl FUN_02051E24
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xe
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x28]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ mov r0, #0x2
+ bl FUN_02031588
+ mov r0, #0x27
+ str r0, [r4, #0x34]
+ b _020517B8
+_0205167A:
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ mov r0, #0x21
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051686:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ bne _02051690
+_0205168E:
+ b _020517B8
+_02051690:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02051810
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ str r0, [sp, #0x4]
+ add r3, r4, #0x0
+ add r3, #0x84
+ ldrb r3, [r3, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r2, [r4, #0x50]
+ add r0, r4, #0x0
+ bl FUN_02050E48
+ mov r0, #0x22
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516B6:
+ ldr r1, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02051020
+ cmp r0, #0x0
+ beq _020517B8
+ ldr r0, [r4, #0x24]
+ bl FUN_0204649C
+ mov r0, #0x23
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516CE:
+ add r0, r4, #0x0
+ bl FUN_0205104C
+ cmp r0, #0x0
+ beq _020517B8
+ mov r0, #0x24
+ str r0, [r4, #0x34]
+ b _020517B8
+_020516DE:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020517B8
+ mov r0, #0x2
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ bl FUN_02051AA4
+ mov r0, #0x29
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051702:
+ add r0, r4, #0x0
+ bl FUN_02051AE0
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x84
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xff
+ bne _02051722
+ mov r0, #0x4
+ bl FUN_02031588
+ mov r0, #0x2c
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051722:
+ add r0, r4, #0x0
+ add r0, #0x85
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xff
+ bne _02051732
+ mov r0, #0x2a
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051732:
+ add r0, r4, #0x0
+ bl FUN_02051B1C
+ mov r0, #0x5d
+ bl FUN_02031588
+ mov r0, #0x2
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051744:
+ ldr r0, [r4, #0x2c]
+ ldr r2, [r4, #0xc]
+ mov r1, #0xf
+ bl FUN_0200A8E0
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020517C0
+ str r0, [r4, #0x30]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ mov r0, #0x2b
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051766:
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x43
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3c
+ bls _020517B8
+ mov r0, #0x4
+ bl FUN_02031588
+ mov r0, #0x2c
+ str r0, [r4, #0x34]
+ b _020517B8
+_02051798:
+ mov r0, #0x4
+ bl FUN_020315D8
+ cmp r0, #0x0
+ beq _020517B8
+ add r0, r4, #0x0
+ add r0, #0x14
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ mov r0, #0x0
+ ldr r2, [r4, #0x8]
+ add r1, r0, #0x0
+ blx r2
+ mov r0, #0x5
+ str r0, [r4, #0x34]
+_020517B8:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020517C0
+FUN_020517C0: ; 0x020517C0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r5, #0x0
+ add r4, #0x14
+ add r0, r4, #0x0
+ add r6, r1, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _020517F2
+ ldr r0, [r5, #0x24]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02054608
+ b _020517F8
+_020517F2:
+ add r0, r4, #0x0
+ bl FUN_0205464C
+_020517F8:
+ ldr r0, [r5, #0x24]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r3, #0x1
+ bl FUN_02054658
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051810
+FUN_02051810: ; 0x02051810
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ add r4, r1, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _02051846
+ cmp r4, #0x0
+ beq _02051836
+ add r0, r5, #0x0
+ add r0, #0x14
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_02019570
+_02051836:
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_02019178
+ add r0, r5, #0x0
+ add r0, #0x14
+ bl FUN_0201901C
+_02051846:
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _02051862
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_02019178
+ add r0, r5, #0x0
+ add r0, #0x54
+ bl FUN_0201901C
+_02051862:
+ add r0, r5, #0x0
+ add r0, #0x64
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0205187E
+ add r0, r5, #0x0
+ add r0, #0x64
+ bl FUN_02019178
+ add r5, #0x64
+ add r0, r5, #0x0
+ bl FUN_0201901C
+_0205187E:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02051880
+FUN_02051880: ; 0x02051880
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ add r6, r1, #0x0
+ cmp r0, #0x0
+ beq _0205188E
+ b _02051992
+_0205188E:
+ mov r0, #0xb
+ mov r1, #0x8c
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x8c
+ bl MI_CpuFill8
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x43
+ strb r1, [r0, #0x0]
+ str r5, [r4, #0x24]
+ str r6, [r4, #0x8]
+ mov r0, #0xb
+ bl FUN_0200AA80
+ str r0, [r4, #0x28]
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r2, #0x9
+ mov r3, #0xb
+ bl FUN_0200A86C
+ str r0, [r4, #0x2c]
+ mov r0, #0xc8
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0xc]
+ mov r0, #0xc8
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0x10]
+ add r0, r4, #0x0
+ add r0, #0x14
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x54
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201901C
+ mov r0, #0xb
+ bl FUN_02013690
+ str r0, [r4, #0x78]
+ bl FUN_02033534
+ add r1, r4, #0x0
+ add r1, #0x88
+ strb r0, [r1, #0x0]
+ mov r1, #0x0
+ str r1, [r4, #0x4c]
+ str r1, [r4, #0x48]
+ add r0, r4, #0x0
+ str r1, [r4, #0x50]
+ add r0, #0x89
+ strb r1, [r0, #0x0]
+ bl FUN_02031190
+ add r1, r4, #0x0
+ add r1, #0x86
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x86
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r0, r1
+ bl FUN_0202DFA4
+ str r0, [r4, #0x74]
+ add r0, r4, #0x0
+ add r0, #0x88
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _02051938
+ cmp r0, #0x4
+ beq _0205196E
+ b _02051974
+_02051938:
+ bl FUN_02051E54
+ add r6, r0, #0x0
+ mov r0, #0xb
+ add r1, r6, #0x0
+ bl FUN_020169D8
+ str r0, [r4, #0x4c]
+ mov r0, #0xb
+ add r1, r6, #0x0
+ bl FUN_020169D8
+ str r0, [r4, #0x48]
+ mov r0, #0xb
+ bl FUN_0206B8AC
+ mov r1, #0x3
+ str r0, [r4, #0x50]
+ bl FUN_0206B8CC
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x44
+ strb r1, [r0, #0x0]
+ mov r0, #0x17
+ str r0, [r4, #0x34]
+ b _02051988
+_0205196E:
+ mov r0, #0x9
+ str r0, [r4, #0x34]
+ b _02051988
+_02051974:
+ ldr r0, [r4, #0x24]
+ add r0, #0xac
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02051984
+ mov r0, #0x9
+ str r0, [r4, #0x34]
+ b _02051988
+_02051984:
+ mov r0, #0x0
+ str r0, [r4, #0x34]
+_02051988:
+ ldr r1, _02051994 ; =FUN_02051094
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463CC
+_02051992:
+ pop {r4-r6, pc}
+ .balign 4
+_02051994: .word FUN_02051094
+
+ thumb_func_start FUN_02051998
+FUN_02051998: ; 0x02051998
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x50]
+ cmp r0, #0x0
+ beq _020519A6
+ bl FUN_02016A18
+_020519A6:
+ ldr r0, [r4, #0x4c]
+ cmp r0, #0x0
+ beq _020519B0
+ bl FUN_02016A18
+_020519B0:
+ ldr r0, [r4, #0x48]
+ cmp r0, #0x0
+ beq _020519BA
+ bl FUN_02016A18
+_020519BA:
+ ldr r0, [r4, #0x2c]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x28]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0xc]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x10]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x78]
+ bl FUN_020136C0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02051810
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020519E4
+FUN_020519E4: ; 0x020519E4
+ ldr r3, _020519EC ; =FUN_0204652C
+ ldr r0, [r0, #0x10]
+ bx r3
+ nop
+_020519EC: .word FUN_0204652C
+
+ thumb_func_start FUN_020519F0
+FUN_020519F0: ; 0x020519F0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, [r7, #0x24]
+ add r5, r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0206BB1C
+ str r0, [sp, #0x0]
+ ldr r4, [r7, #0x4c]
+ bl FUN_020690C4
+ add r6, r0, #0x0
+ lsl r0, r6, #0x1
+ add r0, r6, r0
+ str r5, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ beq _02051A34
+ mov r5, #0x0
+_02051A16:
+ add r1, r7, r5
+ add r1, #0x3d
+ ldrb r1, [r1, #0x0]
+ ldr r0, [sp, #0x0]
+ sub r1, r1, #0x1
+ bl FUN_0206B9B0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ add r5, r5, #0x1
+ add r4, r4, r6
+ cmp r5, #0x3
+ blt _02051A16
+_02051A34:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051A38
+FUN_02051A38: ; 0x02051A38
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x89
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x1
+ tst r1, r0
+ bne _02051A7C
+ ldr r4, [r5, #0x4c]
+ bl FUN_02051E54
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r0, #0x86
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051A62
+ mov r0, #0x6a
+ add r1, r4, #0x0
+ bl FUN_02030B3C
+ b _02051A6A
+_02051A62:
+ mov r0, #0x6a
+ add r1, r4, #0x0
+ bl FUN_02030A78
+_02051A6A:
+ cmp r0, #0x0
+ beq _02051A7C
+ add r1, r5, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x1
+ add r5, #0x89
+ orr r1, r2
+ strb r1, [r5, #0x0]
+_02051A7C:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051A80
+FUN_02051A80: ; 0x02051A80
+ add r0, #0x89
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ bne _02051A8C
+ mov r0, #0x1
+ bx lr
+_02051A8C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02051A90
+FUN_02051A90: ; 0x02051A90
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020690C4
+ lsl r1, r0, #0x1
+ ldr r2, [r4, #0x48]
+ add r0, r0, r1
+ ldr r0, [r2, r0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051AA4
+FUN_02051AA4: ; 0x02051AA4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x86
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02051ABE
+ add r1, r4, #0x0
+ mov r0, #0x6b
+ add r1, #0x84
+ mov r2, #0x1
+ bl FUN_02030BC4
+ b _02051ACA
+_02051ABE:
+ add r1, r4, #0x0
+ mov r0, #0x6b
+ add r1, #0x84
+ mov r2, #0x1
+ bl FUN_02030ADC
+_02051ACA:
+ cmp r0, #0x0
+ beq _02051ADC
+ add r1, r4, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x1
+ add r4, #0x89
+ orr r1, r2
+ strb r1, [r4, #0x0]
+_02051ADC:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051AE0
+FUN_02051AE0: ; 0x02051AE0
+ add r0, #0x89
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ bne _02051AEC
+ mov r0, #0x1
+ bx lr
+_02051AEC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02051AF0
+FUN_02051AF0: ; 0x02051AF0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020690C4
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x50]
+ mov r1, #0x3
+ bl FUN_0206B8CC
+ mov r4, #0x0
+_02051B04:
+ add r1, r4, #0x0
+ ldr r2, [r5, #0x48]
+ mul r1, r6
+ ldr r0, [r5, #0x50]
+ add r1, r2, r1
+ bl FUN_0206B900
+ add r4, r4, #0x1
+ cmp r4, #0x3
+ blt _02051B04
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051B1C
+FUN_02051B1C: ; 0x02051B1C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_020690C4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0x84
+ ldrb r0, [r0, #0x0]
+ ldr r2, [r6, #0x48]
+ ldr r3, [r6, #0x4c]
+ add r1, r0, #0x0
+ mul r1, r4
+ add r0, r2, r1
+ add r1, r6, #0x0
+ add r1, #0x85
+ ldrb r1, [r1, #0x0]
+ add r2, r1, #0x0
+ mul r2, r4
+ add r1, r3, r2
+ add r2, r4, #0x0
+ bl MI_CpuCopy8
+ ldr r0, [r6, #0x50]
+ mov r1, #0x3
+ bl FUN_0206B8CC
+ mov r5, #0x0
+_02051B52:
+ add r1, r5, #0x0
+ ldr r2, [r6, #0x4c]
+ mul r1, r4
+ ldr r0, [r6, #0x50]
+ add r1, r2, r1
+ bl FUN_0206B900
+ add r5, r5, #0x1
+ cmp r5, #0x3
+ blt _02051B52
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02051B68
+FUN_02051B68: ; 0x02051B68
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ str r0, [sp, #0x20]
+ add r0, #0x54
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x20]
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _02051C34
+ ldr r2, _02051C84 ; =0x0000016A
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r3, #0x4
+ bl FUN_0200A86C
+ str r0, [sp, #0x18]
+ bl FUN_020690C4
+ str r0, [sp, #0x1c]
+ mov r0, #0x9
+ str r0, [sp, #0x0]
+ mov r1, #0xa
+ str r1, [sp, #0x4]
+ mov r0, #0x8
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x10]
+ ldr r0, [r5, #0x24]
+ ldr r1, [sp, #0x20]
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x15
+ bl FUN_02019064
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x24]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CB00
+ ldr r0, [sp, #0x20]
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r7, #0x0
+ add r6, r7, #0x0
+ add r4, r7, #0x0
+_02051BD6:
+ ldr r0, [r5, #0x48]
+ mov r1, #0x5
+ add r0, r0, r6
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x18]
+ ldr r2, [r5, #0xc]
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x20]
+ ldr r2, [r5, #0xc]
+ mov r1, #0x0
+ mov r3, #0x10
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x1c]
+ add r7, r7, #0x1
+ add r6, r6, r0
+ add r4, #0x10
+ cmp r7, #0x3
+ blt _02051BD6
+ ldr r0, [r5, #0x2c]
+ ldr r2, [r5, #0xc]
+ mov r1, #0x15
+ bl FUN_0200A8E0
+ lsl r0, r7, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r1, #0x0
+ str r1, [sp, #0x8]
+ ldr r0, [sp, #0x20]
+ ldr r2, [r5, #0xc]
+ mov r3, #0x10
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x18]
+ bl FUN_0200A8B8
+_02051C34:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ mov r2, #0x0
+ ldrb r0, [r0, #0x8]
+ mov r1, #0xf
+ add r3, r2, #0x0
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x20]
+ bl FUN_020196F4
+ ldr r3, [sp, #0x14]
+ add r1, r5, #0x0
+ ldr r0, [r5, #0x78]
+ add r1, #0x54
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ add r0, r5, #0x0
+ add r0, #0x54
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add r1, r5, #0x0
+ ldr r0, [sp, #0x14]
+ add r1, #0x81
+ strb r0, [r1, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x4
+ add r0, #0x80
+ strb r1, [r0, #0x0]
+ ldr r0, [sp, #0x20]
+ str r0, [r5, #0x7c]
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_02051C84: .word 0x0000016A
+
+ thumb_func_start FUN_02051C88
+FUN_02051C88: ; 0x02051C88
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ add r7, r5, #0x0
+ add r7, #0x64
+ add r0, r7, #0x0
+ str r1, [sp, #0x14]
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _02051D0A
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ mov r0, #0x5a
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #0x24]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x14
+ bl FUN_02019064
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x24]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CB00
+ add r0, r7, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r6, #0x0
+ add r4, r6, #0x0
+_02051CE0:
+ add r1, r6, #0x0
+ ldr r0, [r5, #0x2c]
+ ldr r2, [r5, #0xc]
+ add r1, #0x16
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, [r5, #0xc]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ mov r3, #0x10
+ bl FUN_0201BD84
+ add r6, r6, #0x1
+ add r4, #0x10
+ cmp r6, #0x3
+ blt _02051CE0
+_02051D0A:
+ add r0, r5, #0x0
+ mov r1, #0x3
+ add r0, #0x80
+ strb r1, [r0, #0x0]
+ add r1, r5, #0x0
+ ldr r0, [sp, #0x14]
+ str r7, [r5, #0x7c]
+ add r1, #0x81
+ strb r0, [r1, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ ldrb r0, [r7, #0x8]
+ mov r2, #0x0
+ mov r1, #0xf
+ lsl r0, r0, #0x13
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r3, [sp, #0x14]
+ ldr r0, [r5, #0x78]
+ ldr r1, [r5, #0x7c]
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ ldr r0, [r5, #0x7c]
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051D54
+FUN_02051D54: ; 0x02051D54
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r0, _02051E1C ; =0x021C48B8
+ mov r1, #0x40
+ ldr r0, [r0, #0x48]
+ tst r1, r0
+ beq _02051D7E
+ mov r0, #0x81
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x0
+ bne _02051D74
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldrb r0, [r0, #0x0]
+ b _02051D74
+_02051D74:
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x81
+ strb r1, [r0, #0x0]
+ b _02051DE0
+_02051D7E:
+ mov r1, #0x80
+ tst r1, r0
+ beq _02051DA2
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r0, r4, #0x0
+ add r0, #0x80
+ ldrb r0, [r0, #0x0]
+ sub r0, r0, #0x1
+ cmp r1, r0
+ bne _02051D98
+ mov r1, #0x0
+ b _02051D9A
+_02051D98:
+ add r1, r1, #0x1
+_02051D9A:
+ add r0, r4, #0x0
+ add r0, #0x81
+ strb r1, [r0, #0x0]
+ b _02051DE0
+_02051DA2:
+ mov r1, #0x1
+ tst r1, r0
+ beq _02051DC8
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x81
+ ldrsb r1, [r4, r0]
+ add r4, #0x80
+ ldrb r0, [r4, #0x0]
+ sub r0, r0, #0x1
+ cmp r1, r0
+ bge _02051DC2
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4, pc}
+_02051DC2:
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r4, pc}
+_02051DC8:
+ mov r1, #0x2
+ tst r0, r1
+ beq _02051DDA
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r4, pc}
+_02051DDA:
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r4, pc}
+_02051DE0:
+ ldr r0, _02051E20 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, [r4, #0x7c]
+ mov r1, #0x10
+ str r1, [sp, #0x0]
+ ldrb r1, [r0, #0x8]
+ mov r2, #0x0
+ add r3, r2, #0x0
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x10
+ str r1, [sp, #0x4]
+ mov r1, #0xf
+ bl FUN_020196F4
+ mov r3, #0x81
+ ldrsb r3, [r4, r3]
+ ldr r0, [r4, #0x78]
+ ldr r1, [r4, #0x7c]
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ ldr r0, [r4, #0x7c]
+ bl FUN_02019548
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02051E1C: .word 0x021C48B8
+_02051E20: .word 0x000005DC
+
+ thumb_func_start FUN_02051E24
+FUN_02051E24: ; 0x02051E24
+ ldr r3, _02051E2C ; =FUN_0200CCF8
+ ldr r0, [r0, #0x7c]
+ mov r1, #0x1
+ bx r3
+ .balign 4
+_02051E2C: .word FUN_0200CCF8
+
+ thumb_func_start FUN_02051E30
+FUN_02051E30: ; 0x02051E30
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r3, #0x0
+ bl FUN_020519E4
+ add r1, r0, #0x0
+ add r1, #0x86
+ ldrh r1, [r1, #0x0]
+ cmp r1, r4
+ beq _02051E52
+ add r1, r0, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x2
+ add r0, #0x89
+ orr r1, r2
+ strb r1, [r0, #0x0]
+_02051E52:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02051E54
+FUN_02051E54: ; 0x02051E54
+ push {r3, lr}
+ bl FUN_020690C4
+ lsl r1, r0, #0x1
+ add r0, r0, r1
+ add r0, r0, #0x4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051E64
+FUN_02051E64: ; 0x02051E64
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_020519E4
+ add r1, r0, #0x0
+ add r1, #0x86
+ ldrh r1, [r1, #0x0]
+ cmp r1, r4
+ beq _02051E7C
+ ldr r0, [r0, #0x48]
+ pop {r4, pc}
+_02051E7C:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02051E80
+FUN_02051E80: ; 0x02051E80
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r3, #0x0
+ add r4, r2, #0x0
+ bl FUN_020519E4
+ add r1, r0, #0x0
+ add r1, #0x86
+ ldrh r1, [r1, #0x0]
+ cmp r1, r5
+ beq _02051EAC
+ ldrb r2, [r4, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x85
+ strb r2, [r1, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x89
+ ldrb r2, [r1, #0x0]
+ mov r1, #0x2
+ add r0, #0x89
+ orr r1, r2
+ strb r1, [r0, #0x0]
+_02051EAC:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02051EB0
+FUN_02051EB0: ; 0x02051EB0
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ mov r1, #0x0
+ ldr r0, [r4, #0x24]
+ add r2, r1, #0x0
+ bl FUN_02050BF8
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x7
+ bls _02051ED6
+ b _02052036
+_02051ED6:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02051EE2: ; jump table (using 16-bit offset)
+ .short _02051EF2 - _02051EE2 - 2; case 0
+ .short _02051F7C - _02051EE2 - 2; case 1
+ .short _02051FCC - _02051EE2 - 2; case 2
+ .short _02051FDC - _02051EE2 - 2; case 3
+ .short _02051FEC - _02051EE2 - 2; case 4
+ .short _02051FFE - _02051EE2 - 2; case 5
+ .short _0205200C - _02051EE2 - 2; case 6
+ .short _02052028 - _02051EE2 - 2; case 7
+_02051EF2:
+ mov r0, #0x4
+ bl FUN_0200AA80
+ str r0, [r4, #0x18]
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r2, #0x9
+ mov r3, #0x4
+ bl FUN_0200A86C
+ str r0, [r4, #0x1c]
+ mov r0, #0xc8
+ mov r1, #0x4
+ bl FUN_020219F4
+ str r0, [r4, #0x0]
+ mov r0, #0xc8
+ mov r1, #0x4
+ bl FUN_020219F4
+ str r0, [r4, #0x4]
+ ldrb r1, [r6, #0x3]
+ ldr r0, [r4, #0x1c]
+ ldr r2, [r4, #0x0]
+ add r1, r1, #0x2
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0x24]
+ bl FUN_0202DFA4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x18]
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ ldr r0, [r4, #0x18]
+ ldr r1, [r4, #0x4]
+ ldr r2, [r4, #0x0]
+ bl FUN_0200B7B8
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x8]
+ add r1, #0x8
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x8
+ bl FUN_02054608
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, #0x8
+ mov r3, #0x1
+ bl FUN_02054658
+ str r0, [r4, #0x20]
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02051F7C:
+ ldr r0, [r4, #0x20]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x0
+ beq _0205203A
+ ldr r0, _02052040 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _0205203A
+ ldr r0, [r4, #0x1c]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0x18]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x0]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x4]
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ add r0, #0x8
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0x8
+ bl FUN_02019178
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02051FCC:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0205203A
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02051FDC:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02038680
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02051FEC:
+ add r0, r5, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _0205203A
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02051FFE:
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_0205200C:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ bne _0205203A
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ bl FUN_0204CC9C
+ ldr r0, [r4, #0x28]
+ add r0, r0, #0x1
+ str r0, [r4, #0x28]
+ b _0205203A
+_02052028:
+ bl FUN_0204F7FC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02052036:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0205203A:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_02052040: .word 0x021C48B8
+
+ thumb_func_start FUN_02052044
+FUN_02052044: ; 0x02052044
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ bl FUN_02031190
+ add r5, r0, #0x0
+ bl FUN_0204E4D4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204E50C
+ add r6, r0, #0x0
+ mov r4, #0x0
+ bl FUN_02030F20
+ cmp r0, #0x0
+ ble _020520A6
+_02052066:
+ cmp r4, r5
+ beq _0205209C
+ add r0, r4, #0x0
+ bl FUN_0204E3EC
+ cmp r7, r0
+ bne _0205209C
+ add r0, r4, #0x0
+ bl FUN_0204E440
+ cmp r6, r0
+ bne _0205209C
+ mov r0, #0xb
+ mov r1, #0x2c
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ str r4, [r2, #0x24]
+ mov r0, #0x0
+ str r0, [r2, #0x28]
+ ldr r0, [sp, #0x0]
+ ldr r1, _020520A8 ; =FUN_02051EB0
+ bl FUN_020463CC
+ bl FUN_02037760
+ pop {r3-r7, pc}
+_0205209C:
+ add r4, r4, #0x1
+ bl FUN_02030F20
+ cmp r4, r0
+ blt _02052066
+_020520A6:
+ pop {r3-r7, pc}
+ .balign 4
+_020520A8: .word FUN_02051EB0
+
+ thumb_func_start FUN_020520AC
+FUN_020520AC: ; 0x020520AC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bne _020520B6
+ bl ErrorHandling
+_020520B6:
+ ldr r0, [r4, #0x78]
+ cmp r0, #0x0
+ beq _020520C0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_020520C0:
+ mov r2, #0x2a
+ mov r0, #0x3
+ mov r1, #0x1f
+ lsl r2, r2, #0x6
+ bl FUN_02016828
+ add r0, r4, #0x0
+ bl FUN_02052110
+ add r5, r0, #0x0
+ bne _020520D8
+ ldr r5, [r4, #0x78]
+_020520D8:
+ add r0, r4, #0x0
+ bl FUN_0208881C
+ mov r0, #0x2
+ bl FUN_02032B6C
+ ldr r1, _020520F4 ; =FUN_02052178
+ add r0, r5, #0x0
+ mov r2, #0x28
+ bl FUN_02052300
+ add r0, r5, #0x0
+ pop {r3-r5, pc}
+ nop
+_020520F4: .word FUN_02052178
+
+ thumb_func_start FUN_020520F8
+FUN_020520F8: ; 0x020520F8
+ push {r3, lr}
+ ldr r0, [r0, #0x78]
+ cmp r0, #0x0
+ beq _02052108
+ ldr r1, _0205210C ; =FUN_02052348
+ mov r2, #0x5
+ bl FUN_02052300
+_02052108:
+ pop {r3, pc}
+ nop
+_0205210C: .word FUN_02052348
+
+ thumb_func_start FUN_02052110
+FUN_02052110: ; 0x02052110
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r1, [r5, #0x78]
+ cmp r1, #0x0
+ beq _0205211E
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205211E:
+ bl FUN_020377AC
+ add r6, r0, #0x0
+ bl FUN_02031A7C
+ mov r1, #0x19
+ mov r0, #0x1f
+ lsl r1, r1, #0x4
+ bl FUN_02016998
+ mov r2, #0x19
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x0
+ str r0, [r4, #0x10]
+ mov r0, #0x28
+ str r0, [r4, #0x14]
+ ldr r0, _02052174 ; =FUN_02052308
+ add r1, r4, #0x0
+ mov r2, #0xa
+ bl FUN_0200CA44
+ str r0, [r4, #0xc]
+ str r5, [r4, #0x0]
+ str r6, [r4, #0x4]
+ add r0, r6, #0x0
+ bl FUN_020238F4
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ add r0, r4, r0
+ bl FUN_020312BC
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ nop
+_02052174: .word FUN_02052308
+
+ thumb_func_start FUN_02052178
+FUN_02052178: ; 0x02052178
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ bl FUN_0202EDF8
+ cmp r0, #0x0
+ beq _020521A4
+ add r0, sp, #0x0
+ bl FUN_02013754
+ add r0, sp, #0x0
+ bl FUN_02052DE8
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ bl FUN_02052CD8
+ ldr r1, _020521A8 ; =FUN_020521AC
+ add r0, r4, #0x0
+ mov r2, #0x28
+ bl FUN_02052300
+_020521A4:
+ add sp, #0x8
+ pop {r4, pc}
+ .balign 4
+_020521A8: .word FUN_020521AC
+
+ thumb_func_start FUN_020521AC
+FUN_020521AC: ; 0x020521AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031B2C
+ cmp r0, #0x0
+ beq _020521C8
+ ldr r0, _02052208 ; =0x021C5A70
+ mov r2, #0x0
+ str r2, [r0, #0x0]
+ ldr r1, _0205220C ; =FUN_0205225C
+ add r0, r4, #0x0
+ bl FUN_02052300
+ pop {r4, pc}
+_020521C8:
+ ldr r0, [r4, #0x20]
+ cmp r0, #0x0
+ beq _02052206
+ mov r0, #0x2
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #0x20]
+ cmp r0, #0x1
+ bne _020521EC
+ ldr r0, [r4, #0x30]
+ cmp r0, #0x5
+ ldr r0, [r4, #0x18]
+ bne _020521E6
+ bl FUN_020328F4
+ b _020521FC
+_020521E6:
+ bl FUN_02031AC8
+ b _020521FC
+_020521EC:
+ cmp r0, #0x2
+ bne _020521FC
+ mov r0, #0x0
+ bl FUN_02083D48
+ ldr r0, [r4, #0x18]
+ bl FUN_020328C0
+_020521FC:
+ ldr r1, _02052210 ; =FUN_02052380
+ add r0, r4, #0x0
+ mov r2, #0xc
+ bl FUN_02052300
+_02052206:
+ pop {r4, pc}
+ .balign 4
+_02052208: .word 0x021C5A70
+_0205220C: .word FUN_0205225C
+_02052210: .word FUN_02052380
+
+ thumb_func_start FUN_02052214
+FUN_02052214: ; 0x02052214
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031BD0
+ cmp r0, #0x1
+ bne _02052230
+ ldr r0, [r4, #0x0]
+ bl FUN_0208881C
+ ldr r1, _02052234 ; =FUN_020521AC
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+_02052230:
+ pop {r4, pc}
+ nop
+_02052234: .word FUN_020521AC
+
+ thumb_func_start FUN_02052238
+FUN_02052238: ; 0x02052238
+ push {r3-r5, lr}
+ mov r5, #0x0
+ mov r4, #0x1
+_0205223E:
+ add r0, r4, #0x0
+ bl FUN_0202DFA4
+ cmp r0, #0x0
+ beq _0205224A
+ add r5, r5, #0x1
+_0205224A:
+ add r4, r4, #0x1
+ cmp r4, #0x5
+ blt _0205223E
+ cmp r5, #0x1
+ blt _02052258
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02052258:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205225C
+FUN_0205225C: ; 0x0205225C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ ble _0205226C
+ sub r0, r0, #0x1
+ str r0, [r4, #0x14]
+ pop {r4, pc}
+_0205226C:
+ ldr r0, _020522C4 ; =0x021C5A70
+ ldr r1, [r0, #0x0]
+ add r1, r1, #0x1
+ str r1, [r0, #0x0]
+ bl FUN_020311E8
+ cmp r0, #0x0
+ beq _020522A0
+ bl FUN_02052238
+ cmp r0, #0x1
+ bne _020522A0
+ bl FUN_0202DBE0
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ mov r0, #0xb
+ bl FUN_02052B74
+ ldr r1, _020522C8 ; =FUN_020522D0
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02052300
+_020522A0:
+ bl FUN_02031B2C
+ cmp r0, #0x0
+ bne _020522C2
+ bl FUN_02031B50
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ mov r0, #0x0
+ bl FUN_02052B74
+ ldr r1, _020522CC ; =FUN_02052214
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+_020522C2:
+ pop {r4, pc}
+ .balign 4
+_020522C4: .word 0x021C5A70
+_020522C8: .word FUN_020522D0
+_020522CC: .word FUN_02052214
+
+ thumb_func_start FUN_020522D0
+FUN_020522D0: ; 0x020522D0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020311E8
+ bl FUN_020311E8
+ cmp r0, #0x0
+ bne _020522FA
+ bl FUN_02031B50
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ mov r0, #0x0
+ bl FUN_02052B74
+ ldr r1, _020522FC ; =FUN_02052214
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+_020522FA:
+ pop {r4, pc}
+ .balign 4
+_020522FC: .word FUN_02052214
+
+ thumb_func_start FUN_02052300
+FUN_02052300: ; 0x02052300
+ str r1, [r0, #0x10]
+ str r2, [r0, #0x14]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052308
+FUN_02052308: ; 0x02052308
+ push {r3-r7, lr}
+ str r1, [sp, #0x0]
+ cmp r1, #0x0
+ bne _02052316
+ bl FUN_0200CAB4
+ pop {r3-r7, pc}
+_02052316:
+ mov r7, #0x11
+ ldr r5, _02052344 ; =0x021C5A7C
+ mov r6, #0x0
+ add r4, r1, #0x0
+ lsl r7, r7, #0x4
+_02052320:
+ add r0, r6, #0x0
+ bl FUN_0202EF18
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ ldr r0, [r4, r7]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ stmia r5!, {r0}
+ cmp r6, #0x10
+ blt _02052320
+ ldr r0, [sp, #0x0]
+ ldr r1, [r0, #0x10]
+ cmp r1, #0x0
+ beq _02052342
+ blx r1
+_02052342:
+ pop {r3-r7, pc}
+ .balign 4
+_02052344: .word 0x021C5A7C
+
+ thumb_func_start FUN_02052348
+FUN_02052348: ; 0x02052348
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ beq _02052358
+ sub r0, r0, #0x1
+ str r0, [r4, #0x14]
+ pop {r4, pc}
+_02052358:
+ bl FUN_02031BF4
+ ldr r1, _02052368 ; =FUN_0205236C
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02052300
+ pop {r4, pc}
+ .balign 4
+_02052368: .word FUN_0205236C
+
+ thumb_func_start FUN_0205236C
+FUN_0205236C: ; 0x0205236C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _0205237E
+ add r0, r4, #0x0
+ bl FUN_020524A0
+_0205237E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02052380
+FUN_02052380: ; 0x02052380
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031AF4
+ cmp r0, #0x1
+ bne _0205239C
+ bl FUN_0202DBE0
+ ldr r1, _020523D4 ; =FUN_02052410
+ add r0, r4, #0x0
+ mov r2, #0x3
+ bl FUN_02052300
+ pop {r4, pc}
+_0205239C:
+ bl FUN_020311E8
+ cmp r0, #0x0
+ beq _020523B4
+ mov r2, #0x0
+ str r2, [r4, #0x20]
+ mov r0, #0x3
+ str r0, [r4, #0x1c]
+ ldr r1, _020523D8 ; =FUN_0205225C
+ add r0, r4, #0x0
+ bl FUN_02052300
+_020523B4:
+ bl FUN_02031AF4
+ cmp r0, #0x0
+ beq _020523D2
+ ldr r1, _020523DC ; =FUN_020523E0
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ str r1, [r4, #0x20]
+ str r1, [r4, #0x44]
+_020523D2:
+ pop {r4, pc}
+ .balign 4
+_020523D4: .word FUN_02052410
+_020523D8: .word FUN_0205225C
+_020523DC: .word FUN_020523E0
+
+ thumb_func_start FUN_020523E0
+FUN_020523E0: ; 0x020523E0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204646C
+ cmp r0, #0x0
+ bne _02052408
+ bl FUN_02031B50
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ mov r0, #0x0
+ bl FUN_02052B74
+ ldr r1, _0205240C ; =FUN_02052214
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+_02052408:
+ pop {r4, pc}
+ nop
+_0205240C: .word FUN_02052214
+
+ thumb_func_start FUN_02052410
+FUN_02052410: ; 0x02052410
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031AF4
+ cmp r0, #0x1
+ bne _02052444
+ bl FUN_02031190
+ bl FUN_0202DFA4
+ cmp r0, #0x0
+ beq _0205246C
+ mov r1, #0x0
+ str r1, [r4, #0x20]
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ str r1, [r4, #0x44]
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ ldr r1, _02052470 ; =FUN_02052478
+ add r0, r4, #0x0
+ mov r2, #0x3
+ bl FUN_02052300
+ pop {r4, pc}
+_02052444:
+ bl FUN_02031AF4
+ cmp r0, #0x0
+ bne _0205246C
+ bl FUN_02031B50
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ ldr r1, _02052474 ; =FUN_02052214
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ str r1, [r4, #0x20]
+ str r1, [r4, #0x44]
+_0205246C:
+ pop {r4, pc}
+ nop
+_02052470: .word FUN_02052478
+_02052474: .word FUN_02052214
+
+ thumb_func_start FUN_02052478
+FUN_02052478: ; 0x02052478
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031AF4
+ cmp r0, #0x0
+ bne _02052498
+ bl FUN_02031B50
+ add r0, r4, #0x0
+ bl FUN_02052E1C
+ ldr r1, _0205249C ; =FUN_02052214
+ add r0, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02052300
+_02052498:
+ pop {r4, pc}
+ nop
+_0205249C: .word FUN_02052214
+
+ thumb_func_start FUN_020524A0
+FUN_020524A0: ; 0x020524A0
+ push {r4, lr}
+ add r4, r0, #0x0
+ beq _020524B8
+ ldr r0, [r4, #0xc]
+ bl FUN_0200CAB4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1f
+ bl FUN_020168D0
+_020524B8:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020524BC
+FUN_020524BC: ; 0x020524BC
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020524C0
+FUN_020524C0: ; 0x020524C0
+ lsl r1, r1, #0x2
+ add r1, r0, r1
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ bx lr
+
+ thumb_func_start FUN_020524CC
+FUN_020524CC: ; 0x020524CC
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ sub r0, r5, #0x1
+ bl FUN_0202EF84
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02052E10
+ cmp r6, #0x0
+ bne _020524E8
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020524E8:
+ sub r0, r5, #0x1
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r1, [r1, r0]
+ ldr r0, _02052540 ; =0x021C5A70
+ add r1, #0x50
+ add r1, #0x30
+ str r1, [r0, #0x4]
+ ldrb r0, [r1, #0x1c]
+ cmp r0, #0xb
+ bhi _0205253A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205250E: ; jump table (using 16-bit offset)
+ .short _02052526 - _0205250E - 2; case 0
+ .short _0205252A - _0205250E - 2; case 1
+ .short _0205252E - _0205250E - 2; case 2
+ .short _02052532 - _0205250E - 2; case 3
+ .short _02052536 - _0205250E - 2; case 4
+ .short _02052536 - _0205250E - 2; case 5
+ .short _02052536 - _0205250E - 2; case 6
+ .short _02052536 - _0205250E - 2; case 7
+ .short _02052536 - _0205250E - 2; case 8
+ .short _0205253A - _0205250E - 2; case 9
+ .short _0205253A - _0205250E - 2; case 10
+ .short _02052536 - _0205250E - 2; case 11
+_02052526:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0205252A:
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0205252E:
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_02052532:
+ mov r0, #0x4
+ pop {r4-r6, pc}
+_02052536:
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_0205253A:
+ mov r0, #0x5
+ pop {r4-r6, pc}
+ nop
+_02052540: .word 0x021C5A70
+
+ thumb_func_start FUN_02052544
+FUN_02052544: ; 0x02052544
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ add r4, r0, #0x0
+ sub r0, r6, #0x1
+ add r5, r2, #0x0
+ bl FUN_0202EF84
+ sub r0, r6, #0x1
+ lsl r1, r0, #0x2
+ add r2, r4, r1
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ ldr r2, [r2, r1]
+ ldr r1, _02052600 ; =0x021C5A70
+ add r2, #0x50
+ add r2, #0x30
+ str r2, [r1, #0x4]
+ ldrb r1, [r2, #0x1c]
+ cmp r1, #0xb
+ bhi _020525F8
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02052578: ; jump table (using 16-bit offset)
+ .short _020525C6 - _02052578 - 2; case 0
+ .short _020525DC - _02052578 - 2; case 1
+ .short _020525AC - _02052578 - 2; case 2
+ .short _02052590 - _02052578 - 2; case 3
+ .short _020525F4 - _02052578 - 2; case 4
+ .short _020525F4 - _02052578 - 2; case 5
+ .short _020525F4 - _02052578 - 2; case 6
+ .short _020525F4 - _02052578 - 2; case 7
+ .short _020525F4 - _02052578 - 2; case 8
+ .short _020525F8 - _02052578 - 2; case 9
+ .short _020525F8 - _02052578 - 2; case 10
+ .short _020525F4 - _02052578 - 2; case 11
+_02052590:
+ cmp r5, #0x4
+ beq _02052598
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_02052598:
+ mov r1, #0x6
+ str r1, [r4, #0x30]
+ str r0, [r4, #0x18]
+ mov r0, #0x2
+ str r0, [r4, #0x20]
+ mov r0, #0x0
+ str r0, [r4, #0x24]
+ str r0, [r4, #0x1c]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020525AC:
+ cmp r5, #0x3
+ beq _020525B4
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525B4:
+ mov r1, #0x5
+ str r1, [r4, #0x30]
+ str r0, [r4, #0x18]
+ mov r0, #0x1
+ str r0, [r4, #0x20]
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ str r1, [r4, #0x1c]
+ pop {r4-r6, pc}
+_020525C6:
+ cmp r5, #0x1
+ beq _020525CE
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525CE:
+ str r0, [r4, #0x18]
+ mov r0, #0x1
+ str r0, [r4, #0x20]
+ mov r1, #0x0
+ str r1, [r4, #0x24]
+ str r1, [r4, #0x1c]
+ pop {r4-r6, pc}
+_020525DC:
+ cmp r5, #0x2
+ beq _020525E4
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525E4:
+ str r0, [r4, #0x18]
+ mov r0, #0x2
+ str r0, [r4, #0x20]
+ mov r0, #0x0
+ str r0, [r4, #0x24]
+ str r0, [r4, #0x1c]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020525F4:
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_020525F8:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_02052600: .word 0x021C5A70
+
+ thumb_func_start FUN_02052604
+FUN_02052604: ; 0x02052604
+ ldr r0, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_02052608
+FUN_02052608: ; 0x02052608
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x44]
+ cmp r0, #0x0
+ beq _02052616
+ mov r0, #0x7
+ pop {r4, pc}
+_02052616:
+ bl FUN_02030F20
+ cmp r0, #0x2
+ bge _02052622
+ mov r0, #0x7
+ pop {r4, pc}
+_02052622:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02052636
+ bl FUN_02031B2C
+ cmp r0, #0x1
+ bne _02052642
+ ldr r0, [r4, #0x40]
+ pop {r4, pc}
+_02052636:
+ bl FUN_02031AF4
+ cmp r0, #0x1
+ bne _02052642
+ ldr r0, [r4, #0x40]
+ pop {r4, pc}
+_02052642:
+ mov r0, #0x7
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02052648
+FUN_02052648: ; 0x02052648
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031B2C
+ cmp r0, #0x1
+ bne _02052658
+ ldr r0, [r4, #0x30]
+ pop {r4, pc}
+_02052658:
+ mov r0, #0x7
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205265C
+FUN_0205265C: ; 0x0205265C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ add r0, sp, #0x0
+ strb r4, [r0, #0x2]
+ cmp r1, #0x0
+ beq _02052670
+ cmp r1, #0x1
+ beq _02052688
+ pop {r3-r5, pc}
+_02052670:
+ ldr r1, [r5, #0x44]
+ cmp r1, #0x0
+ bne _020526B0
+ ldrb r0, [r0, #0x2]
+ add r1, sp, #0x0
+ add r1, #0x2
+ str r0, [r5, #0x34]
+ mov r0, #0x63
+ mov r2, #0x1
+ bl FUN_02030ADC
+ pop {r3-r5, pc}
+_02052688:
+ cmp r4, #0x0
+ bne _020526A0
+ ldr r1, [r5, #0x30]
+ mov r2, #0x1
+ strb r1, [r0, #0x1]
+ add r1, sp, #0x0
+ mov r0, #0x67
+ add r1, #0x1
+ bl FUN_02030BC4
+ str r4, [r5, #0x3c]
+ pop {r3-r5, pc}
+_020526A0:
+ mov r1, #0x7
+ strb r1, [r0, #0x0]
+ mov r0, #0x67
+ add r1, sp, #0x0
+ mov r2, #0x1
+ bl FUN_02030BC4
+ str r4, [r5, #0x3c]
+_020526B0:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020526B4
+FUN_020526B4: ; 0x020526B4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020526B8
+FUN_020526B8: ; 0x020526B8
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020526BC
+FUN_020526BC: ; 0x020526BC
+ push {r4, lr}
+ add r4, r3, #0x0
+ ldr r0, [r4, #0x78]
+ ldr r1, _020526D4 ; =FUN_020521AC
+ mov r2, #0x2
+ bl FUN_02052300
+ ldr r0, [r4, #0x78]
+ bl FUN_02052E1C
+ pop {r4, pc}
+ nop
+_020526D4: .word FUN_020521AC
+
+ thumb_func_start FUN_020526D8
+FUN_020526D8: ; 0x020526D8
+ ldr r1, [r3, #0x78]
+ ldr r0, [r1, #0x44]
+ cmp r0, #0x0
+ bne _020526EA
+ ldrb r0, [r2, #0x0]
+ str r0, [r1, #0x30]
+ ldrb r1, [r2, #0x0]
+ ldr r0, _020526EC ; =0x021C5A70
+ str r1, [r0, #0x8]
+_020526EA:
+ bx lr
+ .balign 4
+_020526EC: .word 0x021C5A70
+
+ thumb_func_start FUN_020526F0
+FUN_020526F0: ; 0x020526F0
+ push {r3, lr}
+ ldr r0, [r3, #0x78]
+ mov r1, #0x1
+ str r1, [r0, #0x2c]
+ ldrb r1, [r2, #0x0]
+ ldr r0, [r3, #0x78]
+ str r1, [r0, #0x40]
+ ldrb r0, [r2, #0x0]
+ cmp r0, #0x4
+ bne _02052708
+ bl FUN_02032888
+_02052708:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205270C
+FUN_0205270C: ; 0x0205270C
+ ldr r0, [r3, #0x78]
+ mov r1, #0x1
+ str r1, [r0, #0x44]
+ bx lr
+
+ thumb_func_start FUN_02052714
+FUN_02052714: ; 0x02052714
+ ldr r0, [r0, #0x44]
+ bx lr
+
+ thumb_func_start FUN_02052718
+FUN_02052718: ; 0x02052718
+ push {r4, lr}
+ ldr r0, [r0, #0x30]
+ add r4, r1, #0x0
+ cmp r0, #0x0
+ bne _02052730
+ mov r1, #0x0
+ mov r0, #0x68
+ add r2, r1, #0x0
+ bl FUN_02030ADC
+ add r0, r4, #0x0
+ pop {r4, pc}
+_02052730:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02052734
+FUN_02052734: ; 0x02052734
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02031190
+ mov r1, #0x1
+ eor r0, r1
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ ldr r0, _02052784 ; =0x0000066A
+ mov r1, #0x1
+ strh r1, [r6, r0]
+ bl FUN_02031190
+ cmp r5, r0
+ beq _02052780
+ add r0, r7, #0x0
+ bl FUN_0202398C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_020239CC
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ mov r2, #0x1f
+ bl FUN_0202942C
+ add r4, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x4
+ bl FUN_02028AD4
+_02052780:
+ pop {r3-r7, pc}
+ nop
+_02052784: .word 0x0000066A
+
+ thumb_func_start FUN_02052788
+FUN_02052788: ; 0x02052788
+ ldr r1, [r1, #0x78]
+ lsl r0, r0, #0x2
+ add r1, r1, r0
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052798
+FUN_02052798: ; 0x02052798
+ ldr r1, [r3, #0x78]
+ ldrb r2, [r2, #0x0]
+ add r1, r1, r0
+ ldr r0, _020527A4 ; =0x00000176
+ strb r2, [r1, r0]
+ bx lr
+ .balign 4
+_020527A4: .word 0x00000176
+
+ thumb_func_start FUN_020527A8
+FUN_020527A8: ; 0x020527A8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02031190
+ ldr r2, _020527D4 ; =0x00000176
+ add r1, r4, r0
+ ldrb r1, [r1, r2]
+ cmp r1, #0x2
+ bne _020527BE
+ mov r0, #0x1
+ pop {r4, pc}
+_020527BE:
+ mov r1, #0x1
+ eor r0, r1
+ add r0, r4, r0
+ ldrb r0, [r0, r2]
+ cmp r0, #0x2
+ bne _020527CE
+ mov r0, #0x2
+ pop {r4, pc}
+_020527CE:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_020527D4: .word 0x00000176
+
+ thumb_func_start FUN_020527D8
+FUN_020527D8: ; 0x020527D8
+ push {r3, lr}
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ mov r0, #0x65
+ add r1, sp, #0x0
+ mov r2, #0x1
+ bl FUN_02030ADC
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020527EC
+FUN_020527EC: ; 0x020527EC
+ ldr r3, _02052810 ; =0x020F58D4
+ mov r2, #0x0
+_020527F0:
+ ldrh r1, [r3, #0x0]
+ cmp r1, r0
+ bgt _02052800
+ add r1, r1, #0x4
+ cmp r1, r0
+ ble _02052800
+ add r0, r2, #0x0
+ bx lr
+_02052800:
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0xa
+ blt _020527F0
+ mov r0, #0x0
+ mvn r0, r0
+ bx lr
+ nop
+_02052810: .word 0x020F58D4
+
+ thumb_func_start FUN_02052814
+FUN_02052814: ; 0x02052814
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r6, r0, #0x0
+ cmp r4, #0x9
+ ble _02052834
+ add r0, r4, #0x0
+ bl FUN_020527EC
+ add r5, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _02052836
+ bl ErrorHandling
+ b _02052836
+_02052834:
+ add r5, r4, #0x0
+_02052836:
+ add r0, r5, #0x0
+ bl FUN_0202EF84
+ lsl r1, r5, #0x2
+ add r2, r6, r1
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ ldr r5, [r2, r1]
+ add r5, #0x50
+ add r5, #0x30
+ cmp r0, #0x0
+ bne _02052852
+ mov r0, #0x28
+ pop {r4-r6, pc}
+_02052852:
+ cmp r4, #0x9
+ ble _0205286C
+ sub r4, #0xa
+ lsr r2, r4, #0x1f
+ lsl r1, r4, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ add r0, r5, r0
+ ldrb r0, [r0, #0x18]
+ asr r4, r0, #0x7
+ b _02052872
+_0205286C:
+ bl FUN_020239CC
+ add r4, r0, #0x0
+_02052872:
+ ldrb r0, [r5, #0x1c]
+ cmp r0, #0xb
+ bhi _0205294C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02052884: ; jump table (using 16-bit offset)
+ .short _0205294C - _02052884 - 2; case 0
+ .short _020528F8 - _02052884 - 2; case 1
+ .short _02052914 - _02052884 - 2; case 2
+ .short _02052930 - _02052884 - 2; case 3
+ .short _0205289C - _02052884 - 2; case 4
+ .short _020528A4 - _02052884 - 2; case 5
+ .short _020528C0 - _02052884 - 2; case 6
+ .short _020528DC - _02052884 - 2; case 7
+ .short _020528F8 - _02052884 - 2; case 8
+ .short _02052914 - _02052884 - 2; case 9
+ .short _02052930 - _02052884 - 2; case 10
+ .short _0205289C - _02052884 - 2; case 11
+_0205289C:
+ ldr r0, _02052950 ; =0x020F5894
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_020528A4:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1f
+ sub r1, r1, r2
+ mov r0, #0x1f
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052954 ; =0x020F58C4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528C0:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052958 ; =0x020F5984
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528DC:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1f
+ sub r1, r1, r2
+ mov r0, #0x1f
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _0205295C ; =0x020F58B4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_020528F8:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052960 ; =0x020F5964
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052914:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052964 ; =0x020F59A4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052930:
+ bl rand_LC
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ lsl r2, r0, #0x3
+ ldr r0, _02052968 ; =0x020F59C4
+ lsl r1, r4, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_0205294C:
+ mov r0, #0x28
+ pop {r4-r6, pc}
+ .balign 4
+_02052950: .word 0x020F5894
+_02052954: .word 0x020F58C4
+_02052958: .word 0x020F5984
+_0205295C: .word 0x020F58B4
+_02052960: .word 0x020F5964
+_02052964: .word 0x020F59A4
+_02052968: .word 0x020F59C4
+
+ thumb_func_start FUN_0205296C
+FUN_0205296C: ; 0x0205296C
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ bl FUN_02031190
+ bl FUN_0202E020
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ bl FUN_02031190
+ mov r1, #0x1
+ eor r0, r1
+ bl FUN_0202E020
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ bl FUN_02031190
+ bl FUN_0202E044
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ bl FUN_02031190
+ mov r1, #0x1
+ eor r0, r1
+ bl FUN_0202E044
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r4, #0x0
+ bne _020529B0
+ mov r0, #0xf
+ pop {r3-r7, pc}
+_020529B0:
+ beq _020529CC
+ ldr r0, [sp, #0x0]
+ mov r1, #0x3
+ add r2, r4, #0x0
+ bl FUN_0200B4A0
+ cmp r5, #0x0
+ beq _020529CC
+ ldr r0, [sp, #0x0]
+ mov r1, #0x4
+ add r2, r4, #0x0
+ add r3, r5, #0x0
+ bl FUN_0200B4D8
+_020529CC:
+ cmp r7, r4
+ beq _020529E4
+ cmp r5, #0x0
+ bne _020529D8
+ mov r0, #0xd
+ pop {r3-r7, pc}
+_020529D8:
+ cmp r6, r5
+ bne _020529E0
+ mov r0, #0xd
+ pop {r3-r7, pc}
+_020529E0:
+ mov r0, #0xc
+ pop {r3-r7, pc}
+_020529E4:
+ cmp r6, r5
+ beq _020529EC
+ mov r0, #0xe
+ pop {r3-r7, pc}
+_020529EC:
+ mov r0, #0xf
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020529F0
+FUN_020529F0: ; 0x020529F0
+ push {r3, lr}
+ cmp r0, #0x0
+ beq _02052A02
+ lsl r2, r0, #0x3
+ ldr r0, _02052A0C ; =0x020F5A14
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r3, pc}
+_02052A02:
+ add r0, r2, #0x0
+ bl FUN_0205296C
+ pop {r3, pc}
+ nop
+_02052A0C: .word 0x020F5A14
+
+ thumb_func_start FUN_02052A10
+FUN_02052A10: ; 0x02052A10
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r3, #0x0
+ cmp r4, #0x0
+ bne _02052A24
+ sub r1, r1, #0x1
+ bl FUN_02052814
+ pop {r4-r6, pc}
+_02052A24:
+ sub r0, r1, #0x1
+ bl FUN_0202EF84
+ bl FUN_020239CC
+ add r1, r0, #0x0
+ cmp r4, #0x18
+ bhi _02052AFA
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02052A40: ; jump table (using 16-bit offset)
+ .short _02052AFA - _02052A40 - 2; case 0
+ .short _02052A72 - _02052A40 - 2; case 1
+ .short _02052A7E - _02052A40 - 2; case 2
+ .short _02052AAA - _02052A40 - 2; case 3
+ .short _02052AAA - _02052A40 - 2; case 4
+ .short _02052AAA - _02052A40 - 2; case 5
+ .short _02052AAA - _02052A40 - 2; case 6
+ .short _02052AAA - _02052A40 - 2; case 7
+ .short _02052AAA - _02052A40 - 2; case 8
+ .short _02052A86 - _02052A40 - 2; case 9
+ .short _02052AB8 - _02052A40 - 2; case 10
+ .short _02052AB8 - _02052A40 - 2; case 11
+ .short _02052AB8 - _02052A40 - 2; case 12
+ .short _02052AC6 - _02052A40 - 2; case 13
+ .short _02052AC6 - _02052A40 - 2; case 14
+ .short _02052AC6 - _02052A40 - 2; case 15
+ .short _02052AD4 - _02052A40 - 2; case 16
+ .short _02052AD4 - _02052A40 - 2; case 17
+ .short _02052AD4 - _02052A40 - 2; case 18
+ .short _02052A9C - _02052A40 - 2; case 19
+ .short _02052A9C - _02052A40 - 2; case 20
+ .short _02052A9C - _02052A40 - 2; case 21
+ .short _02052AE2 - _02052A40 - 2; case 22
+ .short _02052AEA - _02052A40 - 2; case 23
+ .short _02052AF2 - _02052A40 - 2; case 24
+_02052A72:
+ ldr r0, [r5, #0x34]
+ add r2, r6, #0x0
+ sub r0, r0, #0x1
+ bl FUN_020529F0
+ pop {r4-r6, pc}
+_02052A7E:
+ ldr r0, _02052B04 ; =0x020F58AC
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052A86:
+ ldr r0, [r5, #0x34]
+ cmp r0, #0x0
+ bne _02052A90
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02052A90:
+ lsl r2, r0, #0x3
+ ldr r0, _02052B08 ; =0x020F59DC
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052A9C:
+ sub r4, #0x13
+ ldr r0, _02052B0C ; =0x020F58E8
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AAA:
+ sub r0, r4, #0x3
+ lsl r2, r0, #0x3
+ ldr r0, _02052B10 ; =0x020F5A44
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AB8:
+ sub r4, #0xa
+ ldr r0, _02052B14 ; =0x020F5900
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AC6:
+ sub r4, #0xd
+ ldr r0, _02052B18 ; =0x020F5918
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AD4:
+ sub r4, #0x10
+ ldr r0, _02052B1C ; =0x020F5930
+ lsl r2, r4, #0x3
+ lsl r1, r1, #0x2
+ add r0, r0, r2
+ ldr r0, [r1, r0]
+ pop {r4-r6, pc}
+_02052AE2:
+ ldr r0, _02052B20 ; =0x020F588C
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052AEA:
+ ldr r0, _02052B24 ; =0x020F58A4
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052AF2:
+ ldr r0, _02052B28 ; =0x020F589C
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+_02052AFA:
+ bl ErrorHandling
+ mov r0, #0x28
+ pop {r4-r6, pc}
+ nop
+_02052B04: .word 0x020F58AC
+_02052B08: .word 0x020F59DC
+_02052B0C: .word 0x020F58E8
+_02052B10: .word 0x020F5A44
+_02052B14: .word 0x020F5900
+_02052B18: .word 0x020F5918
+_02052B1C: .word 0x020F5930
+_02052B20: .word 0x020F588C
+_02052B24: .word 0x020F58A4
+_02052B28: .word 0x020F589C
+
+ thumb_func_start FUN_02052B2C
+FUN_02052B2C: ; 0x02052B2C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r6, #0x1
+_02052B32:
+ add r0, r6, #0x0
+ sub r4, r6, #0x1
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ beq _02052B60
+ bl FUN_020239BC
+ lsl r1, r4, #0x2
+ str r0, [r5, r1]
+ add r0, r7, #0x0
+ bl FUN_02023A28
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ bl FUN_020239CC
+ lsl r1, r0, #0x7
+ ldr r0, [sp, #0x0]
+ orr r1, r0
+ add r0, r5, r4
+ strb r1, [r0, #0x18]
+ b _02052B6A
+_02052B60:
+ lsl r1, r4, #0x2
+ mov r0, #0x0
+ str r0, [r5, r1]
+ add r1, r5, r4
+ strb r0, [r1, #0x18]
+_02052B6A:
+ add r6, r6, #0x1
+ cmp r6, #0x5
+ blt _02052B32
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02052B74
+FUN_02052B74: ; 0x02052B74
+ push {r4, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ mov r1, #0x0
+ mov r2, #0x20
+ bl MI_CpuFill8
+ cmp r4, #0xb
+ bhi _02052BFA
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02052B94: ; jump table (using 16-bit offset)
+ .short _02052BFA - _02052B94 - 2; case 0
+ .short _02052BCA - _02052B94 - 2; case 1
+ .short _02052BDE - _02052B94 - 2; case 2
+ .short _02052BF2 - _02052B94 - 2; case 3
+ .short _02052BFA - _02052B94 - 2; case 4
+ .short _02052BB6 - _02052B94 - 2; case 5
+ .short _02052BB6 - _02052B94 - 2; case 6
+ .short _02052BB6 - _02052B94 - 2; case 7
+ .short _02052BC0 - _02052B94 - 2; case 8
+ .short _02052BD4 - _02052B94 - 2; case 9
+ .short _02052BE8 - _02052B94 - 2; case 10
+ .short _02052BAC - _02052B94 - 2; case 11
+_02052BAC:
+ add r0, sp, #0x0
+ mov r1, #0x2
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BB6:
+ add r0, sp, #0x0
+ mov r1, #0x2
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BC0:
+ add r0, sp, #0x0
+ mov r1, #0x5
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BCA:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BD4:
+ add r0, sp, #0x0
+ mov r1, #0x5
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BDE:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BE8:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+ b _02052BFA
+_02052BF2:
+ add r0, sp, #0x0
+ mov r1, #0x4
+ bl FUN_02052B2C
+_02052BFA:
+ add r0, sp, #0x0
+ strb r4, [r0, #0x1c]
+ add r0, sp, #0x0
+ bl FUN_0202F094
+ bl FUN_0202F0B8
+ add sp, #0x20
+ pop {r4, pc}
+
+ thumb_func_start FUN_02052C0C
+FUN_02052C0C: ; 0x02052C0C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r3, #0x0
+ mov r0, #0x11
+ add r6, r1, #0x0
+ add r2, r3, #0x0
+ add r4, r5, #0x0
+ lsl r0, r0, #0x4
+_02052C1C:
+ ldr r1, [r4, r0]
+ cmp r1, #0x0
+ beq _02052C24
+ add r3, r3, #0x1
+_02052C24:
+ add r2, r2, #0x1
+ add r4, r4, #0x4
+ cmp r2, #0xa
+ blt _02052C1C
+ cmp r3, #0x0
+ beq _02052C34
+ mov r0, #0xa4
+ pop {r4-r6, pc}
+_02052C34:
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_0201385C
+ cmp r0, #0x0
+ bne _02052C46
+ mov r0, #0xa5
+ pop {r4-r6, pc}
+_02052C46:
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02013920
+ cmp r0, #0x4
+ beq _02052C78
+ ldr r0, [r5, #0x8]
+ bl FUN_02023A28
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x8]
+ bl FUN_020239CC
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_020536D0
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0200B064
+ mov r0, #0xa6
+ pop {r4-r6, pc}
+_02052C78:
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02013924
+ add r4, r0, #0x0
+ cmp r4, #0x14
+ blt _02052C8A
+ mov r4, #0x0
+_02052C8A:
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_02013918
+ add r2, r0, #0x0
+ ldr r0, _02052CB0 ; =0x0000FFFF
+ cmp r2, r0
+ beq _02052CA6
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0200B518
+_02052CA6:
+ ldr r0, _02052CB4 ; =0x020F5A74
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4-r6, pc}
+ nop
+_02052CB0: .word 0x0000FFFF
+_02052CB4: .word 0x020F5A74
+
+ thumb_func_start FUN_02052CB8
+FUN_02052CB8: ; 0x02052CB8
+ push {r3-r4}
+ mov r3, #0x0
+ strb r3, [r0, #0x1c]
+ add r4, r0, #0x0
+ add r2, r3, #0x0
+_02052CC2:
+ stmia r4!, {r2}
+ add r1, r0, r3
+ strb r2, [r1, #0x18]
+ strb r2, [r1, #0x10]
+ add r3, r3, #0x1
+ strb r2, [r1, #0x14]
+ cmp r3, #0x4
+ blt _02052CC2
+ pop {r3-r4}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052CD8
+FUN_02052CD8: ; 0x02052CD8
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02013960
+ mov r0, #0x6
+ mov r1, #0x1
+ lsl r0, r0, #0x6
+ str r1, [r4, r0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02052CF0
+FUN_02052CF0: ; 0x02052CF0
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r2, [r0, r1]
+ cmp r2, #0x0
+ bne _02052CFE
+ mov r0, #0x0
+ bx lr
+_02052CFE:
+ mov r2, #0x0
+ str r2, [r0, r1]
+ sub r1, #0x8
+ add r0, r0, r1
+ bx lr
+
+ thumb_func_start FUN_02052D08
+FUN_02052D08: ; 0x02052D08
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r2, #0x0
+ mov r2, #0x9
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r3, [sp, #0x8]
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x6
+ mov r3, #0x4
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ cmp r4, #0x0
+ bne _02052D30
+ sub r0, r6, #0x1
+ bl FUN_0202EF84
+ b _02052D3C
+_02052D30:
+ bl FUN_02031190
+ mov r1, #0x1
+ eor r0, r1
+ bl FUN_0202DFA4
+_02052D3C:
+ add r4, r0, #0x0
+ cmp r4, #0x0
+ beq _02052DE0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200ABC0
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200ABC0
+ add r0, r4, #0x0
+ bl FUN_02023A70
+ add r4, r0, #0x0
+ cmp r4, #0x1
+ blt _02052D80
+ cmp r4, #0x7
+ bgt _02052D80
+ sub r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x7
+ bhs _02052D80
+ lsl r1, r0, #0x2
+ ldr r0, _02052DE4 ; =0x020F5948
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ blt _02052D80
+ ldr r0, [sp, #0x20]
+ bl FUN_02013C18
+_02052D80:
+ cmp r4, #0x7
+ bhi _02052DB8
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02052D90: ; jump table (using 16-bit offset)
+ .short _02052DB8 - _02052D90 - 2; case 0
+ .short _02052DA0 - _02052D90 - 2; case 1
+ .short _02052DA4 - _02052D90 - 2; case 2
+ .short _02052DA8 - _02052D90 - 2; case 3
+ .short _02052DAC - _02052D90 - 2; case 4
+ .short _02052DB0 - _02052D90 - 2; case 5
+ .short _02052DB8 - _02052D90 - 2; case 6
+ .short _02052DB4 - _02052D90 - 2; case 7
+_02052DA0:
+ mov r1, #0xd1
+ b _02052DBA
+_02052DA4:
+ mov r1, #0xd2
+ b _02052DBA
+_02052DA8:
+ mov r1, #0xd3
+ b _02052DBA
+_02052DAC:
+ mov r1, #0xd4
+ b _02052DBA
+_02052DB0:
+ mov r1, #0xd5
+ b _02052DBA
+_02052DB4:
+ mov r1, #0xd6
+ b _02052DBA
+_02052DB8:
+ mov r1, #0xd7
+_02052DBA:
+ add r0, r7, #0x0
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ add r2, r6, #0x0
+ mov r3, #0x0
+ str r4, [sp, #0x4]
+ bl FUN_0200ABB4
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add r0, r7, #0x0
+ bl FUN_0200A8B8
+_02052DE0:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02052DE4: .word 0x020F5948
+
+ thumb_func_start FUN_02052DE8
+FUN_02052DE8: ; 0x02052DE8
+ push {r4, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ bl FUN_02052CB8
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x1c]
+ add r0, r4, #0x0
+ bl FUN_0202F078
+ add r0, sp, #0x0
+ bl FUN_0202F094
+ bl FUN_0202F0B8
+ add sp, #0x20
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02052E10
+FUN_02052E10: ; 0x02052E10
+ mov r1, #0x0
+ str r1, [r0, #0x30]
+ str r1, [r0, #0x40]
+ str r1, [r0, #0x44]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052E1C
+FUN_02052E1C: ; 0x02052E1C
+ mov r2, #0x0
+ str r2, [r0, #0x20]
+ str r2, [r0, #0x24]
+ str r2, [r0, #0x2c]
+ str r2, [r0, #0x30]
+ mov r1, #0x5d
+ str r2, [r0, #0x40]
+ lsl r1, r1, #0x2
+ strh r2, [r0, r1]
+ add r1, #0xc
+ str r2, [r0, r1]
+ str r2, [r0, #0x44]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052E38
+FUN_02052E38: ; 0x02052E38
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ bl FUN_02065054
+ mov r1, #0x61
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x0
+ bl FUN_02065054
+ mov r1, #0x62
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x0
+ bl FUN_02065054
+ mov r1, #0x63
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x8]
+ bl FUN_020239CC
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x8]
+ bl FUN_02023A28
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020536D0
+ add r3, r0, #0x0
+ ldr r0, [r4, #0x0]
+ lsl r3, r3, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ lsr r3, r3, #0x18
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_02064E90
+ bl FUN_02031190
+ mov r1, #0x1
+ eor r0, r1
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ add sp, #0x8
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02052EAC
+FUN_02052EAC: ; 0x02052EAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ mov r0, #0x63
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_02052ED0
+FUN_02052ED0: ; 0x02052ED0
+ mov r1, #0x61
+ add r2, r0, #0x0
+ lsl r1, r1, #0x2
+ ldr r1, [r2, r1]
+ ldr r3, _02052EE0 ; =FUN_02030A78
+ mov r0, #0x69
+ ldr r2, _02052EE4 ; =0x0000066C
+ bx r3
+ .balign 4
+_02052EE0: .word FUN_02030A78
+_02052EE4: .word 0x0000066C
+
+ thumb_func_start FUN_02052EE8
+FUN_02052EE8: ; 0x02052EE8
+ push {r3-r5, lr}
+ ldr r1, _02052F58 ; =0x000004E8
+ add r5, r0, #0x0
+ mov r0, #0x1f
+ bl FUN_02016998
+ add r4, r0, #0x0
+ ldr r2, _02052F58 ; =0x000004E8
+ mov r0, #0x0
+ add r1, r4, #0x0
+ bl MIi_CpuClearFast
+ mov r0, #0x4e
+ str r5, [r4, #0x0]
+ mov r1, #0x1
+ lsl r0, r0, #0x4
+ str r1, [r4, r0]
+ ldr r0, _02052F5C ; =FUN_02052FC8
+ add r1, r4, #0x0
+ mov r2, #0xb
+ bl FUN_0200CA44
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_020524BC
+ ldr r1, _02052F60 ; =0x000004D4
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ mov r1, #0x9
+ ldr r0, [r0, #0xc]
+ bl FUN_02022610
+ ldr r1, _02052F64 ; =0x000004D8
+ ldr r2, _02052F68 ; =0x00002710
+ str r0, [r4, r1]
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x59
+ ldr r0, [r0, #0x38]
+ str r0, [r4, #0x8]
+ mov r0, #0xb
+ bl FUN_02016828
+ mov r0, #0x59
+ bl FUN_02053618
+ ldr r1, _02052F6C ; =0x000004DC
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_02052F8C
+ ldr r0, _02052F70 ; =0x021C5ABC
+ str r4, [r0, #0x0]
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_02052F58: .word 0x000004E8
+_02052F5C: .word FUN_02052FC8
+_02052F60: .word 0x000004D4
+_02052F64: .word 0x000004D8
+_02052F68: .word 0x00002710
+_02052F6C: .word 0x000004DC
+_02052F70: .word 0x021C5ABC
+
+ thumb_func_start FUN_02052F74
+FUN_02052F74: ; 0x02052F74
+ mov r3, #0x0
+ mov r1, #0x3
+_02052F78:
+ ldrb r2, [r0, #0xd]
+ cmp r2, #0x0
+ beq _02052F80
+ strb r1, [r0, #0xc]
+_02052F80:
+ add r3, r3, #0x1
+ add r0, #0x18
+ cmp r3, #0x33
+ blt _02052F78
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052F8C
+FUN_02052F8C: ; 0x02052F8C
+ mov r2, #0x0
+ add r1, r2, #0x0
+_02052F90:
+ strb r1, [r0, #0xc]
+ strb r1, [r0, #0xd]
+ strb r1, [r0, #0xe]
+ strb r1, [r0, #0xf]
+ add r2, r2, #0x1
+ add r0, #0x18
+ cmp r2, #0x33
+ blt _02052F90
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02052FA4
+FUN_02052FA4: ; 0x02052FA4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ bl FUN_0200CAB4
+ ldr r0, _02052FC4 ; =0x000004DC
+ ldr r0, [r4, r0]
+ bl FUN_0205362C
+ mov r0, #0x59
+ bl FUN_020168D0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+_02052FC4: .word 0x000004DC
+
+ thumb_func_start FUN_02052FC8
+FUN_02052FC8: ; 0x02052FC8
+ push {r3-r5, lr}
+ ldr r0, _02052FFC ; =0x000004D4
+ add r5, r1, #0x0
+ ldr r0, [r5, r0]
+ ldr r4, [r5, #0x0]
+ bl FUN_0204646C
+ cmp r0, #0x0
+ bne _02052FF8
+ ldr r3, _02052FFC ; =0x000004D4
+ add r0, r5, #0x0
+ ldr r2, [r5, r3]
+ add r3, r3, #0x4
+ ldr r2, [r2, #0x34]
+ ldr r3, [r5, r3]
+ add r1, r4, #0x0
+ bl FUN_0205312C
+ ldr r1, _02052FFC ; =0x000004D4
+ add r0, r5, #0x0
+ ldr r1, [r5, r1]
+ ldr r1, [r1, #0x34]
+ bl FUN_020531E4
+_02052FF8:
+ pop {r3-r5, pc}
+ nop
+_02052FFC: .word 0x000004D4
+
+ thumb_func_start FUN_02053000
+FUN_02053000: ; 0x02053000
+ push {r4-r7, lr}
+ sub sp, #0x14
+ mov r5, #0x0
+ str r0, [sp, #0x0]
+ str r3, [sp, #0x4]
+ cmp r2, #0x0
+ bne _02053034
+ ldr r0, _02053100 ; =0x020F58D4
+ lsl r1, r1, #0x1
+ ldrh r4, [r0, r1]
+ ldr r0, [sp, #0x0]
+ mov r6, #0x3
+ add r0, #0xc
+ str r0, [sp, #0x0]
+_0205301C:
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02053104
+ add r5, r5, #0x1
+ add r4, r4, #0x1
+ cmp r5, #0x4
+ blt _0205301C
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02053034:
+ add r0, r2, #0x0
+ str r0, [sp, #0xc]
+ add r0, #0x50
+ str r0, [sp, #0xc]
+ add r0, #0x30
+ str r0, [sp, #0xc]
+ ldr r0, [r2, #0x50]
+ mov r2, #0x18
+ add r3, r1, #0x0
+ mul r3, r2
+ ldr r2, [sp, #0x0]
+ add r2, r2, r3
+ ldr r2, [r2, #0x18]
+ cmp r0, r2
+ beq _02053078
+ ldr r0, _02053100 ; =0x020F58D4
+ lsl r1, r1, #0x1
+ ldrh r4, [r0, r1]
+ ldr r0, [sp, #0x0]
+ mov r6, #0x3
+ add r0, #0xc
+ str r0, [sp, #0x0]
+_02053060:
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02053104
+ add r5, r5, #0x1
+ add r4, r4, #0x1
+ cmp r5, #0x4
+ blt _02053060
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02053078:
+ ldr r0, _02053100 ; =0x020F58D4
+ lsl r1, r1, #0x1
+ ldrh r7, [r0, r1]
+ ldr r0, [sp, #0xc]
+ add r6, r5, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x0]
+ str r0, [sp, #0x10]
+ add r0, #0xc
+ str r0, [sp, #0x10]
+_0205308C:
+ mov r0, #0x18
+ add r1, r7, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x0]
+ add r4, r0, r1
+ ldrb r0, [r4, #0xd]
+ cmp r0, #0x0
+ beq _020530A6
+ cmp r0, #0x2
+ beq _020530CC
+ cmp r0, #0x4
+ beq _020530E6
+ b _020530EA
+_020530A6:
+ ldr r0, [sp, #0xc]
+ add r1, r0, r6
+ ldrb r0, [r1, #0x18]
+ cmp r0, #0x0
+ beq _020530EA
+ mov r0, #0x2
+ strb r0, [r4, #0xc]
+ ldrb r1, [r1, #0x18]
+ mov r0, #0x7f
+ and r0, r1
+ strb r0, [r4, #0x14]
+ ldr r1, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ ldr r1, [r1, #0x0]
+ bl FUN_02025614
+ strb r0, [r4, #0xe]
+ mov r5, #0x1
+ b _020530EA
+_020530CC:
+ ldr r0, [sp, #0xc]
+ add r0, r0, r6
+ ldrb r0, [r0, #0x18]
+ cmp r0, #0x0
+ bne _020530E2
+ ldr r0, [sp, #0x10]
+ add r1, r7, #0x0
+ mov r2, #0x3
+ bl FUN_02053104
+ b _020530EA
+_020530E2:
+ mov r5, #0x1
+ b _020530EA
+_020530E6:
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+_020530EA:
+ ldr r0, [sp, #0x8]
+ add r6, r6, #0x1
+ add r0, r0, #0x4
+ add r7, r7, #0x1
+ str r0, [sp, #0x8]
+ cmp r6, #0x4
+ blt _0205308C
+ add r0, r5, #0x0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_02053100: .word 0x020F58D4
+
+ thumb_func_start FUN_02053104
+FUN_02053104: ; 0x02053104
+ push {r4-r6, lr}
+ ldr r6, _02053124 ; =0x021C5ABC
+ mov r4, #0x18
+ ldr r3, [r6, #0x0]
+ ldr r5, _02053128 ; =0x000004D4
+ mul r4, r1
+ ldr r3, [r3, r5]
+ strb r2, [r0, r4]
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r5]
+ cmp r3, r0
+ beq _02053120
+ bl ErrorHandling
+_02053120:
+ pop {r4-r6, pc}
+ nop
+_02053124: .word 0x021C5ABC
+_02053128: .word 0x000004D4
+
+ thumb_func_start FUN_0205312C
+FUN_0205312C: ; 0x0205312C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ str r0, [sp, #0x0]
+ add r5, r0, #0x0
+ str r0, [sp, #0x10]
+ add r0, #0xc
+ str r1, [sp, #0x4]
+ str r3, [sp, #0x8]
+ mov r4, #0x0
+ str r0, [sp, #0x10]
+_02053140:
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ bl FUN_020524C0
+ add r6, r0, #0x0
+ add r7, r6, #0x0
+ add r7, #0x50
+ add r0, r7, #0x0
+ str r0, [sp, #0xc]
+ add r0, #0x10
+ str r0, [sp, #0xc]
+ ldrb r0, [r5, #0xd]
+ cmp r0, #0x0
+ beq _02053166
+ cmp r0, #0x2
+ beq _020531A2
+ cmp r0, #0x4
+ beq _020531D4
+ b _020531D8
+_02053166:
+ cmp r6, #0x0
+ beq _020531D8
+ ldr r0, [sp, #0xc]
+ bl FUN_02023A28
+ strb r0, [r5, #0x14]
+ ldr r0, [sp, #0xc]
+ bl FUN_020239BC
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_02025614
+ strb r0, [r5, #0xe]
+ ldr r0, [r7, #0x0]
+ ldr r3, [sp, #0x8]
+ str r0, [r5, #0x18]
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02053000
+ cmp r0, #0x0
+ beq _0205319C
+ mov r0, #0x2
+ strb r0, [r5, #0xc]
+ b _020531D8
+_0205319C:
+ mov r0, #0x1
+ strb r0, [r5, #0xc]
+ b _020531D8
+_020531A2:
+ cmp r6, #0x0
+ beq _020531AE
+ ldr r1, [r7, #0x0]
+ ldr r0, [r5, #0x18]
+ cmp r1, r0
+ beq _020531B8
+_020531AE:
+ ldr r0, [sp, #0x10]
+ add r1, r4, #0x0
+ mov r2, #0x3
+ bl FUN_02053104
+_020531B8:
+ ldr r0, [sp, #0x0]
+ ldr r3, [sp, #0x8]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02053000
+ cmp r0, #0x0
+ beq _020531D8
+ ldrb r0, [r5, #0x15]
+ cmp r0, #0x1
+ bne _020531D8
+ mov r0, #0x3
+ strb r0, [r5, #0xc]
+ b _020531D8
+_020531D4:
+ mov r0, #0x0
+ strb r0, [r5, #0xc]
+_020531D8:
+ add r4, r4, #0x1
+ add r5, #0x18
+ cmp r4, #0xa
+ blt _02053140
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_020531E4
+FUN_020531E4: ; 0x020531E4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0x8]
+ str r1, [sp, #0x4]
+ bl FUN_02055320
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x8]
+ bl FUN_0205532C
+ ldr r4, [sp, #0x0]
+ str r0, [sp, #0x8]
+ add r6, r4, #0x0
+ mov r7, #0x0
+ add r6, #0xc
+_02053206:
+ ldr r0, [sp, #0x4]
+ add r1, r7, #0x1
+ bl FUN_02058060
+ add r5, r0, #0x0
+ bne _02053216
+ bl ErrorHandling
+_02053216:
+ ldrb r0, [r4, #0xd]
+ cmp r0, #0x4
+ bhi _0205330A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02053228: ; jump table (using 16-bit offset)
+ .short _02053232 - _02053228 - 2; case 0
+ .short _02053252 - _02053228 - 2; case 1
+ .short _020532B2 - _02053228 - 2; case 2
+ .short _020532DA - _02053228 - 2; case 3
+ .short _02053306 - _02053228 - 2; case 4
+_02053232:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ ldrb r0, [r4, #0xc]
+ sub r0, r0, #0x1
+ cmp r0, #0x1
+ bhi _0205330A
+ ldr r2, [sp, #0xc]
+ ldr r3, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0205339C
+ b _0205330A
+_02053252:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x3
+ bne _02053272
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ strb r0, [r4, #0xc]
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_0205333C
+ b _0205330A
+_02053272:
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020588EC
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x1
+ bne _020532A8
+ ldrb r0, [r4, #0x15]
+ cmp r0, #0x0
+ bne _020532A8
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_02058E90
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058534
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205853C
+ mov r0, #0x1
+ strb r0, [r4, #0x15]
+_020532A8:
+ mov r0, #0x2
+ strb r0, [r4, #0xd]
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ b _0205330A
+_020532B2:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02053478
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x3
+ bne _020532D2
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02053444
+_020532D2:
+ add r0, r6, #0x0
+ bl FUN_02053378
+ b _0205330A
+_020532DA:
+ add r0, r5, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205330A
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ mov r0, #0x4
+ strb r0, [r4, #0xd]
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ strb r0, [r4, #0x15]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020588B8
+ b _0205330A
+_02053306:
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+_0205330A:
+ add r7, r7, #0x1
+ add r4, #0x18
+ add r6, #0x18
+ cmp r7, #0x32
+ bge _02053316
+ b _02053206
+_02053316:
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x8]
+ bl FUN_020553A0
+ add r1, r0, #0x0
+ ldr r2, _02053338 ; =0x000004BC
+ ldr r0, [sp, #0x0]
+ add r0, r0, r2
+ bl FUN_02053478
+ ldr r1, _02053338 ; =0x000004BC
+ ldr r0, [sp, #0x0]
+ add r0, r0, r1
+ bl FUN_02053378
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02053338: .word 0x000004BC
+
+ thumb_func_start FUN_0205333C
+FUN_0205333C: ; 0x0205333C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ add r4, r1, #0x0
+ cmp r0, #0x0
+ beq _0205335A
+ bl FUN_020646A0
+ cmp r0, #0x0
+ beq _02053356
+ ldr r0, [r5, #0x10]
+ bl FUN_02064520
+_02053356:
+ mov r0, #0x0
+ str r0, [r5, #0x10]
+_0205335A:
+ cmp r4, #0x0
+ beq _02053376
+ ldr r0, [r5, #0x14]
+ cmp r0, #0x0
+ beq _02053376
+ bl FUN_020646A0
+ cmp r0, #0x0
+ beq _02053372
+ ldr r0, [r5, #0x14]
+ bl FUN_02064520
+_02053372:
+ mov r0, #0x0
+ str r0, [r5, #0x14]
+_02053376:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02053378
+FUN_02053378: ; 0x02053378
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldrb r1, [r4, #0x4]
+ cmp r1, #0x0
+ beq _02053398
+ ldrh r1, [r4, #0x6]
+ sub r1, r1, #0x1
+ strh r1, [r4, #0x6]
+ ldrh r1, [r4, #0x6]
+ cmp r1, #0x0
+ bne _02053398
+ mov r1, #0x0
+ bl FUN_0205333C
+ mov r0, #0x0
+ strb r0, [r4, #0x4]
+_02053398:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205339C
+FUN_0205339C: ; 0x0205339C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ bl FUN_02058AFC
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B04
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ bl FUN_02058B0C
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x4]
+ cmp r7, r0
+ bne _020533CC
+ ldr r0, [sp, #0x8]
+ cmp r6, r0
+ beq _0205343C
+_020533CC:
+ ldr r0, _02053440 ; =0x0000064F
+ bl FUN_020054C8
+ ldrb r1, [r5, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02057634
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205333C
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r2, [sp, #0xc]
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r3, r6, #0x0
+ bl FUN_02058E28
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020584A4
+ add r0, r4, #0x0
+ mov r1, #0x44
+ bl FUN_0205ADDC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205889C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020588B8
+ mov r1, #0x1
+ strb r1, [r5, #0x1]
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _0205343C
+ cmp r0, #0x1
+ bne _0205342A
+ add r0, r4, #0x0
+ bl MOD06_02249668
+ str r0, [r5, #0x14]
+ b _02053438
+_0205342A:
+ cmp r0, #0x2
+ blo _02053438
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl MOD06_02249668
+ str r0, [r5, #0x14]
+_02053438:
+ mov r0, #0x0
+ strb r0, [r5, #0x2]
+_0205343C:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02053440: .word 0x0000064F
+
+ thumb_func_start FUN_02053444
+FUN_02053444: ; 0x02053444
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x43
+ bl FUN_0205ADDC
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020588EC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058E90
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205333C
+ mov r0, #0x0
+ strb r0, [r4, #0x4]
+ strh r0, [r4, #0x6]
+ mov r0, #0x3
+ strb r0, [r4, #0x1]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02053478
+FUN_02053478: ; 0x02053478
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x3]
+ cmp r0, #0x1
+ bne _0205349C
+ ldrb r0, [r4, #0x4]
+ cmp r0, #0x0
+ bne _0205349C
+ add r0, r1, #0x0
+ bl MOD05_021EDA48
+ str r0, [r4, #0x10]
+ mov r0, #0x1e
+ strh r0, [r4, #0x6]
+ mov r0, #0x0
+ strb r0, [r4, #0x3]
+ mov r0, #0x1
+ strb r0, [r4, #0x4]
+_0205349C:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020534A0
+FUN_020534A0: ; 0x020534A0
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r0, #0x0
+ cmp r5, r6
+ bge _020534DA
+_020534AC:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058060
+ add r4, r0, #0x0
+ bne _020534BC
+ bl ErrorHandling
+_020534BC:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020588B8
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020588EC
+ add r5, r5, #0x1
+ cmp r5, r6
+ blt _020534AC
+_020534DA:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020534DC
+FUN_020534DC: ; 0x020534DC
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r7, r0, #0x0
+ bl FUN_02058060
+ add r4, r0, #0x0
+ bne _020534F0
+ bl ErrorHandling
+_020534F0:
+ add r0, r4, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _02053596
+ bl FUN_02031B2C
+ cmp r0, #0x0
+ bne _0205350A
+ bl FUN_02031AF4
+ cmp r0, #0x0
+ beq _0205358C
+_0205350A:
+ mov r6, #0x0
+ add r5, #0xc
+_0205350E:
+ ldrb r0, [r5, #0x1]
+ cmp r0, #0x1
+ bne _02053578
+ add r0, r7, #0x0
+ add r1, r6, #0x1
+ bl FUN_02058060
+ add r4, r0, #0x0
+ bne _02053524
+ bl ErrorHandling
+_02053524:
+ ldrb r1, [r5, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02057634
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020584A4
+ add r0, r4, #0x0
+ mov r1, #0x44
+ bl FUN_0205ADDC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205889C
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020588B8
+ mov r0, #0x1
+ strb r0, [r5, #0x1]
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _02053578
+ cmp r0, #0x1
+ bne _02053566
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD06_02249668
+ str r0, [r5, #0x14]
+ b _02053574
+_02053566:
+ cmp r0, #0x2
+ blo _02053574
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl MOD06_02249668
+ str r0, [r5, #0x14]
+_02053574:
+ mov r0, #0x0
+ strb r0, [r5, #0x2]
+_02053578:
+ add r6, r6, #0x1
+ add r5, #0x18
+ cmp r6, #0xa
+ blt _0205350E
+ add r0, r7, #0x0
+ mov r1, #0xb
+ mov r2, #0x33
+ bl FUN_020534A0
+ pop {r3-r7, pc}
+_0205358C:
+ add r0, r7, #0x0
+ mov r1, #0x1
+ mov r2, #0x33
+ bl FUN_020534A0
+_02053596:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02053598
+FUN_02053598: ; 0x02053598
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x8
+ mov r1, #0x59
+ bl FUN_020219F4
+ str r0, [r4, #0x0]
+ mov r1, #0x0
+ add r0, r4, #0x0
+ str r1, [r4, #0x4]
+ add r0, #0x14
+ str r1, [r4, #0x8]
+ bl FUN_0201373C
+ mov r0, #0x0
+ str r0, [r4, #0x10]
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+
+ thumb_func_start FUN_020535BC
+FUN_020535BC: ; 0x020535BC
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ mov r4, #0x0
+ add r5, r6, #0x0
+_020535C4:
+ add r0, r5, #0x0
+ bl FUN_02053598
+ add r4, r4, #0x1
+ add r5, #0x1c
+ cmp r4, #0x1e
+ blt _020535C4
+ mov r0, #0xd2
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r6, r0]
+ add r0, r0, #0x4
+ str r1, [r6, r0]
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020535E0
+FUN_020535E0: ; 0x020535E0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _020535F4
+ bl FUN_02021A20
+_020535F4:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _020535FE
+ bl FUN_02021A20
+_020535FE:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02053600
+FUN_02053600: ; 0x02053600
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+_02053606:
+ add r0, r5, #0x0
+ bl FUN_020535E0
+ add r4, r4, #0x1
+ add r5, #0x1c
+ cmp r4, #0x1e
+ blt _02053606
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02053618
+FUN_02053618: ; 0x02053618
+ push {r4, lr}
+ mov r1, #0x35
+ lsl r1, r1, #0x4
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bl FUN_020535BC
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205362C
+FUN_0205362C: ; 0x0205362C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02053600
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205363C
+FUN_0205363C: ; 0x0205363C
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ lsl r0, r0, #0x1d
+ ldr r2, _02053670 ; =0x020F5AC4
+ lsr r0, r0, #0x19
+ add r5, r2, r0
+ lsl r2, r1, #0x3
+ mov r1, #0xc
+ ldr r0, _02053674 ; =0x020F5B44
+ mul r1, r2
+ mov r4, #0x0
+ add r6, r0, r1
+_02053654:
+ ldr r3, [r5, #0x0]
+ mov r2, #0xc
+ mul r2, r3
+ add r2, r6, r2
+ ldr r2, [r2, #0x4]
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200B064
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _02053654
+ pop {r3-r7, pc}
+ .balign 4
+_02053670: .word 0x020F5AC4
+_02053674: .word 0x020F5B44
+
+ thumb_func_start FUN_02053678
+FUN_02053678: ; 0x02053678
+ lsl r0, r0, #0x1d
+ lsr r3, r0, #0x19
+ ldr r0, _02053694 ; =0x020F5AC4
+ lsl r2, r2, #0x2
+ add r0, r0, r3
+ ldr r0, [r2, r0]
+ lsl r1, r1, #0x3
+ add r1, r1, r0
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, _02053698 ; =0x020F5B44
+ ldr r0, [r0, r2]
+ bx lr
+ .balign 4
+_02053694: .word 0x020F5AC4
+_02053698: .word 0x020F5B44
+
+ thumb_func_start FUN_0205369C
+FUN_0205369C: ; 0x0205369C
+ push {r3-r4}
+ lsl r4, r0, #0x3
+ mov r0, #0xc
+ ldr r2, _020536C4 ; =0x020F5B44
+ mul r0, r4
+ mov r3, #0x0
+ add r2, r2, r0
+_020536AA:
+ ldr r0, [r2, #0x0]
+ cmp r1, r0
+ bne _020536B6
+ add r0, r3, r4
+ pop {r3-r4}
+ bx lr
+_020536B6:
+ add r3, r3, #0x1
+ add r2, #0xc
+ cmp r3, #0x8
+ blt _020536AA
+ mov r0, #0x0
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_020536C4: .word 0x020F5B44
+
+ thumb_func_start FUN_020536C8
+FUN_020536C8: ; 0x020536C8
+ ldr r3, _020536CC ; =FUN_0205369C
+ bx r3
+ .balign 4
+_020536CC: .word FUN_0205369C
+
+ thumb_func_start FUN_020536D0
+FUN_020536D0: ; 0x020536D0
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_0205369C
+ cmp r4, #0x0
+ beq _020536FE
+ cmp r4, #0x1
+ beq _020536EE
+ cmp r4, #0x2
+ bne _020536F8
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _02053700 ; =0x020F5B48
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+_020536EE:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _02053704 ; =0x020F5B4C
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+_020536F8:
+ bl ErrorHandling
+ mov r0, #0x0
+_020536FE:
+ pop {r4, pc}
+ .balign 4
+_02053700: .word 0x020F5B48
+_02053704: .word 0x020F5B4C
+
+ thumb_func_start FUN_02053708
+FUN_02053708: ; 0x02053708
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ mov r0, #0x56
+ mov r1, #0x7
+ add r2, sp, #0x0
+ add r3, r5, #0x0
+ bl FUN_02006C08
+ mov r1, #0x9
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02016998
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x0
+ ldr r3, [r0, #0xc]
+ mov r0, #0x1
+ add r6, r5, #0x0
+ lsl r0, r0, #0x8
+_02053734:
+ ldrh r1, [r3, #0x0]
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ strh r1, [r6, #0x0]
+ add r6, r6, #0x2
+ cmp r2, r0
+ blt _02053734
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02053750
+FUN_02053750: ; 0x02053750
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02053762
+ bl FUN_0201FDEC
+_02053762:
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r0, [r4, r1]
+ cmp r0, #0x5
+ bls _0205376E
+ b _020538B2
+_0205376E:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205377A: ; jump table (using 16-bit offset)
+ .short _02053786 - _0205377A - 2; case 0
+ .short _020537AA - _0205377A - 2; case 1
+ .short _020537DA - _0205377A - 2; case 2
+ .short _0205385C - _0205377A - 2; case 3
+ .short _02053872 - _0205377A - 2; case 4
+ .short _020538A2 - _0205377A - 2; case 5
+_02053786:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_020537AA:
+ sub r1, #0x24
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x0
+ bl FUN_02053F38
+ mov r1, #0x5b
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x1
+ bl FUN_02053F38
+ mov r0, #0x5f
+ mov r1, #0x2
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0x18
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_020537DA:
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ ble _02053810
+ sub r1, #0x24
+ add r7, r4, r1
+ add r6, r4, #0x0
+ add r5, sp, #0x10
+_020537EE:
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ ldr r1, [r6, r1]
+ add r0, r7, #0x0
+ blx r1
+ stmia r5!, {r0}
+ ldr r0, [sp, #0xc]
+ add r7, #0x10
+ add r0, r0, #0x1
+ str r0, [sp, #0xc]
+ mov r0, #0x5f
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, [sp, #0xc]
+ add r6, #0x10
+ cmp r0, r1
+ blt _020537EE
+_02053810:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x2
+ bne _0205382E
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+_0205382E:
+ mov r0, #0x5f
+ lsl r0, r0, #0x2
+ ldr r2, [r4, r0]
+ mov r3, #0x0
+ cmp r2, #0x0
+ ble _0205384A
+ add r1, sp, #0x10
+_0205383C:
+ ldr r0, [r1, #0x0]
+ cmp r0, #0x0
+ bne _0205384A
+ add r3, r3, #0x1
+ add r1, r1, #0x4
+ cmp r3, r2
+ blt _0205383C
+_0205384A:
+ cmp r3, r2
+ bne _020538B2
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_0205385C:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020538B2
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_02053872:
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _02053894
+ sub r1, #0x24
+ mov r7, #0x5f
+ add r5, r4, r1
+ lsl r7, r7, #0x2
+_02053884:
+ add r0, r5, #0x0
+ bl FUN_02054070
+ ldr r0, [r4, r7]
+ add r6, r6, #0x1
+ add r5, #0x10
+ cmp r6, r0
+ blt _02053884
+_02053894:
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x18
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r7, pc}
+_020538A2:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
+_020538B2:
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020538B8
+FUN_020538B8: ; 0x020538B8
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r1, #0x0
+ add r0, sp, #0xc
+ strh r1, [r0, #0x0]
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ cmp r0, #0x5
+ beq _020538D6
+ ldr r0, [r4, #0x4]
+ bl FUN_0201FDEC
+_020538D6:
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r0, [r4, r1]
+ cmp r0, #0x5
+ bls _020538E2
+ b _020539EA
+_020538E2:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020538EE: ; jump table (using 16-bit offset)
+ .short _020538FA - _020538EE - 2; case 0
+ .short _02053912 - _020538EE - 2; case 1
+ .short _0205396E - _020538EE - 2; case 2
+ .short _020539A2 - _020538EE - 2; case 3
+ .short _020539C4 - _020538EE - 2; case 4
+ .short _020539DA - _020538EE - 2; case 5
+_020538FA:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_02053912:
+ mov r0, #0x4
+ add r1, sp, #0xc
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_02017FB4
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r1, #0x57
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x2
+ bl FUN_02053F38
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldr r0, _020539F0 ; =0x0000062F
+ bl FUN_020054C8
+ mov r0, #0x5f
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0x10
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_0205396E:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ cmp r0, #0x0
+ bne _020539EA
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020539EA
+ ldr r0, _020539F4 ; =0x00000631
+ bl FUN_020054C8
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ mov r1, #0xfe
+ mvn r1, r1
+ add r0, r0, #0x4
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_020539A2:
+ add r0, r1, #0x4
+ ldr r2, [r4, r0]
+ add r2, #0x10
+ str r2, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ ble _020539EA
+ ldr r0, [r4, r1]
+ add r0, r0, #0x1
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ add sp, #0x10
+ pop {r3-r5, pc}
+_020539C4:
+ sub r1, #0x24
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0x10
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r3-r5, pc}
+_020539DA:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
+_020539EA:
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_020539F0: .word 0x0000062F
+_020539F4: .word 0x00000631
+
+ thumb_func_start FUN_020539F8
+FUN_020539F8: ; 0x020539F8
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ mov r0, #0x6
+ add r4, r1, #0x0
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ cmp r0, #0x6
+ beq _02053A10
+ ldr r0, [r4, #0x4]
+ bl FUN_0201FDEC
+_02053A10:
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r0, [r4, r1]
+ cmp r0, #0x6
+ bls _02053A1C
+ b _02053B30
+_02053A1C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02053A28: ; jump table (using 16-bit offset)
+ .short _02053A36 - _02053A28 - 2; case 0
+ .short _02053A4E - _02053A28 - 2; case 1
+ .short _02053A78 - _02053A28 - 2; case 2
+ .short _02053AA0 - _02053A28 - 2; case 3
+ .short _02053AE2 - _02053A28 - 2; case 4
+ .short _02053B00 - _02053A28 - 2; case 5
+ .short _02053B16 - _02053A28 - 2; case 6
+_02053A36:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053A4E:
+ sub r1, #0x24
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x3
+ bl FUN_02053F38
+ mov r0, #0x63
+ lsl r0, r0, #0x4
+ bl FUN_020054C8
+ mov r0, #0x5f
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053A78:
+ add r0, r1, #0x4
+ ldr r2, [r4, r0]
+ sub r2, #0x20
+ str r2, [r4, r0]
+ ldr r1, [r4, r0]
+ mov r0, #0xfe
+ mvn r0, r0
+ cmp r1, r0
+ bge _02053B30
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053AA0:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ add r5, r0, #0x0
+ cmp r5, #0x2
+ bne _02053AD0
+ mov r1, #0x61
+ mov r0, #0x0
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r1, #0x6
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r1, #0x4
+ str r1, [sp, #0x8]
+ ldr r3, _02053B34 ; =0x00007FFF
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ bl FUN_0200E1D0
+_02053AD0:
+ cmp r5, #0x0
+ bne _02053B30
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053AE2:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02053B30
+ mov r0, #0x61
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ sub r1, r0, #0x4
+ ldr r1, [r4, r1]
+ sub r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053B00:
+ sub r1, #0x24
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053B16:
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
+_02053B30:
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_02053B34: .word 0x00007FFF
+
+ thumb_func_start FUN_02053B38
+FUN_02053B38: ; 0x02053B38
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ mov r0, #0x6
+ add r4, r1, #0x0
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ cmp r0, #0x6
+ beq _02053B50
+ ldr r0, [r4, #0x4]
+ bl FUN_0201FDEC
+_02053B50:
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r0, [r4, r1]
+ cmp r0, #0x6
+ bls _02053B5C
+ b _02053C8C
+_02053B5C:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02053B68: ; jump table (using 16-bit offset)
+ .short _02053B76 - _02053B68 - 2; case 0
+ .short _02053BB2 - _02053B68 - 2; case 1
+ .short _02053BD6 - _02053B68 - 2; case 2
+ .short _02053BF2 - _02053B68 - 2; case 3
+ .short _02053C22 - _02053B68 - 2; case 4
+ .short _02053C66 - _02053B68 - 2; case 5
+ .short _02053C7C - _02053B68 - 2; case 6
+_02053B76:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r1, #0x57
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x4
+ bl FUN_02053F38
+ mov r1, #0x5b
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ mov r2, #0x5
+ bl FUN_02053F38
+ mov r0, #0x5f
+ mov r1, #0x2
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r1, r0, #0x4
+ ldr r1, [r4, r1]
+ add r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053BB2:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r3, _02053C90 ; =0x00007FFF
+ mov r0, #0x0
+ add r2, r1, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053BD6:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02053C8C
+ ldr r0, _02053C94 ; =0x00000632
+ bl FUN_020054C8
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053BF2:
+ add r0, r1, #0x0
+ sub r1, #0x18
+ sub r0, #0x24
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ cmp r0, #0x0
+ bne _02053C8C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0x38]
+ bl FUN_0205537C
+ mov r0, #0x61
+ mov r1, #0x6
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ sub r1, r0, #0x4
+ ldr r1, [r4, r1]
+ sub r0, r0, #0x4
+ add r1, r1, #0x1
+ add sp, #0xc
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C22:
+ add r0, r1, #0x0
+ sub r1, #0x8
+ sub r0, #0x14
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ blx r1
+ add r5, r0, #0x0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ cmp r1, #0x0
+ bgt _02053C50
+ bne _02053C54
+ sub r0, #0x28
+ add r0, r4, r0
+ bl FUN_02054070
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ sub r1, r1, #0x1
+ str r1, [r4, r0]
+ b _02053C54
+_02053C50:
+ sub r1, r1, #0x1
+ str r1, [r4, r0]
+_02053C54:
+ cmp r5, #0x0
+ bne _02053C8C
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C66:
+ sub r1, #0x14
+ add r0, r4, r1
+ bl FUN_02054070
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r1, [r4, r0]
+ add sp, #0xc
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ pop {r4-r5, pc}
+_02053C7C:
+ add r1, #0x8
+ ldr r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [r0, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02053D3C
+_02053C8C:
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_02053C90: .word 0x00007FFF
+_02053C94: .word 0x00000632
+
+ thumb_func_start FUN_02053C98
+FUN_02053C98: ; 0x02053C98
+ push {r3-r5, lr}
+ add r3, r1, #0x0
+ add r4, r0, #0x0
+ add r5, r2, #0x0
+ cmp r3, #0x3
+ bhi _02053CEE
+ add r1, r3, r3
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02053CB0: ; jump table (using 16-bit offset)
+ .short _02053CB8 - _02053CB0 - 2; case 0
+ .short _02053CC6 - _02053CB0 - 2; case 1
+ .short _02053CD4 - _02053CB0 - 2; case 2
+ .short _02053CE2 - _02053CB0 - 2; case 3
+_02053CB8:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053CFC ; =FUN_02053750
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+ b _02053CEE
+_02053CC6:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D00 ; =FUN_020538B8
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+ b _02053CEE
+_02053CD4:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D04 ; =FUN_020539F8
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+ b _02053CEE
+_02053CE2:
+ ldr r2, _02053CF8 ; =0x020F5C04
+ ldr r0, _02053D08 ; =FUN_02053B38
+ ldrb r2, [r2, r3]
+ add r1, r4, #0x0
+ bl FUN_02053D0C
+_02053CEE:
+ mov r1, #0x62
+ lsl r1, r1, #0x2
+ str r5, [r0, r1]
+ str r4, [r0, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_02053CF8: .word 0x020F5C04
+_02053CFC: .word FUN_02053750
+_02053D00: .word FUN_020538B8
+_02053D04: .word FUN_020539F8
+_02053D08: .word FUN_02053B38
+
+ thumb_func_start FUN_02053D0C
+FUN_02053D0C: ; 0x02053D0C
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ mov r1, #0x63
+ add r6, r2, #0x0
+ lsl r1, r1, #0x2
+ mov r2, #0x5
+ mov r3, #0x4
+ bl FUN_020061E8
+ bl FUN_0201B6C8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ bl FUN_020239CC
+ add r1, r0, #0x0
+ add r0, r4, #0x4
+ add r2, r6, #0x0
+ bl FUN_02053D50
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02053D3C
+FUN_02053D3C: ; 0x02053D3C
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x4
+ bl FUN_02053D68
+ add r0, r4, #0x0
+ bl FUN_0200621C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02053D50
+FUN_02053D50: ; 0x02053D50
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02053D70
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02053D94
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02053D68
+FUN_02053D68: ; 0x02053D68
+ ldr r3, _02053D6C ; =FUN_02053EF0
+ bx r3
+ .balign 4
+_02053D6C: .word FUN_02053EF0
+
+ thumb_func_start FUN_02053D70
+FUN_02053D70: ; 0x02053D70
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r1, r4, #0x0
+ mov r0, #0x2
+ add r1, #0x30
+ mov r2, #0x4
+ bl FUN_02008C9C
+ str r0, [r4, #0x0]
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E74C
+ pop {r4, pc}
+
+ thumb_func_start FUN_02053D94
+FUN_02053D94: ; 0x02053D94
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ str r1, [sp, #0x10]
+ add r7, r2, #0x0
+ mov r6, #0x0
+ add r4, r5, #0x0
+_02053DA2:
+ mov r0, #0x2
+ add r1, r6, #0x0
+ mov r2, #0x4
+ bl FUN_02008DEC
+ str r0, [r4, #0x8]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x4
+ blt _02053DA2
+ ldr r0, [sp, #0x10]
+ add r1, r5, #0x0
+ lsl r0, r0, #0x2
+ str r0, [sp, #0x14]
+ ldr r3, _02053E78 ; =0x02105EC8
+ ldr r2, [sp, #0x14]
+ ldr r0, [r5, #0x8]
+ ldr r2, [r3, r2]
+ add r1, #0x18
+ bl FUN_02053E8C
+ str r0, [r5, #0x20]
+ ldr r1, [r5, #0x18]
+ mov r6, #0x0
+ ldr r0, [r1, #0x8]
+ cmp r0, #0x0
+ ble _02053DF0
+ add r4, r6, #0x0
+_02053DDA:
+ ldr r0, [r1, #0x0]
+ add r1, r7, #0x0
+ ldr r0, [r0, r4]
+ bl FUN_02009630
+ ldr r1, [r5, #0x18]
+ add r6, r6, #0x1
+ ldr r0, [r1, #0x8]
+ add r4, r4, #0x4
+ cmp r6, r0
+ blt _02053DDA
+_02053DF0:
+ ldr r3, _02053E7C ; =0x02105ED0
+ ldr r2, [sp, #0x14]
+ add r1, r5, #0x0
+ ldr r0, [r5, #0xc]
+ ldr r2, [r3, r2]
+ add r1, #0x1c
+ bl FUN_02053E8C
+ str r0, [r5, #0x24]
+ ldr r1, [r5, #0x1c]
+ mov r6, #0x0
+ ldr r0, [r1, #0x8]
+ cmp r0, #0x0
+ ble _02053E24
+ add r4, r6, #0x0
+_02053E0E:
+ ldr r0, [r1, #0x0]
+ add r1, r7, #0x0
+ ldr r0, [r0, r4]
+ bl FUN_02009630
+ ldr r1, [r5, #0x1c]
+ add r6, r6, #0x1
+ ldr r0, [r1, #0x8]
+ add r4, r4, #0x4
+ cmp r6, r0
+ blt _02053E0E
+_02053E24:
+ ldr r0, [r5, #0x10]
+ ldr r2, _02053E80 ; =0x02105F48
+ mov r1, #0x0
+ bl FUN_02053E8C
+ str r0, [r5, #0x28]
+ ldr r0, [r5, #0x14]
+ ldr r2, _02053E84 ; =0x02105F64
+ mov r1, #0x0
+ bl FUN_02053E8C
+ str r0, [r5, #0x2c]
+ ldr r0, [r5, #0x18]
+ bl FUN_02009B44
+ ldr r0, [r5, #0x1c]
+ bl FUN_02009DAC
+ ldr r1, _02053E88 ; =0x02105F80
+ mov r0, #0x4
+ bl FUN_020161A4
+ ldr r1, [r5, #0x10]
+ add r4, r0, #0x0
+ str r1, [sp, #0x0]
+ ldr r1, [r5, #0x14]
+ str r1, [sp, #0x4]
+ mov r1, #0x0
+ str r1, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r2, [r5, #0x8]
+ ldr r3, [r5, #0xc]
+ mov r1, #0x4
+ bl FUN_02008BE0
+ str r0, [r5, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_02053E78: .word 0x02105EC8
+_02053E7C: .word 0x02105ED0
+_02053E80: .word 0x02105F48
+_02053E84: .word 0x02105F64
+_02053E88: .word 0x02105F80
+
+ thumb_func_start FUN_02053E8C
+FUN_02053E8C: ; 0x02053E8C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0200965C
+ add r1, r0, #0x0
+ mov r0, #0x4
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r0, #0x4
+ add r1, r6, #0x0
+ bl FUN_020161A4
+ add r6, r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x4
+ bl FUN_02009668
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ cmp r5, #0x0
+ beq _02053ED0
+ add r0, r4, #0x0
+ bl FUN_020096CC
+ mov r1, #0x4
+ bl FUN_02009424
+ str r0, [r5, #0x0]
+ add r2, r0, #0x0
+ b _02053ED2
+_02053ED0:
+ mov r2, #0x0
+_02053ED2:
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ mov r3, #0x4
+ bl FUN_020093A8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020096B4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02053EF0
+FUN_02053EF0: ; 0x02053EF0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0201FD58
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ ldr r0, [r5, #0x4]
+ bl FUN_02008C80
+ mov r0, #0x0
+ str r0, [r5, #0x4]
+ ldr r0, [r5, #0x18]
+ bl FUN_02009C30
+ ldr r0, [r5, #0x1c]
+ bl FUN_02009E28
+ mov r6, #0x0
+ add r4, r5, #0x0
+_02053F18:
+ ldr r0, [r4, #0x18]
+ bl FUN_02009448
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x2
+ blt _02053F18
+ mov r4, #0x0
+_02053F28:
+ ldr r0, [r5, #0x8]
+ bl FUN_02008E2C
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _02053F28
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02053F38
+FUN_02053F38: ; 0x02053F38
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ mov r4, #0x10
+ mov r3, #0x0
+_02053F40:
+ strb r3, [r5, #0x0]
+ add r5, r5, #0x1
+ sub r4, r4, #0x1
+ bne _02053F40
+ cmp r2, #0x5
+ bhi _02053FB6
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02053F58: ; jump table (using 16-bit offset)
+ .short _02053F64 - _02053F58 - 2; case 0
+ .short _02053F72 - _02053F58 - 2; case 1
+ .short _02053F80 - _02053F58 - 2; case 2
+ .short _02053F8E - _02053F58 - 2; case 3
+ .short _02053F9C - _02053F58 - 2; case 4
+ .short _02053FAA - _02053F58 - 2; case 5
+_02053F64:
+ ldr r2, _02053FC0 ; =FUN_02054088
+ str r2, [r1, #0x4]
+ ldr r2, _02053FC4 ; =FUN_020540C8
+ str r2, [r1, #0x8]
+ ldr r2, _02053FC8 ; =FUN_020540E8
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F72:
+ ldr r2, _02053FCC ; =FUN_02054168
+ str r2, [r1, #0x4]
+ ldr r2, _02053FD0 ; =FUN_020541A4
+ str r2, [r1, #0x8]
+ ldr r2, _02053FD4 ; =FUN_020541C4
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F80:
+ ldr r2, _02053FD8 ; =FUN_020541E8
+ str r2, [r1, #0x4]
+ ldr r2, _02053FDC ; =FUN_02054228
+ str r2, [r1, #0x8]
+ ldr r2, _02053FE0 ; =FUN_02054248
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F8E:
+ ldr r2, _02053FE4 ; =FUN_020542A4
+ str r2, [r1, #0x4]
+ ldr r2, _02053FE8 ; =FUN_020542E8
+ str r2, [r1, #0x8]
+ ldr r2, _02053FEC ; =FUN_02054308
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053F9C:
+ ldr r2, _02053FF0 ; =FUN_020543D8
+ str r2, [r1, #0x4]
+ ldr r2, _02053FF4 ; =FUN_0205442C
+ str r2, [r1, #0x8]
+ ldr r2, _02053FF8 ; =FUN_0205444C
+ str r2, [r1, #0xc]
+ b _02053FB6
+_02053FAA:
+ ldr r2, _02053FFC ; =FUN_02054508
+ str r2, [r1, #0x4]
+ ldr r2, _02054000 ; =FUN_0205454C
+ str r2, [r1, #0x8]
+ ldr r2, _02054004 ; =FUN_0205456C
+ str r2, [r1, #0xc]
+_02053FB6:
+ ldr r2, [r1, #0x4]
+ add r0, r0, #0x4
+ blx r2
+ pop {r3-r5, pc}
+ nop
+_02053FC0: .word FUN_02054088
+_02053FC4: .word FUN_020540C8
+_02053FC8: .word FUN_020540E8
+_02053FCC: .word FUN_02054168
+_02053FD0: .word FUN_020541A4
+_02053FD4: .word FUN_020541C4
+_02053FD8: .word FUN_020541E8
+_02053FDC: .word FUN_02054228
+_02053FE0: .word FUN_02054248
+_02053FE4: .word FUN_020542A4
+_02053FE8: .word FUN_020542E8
+_02053FEC: .word FUN_02054308
+_02053FF0: .word FUN_020543D8
+_02053FF4: .word FUN_0205442C
+_02053FF8: .word FUN_0205444C
+_02053FFC: .word FUN_02054508
+_02054000: .word FUN_0205454C
+_02054004: .word FUN_0205456C
+
+ thumb_func_start FUN_02054008
+FUN_02054008: ; 0x02054008
+ push {r3-r7, lr}
+ sub sp, #0x30
+ add r5, r0, #0x0
+ add r7, sp, #0x0
+ add r6, r3, #0x0
+ mov r0, #0x0
+ add r4, r1, #0x0
+ add r3, r7, #0x0
+ add r1, r0, #0x0
+ stmia r3!, {r0-r1}
+ stmia r3!, {r0-r1}
+ stmia r3!, {r0-r1}
+ stmia r3!, {r0-r1}
+ stmia r3!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r3, sp, #0x8
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x4]
+ ldr r1, [r0, #0x0]
+ mov r0, #0x24
+ mul r0, r4
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ add r2, sp, #0x14
+ str r0, [r3, #0x0]
+ ldr r3, _0205406C ; =0x020F5C08
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ ldr r0, [sp, #0x48]
+ str r6, [sp, #0x24]
+ str r0, [sp, #0x28]
+ mov r0, #0x4
+ str r0, [sp, #0x2c]
+ add r0, r7, #0x0
+ bl FUN_0201FE94
+ add r4, r0, #0x0
+ bne _02054064
+ bl ErrorHandling
+_02054064:
+ add r0, r4, #0x0
+ add sp, #0x30
+ pop {r3-r7, pc}
+ nop
+_0205406C: .word 0x020F5C08
+
+ thumb_func_start FUN_02054070
+FUN_02054070: ; 0x02054070
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x8]
+ blx r1
+ mov r1, #0x10
+ mov r0, #0x0
+_0205407C:
+ strb r0, [r4, #0x0]
+ add r4, r4, #0x1
+ sub r1, r1, #0x1
+ bne _0205407C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02054088
+FUN_02054088: ; 0x02054088
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x14
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x14
+ mov r1, #0x0
+_0205409C:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _0205409C
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x45
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x4]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02054008
+ str r0, [r5, #0xc]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020540C8
+FUN_020540C8: ; 0x020540C8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020540E4
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_020540E4:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020540E8
+FUN_020540E8: ; 0x020540E8
+ push {r3-r6, lr}
+ sub sp, #0xc
+ ldr r4, [r0, #0x0]
+ mov r2, #0x2
+ ldr r0, [r4, #0x10]
+ lsl r2, r2, #0xe
+ cmp r0, r2
+ bgt _0205415E
+ add r6, r4, #0x0
+ ldmia r6!, {r0-r1}
+ add r5, sp, #0x0
+ add r3, r5, #0x0
+ stmia r5!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ lsr r2, r2, #0x4
+ str r0, [r5, #0x0]
+ ldr r0, [r4, #0x10]
+ ldr r1, [sp, #0x4]
+ asr r0, r0, #0x4
+ lsl r5, r0, #0x2
+ ldr r0, _02054164 ; =0x020FFA38
+ ldrsh r5, [r0, r5]
+ asr r0, r5, #0x1f
+ lsr r6, r5, #0x10
+ lsl r0, r0, #0x10
+ orr r0, r6
+ lsl r6, r5, #0x10
+ mov r5, #0x0
+ add r2, r6, r2
+ adc r0, r5
+ lsl r0, r0, #0x14
+ lsr r2, r2, #0xc
+ orr r2, r0
+ sub r0, r1, r2
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r3, #0x0
+ bl FUN_02020044
+ mov r1, #0x2
+ ldr r0, [r4, #0x10]
+ lsl r1, r1, #0xa
+ add r0, r0, r1
+ str r0, [r4, #0x10]
+ ldr r0, [r4, #0xc]
+ lsl r1, r1, #0x1
+ bl FUN_020201E4
+ mov r0, #0x2
+ ldr r1, [r4, #0x10]
+ lsl r0, r0, #0xe
+ cmp r1, r0
+ bne _02054158
+ add sp, #0xc
+ mov r0, #0x2
+ pop {r3-r6, pc}
+_02054158:
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r6, pc}
+_0205415E:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+_02054164: .word 0x020FFA38
+
+ thumb_func_start FUN_02054168
+FUN_02054168: ; 0x02054168
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x14
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x14
+ mov r1, #0x0
+_0205417C:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _0205417C
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x6
+ lsl r0, r0, #0x10
+ mov r1, #0x1
+ str r0, [r5, #0x4]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02054008
+ str r0, [r5, #0xc]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020541A4
+FUN_020541A4: ; 0x020541A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020541C0
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_020541C0:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020541C4
+FUN_020541C4: ; 0x020541C4
+ push {r4, lr}
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x7
+ bge _020541E2
+ mov r1, #0x1
+ ldr r0, [r4, #0xc]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ mov r0, #0x1
+ pop {r4, pc}
+_020541E2:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020541E8
+FUN_020541E8: ; 0x020541E8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x14
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x14
+ mov r1, #0x0
+_020541FC:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _020541FC
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x3
+ lsl r0, r0, #0x12
+ str r0, [r5, #0x4]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02054008
+ str r0, [r5, #0xc]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02054228
+FUN_02054228: ; 0x02054228
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02054244
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_02054244:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02054248
+FUN_02054248: ; 0x02054248
+ push {r4, lr}
+ ldr r4, [r0, #0x0]
+ mov r0, #0x2
+ ldr r1, [r4, #0x4]
+ lsl r0, r0, #0xe
+ add r0, r1, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ mov r1, #0x1
+ ldr r0, [r4, #0xc]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, [r4, #0x10]
+ ldr r1, [r4, #0x4]
+ cmp r0, #0x0
+ bne _02054284
+ mov r0, #0x6
+ lsl r0, r0, #0x12
+ cmp r1, r0
+ blt _0205429A
+ ldr r0, _020542A0 ; =0xFFFE0000
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _0205429A
+_02054284:
+ mov r0, #0x45
+ lsl r0, r0, #0xc
+ cmp r1, r0
+ blt _0205429A
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ mov r0, #0x0
+ pop {r4, pc}
+_0205429A:
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_020542A0: .word 0xFFFE0000
+
+ thumb_func_start FUN_020542A4
+FUN_020542A4: ; 0x020542A4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x18
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x18
+ mov r1, #0x0
+_020542B8:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _020542B8
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x45
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x4]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02054008
+ mov r1, #0x1
+ str r0, [r5, #0xc]
+ bl FUN_02020130
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020542E8
+FUN_020542E8: ; 0x020542E8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02054304
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_02054304:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02054308
+FUN_02054308: ; 0x02054308
+ push {r3-r5, lr}
+ ldr r4, [r0, #0x0]
+ mov r5, #0x1
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x4
+ bhi _020543CC
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02054320: ; jump table (using 16-bit offset)
+ .short _0205432A - _02054320 - 2; case 0
+ .short _02054348 - _02054320 - 2; case 1
+ .short _02054376 - _02054320 - 2; case 2
+ .short _020543A2 - _02054320 - 2; case 3
+ .short _020543CA - _02054320 - 2; case 4
+_0205432A:
+ ldr r1, [r4, #0x14]
+ ldr r0, _020543D0 ; =0x00000333
+ add r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_020201E4
+ ldr r1, [r4, #0x14]
+ lsl r0, r5, #0xd
+ cmp r1, r0
+ blt _020543CC
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_02054348:
+ ldr r1, [r4, #0x4]
+ ldr r0, _020543D4 ; =0xFFFE0000
+ cmp r1, r0
+ ble _02054368
+ lsl r0, r5, #0xf
+ sub r0, r1, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ b _020543CC
+_02054368:
+ mov r0, #0x6
+ lsl r0, r0, #0x12
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_02054376:
+ ldr r1, [r4, #0x4]
+ lsl r0, r5, #0xf
+ sub r0, r1, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ mov r0, #0x4b
+ ldr r1, [r4, #0x4]
+ lsl r0, r0, #0xe
+ cmp r1, r0
+ bge _020543CC
+ ldr r0, [r4, #0x10]
+ mov r5, #0x2
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_020543A2:
+ mov r1, #0x3
+ ldr r2, [r4, #0x4]
+ lsl r1, r1, #0x12
+ cmp r2, r1
+ ble _020543C4
+ lsl r0, r5, #0xf
+ sub r0, r2, r0
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x14]
+ bl FUN_020201E4
+ b _020543CC
+_020543C4:
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020543CC
+_020543CA:
+ mov r5, #0x0
+_020543CC:
+ add r0, r5, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_020543D0: .word 0x00000333
+_020543D4: .word 0xFFFE0000
+
+ thumb_func_start FUN_020543D8
+FUN_020543D8: ; 0x020543D8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x18
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x18
+ mov r1, #0x0
+_020543EC:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _020543EC
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x45
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x4]
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02054008
+ mov r1, #0x1
+ str r0, [r5, #0xc]
+ bl FUN_02020130
+ mov r0, #0x2
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x14]
+ ldr r0, [r5, #0xc]
+ mov r1, #0x0
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205442C
+FUN_0205442C: ; 0x0205442C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02054448
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_02054448:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205444C
+FUN_0205444C: ; 0x0205444C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ ldr r4, [r0, #0x0]
+ mov r5, #0x1
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x3
+ bhi _020544F8
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02054466: ; jump table (using 16-bit offset)
+ .short _0205446E - _02054466 - 2; case 0
+ .short _0205447E - _02054466 - 2; case 1
+ .short _020544DA - _02054466 - 2; case 2
+ .short _020544F6 - _02054466 - 2; case 3
+_0205446E:
+ ldr r0, [r4, #0xc]
+ add r1, r5, #0x0
+ bl FUN_020200A0
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020544F8
+_0205447E:
+ ldr r2, [r4, #0x14]
+ lsl r1, r5, #0xf
+ cmp r2, r1
+ bgt _020544D4
+ add r6, r4, #0x0
+ ldmia r6!, {r0-r1}
+ add r3, sp, #0x0
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ mov r7, #0x0
+ str r0, [r3, #0x0]
+ ldr r0, [r4, #0x14]
+ ldr r6, [sp, #0x4]
+ asr r0, r0, #0x4
+ lsl r1, r0, #0x2
+ ldr r0, _02054500 ; =0x020FFA38
+ ldrsh r0, [r0, r1]
+ asr r3, r0, #0x1f
+ lsr r1, r0, #0xf
+ lsl r3, r3, #0x11
+ orr r3, r1
+ lsl r1, r0, #0x11
+ lsl r0, r5, #0xb
+ add r0, r1, r0
+ adc r3, r7
+ lsl r1, r3, #0x14
+ lsr r0, r0, #0xc
+ orr r0, r1
+ sub r0, r6, r0
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0xc]
+ add r1, r2, #0x0
+ bl FUN_02020044
+ ldr r0, [r4, #0x14]
+ lsl r1, r5, #0xc
+ add r0, r0, r1
+ str r0, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_020201E4
+ b _020544F8
+_020544D4:
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020544F8
+_020544DA:
+ ldr r1, [r4, #0x14]
+ ldr r0, _02054504 ; =0x00000666
+ sub r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_020201E4
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bgt _020544F8
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ b _020544F8
+_020544F6:
+ mov r5, #0x0
+_020544F8:
+ add r0, r5, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02054500: .word 0x020FFA38
+_02054504: .word 0x00000666
+
+ thumb_func_start FUN_02054508
+FUN_02054508: ; 0x02054508
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x14
+ bl FUN_02016998
+ str r0, [r5, #0x0]
+ mov r2, #0x14
+ mov r1, #0x0
+_0205451C:
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _0205451C
+ ldr r5, [r5, #0x0]
+ mov r0, #0x7
+ lsl r0, r0, #0x10
+ str r0, [r5, #0x0]
+ mov r0, #0x6
+ lsl r0, r0, #0x10
+ mov r1, #0x1
+ str r0, [r5, #0x4]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02054008
+ mov r1, #0x1
+ str r0, [r5, #0xc]
+ bl FUN_02020130
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205454C
+FUN_0205454C: ; 0x0205454C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02054568
+ ldr r0, [r0, #0xc]
+ bl FUN_0201FFC8
+ ldr r1, [r4, #0x0]
+ mov r0, #0x4
+ bl FUN_02016A8C
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_02054568:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205456C
+FUN_0205456C: ; 0x0205456C
+ push {r4, lr}
+ ldr r4, [r0, #0x0]
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x8
+ bge _0205458A
+ mov r1, #0x1
+ ldr r0, [r4, #0xc]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, [r4, #0x10]
+ add r0, r0, #0x1
+ str r0, [r4, #0x10]
+ mov r0, #0x1
+ pop {r4, pc}
+_0205458A:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02054590
+FUN_02054590: ; 0x02054590
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r1, #0x1
+ bne _0205459C
+ bl FUN_0201BD5C
+_0205459C:
+ mov r1, #0x1a
+ add r0, r4, #0x0
+ lsl r1, r1, #0x4
+ mov r2, #0x4
+ bl FUN_02002ED0
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ mov r2, #0x4
+ bl FUN_02002EEC
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020545B8
+FUN_020545B8: ; 0x020545B8
+ push {lr}
+ sub sp, #0x14
+ cmp r2, #0x3
+ bne _020545E0
+ mov r2, #0x13
+ str r2, [sp, #0x0]
+ mov r2, #0x1b
+ str r2, [sp, #0x4]
+ mov r2, #0x4
+ str r2, [sp, #0x8]
+ mov r2, #0xc
+ str r2, [sp, #0xc]
+ ldr r2, _02054604 ; =0x0000032D
+ mov r3, #0x2
+ str r2, [sp, #0x10]
+ mov r2, #0x3
+ bl FUN_02019064
+ add sp, #0x14
+ pop {pc}
+_020545E0:
+ mov r2, #0x13
+ str r2, [sp, #0x0]
+ mov r2, #0x1b
+ str r2, [sp, #0x4]
+ mov r2, #0x4
+ str r2, [sp, #0x8]
+ mov r2, #0xc
+ str r2, [sp, #0xc]
+ mov r2, #0x65
+ lsl r2, r2, #0x2
+ str r2, [sp, #0x10]
+ mov r2, #0x7
+ mov r3, #0x2
+ bl FUN_02019064
+ add sp, #0x14
+ pop {pc}
+ nop
+_02054604: .word 0x0000032D
+
+ thumb_func_start FUN_02054608
+FUN_02054608: ; 0x02054608
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ bl FUN_0201AB08
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02025084
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ ldr r2, _02054648 ; =0x000003E2
+ add r1, r6, #0x0
+ mov r3, #0xa
+ bl FUN_0200CD68
+ add r0, r5, #0x0
+ bl FUN_0205464C
+ ldr r2, _02054648 ; =0x000003E2
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_02054648: .word 0x000003E2
+
+ thumb_func_start FUN_0205464C
+FUN_0205464C: ; 0x0205464C
+ ldr r3, _02054654 ; =FUN_02019620
+ mov r1, #0xf
+ bx r3
+ nop
+_02054654: .word FUN_02019620
+
+ thumb_func_start FUN_02054658
+FUN_02054658: ; 0x02054658
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, r3, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02002B60
+ mov r0, #0x0
+ bl FUN_02002B7C
+ mov r0, #0x0
+ bl FUN_02002BB8
+ add r0, r6, #0x0
+ bl FUN_02024FF4
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0201BD84
+ add sp, #0xc
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02054690
+FUN_02054690: ; 0x02054690
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x10]
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02002B60
+ ldr r0, [sp, #0x24]
+ bl FUN_02002B7C
+ mov r0, #0x0
+ bl FUN_02002BB8
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r4, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0201BD84
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020546C8
+FUN_020546C8: ; 0x020546C8
+ push {r3, lr}
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020546D6
+ mov r0, #0x1
+ b _020546D8
+_020546D6:
+ mov r0, #0x0
+_020546D8:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020546E0
+FUN_020546E0: ; 0x020546E0
+ push {r4-r5, lr}
+ sub sp, #0x14
+ cmp r2, #0x1
+ bhi _020546EE
+ mov r4, #0x9
+ mov r5, #0x14
+ b _020546F2
+_020546EE:
+ mov r4, #0x2
+ mov r5, #0x1b
+_020546F2:
+ cmp r3, #0x3
+ bne _0205471A
+ mov r2, #0x13
+ str r2, [sp, #0x0]
+ lsl r2, r5, #0x18
+ lsr r2, r2, #0x18
+ str r2, [sp, #0x4]
+ mov r2, #0x4
+ str r2, [sp, #0x8]
+ mov r2, #0x9
+ str r2, [sp, #0xc]
+ ldr r2, _02054740 ; =0x0000032D
+ lsl r3, r4, #0x18
+ str r2, [sp, #0x10]
+ mov r2, #0x3
+ lsr r3, r3, #0x18
+ bl FUN_02019064
+ add sp, #0x14
+ pop {r4-r5, pc}
+_0205471A:
+ mov r2, #0x13
+ str r2, [sp, #0x0]
+ lsl r2, r5, #0x18
+ lsr r2, r2, #0x18
+ str r2, [sp, #0x4]
+ mov r2, #0x4
+ str r2, [sp, #0x8]
+ mov r2, #0x9
+ str r2, [sp, #0xc]
+ mov r2, #0x65
+ lsl r2, r2, #0x2
+ lsl r3, r4, #0x18
+ str r2, [sp, #0x10]
+ mov r2, #0x7
+ lsr r3, r3, #0x18
+ bl FUN_02019064
+ add sp, #0x14
+ pop {r4-r5, pc}
+ .balign 4
+_02054740: .word 0x0000032D
+
+ thumb_func_start FUN_02054744
+FUN_02054744: ; 0x02054744
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ bl FUN_0201AB08
+ add r1, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ str r6, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x0]
+ ldr r2, _02054788 ; =0x00000399
+ mov r3, #0x9
+ bl FUN_0200D300
+ add r0, r5, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r2, _02054788 ; =0x00000399
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r3, #0x9
+ bl FUN_0200D6F8
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+_02054788: .word 0x00000399
+
+ thumb_func_start FUN_0205478C
+FUN_0205478C: ; 0x0205478C
+ cmp r0, #0x2
+ bne _02054794
+ mov r0, #0x1
+ bx lr
+_02054794:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054798
+FUN_02054798: ; 0x02054798
+ cmp r0, #0x3
+ bne _020547A0
+ mov r0, #0x1
+ bx lr
+_020547A0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547A4
+FUN_020547A4: ; 0x020547A4
+ cmp r0, #0x80
+ bne _020547AC
+ mov r0, #0x1
+ bx lr
+_020547AC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547B0
+FUN_020547B0: ; 0x020547B0
+ cmp r0, #0x69
+ bne _020547B8
+ mov r0, #0x1
+ bx lr
+_020547B8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547BC
+FUN_020547BC: ; 0x020547BC
+ cmp r0, #0x62
+ bne _020547C4
+ mov r0, #0x1
+ bx lr
+_020547C4:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547C8
+FUN_020547C8: ; 0x020547C8
+ cmp r0, #0x63
+ bne _020547D0
+ mov r0, #0x1
+ bx lr
+_020547D0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547D4
+FUN_020547D4: ; 0x020547D4
+ cmp r0, #0x64
+ bne _020547DC
+ mov r0, #0x1
+ bx lr
+_020547DC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547E0
+FUN_020547E0: ; 0x020547E0
+ cmp r0, #0x65
+ bne _020547E8
+ mov r0, #0x1
+ bx lr
+_020547E8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547EC
+FUN_020547EC: ; 0x020547EC
+ cmp r0, #0x6c
+ bne _020547F4
+ mov r0, #0x1
+ bx lr
+_020547F4:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020547F8
+FUN_020547F8: ; 0x020547F8
+ cmp r0, #0x6d
+ bne _02054800
+ mov r0, #0x1
+ bx lr
+_02054800:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054804
+FUN_02054804: ; 0x02054804
+ cmp r0, #0x6e
+ bne _0205480C
+ mov r0, #0x1
+ bx lr
+_0205480C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054810
+FUN_02054810: ; 0x02054810
+ cmp r0, #0x6f
+ bne _02054818
+ mov r0, #0x1
+ bx lr
+_02054818:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205481C
+FUN_0205481C: ; 0x0205481C
+ ldr r1, _0205482C ; =0x020F5C14
+ ldrb r1, [r1, r0]
+ mov r0, #0x1
+ tst r1, r0
+ bne _02054828
+ mov r0, #0x0
+_02054828:
+ bx lr
+ nop
+_0205482C: .word 0x020F5C14
+
+ thumb_func_start FUN_02054830
+FUN_02054830: ; 0x02054830
+ cmp r0, #0x21
+ bne _02054838
+ mov r0, #0x1
+ bx lr
+_02054838:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205483C
+FUN_0205483C: ; 0x0205483C
+ cmp r0, #0x17
+ bne _02054844
+ mov r0, #0x1
+ bx lr
+_02054844:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054848
+FUN_02054848: ; 0x02054848
+ cmp r0, #0x3a
+ bne _02054850
+ mov r0, #0x1
+ bx lr
+_02054850:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054854
+FUN_02054854: ; 0x02054854
+ cmp r0, #0x3b
+ bne _0205485C
+ mov r0, #0x1
+ bx lr
+_0205485C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054860
+FUN_02054860: ; 0x02054860
+ cmp r0, #0x39
+ bne _02054868
+ mov r0, #0x1
+ bx lr
+_02054868:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205486C
+FUN_0205486C: ; 0x0205486C
+ cmp r0, #0x38
+ bne _02054874
+ mov r0, #0x1
+ bx lr
+_02054874:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054878
+FUN_02054878: ; 0x02054878
+ cmp r0, #0x83
+ bne _02054880
+ mov r0, #0x1
+ bx lr
+_02054880:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054884
+FUN_02054884: ; 0x02054884
+ cmp r0, #0x85
+ bne _0205488C
+ mov r0, #0x1
+ bx lr
+_0205488C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054890
+FUN_02054890: ; 0x02054890
+ cmp r0, #0x56
+ bne _02054898
+ mov r0, #0x1
+ bx lr
+_02054898:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205489C
+FUN_0205489C: ; 0x0205489C
+ cmp r0, #0x57
+ bne _020548A4
+ mov r0, #0x1
+ bx lr
+_020548A4:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548A8
+FUN_020548A8: ; 0x020548A8
+ cmp r0, #0x58
+ bne _020548B0
+ mov r0, #0x1
+ bx lr
+_020548B0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548B4
+FUN_020548B4: ; 0x020548B4
+ cmp r0, #0x59
+ bne _020548BC
+ mov r0, #0x1
+ bx lr
+_020548BC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548C0
+FUN_020548C0: ; 0x020548C0
+ cmp r0, #0x6a
+ bne _020548C8
+ mov r0, #0x1
+ bx lr
+_020548C8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548CC
+FUN_020548CC: ; 0x020548CC
+ cmp r0, #0x6b
+ bne _020548D4
+ mov r0, #0x1
+ bx lr
+_020548D4:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548D8
+FUN_020548D8: ; 0x020548D8
+ cmp r0, #0x5e
+ bne _020548E0
+ mov r0, #0x1
+ bx lr
+_020548E0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548E4
+FUN_020548E4: ; 0x020548E4
+ cmp r0, #0x5f
+ bne _020548EC
+ mov r0, #0x1
+ bx lr
+_020548EC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548F0
+FUN_020548F0: ; 0x020548F0
+ cmp r0, #0x20
+ bne _020548F8
+ mov r0, #0x1
+ bx lr
+_020548F8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020548FC
+FUN_020548FC: ; 0x020548FC
+ cmp r0, #0x4b
+ bne _02054904
+ mov r0, #0x1
+ bx lr
+_02054904:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054908
+FUN_02054908: ; 0x02054908
+ cmp r0, #0x4c
+ bne _02054910
+ mov r0, #0x1
+ bx lr
+_02054910:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054914
+FUN_02054914: ; 0x02054914
+ cmp r0, #0xe0
+ bne _0205491C
+ mov r0, #0x1
+ bx lr
+_0205491C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054920
+FUN_02054920: ; 0x02054920
+ cmp r0, #0xea
+ bne _02054928
+ mov r0, #0x1
+ bx lr
+_02054928:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205492C
+FUN_0205492C: ; 0x0205492C
+ cmp r0, #0xe1
+ bne _02054934
+ mov r0, #0x1
+ bx lr
+_02054934:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054938
+FUN_02054938: ; 0x02054938
+ cmp r0, #0xe2
+ bne _02054940
+ mov r0, #0x1
+ bx lr
+_02054940:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054944
+FUN_02054944: ; 0x02054944
+ cmp r0, #0xe4
+ bne _0205494C
+ mov r0, #0x1
+ bx lr
+_0205494C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054950
+FUN_02054950: ; 0x02054950
+ cmp r0, #0xe5
+ bne _02054958
+ mov r0, #0x1
+ bx lr
+_02054958:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205495C
+FUN_0205495C: ; 0x0205495C
+ cmp r0, #0xeb
+ bne _02054964
+ mov r0, #0x1
+ bx lr
+_02054964:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054968
+FUN_02054968: ; 0x02054968
+ cmp r0, #0xec
+ bne _02054970
+ mov r0, #0x1
+ bx lr
+_02054970:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054974
+FUN_02054974: ; 0x02054974
+ cmp r0, #0xa4
+ beq _0205497C
+ cmp r0, #0xa5
+ bne _02054980
+_0205497C:
+ mov r0, #0x1
+ bx lr
+_02054980:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054984
+FUN_02054984: ; 0x02054984
+ cmp r0, #0xa5
+ bne _0205498C
+ mov r0, #0x1
+ bx lr
+_0205498C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054990
+FUN_02054990: ; 0x02054990
+ cmp r0, #0xa6
+ beq _02054998
+ cmp r0, #0xa7
+ bne _0205499C
+_02054998:
+ mov r0, #0x1
+ bx lr
+_0205499C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549A0
+FUN_020549A0: ; 0x020549A0
+ cmp r0, #0xa7
+ bne _020549A8
+ mov r0, #0x1
+ bx lr
+_020549A8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549AC
+FUN_020549AC: ; 0x020549AC
+ add r0, #0x5f
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x7
+ bhi _020549C6
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ mov r0, #0x87
+ tst r0, r2
+ beq _020549C6
+ add r3, r1, #0x0
+_020549C6:
+ add r0, r3, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020549CC
+FUN_020549CC: ; 0x020549CC
+ cmp r0, #0xa8
+ bne _020549D4
+ mov r0, #0x1
+ bx lr
+_020549D4:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549D8
+FUN_020549D8: ; 0x020549D8
+ cmp r0, #0xa1
+ bne _020549E0
+ mov r0, #0x1
+ bx lr
+_020549E0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549E4
+FUN_020549E4: ; 0x020549E4
+ cmp r0, #0xa2
+ bne _020549EC
+ mov r0, #0x1
+ bx lr
+_020549EC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549F0
+FUN_020549F0: ; 0x020549F0
+ cmp r0, #0xa3
+ bne _020549F8
+ mov r0, #0x1
+ bx lr
+_020549F8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020549FC
+FUN_020549FC: ; 0x020549FC
+ cmp r0, #0xd9
+ beq _02054A04
+ cmp r0, #0xda
+ bne _02054A08
+_02054A04:
+ mov r0, #0x1
+ bx lr
+_02054A08:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A0C
+FUN_02054A0C: ; 0x02054A0C
+ cmp r0, #0xd9
+ bne _02054A14
+ mov r0, #0x1
+ bx lr
+_02054A14:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A18
+FUN_02054A18: ; 0x02054A18
+ cmp r0, #0xda
+ bne _02054A20
+ mov r0, #0x1
+ bx lr
+_02054A20:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A24
+FUN_02054A24: ; 0x02054A24
+ cmp r0, #0xd7
+ bne _02054A2C
+ mov r0, #0x1
+ bx lr
+_02054A2C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A30
+FUN_02054A30: ; 0x02054A30
+ cmp r0, #0xd8
+ bne _02054A38
+ mov r0, #0x1
+ bx lr
+_02054A38:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A3C
+FUN_02054A3C: ; 0x02054A3C
+ cmp r0, #0x8
+ bne _02054A44
+ mov r0, #0x1
+ bx lr
+_02054A44:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A48
+FUN_02054A48: ; 0x02054A48
+ cmp r0, #0x13
+ bne _02054A50
+ mov r0, #0x1
+ bx lr
+_02054A50:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A54
+FUN_02054A54: ; 0x02054A54
+ cmp r0, #0xdb
+ bne _02054A5C
+ mov r0, #0x1
+ bx lr
+_02054A5C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054A60
+FUN_02054A60: ; 0x02054A60
+ add r0, #0xce
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x17
+ bhi _02054A7A
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054A80 ; =0x0080000D
+ tst r0, r2
+ beq _02054A7A
+ add r3, r1, #0x0
+_02054A7A:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054A80: .word 0x0080000D
+
+ thumb_func_start FUN_02054A84
+FUN_02054A84: ; 0x02054A84
+ add r0, #0xcd
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x16
+ bhi _02054A9E
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054AA4 ; =0x00400019
+ tst r0, r2
+ beq _02054A9E
+ add r3, r1, #0x0
+_02054A9E:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054AA4: .word 0x00400019
+
+ thumb_func_start FUN_02054AA8
+FUN_02054AA8: ; 0x02054AA8
+ add r0, #0xcf
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x19
+ bhi _02054AC2
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054AC8 ; =0x02000051
+ tst r0, r2
+ beq _02054AC2
+ add r3, r1, #0x0
+_02054AC2:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054AC8: .word 0x02000051
+
+ thumb_func_start FUN_02054ACC
+FUN_02054ACC: ; 0x02054ACC
+ add r0, #0xd0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x1a
+ bhi _02054AE6
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054AEC ; =0x04000051
+ tst r0, r2
+ beq _02054AE6
+ add r3, r1, #0x0
+_02054AE6:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054AEC: .word 0x04000051
+
+ thumb_func_start FUN_02054AF0
+FUN_02054AF0: ; 0x02054AF0
+ cmp r0, #0x16
+ bne _02054AF8
+ mov r0, #0x1
+ bx lr
+_02054AF8:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054AFC
+FUN_02054AFC: ; 0x02054AFC
+ ldr r1, _02054B10 ; =0x020F5C14
+ ldrb r1, [r1, r0]
+ mov r0, #0x2
+ tst r0, r1
+ beq _02054B0A
+ mov r0, #0x1
+ bx lr
+_02054B0A:
+ mov r0, #0x0
+ bx lr
+ nop
+_02054B10: .word 0x020F5C14
+
+ thumb_func_start FUN_02054B14
+FUN_02054B14: ; 0x02054B14
+ cmp r0, #0x86
+ bne _02054B1C
+ mov r0, #0x1
+ bx lr
+_02054B1C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B20
+FUN_02054B20: ; 0x02054B20
+ cmp r0, #0x16
+ beq _02054B28
+ cmp r0, #0x10
+ bne _02054B2C
+_02054B28:
+ mov r0, #0x1
+ bx lr
+_02054B2C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B30
+FUN_02054B30: ; 0x02054B30
+ cmp r0, #0x40
+ bne _02054B38
+ mov r0, #0x1
+ bx lr
+_02054B38:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B3C
+FUN_02054B3C: ; 0x02054B3C
+ cmp r0, #0x41
+ bne _02054B44
+ mov r0, #0x1
+ bx lr
+_02054B44:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B48
+FUN_02054B48: ; 0x02054B48
+ cmp r0, #0x42
+ bne _02054B50
+ mov r0, #0x1
+ bx lr
+_02054B50:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B54
+FUN_02054B54: ; 0x02054B54
+ cmp r0, #0x43
+ bne _02054B5C
+ mov r0, #0x1
+ bx lr
+_02054B5C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B60
+FUN_02054B60: ; 0x02054B60
+ cmp r0, #0x67
+ bne _02054B68
+ mov r0, #0x1
+ bx lr
+_02054B68:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B6C
+FUN_02054B6C: ; 0x02054B6C
+ cmp r0, #0x70
+ bne _02054B74
+ mov r0, #0x1
+ bx lr
+_02054B74:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054B78
+FUN_02054B78: ; 0x02054B78
+ add r0, #0x8f
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0xc
+ bhi _02054B86
+ mov r0, #0x1
+ bx lr
+_02054B86:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02054B8C
+FUN_02054B8C: ; 0x02054B8C
+ add r0, #0x8d
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x9
+ bhi _02054BA6
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054BAC ; =0x00000221
+ tst r0, r2
+ beq _02054BA6
+ add r3, r1, #0x0
+_02054BA6:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054BAC: .word 0x00000221
+
+ thumb_func_start FUN_02054BB0
+FUN_02054BB0: ; 0x02054BB0
+ add r0, #0x8c
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r3, #0x0
+ cmp r0, #0x9
+ bhi _02054BCA
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02054BD0 ; =0x00000221
+ tst r0, r2
+ beq _02054BCA
+ add r3, r1, #0x0
+_02054BCA:
+ add r0, r3, #0x0
+ bx lr
+ nop
+_02054BD0: .word 0x00000221
+
+ thumb_func_start FUN_02054BD4
+FUN_02054BD4: ; 0x02054BD4
+ cmp r0, #0x75
+ bne _02054BDC
+ mov r0, #0x1
+ bx lr
+_02054BDC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054BE0
+FUN_02054BE0: ; 0x02054BE0
+ add r0, #0x8a
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x3
+ bhi _02054BEE
+ mov r0, #0x1
+ bx lr
+_02054BEE:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02054BF4
+FUN_02054BF4: ; 0x02054BF4
+ add r0, #0x86
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x3
+ bhi _02054C02
+ mov r0, #0x1
+ bx lr
+_02054C02:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02054C08
+FUN_02054C08: ; 0x02054C08
+ cmp r0, #0xff
+ bne _02054C10
+ mov r0, #0x1
+ bx lr
+_02054C10:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02054C14
+FUN_02054C14: ; 0x02054C14
+ push {r4, lr}
+ mov r1, #0xa
+ add r4, r0, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C26
+ mov r0, #0x1
+ pop {r4, pc}
+_02054C26:
+ add r0, r4, #0x0
+ mov r1, #0x64
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C36
+ mov r0, #0x2
+ pop {r4, pc}
+_02054C36:
+ mov r1, #0xfa
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C48
+ mov r0, #0x3
+ pop {r4, pc}
+_02054C48:
+ ldr r1, _02054C9C ; =0x00002710
+ add r0, r4, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C58
+ mov r0, #0x4
+ pop {r4, pc}
+_02054C58:
+ ldr r1, _02054CA0 ; =0x000186A0
+ add r0, r4, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C68
+ mov r0, #0x5
+ pop {r4, pc}
+_02054C68:
+ ldr r1, _02054CA4 ; =0x000F4240
+ add r0, r4, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C78
+ mov r0, #0x6
+ pop {r4, pc}
+_02054C78:
+ ldr r1, _02054CA8 ; =0x00989680
+ add r0, r4, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C88
+ mov r0, #0x7
+ pop {r4, pc}
+_02054C88:
+ ldr r1, _02054CAC ; =0x05F5E100
+ add r0, r4, #0x0
+ bl _u32_div_f
+ cmp r0, #0x0
+ bne _02054C98
+ mov r0, #0x8
+ pop {r4, pc}
+_02054C98:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_02054C9C: .word 0x00002710
+_02054CA0: .word 0x000186A0
+_02054CA4: .word 0x000F4240
+_02054CA8: .word 0x00989680
+_02054CAC: .word 0x05F5E100
+
+ thumb_func_start FUN_02054CB0
+FUN_02054CB0: ; 0x02054CB0
+ mov r1, #0x52
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ blo _02054CC2
+ add r1, #0x63
+ cmp r0, r1
+ bhi _02054CC2
+ mov r0, #0x1
+ bx lr
+_02054CC2:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02054CC8
+FUN_02054CC8: ; 0x02054CC8
+ cmp r0, #0xe
+ bhi _02054CD0
+ mov r0, #0x6
+ bx lr
+_02054CD0:
+ cmp r0, #0x18
+ bhi _02054CD8
+ mov r0, #0x7
+ bx lr
+_02054CD8:
+ cmp r0, #0x27
+ bhi _02054CE0
+ mov r0, #0x8
+ bx lr
+_02054CE0:
+ cmp r0, #0x3b
+ bhi _02054CE8
+ mov r0, #0x9
+ bx lr
+_02054CE8:
+ cmp r0, #0x59
+ bhi _02054CF0
+ mov r0, #0xa
+ bx lr
+_02054CF0:
+ cmp r0, #0x72
+ bhi _02054CF8
+ mov r0, #0xb
+ bx lr
+_02054CF8:
+ cmp r0, #0x86
+ bhi _02054D00
+ mov r0, #0xc
+ bx lr
+_02054D00:
+ cmp r0, #0x90
+ bhi _02054D08
+ mov r0, #0xd
+ bx lr
+_02054D08:
+ cmp r0, #0x95
+ bhi _02054D10
+ mov r0, #0xe
+ bx lr
+_02054D10:
+ cmp r1, #0x0
+ beq _02054D18
+ mov r0, #0x4
+ bx lr
+_02054D18:
+ mov r0, #0x5
+ bx lr
+
+ thumb_func_start FUN_02054D1C
+FUN_02054D1C: ; 0x02054D1C
+ cmp r0, #0x27
+ bhi _02054D24
+ mov r0, #0x13
+ bx lr
+_02054D24:
+ cmp r0, #0x3b
+ bhi _02054D2C
+ mov r0, #0x14
+ bx lr
+_02054D2C:
+ cmp r0, #0x59
+ bhi _02054D34
+ mov r0, #0x15
+ bx lr
+_02054D34:
+ cmp r0, #0x77
+ bhi _02054D3C
+ mov r0, #0x16
+ bx lr
+_02054D3C:
+ cmp r0, #0x95
+ bhi _02054D44
+ mov r0, #0x17
+ bx lr
+_02054D44:
+ cmp r0, #0xbd
+ bhi _02054D4C
+ mov r0, #0x18
+ bx lr
+_02054D4C:
+ cmp r0, #0xe5
+ bhi _02054D54
+ mov r0, #0x19
+ bx lr
+_02054D54:
+ ldr r2, _02054DE8 ; =0x0000010D
+ cmp r0, r2
+ bhi _02054D5E
+ mov r0, #0x1a
+ bx lr
+_02054D5E:
+ add r3, r2, #0x0
+ add r3, #0x28
+ cmp r0, r3
+ bhi _02054D6A
+ mov r0, #0x1b
+ bx lr
+_02054D6A:
+ add r3, r2, #0x0
+ add r3, #0x50
+ cmp r0, r3
+ bhi _02054D76
+ mov r0, #0x1c
+ bx lr
+_02054D76:
+ add r3, r2, #0x0
+ add r3, #0x6e
+ cmp r0, r3
+ bhi _02054D82
+ mov r0, #0x1d
+ bx lr
+_02054D82:
+ add r3, r2, #0x0
+ add r3, #0x8c
+ cmp r0, r3
+ bhi _02054D8E
+ mov r0, #0x1e
+ bx lr
+_02054D8E:
+ add r3, r2, #0x0
+ add r3, #0xa0
+ cmp r0, r3
+ bhi _02054DA2
+ cmp r1, #0x0
+ beq _02054D9E
+ mov r0, #0x20
+ bx lr
+_02054D9E:
+ mov r0, #0x1f
+ bx lr
+_02054DA2:
+ add r3, r2, #0x0
+ add r3, #0xb4
+ cmp r0, r3
+ bhi _02054DAE
+ mov r0, #0x21
+ bx lr
+_02054DAE:
+ add r3, r2, #0x0
+ add r3, #0xbe
+ cmp r0, r3
+ bhi _02054DBA
+ mov r0, #0x22
+ bx lr
+_02054DBA:
+ add r3, r2, #0x0
+ add r3, #0xc8
+ cmp r0, r3
+ bhi _02054DC6
+ mov r0, #0x23
+ bx lr
+_02054DC6:
+ add r3, r2, #0x0
+ add r3, #0xce
+ cmp r0, r3
+ bhi _02054DD2
+ mov r0, #0x24
+ bx lr
+_02054DD2:
+ add r2, #0xd4
+ cmp r0, r2
+ bhi _02054DDC
+ mov r0, #0x25
+ bx lr
+_02054DDC:
+ cmp r1, #0x0
+ beq _02054DE4
+ mov r0, #0x27
+ bx lr
+_02054DE4:
+ mov r0, #0x26
+ bx lr
+ .balign 4
+_02054DE8: .word 0x0000010D
+
+ thumb_func_start FUN_02054DEC
+FUN_02054DEC: ; 0x02054DEC
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_0206BB1C
+ bl FUN_0206B9AC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ ldr r4, _02054E2C ; =0x00000000
+ beq _02054E28
+ mov r7, #0x4c
+_02054E02:
+ add r0, r6, #0x0
+ bl FUN_0206BB1C
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02054E1E
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_02054E1E:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, r5
+ blo _02054E02
+_02054E28:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02054E2C: .word 0x00000000
+
+ thumb_func_start FUN_02054E30
+FUN_02054E30: ; 0x02054E30
+ push {r3-r7, lr}
+ sub sp, #0x10
+ mov r7, #0x0
+ bl FUN_0206BB1C
+ str r0, [sp, #0x0]
+ bl FUN_0206B9AC
+ add r4, r0, #0x0
+ add r6, r7, #0x0
+ cmp r4, #0x0
+ ble _02054E64
+ add r5, sp, #0x4
+_02054E4A:
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x0]
+ add r6, r6, #0x1
+ add r5, r5, #0x2
+ cmp r6, r4
+ blt _02054E4A
+_02054E64:
+ ldr r2, _02054E9C ; =0x020F5D14
+ mov r6, #0x0
+_02054E68:
+ mov r1, #0x0
+ cmp r4, #0x0
+ ble _02054E84
+ ldrh r5, [r2, #0x0]
+ add r3, sp, #0x4
+_02054E72:
+ ldrh r0, [r3, #0x0]
+ cmp r0, r5
+ bne _02054E7C
+ add r7, r7, #0x1
+ b _02054E84
+_02054E7C:
+ add r1, r1, #0x1
+ add r3, r3, #0x2
+ cmp r1, r4
+ blt _02054E72
+_02054E84:
+ add r6, r6, #0x1
+ add r2, r2, #0x2
+ cmp r6, #0x3
+ blt _02054E68
+ cmp r7, #0x3
+ bne _02054E96
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02054E96:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02054E9C: .word 0x020F5D14
+
+ thumb_func_start FUN_02054EA0
+FUN_02054EA0: ; 0x02054EA0
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ mov r0, #0x2
+ lsl r0, r0, #0xe
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x8]
+ ldrh r0, [r4, #0xe]
+ ldr r5, [r4, #0x4]
+ bl FUN_0201B93C
+ asr r1, r0, #0x1f
+ asr r3, r5, #0x1f
+ add r2, r5, #0x0
+ bl _ll_mul
+ mov r2, #0x2
+ mov r3, #0x0
+ lsl r2, r2, #0xa
+ add r2, r0, r2
+ adc r1, r3
+ lsl r0, r1, #0x14
+ lsr r1, r2, #0xc
+ orr r1, r0
+ str r1, [sp, #0x0]
+ ldrh r0, [r4, #0xe]
+ ldr r5, [r4, #0x8]
+ bl FUN_0201B93C
+ asr r1, r0, #0x1f
+ asr r3, r5, #0x1f
+ add r2, r5, #0x0
+ bl _ll_mul
+ mov r2, #0x2
+ mov r3, #0x0
+ lsl r2, r2, #0xa
+ add r2, r0, r2
+ adc r1, r3
+ lsl r0, r1, #0x14
+ lsr r1, r2, #0xc
+ orr r1, r0
+ str r1, [sp, #0x8]
+ str r3, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02058BB4
+ ldrh r1, [r4, #0xe]
+ ldrh r0, [r4, #0x10]
+ add r0, r1, r0
+ strh r0, [r4, #0xe]
+ mov r0, #0x5a
+ ldrh r1, [r4, #0xe]
+ lsl r0, r0, #0x2
+ cmp r1, r0
+ blo _02054F28
+ mov r0, #0x0
+ strh r0, [r4, #0xe]
+ ldrh r0, [r4, #0xc]
+ sub r0, r0, #0x1
+ strh r0, [r4, #0xc]
+_02054F28:
+ ldrh r0, [r4, #0xc]
+ cmp r0, #0x0
+ bne _02054F4A
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02058BB4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_02054F4A:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_02054F50
+FUN_02054F50: ; 0x02054F50
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02046528
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0x14
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x14
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, sp, #0x8
+ ldrh r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _02054F8A
+ lsl r0, r0, #0xc
+ bl _fflt
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ b _02054F98
+_02054F8A:
+ lsl r0, r0, #0xc
+ bl _fflt
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+_02054F98:
+ bl _ffix
+ str r0, [r4, #0x4]
+ add r0, sp, #0x8
+ ldrh r0, [r0, #0x14]
+ cmp r0, #0x0
+ beq _02054FB8
+ lsl r0, r0, #0xc
+ bl _fflt
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ b _02054FC6
+_02054FB8:
+ lsl r0, r0, #0xc
+ bl _fflt
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+_02054FC6:
+ bl _ffix
+ str r0, [r4, #0x8]
+ strh r6, [r4, #0xc]
+ strh r7, [r4, #0x10]
+ ldr r0, [sp, #0x0]
+ str r5, [r4, #0x0]
+ ldr r0, [r0, #0x10]
+ ldr r1, _02054FE0 ; =FUN_02054EA0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_02054FE0: .word FUN_02054EA0
+
+ thumb_func_start FUN_02054FE4
+FUN_02054FE4: ; 0x02054FE4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldrb r1, [r4, #0x9]
+ ldr r0, [r4, #0x0]
+ bl FUN_0205889C
+ ldrb r1, [r4, #0x8]
+ add r0, r1, #0x1
+ strb r0, [r4, #0x8]
+ ldrh r0, [r4, #0x6]
+ cmp r1, r0
+ blt _02055028
+ ldrb r1, [r4, #0x9]
+ mov r0, #0x1
+ eor r0, r1
+ strb r0, [r4, #0x9]
+ mov r0, #0x0
+ strb r0, [r4, #0x8]
+ ldrh r1, [r4, #0x4]
+ sub r0, r1, #0x1
+ strh r0, [r4, #0x4]
+ cmp r1, #0x0
+ bne _02055028
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4, pc}
+_02055028:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205502C
+FUN_0205502C: ; 0x0205502C
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02046528
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0xc
+ bl MI_CpuFill8
+ strh r6, [r4, #0x4]
+ strh r7, [r4, #0x6]
+ str r5, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x9]
+ ldr r0, [sp, #0x0]
+ ldr r1, _02055064 ; =FUN_02054FE4
+ ldr r0, [r0, #0x10]
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_02055064: .word FUN_02054FE4
+
+ thumb_func_start FUN_02055068
+FUN_02055068: ; 0x02055068
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0205517C
+ ldr r1, [sp, #0x20]
+ ldr r2, [sp, #0x24]
+ ldr r3, [sp, #0x28]
+ add r6, r0, #0x0
+ bl FUN_0205519C
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x24]
+ bl FUN_020555A0
+ add r2, r0, #0x0
+ str r5, [sp, #0x0]
+ ldr r3, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ str r4, [sp, #0x4]
+ bl FUN_02055208
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020550A4
+FUN_020550A4: ; 0x020550A4
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r7, r0, #0x0
+ add r6, r2, #0x0
+ bl FUN_0205517C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020554C8
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ bl FUN_0205519C
+ add r0, r7, #0x0
+ bl FUN_020552E4
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_020555A0
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058454
+ mov r1, #0x9
+ add r0, r4, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_02058410
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058418
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02058AC8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205539C
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055108
+FUN_02055108: ; 0x02055108
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bne _02055118
+ bl ErrorHandling
+_02055118:
+ add r0, r4, #0x0
+ bl FUN_02058578
+ add r0, r5, #0x0
+ bl MOD05_021EDBC8
+ add r0, r5, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x2
+ bne _0205515C
+ add r0, r5, #0x0
+ bl FUN_02055320
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205532C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020552F8
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl MOD06_0224ABAC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02055450
+_0205515C:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055160
+FUN_02055160: ; 0x02055160
+ ldr r3, _02055164 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02055164: .word FUN_02016A18
+
+ thumb_func_start FUN_02055168
+FUN_02055168: ; 0x02055168
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020553A0
+ bl FUN_02057654
+ add r0, r4, #0x0
+ bl FUN_02055160
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205517C
+FUN_0205517C: ; 0x0205517C
+ push {r4, lr}
+ mov r0, #0xb
+ mov r1, #0x3c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _0205518E
+ bl ErrorHandling
+_0205518E:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x3c
+ bl memset
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205519C
+FUN_0205519C: ; 0x0205519C
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r1, r3, #0x0
+ add r6, r2, #0x0
+ bl FUN_02055458
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020553A8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020553E4
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020553DC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ bl FUN_0205542C
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ bl FUN_02055434
+ add r0, r5, #0x0
+ mov r1, #0xff
+ bl FUN_02055460
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020556C8
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205574C
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055208
+FUN_02055208: ; 0x02055208
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r0, r1, #0x0
+ ldr r1, [sp, #0x18]
+ ldr r2, [sp, #0x1c]
+ bl FUN_0205753C
+ add r5, r0, #0x0
+ bne _02055228
+ bl ErrorHandling
+_02055228:
+ add r0, r5, #0x0
+ mov r1, #0xff
+ bl FUN_02058444
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058484
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205848C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058494
+ mov r1, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020584EC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_020584EC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mov r2, #0x2
+ bl FUN_020584EC
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ bl FUN_02058534
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ bl FUN_0205853C
+ mov r1, #0x9
+ add r0, r5, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_02058410
+ mov r1, #0x6
+ add r0, r5, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058418
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058AC8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0205539C
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020552A4
+FUN_020552A4: ; 0x020552A4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ str r1, [sp, #0x0]
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ add r5, r0, #0x0
+ bl FUN_020580F4
+ cmp r0, #0x0
+ beq _020552DE
+ add r4, sp, #0x0
+ add r6, sp, #0x4
+ mov r7, #0x1
+_020552C4:
+ ldr r0, [sp, #0x0]
+ bl FUN_02058480
+ cmp r0, #0x1
+ beq _020552DE
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_020580F4
+ cmp r0, #0x0
+ bne _020552C4
+_020552DE:
+ ldr r0, [sp, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020552E4
+FUN_020552E4: ; 0x020552E4
+ push {r4, lr}
+ bl FUN_020552A4
+ add r4, r0, #0x0
+ bne _020552F2
+ bl ErrorHandling
+_020552F2:
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020552F8
+FUN_020552F8: ; 0x020552F8
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_020584C4
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055304
+FUN_02055304: ; 0x02055304
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ bl FUN_020584AC
+ pop {r4, pc}
+
+ thumb_func_start FUN_02055314
+FUN_02055314: ; 0x02055314
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_020584D4
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055320
+FUN_02055320: ; 0x02055320
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_02058B2C
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205532C
+FUN_0205532C: ; 0x0205532C
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_02058B4C
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055338
+FUN_02055338: ; 0x02055338
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_02058B14
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055344
+FUN_02055344: ; 0x02055344
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_02058B24
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055350
+FUN_02055350: ; 0x02055350
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ bl FUN_02058B5C
+ pop {r4, pc}
+
+ thumb_func_start FUN_02055360
+FUN_02055360: ; 0x02055360
+ push {r3, lr}
+ bl FUN_020553A4
+ bl FUN_02058B7C
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205536C
+FUN_0205536C: ; 0x0205536C
+ str r1, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02055370
+FUN_02055370: ; 0x02055370
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02055374
+FUN_02055374: ; 0x02055374
+ str r1, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_02055378
+FUN_02055378: ; 0x02055378
+ ldr r0, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_0205537C
+FUN_0205537C: ; 0x0205537C
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ cmp r4, #0x1
+ bne _02055392
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bl FUN_02058418
+ pop {r4, pc}
+_02055392:
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bl FUN_02058410
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205539C
+FUN_0205539C: ; 0x0205539C
+ str r1, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start FUN_020553A0
+FUN_020553A0: ; 0x020553A0
+ ldr r0, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start FUN_020553A4
+FUN_020553A4: ; 0x020553A4
+ ldr r0, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start FUN_020553A8
+FUN_020553A8: ; 0x020553A8
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0x3
+ blt _020553B6
+ bl ErrorHandling
+_020553B6:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ str r4, [r5, #0x18]
+ bl FUN_020554DC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020553C4
+FUN_020553C4: ; 0x020553C4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _020553CE
+ bl ErrorHandling
+_020553CE:
+ ldr r0, [r4, #0x18]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020553D4
+FUN_020553D4: ; 0x020553D4
+ ldr r2, [r0, #0x4]
+ orr r1, r2
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_020553DC
+FUN_020553DC: ; 0x020553DC
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_020553E0
+FUN_020553E0: ; 0x020553E0
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_020553E4
+FUN_020553E4: ; 0x020553E4
+ str r1, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_020553E8
+FUN_020553E8: ; 0x020553E8
+ ldr r0, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_020553EC
+FUN_020553EC: ; 0x020553EC
+ ldr r2, [r0, #0x0]
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020553F4
+FUN_020553F4: ; 0x020553F4
+ ldr r2, [r0, #0x0]
+ mvn r1, r1
+ and r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02055400
+FUN_02055400: ; 0x02055400
+ ldr r0, [r0, #0x0]
+ and r0, r1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02055408
+FUN_02055408: ; 0x02055408
+ ldr r0, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_0205540C
+FUN_0205540C: ; 0x0205540C
+ str r1, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_02055410
+FUN_02055410: ; 0x02055410
+ ldr r3, _02055418 ; =FUN_020556F4
+ mov r1, #0x0
+ str r1, [r0, #0x20]
+ bx r3
+ .balign 4
+_02055418: .word FUN_020556F4
+
+ thumb_func_start FUN_0205541C
+FUN_0205541C: ; 0x0205541C
+ ldr r3, [r0, #0x20]
+ add r1, r3, r1
+ str r1, [r0, #0x20]
+ cmp r1, r2
+ ble _02055428
+ str r2, [r0, #0x20]
+_02055428:
+ ldr r0, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_0205542C
+FUN_0205542C: ; 0x0205542C
+ str r1, [r0, #0x24]
+ bx lr
+
+ thumb_func_start FUN_02055430
+FUN_02055430: ; 0x02055430
+ ldr r0, [r0, #0x24]
+ bx lr
+
+ thumb_func_start FUN_02055434
+FUN_02055434: ; 0x02055434
+ str r1, [r0, #0x28]
+ bx lr
+
+ thumb_func_start FUN_02055438
+FUN_02055438: ; 0x02055438
+ ldr r0, [r0, #0x28]
+ bx lr
+
+ thumb_func_start FUN_0205543C
+FUN_0205543C: ; 0x0205543C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ bl FUN_0205542C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02055434
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02055450
+FUN_02055450: ; 0x02055450
+ str r1, [r0, #0x30]
+ bx lr
+
+ thumb_func_start FUN_02055454
+FUN_02055454: ; 0x02055454
+ ldr r0, [r0, #0x30]
+ bx lr
+
+ thumb_func_start FUN_02055458
+FUN_02055458: ; 0x02055458
+ str r1, [r0, #0x34]
+ bx lr
+
+ thumb_func_start FUN_0205545C
+FUN_0205545C: ; 0x0205545C
+ ldr r0, [r0, #0x34]
+ bx lr
+
+ thumb_func_start FUN_02055460
+FUN_02055460: ; 0x02055460
+ str r1, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02055464
+FUN_02055464: ; 0x02055464
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02055468
+FUN_02055468: ; 0x02055468
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ strh r1, [r0, #0x2]
+ str r1, [r0, #0x4]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02055474
+FUN_02055474: ; 0x02055474
+ cmp r0, #0x0
+ beq _02055482
+ ldrh r0, [r0, #0x2]
+ cmp r0, #0x1
+ bne _02055482
+ mov r0, #0x1
+ bx lr
+_02055482:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02055488
+FUN_02055488: ; 0x02055488
+ cmp r1, #0x1
+ bne _02055492
+ mov r1, #0x1
+ strh r1, [r0, #0x2]
+ bx lr
+_02055492:
+ mov r1, #0x0
+ strh r1, [r0, #0x2]
+ bx lr
+
+ thumb_func_start FUN_02055498
+FUN_02055498: ; 0x02055498
+ cmp r0, #0x0
+ bne _020554A0
+ mov r0, #0x0
+ bx lr
+_020554A0:
+ ldrh r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020554A4
+FUN_020554A4: ; 0x020554A4
+ cmp r0, #0x0
+ beq _020554AA
+ strh r1, [r0, #0x0]
+_020554AA:
+ bx lr
+
+ thumb_func_start FUN_020554AC
+FUN_020554AC: ; 0x020554AC
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0205545C
+ add r1, r4, #0x0
+ bl FUN_020554A4
+ pop {r4, pc}
+
+ thumb_func_start FUN_020554BC
+FUN_020554BC: ; 0x020554BC
+ push {r3, lr}
+ bl FUN_0205545C
+ bl FUN_02055498
+ pop {r3, pc}
+
+ thumb_func_start FUN_020554C8
+FUN_020554C8: ; 0x020554C8
+ cmp r0, #0x0
+ beq _020554D0
+ ldr r0, [r0, #0x4]
+ bx lr
+_020554D0:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020554D4
+FUN_020554D4: ; 0x020554D4
+ cmp r0, #0x0
+ beq _020554DA
+ str r1, [r0, #0x4]
+_020554DA:
+ bx lr
+
+ thumb_func_start FUN_020554DC
+FUN_020554DC: ; 0x020554DC
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0205545C
+ add r1, r4, #0x0
+ bl FUN_020554D4
+ pop {r4, pc}
+
+ thumb_func_start FUN_020554EC
+FUN_020554EC: ; 0x020554EC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02058DBC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055514
+FUN_02055514: ; 0x02055514
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ add r5, r0, #0x0
+ add r4, r3, #0x0
+ bl FUN_020553A0
+ add r1, r6, #0x0
+ mov r2, #0x0
+ add r3, r7, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02058E28
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02055540
+FUN_02055540: ; 0x02055540
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B5C
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ str r5, [sp, #0x4]
+ bl FUN_02058B6C
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_02055560
+FUN_02055560: ; 0x02055560
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ cmp r4, #0x1
+ bne _02055574
+ mov r1, #0x0
+ bl FUN_02058960
+ pop {r4, pc}
+_02055574:
+ mov r1, #0x1
+ bl FUN_02058960
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205557C
+FUN_0205557C: ; 0x0205557C
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ cmp r5, #0x1
+ bne _02055598
+ mov r1, #0x0
+ bl FUN_02058960
+ add r0, r4, #0x0
+ bl FUN_02059D1C
+ pop {r3-r5, pc}
+_02055598:
+ mov r1, #0x1
+ bl FUN_02058960
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020555A0
+FUN_020555A0: ; 0x020555A0
+ push {r3, lr}
+ cmp r1, #0x0
+ bne _020555F2
+ cmp r0, #0x9
+ bhi _0205563E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020555B6: ; jump table (using 16-bit offset)
+ .short _020555CA - _020555B6 - 2; case 0
+ .short _020555CE - _020555B6 - 2; case 1
+ .short _020555D2 - _020555B6 - 2; case 2
+ .short _020555D6 - _020555B6 - 2; case 3
+ .short _020555DA - _020555B6 - 2; case 4
+ .short _020555DE - _020555B6 - 2; case 5
+ .short _020555E2 - _020555B6 - 2; case 6
+ .short _020555E6 - _020555B6 - 2; case 7
+ .short _020555EA - _020555B6 - 2; case 8
+ .short _020555EE - _020555B6 - 2; case 9
+_020555CA:
+ mov r0, #0x0
+ pop {r3, pc}
+_020555CE:
+ mov r0, #0x15
+ pop {r3, pc}
+_020555D2:
+ mov r0, #0xb2
+ pop {r3, pc}
+_020555D6:
+ mov r0, #0xb0
+ pop {r3, pc}
+_020555DA:
+ mov r0, #0xb4
+ pop {r3, pc}
+_020555DE:
+ mov r0, #0xba
+ pop {r3, pc}
+_020555E2:
+ mov r0, #0xbc
+ pop {r3, pc}
+_020555E6:
+ mov r0, #0xc4
+ pop {r3, pc}
+_020555EA:
+ mov r0, #0xc6
+ pop {r3, pc}
+_020555EE:
+ mov r0, #0xc8
+ pop {r3, pc}
+_020555F2:
+ cmp r0, #0x9
+ bhi _0205563E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02055602: ; jump table (using 16-bit offset)
+ .short _02055616 - _02055602 - 2; case 0
+ .short _0205561A - _02055602 - 2; case 1
+ .short _0205561E - _02055602 - 2; case 2
+ .short _02055622 - _02055602 - 2; case 3
+ .short _02055626 - _02055602 - 2; case 4
+ .short _0205562A - _02055602 - 2; case 5
+ .short _0205562E - _02055602 - 2; case 6
+ .short _02055632 - _02055602 - 2; case 7
+ .short _02055636 - _02055602 - 2; case 8
+ .short _0205563A - _02055602 - 2; case 9
+_02055616:
+ mov r0, #0x61
+ pop {r3, pc}
+_0205561A:
+ mov r0, #0x62
+ pop {r3, pc}
+_0205561E:
+ mov r0, #0xb3
+ pop {r3, pc}
+_02055622:
+ mov r0, #0xb1
+ pop {r3, pc}
+_02055626:
+ mov r0, #0xb5
+ pop {r3, pc}
+_0205562A:
+ mov r0, #0xbb
+ pop {r3, pc}
+_0205562E:
+ mov r0, #0xbd
+ pop {r3, pc}
+_02055632:
+ mov r0, #0xc5
+ pop {r3, pc}
+_02055636:
+ mov r0, #0xc7
+ pop {r3, pc}
+_0205563A:
+ mov r0, #0xc9
+ pop {r3, pc}
+_0205563E:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055648
+FUN_02055648: ; 0x02055648
+ push {r3, lr}
+ cmp r0, #0x9
+ bhi _02055690
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205565A: ; jump table (using 16-bit offset)
+ .short _0205566E - _0205565A - 2; case 0
+ .short _02055672 - _0205565A - 2; case 1
+ .short _02055676 - _0205565A - 2; case 2
+ .short _02055690 - _0205565A - 2; case 3
+ .short _0205567A - _0205565A - 2; case 4
+ .short _02055690 - _0205565A - 2; case 5
+ .short _0205567E - _0205565A - 2; case 6
+ .short _02055682 - _0205565A - 2; case 7
+ .short _02055686 - _0205565A - 2; case 8
+ .short _0205568A - _0205565A - 2; case 9
+_0205566E:
+ mov r0, #0x1
+ pop {r3, pc}
+_02055672:
+ mov r0, #0x2
+ pop {r3, pc}
+_02055676:
+ mov r0, #0x4
+ pop {r3, pc}
+_0205567A:
+ mov r0, #0x10
+ pop {r3, pc}
+_0205567E:
+ mov r0, #0x20
+ pop {r3, pc}
+_02055682:
+ mov r0, #0x40
+ pop {r3, pc}
+_02055686:
+ mov r0, #0x80
+ pop {r3, pc}
+_0205568A:
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ pop {r3, pc}
+_02055690:
+ bl ErrorHandling
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055698
+FUN_02055698: ; 0x02055698
+ ldr r0, [r0, #0x38]
+ bx lr
+
+ thumb_func_start FUN_0205569C
+FUN_0205569C: ; 0x0205569C
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020556AA
+ mov r1, #0x1
+ bl FUN_020553EC
+ pop {r3, pc}
+_020556AA:
+ mov r1, #0x1
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020556B4
+FUN_020556B4: ; 0x020556B4
+ push {r3, lr}
+ mov r1, #0x1
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _020556C4
+ mov r0, #0x1
+ pop {r3, pc}
+_020556C4:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020556C8
+FUN_020556C8: ; 0x020556C8
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020556D6
+ mov r1, #0x2
+ bl FUN_020553EC
+ pop {r3, pc}
+_020556D6:
+ mov r1, #0x2
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020556E0
+FUN_020556E0: ; 0x020556E0
+ push {r3, lr}
+ mov r1, #0x2
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _020556F0
+ mov r0, #0x1
+ pop {r3, pc}
+_020556F0:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020556F4
+FUN_020556F4: ; 0x020556F4
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02055702
+ mov r1, #0x4
+ bl FUN_020553EC
+ pop {r3, pc}
+_02055702:
+ mov r1, #0x4
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205570C
+FUN_0205570C: ; 0x0205570C
+ push {r3, lr}
+ mov r1, #0x4
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _0205571C
+ mov r0, #0x1
+ pop {r3, pc}
+_0205571C:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055720
+FUN_02055720: ; 0x02055720
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _0205572E
+ mov r1, #0x8
+ bl FUN_020553EC
+ pop {r3, pc}
+_0205572E:
+ mov r1, #0x8
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055738
+FUN_02055738: ; 0x02055738
+ push {r3, lr}
+ mov r1, #0x8
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _02055748
+ mov r0, #0x1
+ pop {r3, pc}
+_02055748:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205574C
+FUN_0205574C: ; 0x0205574C
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _0205575A
+ mov r1, #0x10
+ bl FUN_020553EC
+ pop {r3, pc}
+_0205575A:
+ mov r1, #0x10
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055764
+FUN_02055764: ; 0x02055764
+ push {r3, lr}
+ mov r1, #0x10
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _02055774
+ mov r0, #0x1
+ pop {r3, pc}
+_02055774:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02055778
+FUN_02055778: ; 0x02055778
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02055786
+ mov r1, #0x20
+ bl FUN_020553EC
+ pop {r3, pc}
+_02055786:
+ mov r1, #0x20
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055790
+FUN_02055790: ; 0x02055790
+ push {r3, lr}
+ mov r1, #0x20
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _020557A0
+ mov r0, #0x1
+ pop {r3, pc}
+_020557A0:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020557A4
+FUN_020557A4: ; 0x020557A4
+ ldr r3, _020557AC ; =FUN_020553EC
+ mov r1, #0x40
+ bx r3
+ nop
+_020557AC: .word FUN_020553EC
+
+ thumb_func_start FUN_020557B0
+FUN_020557B0: ; 0x020557B0
+ ldr r3, _020557B8 ; =FUN_020553F4
+ mov r1, #0x40
+ bx r3
+ nop
+_020557B8: .word FUN_020553F4
+
+ thumb_func_start FUN_020557BC
+FUN_020557BC: ; 0x020557BC
+ push {r3, lr}
+ mov r1, #0x40
+ bl FUN_02055400
+ cmp r0, #0x0
+ beq _020557CC
+ mov r0, #0x1
+ pop {r3, pc}
+_020557CC:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020557D0
+FUN_020557D0: ; 0x020557D0
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020557DE
+ mov r1, #0x80
+ bl FUN_020553EC
+ pop {r3, pc}
+_020557DE:
+ mov r1, #0x80
+ bl FUN_020553F4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020557E8
+FUN_020557E8: ; 0x020557E8
+ ldr r3, _020557F0 ; =FUN_02055400
+ mov r1, #0x80
+ bx r3
+ nop
+_020557F0: .word FUN_02055400
+
+ thumb_func_start FUN_020557F4
+FUN_020557F4: ; 0x020557F4
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ mov r1, #0x0
+ add r4, r2, #0x0
+ mvn r1, r1
+ add r5, r0, #0x0
+ add r6, r3, #0x0
+ cmp r4, r1
+ bne _02055812
+ add r2, sp, #0x8
+ ldrh r2, [r2, #0x10]
+ add r1, r6, #0x0
+ bl FUN_02057060
+ add r4, r0, #0x0
+_02055812:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020563F0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020558A0
+ cmp r0, #0x0
+ beq _02055896
+ add r3, sp, #0x8
+ ldrh r3, [r3, #0x10]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02055900
+ add r0, r5, #0x0
+ bl MOD05_021E5FE0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02055BD4
+ cmp r0, #0x1
+ bne _0205584E
+ add r0, r5, #0x0
+ bl MOD05_021E7138
+ pop {r3-r7, pc}
+_0205584E:
+ add r0, r5, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x0
+ bne _02055878
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020561D0
+ cmp r0, #0x0
+ beq _0205586C
+ add r0, r5, #0x0
+ bl MOD05_021E7138
+ b _02055878
+_0205586C:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x1
+ bne _02055878
+ add r0, r5, #0x0
+ bl MOD05_021E70F0
+_02055878:
+ add r0, sp, #0x8
+ ldrh r0, [r0, #0x10]
+ add r1, r7, #0x0
+ add r2, r4, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r3, r6, #0x0
+ bl FUN_02056110
+ add r0, r5, #0x0
+ bl FUN_02055928
+ add r0, r5, #0x0
+ bl FUN_02055968
+_02055896:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02055898
+FUN_02055898: ; 0x02055898
+ ldr r3, _0205589C ; =FUN_020558A0
+ bx r3
+ .balign 4
+_0205589C: .word FUN_020558A0
+
+ thumb_func_start FUN_020558A0
+FUN_020558A0: ; 0x020558A0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ add r6, r0, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _020558B8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020558B8:
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _020558C4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020558C4:
+ add r0, r6, #0x0
+ bl FUN_020586F0
+ bl FUN_020570F0
+ cmp r0, #0x1
+ bne _020558FA
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_02056B74
+ cmp r0, #0x0
+ bne _020558E4
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020558E4:
+ cmp r0, #0x20
+ bne _020558F6
+ add r0, r5, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x2
+ bne _020558F6
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020558F6:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020558FA:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055900
+FUN_02055900: ; 0x02055900
+ push {r4-r6, lr}
+ add r6, r3, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02057028
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02057044
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205543C
+ add r0, r5, #0x0
+ bl FUN_020557B0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055928
+FUN_02055928: ; 0x02055928
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020557BC
+ cmp r0, #0x1
+ bne _02055964
+ add r0, r4, #0x0
+ bl FUN_02055370
+ cmp r0, #0x1
+ bne _02055964
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020556C8
+ add r0, r4, #0x0
+ bl FUN_02055764
+ cmp r0, #0x1
+ bne _02055964
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205574C
+ add r0, r4, #0x0
+ bl FUN_020553A0
+ mov r1, #0x0
+ bl FUN_02058A18
+_02055964:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055968
+FUN_02055968: ; 0x02055968
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ bl FUN_02055370
+ cmp r0, #0x1
+ bne _02055A20
+ add r0, r4, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0x0
+ bl FUN_020586F0
+ bl FUN_0205B020
+ add r1, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205599C
+ add r6, r5, #0x0
+ b _020559A6
+_0205599C:
+ add r0, r4, #0x0
+ bl FUN_02059C90
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_020559A6:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02059B2C
+ cmp r0, #0x1
+ bne _020559B8
+ ldr r0, _02055A24 ; =0x0000061F
+ bl FUN_020054C8
+_020559B8:
+ add r0, r5, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ bne _020559C8
+ ldr r0, _02055A28 ; =0x00000641
+ bl FUN_020054C8
+_020559C8:
+ add r0, r5, #0x0
+ bl FUN_0205483C
+ cmp r0, #0x1
+ bne _020559D8
+ ldr r0, _02055A2C ; =0x00000642
+ bl FUN_020054C8
+_020559D8:
+ add r0, r5, #0x0
+ bl FUN_02054830
+ add r0, r5, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ bne _020559F8
+ add r0, r5, #0x0
+ bl FUN_02054984
+ cmp r0, #0x1
+ beq _020559F8
+ ldr r0, _02055A30 ; =0x00000655
+ bl FUN_020054C8
+_020559F8:
+ add r0, r4, #0x0
+ bl FUN_020586F0
+ bl FUN_020570F0
+ cmp r0, #0x0
+ bne _02055A20
+ add r0, r5, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ beq _02055A1A
+ add r0, r6, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ bne _02055A20
+_02055A1A:
+ ldr r0, _02055A34 ; =0x00000653
+ bl FUN_020054C8
+_02055A20:
+ pop {r4-r6, pc}
+ nop
+_02055A24: .word 0x0000061F
+_02055A28: .word 0x00000641
+_02055A2C: .word 0x00000642
+_02055A30: .word 0x00000655
+_02055A34: .word 0x00000653
+
+ thumb_func_start FUN_02055A38
+FUN_02055A38: ; 0x02055A38
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02055370
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02055378
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020553A0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ bl FUN_02055BEC
+ cmp r0, #0x0
+ beq _02055A76
+ cmp r0, #0x5
+ beq _02055A76
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055A76:
+ add r0, r7, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x0
+ bne _02055AC2
+ cmp r6, #0x0
+ beq _02055B10
+ cmp r6, #0x1
+ beq _02055A8E
+ cmp r6, #0x2
+ beq _02055AB8
+ pop {r3-r7, pc}
+_02055A8E:
+ add r0, r7, #0x0
+ bl FUN_020586F0
+ bl FUN_020570F0
+ cmp r0, #0x1
+ beq _02055B10
+ cmp r4, #0x0
+ beq _02055AA4
+ cmp r4, #0x3
+ bne _02055AAE
+_02055AA4:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055AAE:
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055AB8:
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055AC2:
+ add r0, r7, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _02055B10
+ cmp r6, #0x0
+ beq _02055B10
+ cmp r6, #0x1
+ beq _02055ADA
+ cmp r6, #0x2
+ beq _02055AF6
+ pop {r3-r7, pc}
+_02055ADA:
+ cmp r4, #0x0
+ beq _02055B10
+ cmp r4, #0x3
+ bne _02055AEC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055AEC:
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055AF6:
+ cmp r4, #0x0
+ beq _02055B10
+ cmp r4, #0x3
+ bne _02055B08
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ pop {r3-r7, pc}
+_02055B08:
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_02055374
+_02055B10:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055B14
+FUN_02055B14: ; 0x02055B14
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ add r0, r4, #0x0
+ bl FUN_02055410
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055B30
+FUN_02055B30: ; 0x02055B30
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02055370
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02055378
+ cmp r4, #0x0
+ bne _02055B48
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055B48:
+ cmp r4, #0x2
+ bne _02055B50
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055B50:
+ cmp r4, #0x1
+ bne _02055B86
+ cmp r0, #0x0
+ beq _02055B5C
+ cmp r0, #0x3
+ bne _02055B60
+_02055B5C:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055B60:
+ add r0, r5, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _02055B74
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055B74:
+ add r0, r4, #0x0
+ bl FUN_020586F0
+ bl FUN_020570F0
+ cmp r0, #0x1
+ bne _02055B86
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055B86:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055B8C
+FUN_02055B8C: ; 0x02055B8C
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02055374
+ add r0, r4, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ add r1, r5, #0x0
+ bl FUN_020584AC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02059C60
+ add r0, r4, #0x0
+ bl FUN_0205AE80
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205ADDC
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02055BD4
+FUN_02055BD4: ; 0x02055BD4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02055BEC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02055C4C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055BEC
+FUN_02055BEC: ; 0x02055BEC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r4, #0x0
+ bl FUN_020553A0
+ bl FUN_02058720
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0205733C
+ cmp r0, #0x1
+ bne _02055C10
+ mov r0, #0x5
+ pop {r3-r7, pc}
+_02055C10:
+ add r0, r5, #0x0
+ bl FUN_020556E0
+ cmp r0, #0x1
+ bne _02055C1E
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_02055C1E:
+ lsl r0, r7, #0x18
+ ldr r5, _02055C44 ; =0x020F5D34
+ lsr r6, r0, #0x18
+_02055C24:
+ ldr r1, [r5, #0x0]
+ add r0, r6, #0x0
+ blx r1
+ cmp r0, #0x1
+ bne _02055C36
+ ldr r0, _02055C48 ; =0x020F5D38
+ lsl r1, r4, #0x3
+ ldr r0, [r0, r1]
+ pop {r3-r7, pc}
+_02055C36:
+ add r5, #0x8
+ ldr r0, [r5, #0x0]
+ add r4, r4, #0x1
+ cmp r0, #0x0
+ bne _02055C24
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02055C44: .word 0x020F5D34
+_02055C48: .word 0x020F5D38
+
+ thumb_func_start FUN_02055C4C
+FUN_02055C4C: ; 0x02055C4C
+ push {r3, lr}
+ add r3, r1, #0x0
+ add r1, r2, #0x0
+ ldr r2, _02055C68 ; =0x020F5D1C
+ lsl r3, r3, #0x2
+ ldr r2, [r2, r3]
+ blx r2
+ cmp r0, #0x1
+ bne _02055C62
+ mov r0, #0x1
+ pop {r3, pc}
+_02055C62:
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_02055C68: .word 0x020F5D1C
+
+ thumb_func_start FUN_02055C6C
+FUN_02055C6C: ; 0x02055C6C
+ push {r3, lr}
+ bl FUN_02055FFC
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055C78
+FUN_02055C78: ; 0x02055C78
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_020584D4
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056040
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02056B74
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _02055D28
+ add r0, r5, #0x0
+ bl FUN_02055FFC
+ cmp r7, #0x1
+ beq _02055CCA
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020556C8
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02055CCA:
+ add r0, r6, #0x0
+ bl FUN_02059E74
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02056B74
+ cmp r0, #0x0
+ beq _02055CE4
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02055CE4:
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058410
+ add r0, r6, #0x0
+ mov r1, #0x8
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020556C8
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02055D28:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_020560A0
+ cmp r0, #0x0
+ bne _02055D8E
+ add r0, r5, #0x0
+ bl FUN_02055FFC
+ add r0, r6, #0x0
+ bl FUN_02059E74
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02056B74
+ cmp r0, #0x0
+ beq _02055D54
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02055D54:
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058410
+ add r0, r6, #0x0
+ mov r1, #0x8
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020556C8
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ b _02055DA0
+_02055D8E:
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058410
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020560D0
+_02055DA0:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02055DAC
+FUN_02055DAC: ; 0x02055DAC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ bl FUN_020553A0
+ add r6, r0, #0x0
+ bl FUN_020584D4
+ add r4, r0, #0x0
+ ldr r0, _02055EF4 ; =0x00000654
+ bl FUN_020054C8
+ cmp r4, #0x0
+ bne _02055E62
+ add r0, r5, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _02055DFE
+ add r0, r5, #0x0
+ bl FUN_02055408
+ cmp r0, #0x3
+ blt _02055DFE
+ cmp r7, #0x0
+ bne _02055DFE
+ add r0, r4, #0x0
+ mov r1, #0x15
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02055DFE:
+ add r0, r4, #0x0
+ bl FUN_02059E74
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_02056B74
+ cmp r0, #0x0
+ beq _02055E18
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02055E18:
+ mov r1, #0x6
+ add r0, r6, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058410
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ bl FUN_02055410
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02055778
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02055E62:
+ cmp r4, #0x1
+ bne _02055EF0
+ add r0, r5, #0x0
+ bl FUN_02055790
+ cmp r0, #0x0
+ bne _02055EAC
+ add r0, r4, #0x0
+ mov r1, #0x15
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ bl FUN_020554BC
+ cmp r0, #0x1
+ bne _02055E9C
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0205540C
+_02055E9C:
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02055EAC:
+ mov r1, #0x6
+ add r0, r6, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058410
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02055778
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02055EF0:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02055EF4: .word 0x00000654
+
+ thumb_func_start FUN_02055EF8
+FUN_02055EF8: ; 0x02055EF8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_020584D4
+ add r0, r5, #0x0
+ bl FUN_020554BC
+ cmp r0, #0x1
+ bne _02055F22
+ ldr r0, _02055F40 ; =0x00000656
+ bl FUN_020054C8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x5f
+ bl FUN_02056B5C
+ b _02055F2C
+_02055F22:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x5d
+ bl FUN_02056B5C
+_02055F2C:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020557D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_02055F40: .word 0x00000656
+
+ thumb_func_start FUN_02055F44
+FUN_02055F44: ; 0x02055F44
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_020584D4
+ add r0, r5, #0x0
+ bl FUN_020554BC
+ cmp r0, #0x1
+ bne _02055F6E
+ ldr r0, _02055F8C ; =0x00000656
+ bl FUN_020054C8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x5e
+ bl FUN_02056B5C
+ b _02055F78
+_02055F6E:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x5c
+ bl FUN_02056B5C
+_02055F78:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020557D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_02055F8C: .word 0x00000656
+
+ thumb_func_start FUN_02055F90
+FUN_02055F90: ; 0x02055F90
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02056B74
+ cmp r0, #0x0
+ bne _02055FCE
+ mov r0, #0x1
+ mov r1, #0x14
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0205540C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02055FCE:
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ bl FUN_02055410
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020556F4
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02055FFC
+FUN_02055FFC: ; 0x02055FFC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020556B4
+ cmp r0, #0x1
+ bne _0205603E
+ add r0, r4, #0x0
+ bl FUN_020553A0
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_020557E8
+ cmp r0, #0x0
+ bne _02056026
+ add r0, r4, #0x0
+ bl FUN_02055410
+_02056026:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205569C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020557D0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02055778
+_0205603E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02056040
+FUN_02056040: ; 0x02056040
+ push {r4-r6, lr}
+ sub sp, #0x18
+ add r5, r1, #0x0
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_02058738
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r1, sp, #0xc
+ bl FUN_02058B5C
+ add r4, sp, #0xc
+ add r3, sp, #0x0
+ ldmia r4!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ add r1, r2, #0x0
+ mov r2, #0x1
+ str r0, [r3, #0x0]
+ add r0, r5, #0x0
+ lsl r2, r2, #0xe
+ bl FUN_02059E28
+ add r0, r6, #0x0
+ add r1, sp, #0x0
+ bl FUN_02059E9C
+ cmp r0, #0x0
+ beq _02056088
+ ldr r1, [sp, #0x4]
+ ldr r0, [sp, #0x10]
+ cmp r0, r1
+ bne _0205608E
+_02056088:
+ add sp, #0x18
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205608E:
+ cmp r0, r1
+ ble _02056098
+ add sp, #0x18
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_02056098:
+ mov r0, #0x1
+ add sp, #0x18
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020560A0
+FUN_020560A0: ; 0x020560A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02055408
+ add r1, r0, #0x0
+ cmp r4, #0x1
+ bne _020560B8
+ sub r1, r1, #0x1
+ bpl _020560C4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_020560B8:
+ cmp r4, #0x2
+ bne _020560C4
+ add r1, r1, #0x1
+ cmp r1, #0x3
+ ble _020560C4
+ mov r1, #0x3
+_020560C4:
+ add r0, r5, #0x0
+ bl FUN_0205540C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020560D0
+FUN_020560D0: ; 0x020560D0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_020553A0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r4, #0x10
+ bl FUN_02055408
+ cmp r0, #0x1
+ beq _020560F2
+ cmp r0, #0x2
+ beq _020560F6
+ cmp r0, #0x3
+ beq _020560FA
+ b _020560FC
+_020560F2:
+ mov r4, #0x50
+ b _020560FC
+_020560F6:
+ mov r4, #0x14
+ b _020560FC
+_020560FA:
+ mov r4, #0x14
+_020560FC:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02056B5C
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056110
+FUN_02056110: ; 0x02056110
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ str r2, [sp, #0x8]
+ add r5, r3, #0x0
+ bl FUN_020553C4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020553A0
+ add r1, r0, #0x0
+ cmp r4, #0x0
+ beq _02056136
+ cmp r4, #0x1
+ beq _0205614C
+ cmp r4, #0x2
+ bne _02056162
+_02056136:
+ str r5, [sp, #0x0]
+ add r0, sp, #0x10
+ ldrh r0, [r0, #0x10]
+ ldr r3, [sp, #0x8]
+ add r2, r7, #0x0
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ bl FUN_0205616C
+ add sp, #0xc
+ pop {r4-r7, pc}
+_0205614C:
+ str r5, [sp, #0x0]
+ add r0, sp, #0x10
+ ldrh r0, [r0, #0x10]
+ ldr r3, [sp, #0x8]
+ add r2, r7, #0x0
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ bl FUN_020563A8
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02056162:
+ bl ErrorHandling
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205616C
+FUN_0205616C: ; 0x0205616C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r3, #0x0
+ add r4, r1, #0x0
+ add r1, r6, #0x0
+ add r5, r0, #0x0
+ bl FUN_020561D0
+ cmp r0, #0x0
+ beq _0205618C
+ cmp r0, #0x1
+ beq _020561A2
+ cmp r0, #0x2
+ beq _020561B8
+ add sp, #0x4
+ pop {r3-r6, pc}
+_0205618C:
+ add r3, sp, #0x8
+ ldrh r0, [r3, #0x14]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ str r0, [sp, #0x0]
+ ldrh r3, [r3, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02056288
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020561A2:
+ add r3, sp, #0x8
+ ldrh r0, [r3, #0x14]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ str r0, [sp, #0x0]
+ ldrh r3, [r3, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020562A8
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020561B8:
+ add r3, sp, #0x8
+ ldrh r0, [r3, #0x14]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ str r0, [sp, #0x0]
+ ldrh r3, [r3, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02056384
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020561D0
+FUN_020561D0: ; 0x020561D0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02056244
+ add r4, r0, #0x0
+ bl FUN_020561EC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205536C
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020561EC
+FUN_020561EC: ; 0x020561EC
+ push {r3, lr}
+ cmp r0, #0x0
+ beq _020561FC
+ cmp r0, #0x1
+ beq _02056200
+ cmp r0, #0x2
+ beq _02056204
+ b _02056208
+_020561FC:
+ mov r0, #0x0
+ pop {r3, pc}
+_02056200:
+ mov r0, #0x1
+ pop {r3, pc}
+_02056204:
+ mov r0, #0x2
+ pop {r3, pc}
+_02056208:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02056210
+FUN_02056210: ; 0x02056210
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r0, r5, #0x0
+ add r4, r2, #0x0
+ bl FUN_020549F0
+ cmp r0, #0x1
+ bne _02056224
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_02056224:
+ add r0, r5, #0x0
+ bl FUN_020549E4
+ cmp r0, #0x1
+ bne _02056232
+ mov r0, #0x8
+ pop {r3-r5, pc}
+_02056232:
+ add r0, r5, #0x0
+ bl FUN_020549D8
+ cmp r0, #0x1
+ bne _0205623E
+ mov r4, #0xc
+_0205623E:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056244
+FUN_02056244: ; 0x02056244
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ mvn r1, r1
+ add r5, r0, #0x0
+ cmp r4, r1
+ bne _0205625C
+ mov r1, #0x0
+ bl FUN_0205536C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205625C:
+ bl FUN_020552F8
+ cmp r0, r4
+ beq _0205627A
+ add r0, r5, #0x0
+ bl FUN_02055370
+ cmp r0, #0x1
+ beq _0205627A
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205536C
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_0205627A:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056288
+FUN_02056288: ; 0x02056288
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020584C4
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020562A8
+FUN_020562A8: ; 0x020562A8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02056B74
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x2
+ beq _0205632A
+ mov r0, #0x4
+ tst r0, r4
+ beq _020562CA
+ mov r7, #0x38
+ b _0205636C
+_020562CA:
+ cmp r4, #0x0
+ beq _020562E6
+ mov r0, #0x8
+ mov r7, #0x1c
+ tst r0, r4
+ bne _020562DC
+ ldr r0, _02056380 ; =0x00000601
+ bl FUN_020054C8
+_020562DC:
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020584CC
+ b _0205636C
+_020562E6:
+ add r0, r5, #0x0
+ mov r4, #0xc
+ bl FUN_0205545C
+ bl FUN_02055474
+ cmp r0, #0x1
+ bne _02056306
+ add r1, sp, #0x8
+ ldrh r1, [r1, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02057114
+ cmp r0, #0x1
+ bne _02056306
+ mov r4, #0x58
+_02056306:
+ add r0, r6, #0x0
+ bl FUN_02058720
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ add r0, r6, #0x0
+ lsr r1, r1, #0x18
+ add r2, r4, #0x0
+ bl FUN_02056210
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ b _0205636C
+_0205632A:
+ cmp r4, #0x0
+ beq _02056332
+ cmp r4, #0x20
+ bne _02056356
+_02056332:
+ add r0, r6, #0x0
+ bl FUN_02058720
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ add r0, r6, #0x0
+ lsr r1, r1, #0x18
+ mov r2, #0xc
+ bl FUN_02056210
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ b _0205636C
+_02056356:
+ mov r0, #0x8
+ mov r7, #0x1c
+ tst r0, r4
+ bne _02056364
+ ldr r0, _02056380 ; =0x00000601
+ bl FUN_020054C8
+_02056364:
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020584CC
+_0205636C:
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ pop {r3-r7, pc}
+ .balign 4
+_02056380: .word 0x00000601
+
+ thumb_func_start FUN_02056384
+FUN_02056384: ; 0x02056384
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x28
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020563A8
+FUN_020563A8: ; 0x020563A8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020554BC
+ cmp r0, #0x1
+ add r0, sp, #0x10
+ bne _020563D6
+ ldrh r1, [r0, #0x10]
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ str r1, [sp, #0x0]
+ ldrh r0, [r0, #0x14]
+ add r1, r4, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_020567E4
+ add sp, #0x8
+ pop {r3-r7, pc}
+_020563D6:
+ ldrh r1, [r0, #0x10]
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ str r1, [sp, #0x0]
+ ldrh r0, [r0, #0x14]
+ add r1, r4, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_020564C8
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020563F0
+FUN_020563F0: ; 0x020563F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _0205642C
+ mov r0, #0x2
+ tst r0, r4
+ beq _0205642C
+ add r0, r5, #0x0
+ mov r4, #0x1
+ bl FUN_020554BC
+ cmp r0, #0x1
+ bne _02056412
+ mov r4, #0x0
+_02056412:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020554AC
+ cmp r4, #0x0
+ bne _02056426
+ ldr r0, _02056430 ; =0x0000061C
+ bl FUN_020054C8
+ pop {r3-r5, pc}
+_02056426:
+ ldr r0, _02056434 ; =0x00000619
+ bl FUN_020054C8
+_0205642C:
+ pop {r3-r5, pc}
+ nop
+_02056430: .word 0x0000061C
+_02056434: .word 0x00000619
+
+ thumb_func_start FUN_02056438
+FUN_02056438: ; 0x02056438
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ mov r4, #0x4c
+ bl FUN_02055408
+ cmp r0, #0x1
+ beq _02056450
+ cmp r0, #0x2
+ beq _02056454
+ cmp r0, #0x3
+ beq _02056458
+ b _0205645A
+_02056450:
+ mov r4, #0x10
+ b _0205645A
+_02056454:
+ mov r4, #0x50
+ b _0205645A
+_02056458:
+ mov r4, #0x14
+_0205645A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205AFDC
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02056464
+FUN_02056464: ; 0x02056464
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x1
+ mov r2, #0x3
+ bl FUN_0205541C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205570C
+ cmp r0, #0x0
+ bne _02056488
+ cmp r4, #0x2
+ blt _02056488
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020556F4
+_02056488:
+ cmp r4, #0x3
+ bne _02056490
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02056490:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02056494
+FUN_02056494: ; 0x02056494
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r6, #0x1
+ bl FUN_02055408
+ sub r4, r0, #0x1
+ bpl _020564A6
+ mov r4, #0x0
+ add r6, r4, #0x0
+_020564A6:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205540C
+ add r0, r5, #0x0
+ bl FUN_0205570C
+ cmp r0, #0x1
+ bne _020564C4
+ cmp r4, #0x0
+ bne _020564C4
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020556F4
+_020564C4:
+ add r0, r6, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020564C8
+FUN_020564C8: ; 0x020564C8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r1, #0x0
+ add r1, r3, #0x0
+ add r6, r0, #0x0
+ str r3, [sp, #0x4]
+ ldr r5, [sp, #0x20]
+ ldr r4, [sp, #0x24]
+ bl FUN_0205653C
+ cmp r0, #0x3
+ bhi _02056538
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020564EC: ; jump table (using 16-bit offset)
+ .short _020564F4 - _020564EC - 2; case 0
+ .short _02056506 - _020564EC - 2; case 1
+ .short _02056518 - _020564EC - 2; case 2
+ .short _0205652A - _020564EC - 2; case 3
+_020564F4:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_020565F0
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056506:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056614
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056518:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056704
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0205652A:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056740
+_02056538:
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205653C
+FUN_0205653C: ; 0x0205653C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0205658C
+ add r4, r0, #0x0
+ bl FUN_02056558
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205536C
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056558
+FUN_02056558: ; 0x02056558
+ push {r3, lr}
+ cmp r0, #0x3
+ bhi _02056582
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205656A: ; jump table (using 16-bit offset)
+ .short _02056572 - _0205656A - 2; case 0
+ .short _02056576 - _0205656A - 2; case 1
+ .short _0205657A - _0205656A - 2; case 2
+ .short _0205657E - _0205656A - 2; case 3
+_02056572:
+ mov r0, #0x0
+ pop {r3, pc}
+_02056576:
+ mov r0, #0x1
+ pop {r3, pc}
+_0205657A:
+ mov r0, #0x2
+ pop {r3, pc}
+_0205657E:
+ mov r0, #0x1
+ pop {r3, pc}
+_02056582:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205658C
+FUN_0205658C: ; 0x0205658C
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ mvn r1, r1
+ add r5, r0, #0x0
+ cmp r4, r1
+ bne _020565BA
+ bl FUN_0205570C
+ cmp r0, #0x1
+ bne _020565AE
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_020565AE:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020565BA:
+ bl FUN_020552F8
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020556F4
+ cmp r6, r4
+ beq _020565E2
+ add r0, r5, #0x0
+ bl FUN_02055370
+ cmp r0, #0x1
+ beq _020565E2
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205536C
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_020565E2:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020565F0
+FUN_020565F0: ; 0x020565F0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020584C4
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ bl FUN_02055410
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02056614
+FUN_02056614: ; 0x02056614
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02056B74
+ add r4, r0, #0x0
+ mov r0, #0x4
+ tst r0, r4
+ beq _02056638
+ add r0, r5, #0x0
+ mov r7, #0x38
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ b _020566EA
+_02056638:
+ mov r0, #0x10
+ tst r0, r4
+ beq _02056656
+ add r0, r5, #0x0
+ mov r7, #0x50
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ b _020566EA
+_02056656:
+ mov r0, #0x40
+ tst r0, r4
+ beq _02056680
+ add r0, r6, #0x0
+ mov r7, #0x0
+ bl FUN_020584D4
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ sub r1, r7, #0x1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ b _020566EA
+_02056680:
+ cmp r4, #0x0
+ beq _020566D4
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020572EC
+ cmp r0, #0x0
+ bne _020566B0
+ mov r0, #0x8
+ mov r7, #0x1c
+ tst r0, r4
+ bne _020566A0
+ ldr r0, _02056700 ; =0x00000601
+ bl FUN_020054C8
+_020566A0:
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _020566EA
+_020566B0:
+ add r0, r6, #0x0
+ mov r7, #0x0
+ bl FUN_020584D4
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ sub r1, r7, #0x1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ b _020566EA
+_020566D4:
+ add r0, r5, #0x0
+ mov r7, #0x50
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205540C
+_020566EA:
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ pop {r3-r7, pc}
+ nop
+_02056700: .word 0x00000601
+
+ thumb_func_start FUN_02056704
+FUN_02056704: ; 0x02056704
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02055410
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020572EC
+ cmp r0, #0x1
+ beq _0205673E
+ add r0, r6, #0x0
+ mov r1, #0x28
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+_0205673E:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02056740
+FUN_02056740: ; 0x02056740
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ bl FUN_02056494
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02055314
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02056B74
+ add r4, r0, #0x0
+ mov r0, #0x4
+ tst r0, r4
+ beq _02056774
+ add r0, r6, #0x0
+ mov r1, #0x38
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ b _020567C4
+_02056774:
+ mov r0, #0x40
+ tst r0, r4
+ beq _0205678C
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _020567C4
+_0205678C:
+ cmp r4, #0x0
+ beq _020567BA
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x1c
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ mov r0, #0x8
+ tst r0, r4
+ bne _020567AA
+ ldr r0, _020567E0 ; =0x00000601
+ bl FUN_020054C8
+_020567AA:
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _020567C4
+_020567BA:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056438
+ str r0, [sp, #0x4]
+_020567C4:
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ bne _020567D2
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020556F4
+_020567D2:
+ ldr r2, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02056B5C
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020567E0: .word 0x00000601
+
+ thumb_func_start FUN_020567E4
+FUN_020567E4: ; 0x020567E4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r1, #0x0
+ add r1, r3, #0x0
+ add r6, r0, #0x0
+ str r3, [sp, #0x4]
+ ldr r5, [sp, #0x20]
+ ldr r4, [sp, #0x24]
+ bl FUN_02056858
+ cmp r0, #0x3
+ bhi _02056854
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02056808: ; jump table (using 16-bit offset)
+ .short _02056810 - _02056808 - 2; case 0
+ .short _02056822 - _02056808 - 2; case 1
+ .short _02056834 - _02056808 - 2; case 2
+ .short _02056846 - _02056808 - 2; case 3
+_02056810:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056914
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056822:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056938
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056834:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056A7C
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02056846:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r3, r5, #0x0
+ str r4, [sp, #0x0]
+ bl FUN_02056AB8
+_02056854:
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056858
+FUN_02056858: ; 0x02056858
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020568A8
+ add r4, r0, #0x0
+ bl FUN_02056874
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205536C
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056874
+FUN_02056874: ; 0x02056874
+ push {r3, lr}
+ cmp r0, #0x3
+ bhi _0205689E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02056886: ; jump table (using 16-bit offset)
+ .short _0205688E - _02056886 - 2; case 0
+ .short _02056892 - _02056886 - 2; case 1
+ .short _02056896 - _02056886 - 2; case 2
+ .short _0205689A - _02056886 - 2; case 3
+_0205688E:
+ mov r0, #0x0
+ pop {r3, pc}
+_02056892:
+ mov r0, #0x1
+ pop {r3, pc}
+_02056896:
+ mov r0, #0x2
+ pop {r3, pc}
+_0205689A:
+ mov r0, #0x1
+ pop {r3, pc}
+_0205689E:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020568A8
+FUN_020568A8: ; 0x020568A8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02055408
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _020568D8
+ cmp r6, #0x2
+ bge _020568CC
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205536C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020568CC:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_020568D8:
+ add r0, r5, #0x0
+ bl FUN_020552F8
+ cmp r0, r4
+ beq _02056908
+ add r0, r5, #0x0
+ bl FUN_02055370
+ cmp r0, #0x1
+ beq _02056908
+ cmp r6, #0x2
+ bge _020568FC
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205536C
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_020568FC:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_02056908:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205536C
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02056914
+FUN_02056914: ; 0x02056914
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020584C4
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r5, #0x0
+ bl FUN_02055410
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02056938
+FUN_02056938: ; 0x02056938
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02056B74
+ add r4, r0, #0x0
+ mov r0, #0x4
+ tst r0, r4
+ beq _0205696A
+ add r0, r7, #0x0
+ mov r1, #0x38
+ bl FUN_0205AFDC
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02056464
+ add r0, r5, #0x0
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ b _02056A6C
+_0205696A:
+ mov r0, #0x10
+ tst r0, r4
+ beq _020569BA
+ add r0, r5, #0x0
+ bl FUN_02055408
+ cmp r0, #0x3
+ blt _02056994
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02056438
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020557A4
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205569C
+ b _02056A6C
+_02056994:
+ add r0, r7, #0x0
+ mov r1, #0x1c
+ bl FUN_0205AFDC
+ str r0, [sp, #0x0]
+ mov r0, #0x8
+ tst r0, r4
+ bne _020569AA
+ ldr r0, _02056A78 ; =0x00000601
+ bl FUN_020054C8
+_020569AA:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _02056A6C
+_020569BA:
+ mov r0, #0x40
+ tst r0, r4
+ beq _020569EC
+ add r0, r6, #0x0
+ bl FUN_020584D4
+ add r4, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ b _02056A6C
+_020569EC:
+ cmp r4, #0x0
+ beq _02056A50
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020572EC
+ cmp r0, #0x0
+ bne _02056A24
+ add r0, r7, #0x0
+ mov r1, #0x1c
+ bl FUN_0205AFDC
+ str r0, [sp, #0x0]
+ mov r0, #0x8
+ tst r0, r4
+ bne _02056A14
+ ldr r0, _02056A78 ; =0x00000601
+ bl FUN_020054C8
+_02056A14:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _02056A6C
+_02056A24:
+ add r0, r6, #0x0
+ bl FUN_020584D4
+ add r4, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ mov r1, #0x0
+ mvn r1, r1
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0205543C
+ b _02056A6C
+_02056A50:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02056438
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02056464
+ add r0, r5, #0x0
+ bl FUN_020572D4
+ add r0, r5, #0x0
+ bl FUN_020557A4
+_02056A6C:
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056B5C
+ pop {r3-r7, pc}
+ .balign 4
+_02056A78: .word 0x00000601
+
+ thumb_func_start FUN_02056A7C
+FUN_02056A7C: ; 0x02056A7C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02055410
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020572EC
+ cmp r0, #0x1
+ beq _02056AB6
+ add r0, r6, #0x0
+ mov r1, #0x28
+ bl FUN_0205AFDC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056B5C
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+_02056AB6:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02056AB8
+FUN_02056AB8: ; 0x02056AB8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ bl FUN_02056494
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02055314
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02056B74
+ add r4, r0, #0x0
+ mov r0, #0x4
+ tst r0, r4
+ beq _02056AEC
+ add r0, r6, #0x0
+ mov r1, #0x38
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ b _02056B3C
+_02056AEC:
+ mov r0, #0x40
+ tst r0, r4
+ beq _02056B04
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _02056B3C
+_02056B04:
+ cmp r4, #0x0
+ beq _02056B32
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x1c
+ bl FUN_0205AFDC
+ str r0, [sp, #0x4]
+ mov r0, #0x8
+ tst r0, r4
+ bne _02056B22
+ ldr r0, _02056B58 ; =0x00000601
+ bl FUN_020054C8
+_02056B22:
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_02055410
+ b _02056B3C
+_02056B32:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02056438
+ str r0, [sp, #0x4]
+_02056B3C:
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ bne _02056B4A
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020556F4
+_02056B4A:
+ ldr r2, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02056B5C
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02056B58: .word 0x00000601
+
+ thumb_func_start FUN_02056B5C
+FUN_02056B5C: ; 0x02056B5C
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ add r5, r1, #0x0
+ add r1, r4, #0x0
+ bl FUN_02055460
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205ADDC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056B74
+FUN_02056B74: ; 0x02056B74
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ mov r4, #0x0
+ bl FUN_02056C0C
+ mov r1, #0xa
+ str r0, [sp, #0x0]
+ tst r0, r1
+ beq _02056BA0
+ mov r0, #0x1
+ orr r4, r0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056D58
+ cmp r0, #0x0
+ beq _02056BA0
+ mov r0, #0x8
+ orr r4, r0
+_02056BA0:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x4
+ tst r0, r1
+ beq _02056BAC
+ mov r0, #0x2
+ orr r4, r0
+_02056BAC:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056CCC
+ cmp r0, #0x0
+ beq _02056BBE
+ mov r0, #0x4
+ orr r4, r0
+_02056BBE:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056E04
+ cmp r0, #0x1
+ bne _02056BD0
+ mov r0, #0x10
+ orr r4, r0
+_02056BD0:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056E6C
+ cmp r0, #0x1
+ bne _02056BE2
+ mov r0, #0x20
+ orr r4, r0
+_02056BE2:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056EC8
+ cmp r0, #0x1
+ bne _02056BF4
+ mov r0, #0x41
+ orr r4, r0
+_02056BF4:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02056F78
+ cmp r0, #0x1
+ bne _02056C06
+ mov r0, #0x1
+ orr r4, r0
+_02056C06:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056C0C
+FUN_02056C0C: ; 0x02056C0C
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r5, r1, #0x0
+ str r2, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02059BF4
+ str r0, [sp, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x4]
+ bl FUN_02059C00
+ str r0, [sp, #0x10]
+ add r0, r5, #0x0
+ add r1, sp, #0x1c
+ bl FUN_02058B5C
+ ldr r1, [sp, #0x14]
+ ldr r6, [sp, #0xc]
+ ldr r3, [sp, #0x10]
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r7, r1
+ add r3, r6, r3
+ mov r4, #0x0
+ bl FUN_02059A08
+ cmp r0, #0x1
+ bne _02056C60
+ mov r0, #0x1
+ orr r4, r0
+_02056C60:
+ add r0, r5, #0x0
+ bl FUN_02058738
+ ldr r2, [sp, #0x14]
+ add r1, sp, #0x18
+ str r1, [sp, #0x0]
+ ldr r6, [sp, #0xc]
+ ldr r3, [sp, #0x10]
+ add r1, sp, #0x1c
+ add r2, r7, r2
+ add r3, r6, r3
+ bl FUN_0204A7C8
+ cmp r0, #0x1
+ bne _02056C90
+ mov r0, #0x2
+ orr r4, r0
+ add r1, sp, #0x18
+ mov r0, #0x0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _02056C90
+ mov r0, #0x8
+ orr r4, r0
+_02056C90:
+ ldr r3, [sp, #0xc]
+ ldr r2, [sp, #0x10]
+ ldr r1, [sp, #0x14]
+ add r2, r3, r2
+ ldr r3, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, r1
+ bl FUN_02059A60
+ cmp r0, #0x1
+ bne _02056CAA
+ mov r0, #0x2
+ orr r4, r0
+_02056CAA:
+ add r0, r5, #0x0
+ ldr r1, [sp, #0x14]
+ ldr r5, [sp, #0xc]
+ ldr r3, [sp, #0x10]
+ ldr r2, [sp, #0x8]
+ add r1, r7, r1
+ add r3, r5, r3
+ bl FUN_0205995C
+ cmp r0, #0x1
+ bne _02056CC4
+ mov r0, #0x4
+ orr r4, r0
+_02056CC4:
+ add r0, r4, #0x0
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02056CCC
+FUN_02056CCC: ; 0x02056CCC
+ push {r3-r7, lr}
+ mov r0, #0x0
+ add r4, r2, #0x0
+ mvn r0, r0
+ add r5, r1, #0x0
+ cmp r4, r0
+ beq _02056D54
+ add r0, r5, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x0]
+ add r1, r6, r7
+ add r2, r5, r2
+ bl FUN_0204A6E0
+ cmp r4, #0x3
+ bhi _02056D54
+ add r1, r4, r4
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02056D1C: ; jump table (using 16-bit offset)
+ .short _02056D24 - _02056D1C - 2; case 0
+ .short _02056D30 - _02056D1C - 2; case 1
+ .short _02056D3C - _02056D1C - 2; case 2
+ .short _02056D48 - _02056D1C - 2; case 3
+_02056D24:
+ bl FUN_02054848
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D30:
+ bl FUN_02054854
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D3C:
+ bl FUN_02054860
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D48:
+ bl FUN_0205486C
+ cmp r0, #0x1
+ bne _02056D54
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056D54:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056D58
+FUN_02056D58: ; 0x02056D58
+ push {r3-r7, lr}
+ mov r0, #0x0
+ add r4, r2, #0x0
+ mvn r0, r0
+ add r5, r1, #0x0
+ cmp r4, r0
+ beq _02056E00
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x0]
+ ldr r2, [sp, #0x0]
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_0204A6E0
+ add r5, r0, #0x0
+ cmp r4, #0x3
+ bhi _02056DD8
+ add r1, r4, r4
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02056D9A: ; jump table (using 16-bit offset)
+ .short _02056DA2 - _02056D9A - 2; case 0
+ .short _02056DAE - _02056D9A - 2; case 1
+ .short _02056DBC - _02056D9A - 2; case 2
+ .short _02056DCA - _02056D9A - 2; case 3
+_02056DA2:
+ bl FUN_020547D4
+ cmp r0, #0x1
+ bne _02056DAE
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056DAE:
+ add r0, r5, #0x0
+ bl FUN_020547E0
+ cmp r0, #0x1
+ bne _02056DBC
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056DBC:
+ add r0, r5, #0x0
+ bl FUN_020547C8
+ cmp r0, #0x1
+ bne _02056DCA
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056DCA:
+ add r0, r5, #0x0
+ bl FUN_020547BC
+ cmp r0, #0x1
+ bne _02056DD8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056DD8:
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r3, r0, #0x0
+ ldr r2, [sp, #0x0]
+ add r0, r7, #0x0
+ add r1, r6, r5
+ add r2, r2, r3
+ bl FUN_0204A6E0
+ bl FUN_020547B0
+ cmp r0, #0x1
+ bne _02056E00
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056E00:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056E04
+FUN_02056E04: ; 0x02056E04
+ push {r3-r7, lr}
+ mov r0, #0x0
+ add r5, r2, #0x0
+ mvn r0, r0
+ add r4, r1, #0x0
+ cmp r5, r0
+ beq _02056E68
+ add r0, r4, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x0]
+ add r1, r6, r7
+ add r2, r4, r2
+ bl FUN_0204A6E0
+ add r4, r0, #0x0
+ cmp r5, #0x3
+ bne _02056E56
+ bl FUN_02054A24
+ cmp r0, #0x0
+ beq _02056E56
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056E56:
+ cmp r5, #0x2
+ bne _02056E68
+ add r0, r4, #0x0
+ bl FUN_02054A30
+ cmp r0, #0x0
+ beq _02056E68
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056E68:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056E6C
+FUN_02056E6C: ; 0x02056E6C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ mov r0, #0x0
+ add r4, r2, #0x0
+ mvn r0, r0
+ add r5, r1, #0x0
+ cmp r4, r0
+ beq _02056EC2
+ add r0, r5, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r3, r0, #0x0
+ ldr r2, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ add r1, r6, r7
+ add r2, r2, r3
+ bl FUN_0204A6E0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059AC4
+ cmp r0, #0x0
+ beq _02056EC2
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056EC2:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02056EC8
+FUN_02056EC8: ; 0x02056EC8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r4, r2, #0x0
+ mvn r0, r0
+ add r5, r1, #0x0
+ cmp r4, r0
+ beq _02056F72
+ add r0, r5, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r2, r0, #0x0
+ ldr r3, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ add r1, r6, r7
+ add r2, r3, r2
+ bl FUN_0204A6E0
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _02056F54
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BB4
+ cmp r0, #0x1
+ bne _02056F36
+ cmp r4, #0x1
+ bls _02056F30
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02056F30:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02056F36:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BD4
+ cmp r0, #0x1
+ bne _02056F72
+ sub r0, r4, #0x2
+ cmp r0, #0x1
+ bls _02056F4E
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02056F4E:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02056F54:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BB4
+ cmp r0, #0x1
+ beq _02056F6C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BD4
+ cmp r0, #0x1
+ bne _02056F72
+_02056F6C:
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02056F72:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02056F78
+FUN_02056F78: ; 0x02056F78
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r4, r2, #0x0
+ mvn r1, r1
+ cmp r4, r1
+ beq _0205701A
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _0205701A
+ add r0, r5, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r3, r0, #0x0
+ ldr r2, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ add r1, r6, r7
+ add r2, r2, r3
+ bl FUN_0204A6E0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059AC4
+ cmp r0, #0x0
+ beq _02056FD8
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056FD8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059B2C
+ cmp r0, #0x0
+ beq _02056FEA
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056FEA:
+ add r0, r4, #0x0
+ bl FUN_02054798
+ cmp r0, #0x0
+ beq _02056FFA
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02056FFA:
+ add r0, r4, #0x0
+ bl FUN_02054974
+ cmp r0, #0x0
+ beq _0205700A
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205700A:
+ add r0, r4, #0x0
+ bl FUN_02054990
+ cmp r0, #0x0
+ beq _0205701A
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205701A:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057020
+FUN_02057020: ; 0x02057020
+ ldr r3, _02057024 ; =FUN_02057060
+ bx r3
+ .balign 4
+_02057024: .word FUN_02057060
+
+ thumb_func_start FUN_02057028
+FUN_02057028: ; 0x02057028
+ mov r1, #0x20
+ tst r1, r0
+ beq _02057032
+ mov r0, #0x2
+ bx lr
+_02057032:
+ mov r1, #0x10
+ tst r0, r1
+ beq _0205703C
+ mov r1, #0x3
+ b _0205703E
+_0205703C:
+ sub r1, #0x11
+_0205703E:
+ add r0, r1, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02057044
+FUN_02057044: ; 0x02057044
+ mov r1, #0x40
+ tst r1, r0
+ beq _0205704E
+ mov r0, #0x0
+ bx lr
+_0205704E:
+ mov r1, #0x80
+ tst r0, r1
+ beq _02057058
+ mov r1, #0x1
+ b _0205705A
+_02057058:
+ sub r1, #0x81
+_0205705A:
+ add r0, r1, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02057060
+FUN_02057060: ; 0x02057060
+ push {r3-r7, lr}
+ add r5, r2, #0x0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02057028
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02057044
+ mov r1, #0x0
+ mvn r1, r1
+ add r5, r0, #0x0
+ cmp r4, r1
+ beq _020570C0
+ cmp r5, r1
+ bne _02057086
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_02057086:
+ add r0, r6, #0x0
+ bl FUN_02055314
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02055430
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02055438
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r7, r1
+ beq _020570BE
+ ldr r1, [sp, #0x0]
+ cmp r4, r1
+ bne _020570B2
+ cmp r5, r0
+ bne _020570B2
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+_020570B2:
+ cmp r5, r0
+ beq _020570BA
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+_020570BA:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_020570BE:
+ add r0, r5, #0x0
+_020570C0:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020570C4
+FUN_020570C4: ; 0x020570C4
+ push {r4, lr}
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _020570D8
+ mov r0, #0x1
+ pop {r4, pc}
+_020570D8:
+ add r0, r4, #0x0
+ bl FUN_020586F0
+ bl FUN_020570F0
+ cmp r0, #0x1
+ bne _020570EA
+ mov r0, #0x1
+ pop {r4, pc}
+_020570EA:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020570F0
+FUN_020570F0: ; 0x020570F0
+ sub r0, #0x1c
+ cmp r0, #0x3
+ bhi _0205710E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02057102: ; jump table (using 16-bit offset)
+ .short _0205710A - _02057102 - 2; case 0
+ .short _0205710A - _02057102 - 2; case 1
+ .short _0205710A - _02057102 - 2; case 2
+ .short _0205710A - _02057102 - 2; case 3
+_0205710A:
+ mov r0, #0x1
+ bx lr
+_0205710E:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02057114
+FUN_02057114: ; 0x02057114
+ mov r0, #0x2
+ tst r0, r1
+ beq _0205711E
+ mov r0, #0x1
+ bx lr
+_0205711E:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02057124
+FUN_02057124: ; 0x02057124
+ push {r3, lr}
+ bl FUN_02055464
+ sub r0, #0x58
+ cmp r0, #0x3
+ bhi _02057148
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205713C: ; jump table (using 16-bit offset)
+ .short _02057144 - _0205713C - 2; case 0
+ .short _02057144 - _0205713C - 2; case 1
+ .short _02057144 - _0205713C - 2; case 2
+ .short _02057144 - _0205713C - 2; case 3
+_02057144:
+ mov r0, #0x1
+ pop {r3, pc}
+_02057148:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205714C
+FUN_0205714C: ; 0x0205714C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020553C4
+ cmp r0, #0x0
+ beq _02057162
+ cmp r0, #0x1
+ beq _02057172
+ cmp r0, #0x2
+ bne _02057188
+_02057162:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02056244
+ bl FUN_020561EC
+ add r4, r0, #0x0
+ b _0205718E
+_02057172:
+ add r0, r5, #0x0
+ bl FUN_020554BC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020568A8
+ bl FUN_02056874
+ add r4, r0, #0x0
+ b _0205718E
+_02057188:
+ mov r4, #0x0
+ bl ErrorHandling
+_0205718E:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057194
+FUN_02057194: ; 0x02057194
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02057060
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0205714C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205536C
+ cmp r4, #0x0
+ bne _020571C6
+ add r0, r5, #0x0
+ bl FUN_020552F8
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ pop {r3-r7, pc}
+_020571C6:
+ cmp r4, #0x2
+ bne _020571D4
+ ldr r0, [sp, #0x0]
+ mov r1, #0x28
+ bl FUN_0205AFDC
+ pop {r3-r7, pc}
+_020571D4:
+ add r0, r5, #0x0
+ bl FUN_020553A0
+ ldr r0, [sp, #0x1c]
+ mov r4, #0x4
+ add r1, r0, #0x0
+ tst r1, r4
+ beq _020571E8
+ mov r4, #0x38
+ b _02057244
+_020571E8:
+ cmp r0, #0x0
+ beq _020571FC
+ mov r1, #0x8
+ mov r4, #0x1c
+ tst r0, r1
+ bne _02057244
+ ldr r0, _02057250 ; =0x00000601
+ bl FUN_020054C8
+ b _02057244
+_020571FC:
+ cmp r6, #0x5
+ bhi _0205722E
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205720C: ; jump table (using 16-bit offset)
+ .short _02057218 - _0205720C - 2; case 0
+ .short _0205721A - _0205720C - 2; case 1
+ .short _0205721E - _0205720C - 2; case 2
+ .short _02057222 - _0205720C - 2; case 3
+ .short _02057226 - _0205720C - 2; case 4
+ .short _0205722A - _0205720C - 2; case 5
+_02057218:
+ b _02057230
+_0205721A:
+ mov r4, #0x8
+ b _02057230
+_0205721E:
+ mov r4, #0xc
+ b _02057230
+_02057222:
+ mov r4, #0x4c
+ b _02057230
+_02057226:
+ mov r4, #0x10
+ b _02057230
+_0205722A:
+ mov r4, #0x14
+ b _02057230
+_0205722E:
+ mov r4, #0x4
+_02057230:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x1
+ bne _02057244
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02057114
+ cmp r0, #0x1
+ bne _02057244
+ mov r4, #0x58
+_02057244:
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0205AFDC
+ pop {r3-r7, pc}
+ nop
+_02057250: .word 0x00000601
+
+ thumb_func_start FUN_02057254
+FUN_02057254: ; 0x02057254
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_0205AD98
+ pop {r3, pc}
+
+ thumb_func_start FUN_02057260
+FUN_02057260: ; 0x02057260
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02056B5C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057278
+FUN_02057278: ; 0x02057278
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ bl FUN_02059C90
+ pop {r4, pc}
+
+ thumb_func_start FUN_02057288
+FUN_02057288: ; 0x02057288
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ str r0, [sp, #0x0]
+ add r4, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02055320
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059BF4
+ add r0, r6, r0
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ bl FUN_0205532C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r0, r4, r0
+ str r0, [r7, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020572B8
+FUN_020572B8: ; 0x020572B8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_020552F8
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_02057288
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020572D4
+FUN_020572D4: ; 0x020572D4
+ push {r3, lr}
+ bl FUN_020553A0
+ bl FUN_02058738
+ ldr r0, [r0, #0xc]
+ bl FUN_02029FC8
+ mov r1, #0x5
+ bl FUN_0202A0E8
+ pop {r3, pc}
+
+ thumb_func_start FUN_020572EC
+FUN_020572EC: ; 0x020572EC
+ push {r4-r6, lr}
+ mov r0, #0x0
+ add r4, r2, #0x0
+ mvn r0, r0
+ add r5, r1, #0x0
+ cmp r4, r0
+ beq _02057336
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BB4
+ cmp r0, #0x1
+ bne _0205731C
+ cmp r4, #0x1
+ bls _02057318
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02057318:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205731C:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059BD4
+ cmp r0, #0x1
+ bne _02057336
+ sub r0, r4, #0x2
+ cmp r0, #0x1
+ bls _02057332
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02057332:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02057336:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205733C
+FUN_0205733C: ; 0x0205733C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ mvn r1, r1
+ add r5, r0, #0x0
+ cmp r2, r1
+ beq _0205734E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205734E:
+ bl FUN_020553C4
+ cmp r0, #0x1
+ beq _0205735A
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205735A:
+ add r0, r5, #0x0
+ bl FUN_02055738
+ cmp r0, #0x0
+ bne _02057368
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02057368:
+ add r0, r5, #0x0
+ bl FUN_020553A0
+ add r1, r4, #0x0
+ bl FUN_02059B94
+ cmp r0, #0x1
+ bne _0205737C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205737C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02057380
+FUN_02057380: ; 0x02057380
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r7, r2, #0x0
+ bl FUN_02057444
+ add r4, r0, #0x0
+ add r1, r6, #0x0
+ bl FUN_020583E0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058364
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_02058398
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020573AC
+FUN_020573AC: ; 0x020573AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020583CC
+ add r1, r0, #0x0
+ mov r0, #0xb
+ bl FUN_02016A8C
+ mov r0, #0xb
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020573C8
+FUN_020573C8: ; 0x020573C8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ add r5, r2, #0x0
+ str r3, [sp, #0x4]
+ ldr r7, [sp, #0x20]
+ bl FUN_02058368
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_020583CC
+ add r4, r0, #0x0
+ cmp r6, #0x0
+ beq _02057430
+_020573E6:
+ add r0, r4, #0x0
+ bl FUN_02058830
+ cmp r0, #0x1
+ bne _02057426
+ ldr r2, [sp, #0x4]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r3, r7, #0x0
+ bl FUN_02057F90
+ cmp r0, #0x0
+ beq _02057408
+ cmp r0, #0x1
+ beq _02057426
+ cmp r0, #0x2
+ b _02057426
+_02057408:
+ add r0, r4, #0x0
+ bl FUN_02058450
+ cmp r5, r0
+ beq _02057426
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _02057426
+ add r0, r4, #0x0
+ bl FUN_02057654
+_02057426:
+ mov r0, #0x4a
+ lsl r0, r0, #0x2
+ add r4, r4, r0
+ sub r6, r6, #0x1
+ bne _020573E6
+_02057430:
+ ldr r0, [sp, #0x0]
+ bl FUN_020583A0
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD05_021F2AF4
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057444
+FUN_02057444: ; 0x02057444
+ push {r4-r6, lr}
+ mov r1, #0x4b
+ add r4, r0, #0x0
+ mov r0, #0xb
+ lsl r1, r1, #0x2
+ bl FUN_02016998
+ add r5, r0, #0x0
+ bne _0205745A
+ bl ErrorHandling
+_0205745A:
+ mov r2, #0x4b
+ add r0, r5, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ bl memset
+ mov r0, #0x4a
+ lsl r0, r0, #0x2
+ add r6, r4, #0x0
+ mul r6, r0
+ mov r0, #0xb
+ add r1, r6, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _0205747E
+ bl ErrorHandling
+_0205747E:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl memset
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020583B4
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02057494
+FUN_02057494: ; 0x02057494
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ add r7, r2, #0x0
+ bl FUN_02058BFC
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x0
+ bne _020574C8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_02057C98
+ add r4, r0, #0x0
+ beq _020574E8
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02058214
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_020574C8:
+ add r0, r6, #0x0
+ bl FUN_02058CFC
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058010
+ add r4, r0, #0x0
+ beq _020574E8
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02058258
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_020574E8:
+ add r0, r5, #0x0
+ bl FUN_02057C64
+ add r4, r0, #0x0
+ beq _0205753A
+ add r0, r5, #0x0
+ bl FUN_020583E8
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02057D2C
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02057E90
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_0205844C
+ add r0, r4, #0x0
+ bl FUN_020581A4
+ add r0, r4, #0x0
+ bl FUN_020581B4
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02057CF0
+ add r0, r5, #0x0
+ bl FUN_02058360
+ bl FUN_0205836C
+ add r0, r4, #0x0
+_0205753A:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205753C
+FUN_0205753C: ; 0x0205753C
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r0, sp, #0x0
+ mov r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02058BF8
+ ldr r1, [sp, #0x38]
+ add r0, sp, #0x0
+ bl FUN_02058C00
+ ldr r1, [sp, #0x3c]
+ add r0, sp, #0x0
+ bl FUN_02058C08
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C10
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C18
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C20
+ add r0, sp, #0x0
+ add r1, r7, #0x0
+ bl FUN_02058C28
+ mov r1, #0x0
+ add r0, sp, #0x0
+ add r2, r1, #0x0
+ bl FUN_02058C34
+ add r0, sp, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_02058C34
+ add r0, sp, #0x0
+ mov r1, #0x0
+ mov r2, #0x2
+ bl FUN_02058C34
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C7C
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C88
+ add r0, sp, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058C94
+ add r0, sp, #0x0
+ add r1, r6, #0x0
+ bl FUN_02058CA4
+ add r0, sp, #0x0
+ mov r1, #0x0
+ bl FUN_02058C9C
+ ldr r2, [sp, #0x40]
+ add r0, r5, #0x0
+ add r1, sp, #0x0
+ bl FUN_02057494
+ add sp, #0x20
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020575D4
+FUN_020575D4: ; 0x020575D4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ ldr r2, [sp, #0x18]
+ add r7, r3, #0x0
+ mov r4, #0x0
+ bl FUN_02058CAC
+ str r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _02057610
+ bl FUN_02058C1C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583E8
+ lsl r1, r6, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02039528
+ cmp r0, #0x0
+ bne _02057610
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02057494
+ add r4, r0, #0x0
+_02057610:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057614
+FUN_02057614: ; 0x02057614
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058454
+ add r0, r4, #0x0
+ bl FUN_02058148
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_020581B4
+ pop {r4, pc}
+
+ thumb_func_start FUN_02057634
+FUN_02057634: ; 0x02057634
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _02057648
+ add r0, r5, #0x0
+ bl FUN_020576A8
+_02057648:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02057614
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057654
+FUN_02057654: ; 0x02057654
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058578
+ bl FUN_020587E0
+ cmp r0, #0x1
+ bne _0205766A
+ add r0, r4, #0x0
+ bl FUN_020586B4
+_0205766A:
+ add r0, r4, #0x0
+ bl FUN_02058660
+ add r0, r4, #0x0
+ bl FUN_02058564
+ add r0, r4, #0x0
+ bl FUN_02058580
+ bl FUN_02058374
+ add r0, r4, #0x0
+ bl FUN_02057F80
+ pop {r4, pc}
+
+ thumb_func_start FUN_02057688
+FUN_02057688: ; 0x02057688
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02058490
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058738
+ lsl r1, r5, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0203953C
+ add r0, r4, #0x0
+ bl FUN_02057654
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020576A8
+FUN_020576A8: ; 0x020576A8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058578
+ bl FUN_020587E0
+ cmp r0, #0x1
+ bne _020576D6
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _020576CC
+ add r0, r4, #0x0
+ bl FUN_020586B4
+_020576CC:
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058418
+_020576D6:
+ ldr r1, _02057708 ; =0x0000FFFF
+ add r0, r4, #0x0
+ bl FUN_02058454
+ ldr r1, _0205770C ; =FUN_02058ED8
+ add r0, r4, #0x0
+ bl FUN_02058684
+ ldr r1, _02057710 ; =FUN_02058EDC
+ add r0, r4, #0x0
+ bl FUN_02058698
+ ldr r1, _02057710 ; =FUN_02058EDC
+ add r0, r4, #0x0
+ bl FUN_020586AC
+ ldr r1, _02057714 ; =FUN_02058EE0
+ add r0, r4, #0x0
+ bl FUN_020586C0
+ ldr r1, _02057718 ; =FUN_02058EE4
+ add r0, r4, #0x0
+ bl FUN_020586D4
+ pop {r4, pc}
+ .balign 4
+_02057708: .word 0x0000FFFF
+_0205770C: .word FUN_02058ED8
+_02057710: .word FUN_02058EDC
+_02057714: .word FUN_02058EE0
+_02057718: .word FUN_02058EE4
+
+ thumb_func_start FUN_0205771C
+FUN_0205771C: ; 0x0205771C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+ bl FUN_02058368
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_02057734:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02057746
+ add r0, r5, #0x0
+ bl FUN_02057654
+_02057746:
+ add r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, r6
+ blt _02057734
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057750
+FUN_02057750: ; 0x02057750
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020587E0
+ cmp r0, #0x1
+ beq _02057760
+ bl ErrorHandling
+_02057760:
+ add r0, r5, #0x0
+ mov r4, #0x0
+ bl FUN_02058368
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_02057776:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205779C
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205779C
+ add r0, r5, #0x0
+ bl FUN_020586C8
+ add r0, r5, #0x0
+ bl FUN_0205816C
+_0205779C:
+ add r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, r6
+ blt _02057776
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020577A8
+FUN_020577A8: ; 0x020577A8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020587E0
+ cmp r0, #0x1
+ beq _020577B8
+ bl ErrorHandling
+_020577B8:
+ add r0, r5, #0x0
+ mov r4, #0x0
+ bl FUN_02058368
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_020577CE:
+ add r0, r5, #0x0
+ bl FUN_02058830
+ cmp r0, #0x1
+ bne _020577F6
+ add r0, r5, #0x0
+ bl FUN_02058884
+ cmp r0, #0x1
+ bne _020577EA
+ add r0, r5, #0x0
+ bl FUN_020586DC
+ b _020577F0
+_020577EA:
+ add r0, r5, #0x0
+ bl FUN_020581B4
+_020577F0:
+ add r0, r5, #0x0
+ bl FUN_02058148
+_020577F6:
+ add r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, r6
+ blt _020577CE
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057800
+FUN_02057800: ; 0x02057800
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ beq _02057846
+_02057820:
+ ldr r1, [sp, #0x0]
+ add r0, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_02057894
+ sub r4, r4, #0x1
+ add r5, #0x50
+ cmp r4, #0x0
+ bgt _02057836
+ bl ErrorHandling
+_02057836:
+ add r0, r6, #0x0
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ bne _02057820
+_02057846:
+ cmp r4, #0x0
+ beq _02057856
+ mov r2, #0x50
+ add r0, r5, #0x0
+ mov r1, #0x0
+ mul r2, r4
+ bl memset
+_02057856:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205785C
+FUN_0205785C: ; 0x0205785C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ add r7, r2, #0x0
+ beq _02057892
+_02057866:
+ ldr r1, [r5, #0x0]
+ mov r0, #0x1
+ tst r0, r1
+ beq _0205788C
+ add r0, r6, #0x0
+ bl FUN_02057C64
+ add r4, r0, #0x0
+ bne _0205787C
+ bl ErrorHandling
+_0205787C:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_020579C4
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02057AEC
+_0205788C:
+ add r5, #0x50
+ sub r7, r7, #0x1
+ bne _02057866
+_02057892:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057894
+FUN_02057894: ; 0x02057894
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ add r4, r2, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205840C
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058440
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058448
+ strb r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02058450
+ strh r0, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02058458
+ strh r0, [r4, #0x12]
+ add r0, r5, #0x0
+ bl FUN_02058480
+ strb r0, [r4, #0x9]
+ add r0, r5, #0x0
+ bl FUN_02058488
+ strh r0, [r4, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02058490
+ strh r0, [r4, #0x16]
+ add r0, r5, #0x0
+ bl FUN_02058498
+ strh r0, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_020584A0
+ strb r0, [r4, #0xc]
+ add r0, r5, #0x0
+ bl FUN_020584C4
+ strb r0, [r4, #0xd]
+ add r0, r5, #0x0
+ bl FUN_020584D4
+ strb r0, [r4, #0xe]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ strh r0, [r4, #0x1a]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058510
+ strh r0, [r4, #0x1c]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02058510
+ strh r0, [r4, #0x1e]
+ add r0, r5, #0x0
+ bl FUN_02058538
+ strb r0, [r4, #0xa]
+ add r0, r5, #0x0
+ bl FUN_02058540
+ strb r0, [r4, #0xb]
+ add r0, r5, #0x0
+ bl FUN_02058AFC
+ strh r0, [r4, #0x20]
+ add r0, r5, #0x0
+ bl FUN_02058B04
+ strh r0, [r4, #0x22]
+ add r0, r5, #0x0
+ bl FUN_02058B0C
+ strh r0, [r4, #0x24]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ strh r0, [r4, #0x26]
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ strh r0, [r4, #0x28]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ strh r0, [r4, #0x2a]
+ mov r0, #0x26
+ mov r1, #0x2a
+ ldrsh r0, [r4, r0]
+ ldrsh r1, [r4, r1]
+ add r2, sp, #0x0
+ bl FUN_02059E60
+ add r0, r5, #0x0
+ bl FUN_02058B80
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058AE4
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ add r1, sp, #0x0
+ bl FUN_02059EC8
+ cmp r0, #0x0
+ bne _0205798E
+ add r0, r5, #0x0
+ bl FUN_02058B80
+ b _02057990
+_0205798E:
+ ldr r0, [sp, #0x4]
+_02057990:
+ str r0, [r4, #0x2c]
+ add r0, r5, #0x0
+ bl FUN_020585B0
+ add r3, r4, #0x0
+ add r3, #0x30
+ mov r2, #0x10
+_0205799E:
+ ldrb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ strb r1, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r2, r2, #0x1
+ bne _0205799E
+ add r0, r5, #0x0
+ bl FUN_020585D8
+ add r4, #0x40
+ mov r2, #0x10
+_020579B4:
+ ldrb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ strb r1, [r4, #0x0]
+ add r4, r4, #0x1
+ sub r2, r2, #0x1
+ bne _020579B4
+ add sp, #0xc
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_020579C4
+FUN_020579C4: ; 0x020579C4
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ ldr r1, [r4, #0x0]
+ add r5, r0, #0x0
+ bl FUN_02058408
+ ldr r1, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0205843C
+ ldrb r1, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02058444
+ ldrh r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_0205844C
+ ldrh r1, [r4, #0x12]
+ add r0, r5, #0x0
+ bl FUN_02058454
+ ldrb r1, [r4, #0x9]
+ add r0, r5, #0x0
+ bl FUN_0205847C
+ ldrh r1, [r4, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02058484
+ ldrh r1, [r4, #0x16]
+ add r0, r5, #0x0
+ bl FUN_0205848C
+ ldrh r1, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02058494
+ mov r1, #0xc
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_0205849C
+ mov r1, #0xd
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_020584A4
+ mov r1, #0xe
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_020584CC
+ mov r1, #0x1a
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020584EC
+ mov r1, #0x1c
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl FUN_020584EC
+ mov r1, #0x1e
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ bl FUN_020584EC
+ mov r1, #0xa
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058534
+ mov r1, #0xb
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_0205853C
+ mov r1, #0x20
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B00
+ mov r1, #0x22
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B08
+ mov r1, #0x24
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B10
+ mov r1, #0x26
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B30
+ mov r1, #0x28
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B40
+ mov r1, #0x2a
+ ldrsh r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02058B50
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ ldr r0, [r4, #0x2c]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B6C
+ add r0, r5, #0x0
+ bl FUN_020585B0
+ add r3, r4, #0x0
+ add r3, #0x30
+ mov r2, #0x10
+_02057AC4:
+ ldrb r1, [r3, #0x0]
+ add r3, r3, #0x1
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _02057AC4
+ add r0, r5, #0x0
+ bl FUN_020585D8
+ add r4, #0x40
+ mov r2, #0x10
+_02057ADA:
+ ldrb r1, [r4, #0x0]
+ add r4, r4, #0x1
+ strb r1, [r0, #0x0]
+ add r0, r0, #0x1
+ sub r2, r2, #0x1
+ bne _02057ADA
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057AEC
+FUN_02057AEC: ; 0x02057AEC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02057B34
+ add r0, r4, #0x0
+ bl FUN_02057B54
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058570
+ add r0, r4, #0x0
+ bl FUN_02057EE0
+ add r0, r4, #0x0
+ bl FUN_0205AE80
+ add r0, r4, #0x0
+ bl FUN_020581B4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02057CF0
+ add r0, r4, #0x0
+ bl FUN_0205866C
+ add r0, r5, #0x0
+ bl FUN_02058360
+ bl FUN_0205836C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057B34
+FUN_02057B34: ; 0x02057B34
+ push {r4, lr}
+ mov r1, #0x5
+ add r4, r0, #0x0
+ bl FUN_02058410
+ ldr r1, _02057B50 ; =0x00EF4248
+ add r0, r4, #0x0
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_0205815C
+ pop {r4, pc}
+ nop
+_02057B50: .word 0x00EF4248
+
+ thumb_func_start FUN_02057B54
+FUN_02057B54: ; 0x02057B54
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B5C
+ add r0, r4, #0x0
+ bl FUN_02058B2C
+ add r1, r0, #0x0
+ mov r0, #0x2
+ lsl r2, r1, #0x10
+ lsl r0, r0, #0xe
+ add r0, r2, r0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058B18
+ add r0, r4, #0x0
+ bl FUN_02058B3C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B20
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r1, r0, #0x0
+ mov r0, #0x2
+ lsl r2, r1, #0x10
+ lsl r0, r0, #0xe
+ add r0, r2, r0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02058B28
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B6C
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057BAC
+FUN_02057BAC: ; 0x02057BAC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r2, #0x0
+ add r7, r0, #0x0
+ add r4, r3, #0x0
+ str r1, [sp, #0x0]
+ cmp r5, #0x0
+ bne _02057BC0
+ bl ErrorHandling
+_02057BC0:
+ lsl r0, r5, #0x5
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x4]
+ mov r0, #0xb
+ bl FUN_020169D8
+ add r6, r0, #0x0
+ bne _02057BD4
+ bl ErrorHandling
+_02057BD4:
+ ldr r2, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl memcpy
+ mov r0, #0xb
+ mov r1, #0x14
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ bne _02057BEE
+ bl ErrorHandling
+_02057BEE:
+ ldr r0, [sp, #0x0]
+ str r0, [r4, #0x0]
+ str r5, [r4, #0x4]
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ str r7, [r4, #0xc]
+ add r0, r4, #0x0
+ str r6, [r4, #0x10]
+ bl FUN_02057C08
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057C08
+FUN_02057C08: ; 0x02057C08
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_020583E8
+ add r6, r5, #0x0
+ ldr r4, [r5, #0x10]
+ add r7, r0, #0x0
+ add r6, #0x8
+_02057C1A:
+ add r0, r4, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x1
+ beq _02057C30
+ ldrh r1, [r4, #0x8]
+ add r0, r7, #0x0
+ bl FUN_02039528
+ cmp r0, #0x0
+ bne _02057C42
+_02057C30:
+ ldr r0, [r5, #0xc]
+ ldr r2, [r5, #0x0]
+ add r1, r4, #0x0
+ bl FUN_02057494
+ cmp r0, #0x0
+ bne _02057C42
+ bl ErrorHandling
+_02057C42:
+ ldr r0, [r6, #0x0]
+ add r4, #0x20
+ add r0, r0, #0x1
+ str r0, [r6, #0x0]
+ ldr r1, [r5, #0x8]
+ ldr r0, [r5, #0x4]
+ cmp r1, r0
+ blt _02057C1A
+ ldr r1, [r5, #0x10]
+ mov r0, #0xb
+ bl FUN_02016A8C
+ mov r0, #0xb
+ add r1, r5, #0x0
+ bl FUN_02016A8C
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057C64
+FUN_02057C64: ; 0x02057C64
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+ bl FUN_02058368
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_02057C7C:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _02057C8C
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+_02057C8C:
+ add r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, r6
+ blt _02057C7C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057C98
+FUN_02057C98: ; 0x02057C98
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r4, r2, #0x0
+ str r1, [sp, #0x4]
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ add r6, r0, #0x0
+ bl FUN_020580F4
+ cmp r0, #0x1
+ bne _02057CEA
+ add r7, sp, #0x0
+_02057CB6:
+ ldr r0, [sp, #0x0]
+ bl FUN_020589CC
+ cmp r0, #0x1
+ bne _02057CDA
+ ldr r0, [sp, #0x0]
+ bl FUN_02058448
+ cmp r5, r0
+ bne _02057CDA
+ ldr r0, [sp, #0x0]
+ bl FUN_02058750
+ cmp r4, r0
+ bne _02057CDA
+ ldr r0, [sp, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02057CDA:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ beq _02057CB6
+_02057CEA:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02057CF0
+FUN_02057CF0: ; 0x02057CF0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ bl FUN_0205839C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058480
+ cmp r0, #0x30
+ beq _02057D08
+ cmp r0, #0x32
+ bne _02057D0A
+_02057D08:
+ add r5, r5, #0x2
+_02057D0A:
+ ldr r0, _02057D28 ; =FUN_0205832C
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200CA44
+ add r5, r0, #0x0
+ bne _02057D1C
+ bl ErrorHandling
+_02057D1C:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058554
+ pop {r3-r5, pc}
+ nop
+_02057D28: .word FUN_0205832C
+
+ thumb_func_start FUN_02057D2C
+FUN_02057D2C: ; 0x02057D2C
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r6, r2, #0x0
+ bl FUN_02058BFC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058444
+ add r0, r4, #0x0
+ bl FUN_02058C04
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058170
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058454
+ add r0, r4, #0x0
+ bl FUN_02058C0C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205847C
+ add r0, r4, #0x0
+ bl FUN_02058C14
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058484
+ add r0, r4, #0x0
+ bl FUN_02058C1C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205848C
+ add r0, r4, #0x0
+ bl FUN_02058C24
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058494
+ add r0, r4, #0x0
+ bl FUN_02058C2C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205849C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058C58
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020584EC
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02058C58
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl FUN_020584EC
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02058C58
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ mov r2, #0x2
+ bl FUN_020584EC
+ add r0, r4, #0x0
+ bl FUN_02058C80
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058534
+ add r0, r4, #0x0
+ bl FUN_02058C8C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205853C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02057DFC
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057DFC
+FUN_02057DFC: ; 0x02057DFC
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r6, r1, #0x0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058C98
+ add r5, r0, #0x0
+ mov r0, #0x2
+ lsl r1, r5, #0x10
+ lsl r0, r0, #0xe
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B00
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B18
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B30
+ add r0, r6, #0x0
+ bl FUN_02058CA0
+ asr r1, r0, #0x3
+ str r0, [sp, #0x4]
+ asr r0, r1, #0xb
+ lsr r0, r0, #0x14
+ add r0, r1, r0
+ asr r5, r0, #0xc
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B08
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B20
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B40
+ add r0, r6, #0x0
+ bl FUN_02058CA8
+ add r5, r0, #0x0
+ mov r0, #0x2
+ lsl r1, r5, #0x10
+ lsl r0, r0, #0xe
+ add r0, r1, r0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B10
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B28
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02058B50
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B6C
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02057E90
+FUN_02057E90: ; 0x02057E90
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, _02057EDC ; =0x00001801
+ add r5, r0, #0x0
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_020581F8
+ cmp r0, #0x1
+ bne _02057EAE
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020589B0
+_02057EAE:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058570
+ add r0, r5, #0x0
+ bl FUN_020584A0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020584A4
+ add r0, r5, #0x0
+ bl FUN_020584A0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_0205AE80
+ pop {r3-r5, pc}
+ nop
+_02057EDC: .word 0x00001801
+
+ thumb_func_start FUN_02057EE0
+FUN_02057EE0: ; 0x02057EE0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058480
+ bl FUN_02058D14
+ add r4, r0, #0x0
+ bl FUN_02058D2C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058630
+ add r0, r4, #0x0
+ bl FUN_02058D30
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058644
+ add r0, r4, #0x0
+ bl FUN_02058D34
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058658
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02057F18
+FUN_02057F18: ; 0x02057F18
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02058458
+ mov r1, #0x2
+ lsl r1, r1, #0xc
+ cmp r0, r1
+ bne _02057F2C
+ ldr r5, _02057F7C ; =0x021F9080
+ b _02057F32
+_02057F2C:
+ bl FUN_02058D4C
+ add r5, r0, #0x0
+_02057F32:
+ add r0, r5, #0x0
+ bl FUN_02058D38
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058684
+ add r0, r5, #0x0
+ bl FUN_02058D3C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058698
+ add r0, r5, #0x0
+ bl FUN_02058D40
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020586AC
+ add r0, r5, #0x0
+ bl FUN_02058D44
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020586C0
+ add r0, r5, #0x0
+ bl FUN_02058D48
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020586D4
+ pop {r3-r5, pc}
+ nop
+_02057F7C: .word 0x021F9080
+
+ thumb_func_start FUN_02057F80
+FUN_02057F80: ; 0x02057F80
+ ldr r3, _02057F8C ; =memset
+ mov r2, #0x4a
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ bx r3
+ nop
+_02057F8C: .word memset
+
+ thumb_func_start FUN_02057F90
+FUN_02057F90: ; 0x02057F90
+ push {r3-r7, lr}
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r4, r3, #0x0
+ str r1, [sp, #0x0]
+ cmp r6, #0x0
+ beq _0205800A
+_02057F9E:
+ add r0, r4, #0x0
+ bl FUN_02058BFC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058448
+ cmp r7, r0
+ bne _02058002
+ add r0, r4, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x1
+ bne _02057FE8
+ add r0, r4, #0x0
+ bl FUN_02058CFC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x1
+ bne _02057FDA
+ add r0, r5, #0x0
+ bl FUN_02058750
+ cmp r7, r0
+ bne _02058002
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02057FDA:
+ add r0, r5, #0x0
+ bl FUN_02058450
+ cmp r7, r0
+ bne _02058002
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_02057FE8:
+ add r0, r5, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x1
+ bne _02058002
+ add r0, r5, #0x0
+ bl FUN_02058750
+ ldr r1, [sp, #0x0]
+ cmp r1, r0
+ bne _02058002
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_02058002:
+ sub r6, r6, #0x1
+ add r4, #0x20
+ cmp r6, #0x0
+ bne _02057F9E
+_0205800A:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058010
+FUN_02058010: ; 0x02058010
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r4, r2, #0x0
+ str r1, [sp, #0x4]
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ add r6, r0, #0x0
+ bl FUN_020580F4
+ cmp r0, #0x1
+ bne _02058058
+ add r7, sp, #0x0
+_0205802E:
+ ldr r0, [sp, #0x0]
+ bl FUN_02058448
+ cmp r5, r0
+ bne _02058048
+ ldr r0, [sp, #0x0]
+ bl FUN_02058450
+ cmp r4, r0
+ bne _02058048
+ ldr r0, [sp, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02058048:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ beq _0205802E
+_02058058:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058060
+FUN_02058060: ; 0x02058060
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ cmp r5, #0x0
+ bne _0205806E
+ bl ErrorHandling
+_0205806E:
+ add r0, r5, #0x0
+ bl FUN_02058368
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583C4
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_02058082:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205842C
+ cmp r0, #0x1
+ bne _020580A6
+ add r0, r5, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x0
+ bne _020580A6
+ add r0, r5, #0x0
+ bl FUN_02058448
+ cmp r6, r0
+ bne _020580A6
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+_020580A6:
+ sub r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, #0x0
+ bgt _02058082
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020580B4
+FUN_020580B4: ; 0x020580B4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_02058368
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583C4
+ mov r7, #0x4a
+ add r5, r0, #0x0
+ lsl r7, r7, #0x2
+_020580CC:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205842C
+ cmp r0, #0x1
+ bne _020580E6
+ add r0, r5, #0x0
+ bl FUN_02058480
+ cmp r6, r0
+ bne _020580E6
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+_020580E6:
+ sub r4, r4, #0x1
+ add r5, r5, r7
+ cmp r4, #0x0
+ bgt _020580CC
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020580F4
+FUN_020580F4: ; 0x020580F4
+ push {r3-r7, lr}
+ add r5, r2, #0x0
+ add r4, r0, #0x0
+ str r1, [sp, #0x0]
+ add r6, r3, #0x0
+ bl FUN_02058368
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, r7
+ blt _0205810E
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205810E:
+ add r0, r4, #0x0
+ bl FUN_020583C4
+ mov r1, #0x4a
+ ldr r2, [r5, #0x0]
+ lsl r1, r1, #0x2
+ mul r1, r2
+ add r4, r0, r1
+_0205811E:
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058424
+ cmp r6, r0
+ bne _02058138
+ ldr r0, [sp, #0x0]
+ str r4, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02058138:
+ mov r0, #0x4a
+ lsl r0, r0, #0x2
+ add r4, r4, r0
+ ldr r0, [r5, #0x0]
+ cmp r0, r7
+ blt _0205811E
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02058148
+FUN_02058148: ; 0x02058148
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r4, #0x0
+ bl FUN_0205815C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205815C
+FUN_0205815C: ; 0x0205815C
+ ldr r3, _02058164 ; =FUN_02058418
+ ldr r1, _02058168 ; =0x05108000
+ bx r3
+ nop
+_02058164: .word FUN_02058418
+_02058168: .word 0x05108000
+
+ thumb_func_start FUN_0205816C
+FUN_0205816C: ; 0x0205816C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058170
+FUN_02058170: ; 0x02058170
+ push {r3, lr}
+ cmp r1, #0x65
+ blt _02058186
+ cmp r1, #0x75
+ bgt _02058186
+ sub r1, #0x65
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02039504
+ add r1, r0, #0x0
+_02058186:
+ add r0, r1, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205818C
+FUN_0205818C: ; 0x0205818C
+ push {r4, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0xc
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _020581A2
+ add r0, r4, #0x0
+ bl FUN_02059D1C
+_020581A2:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020581A4
+FUN_020581A4: ; 0x020581A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02057EE0
+ add r0, r4, #0x0
+ bl FUN_02058EE8
+ pop {r4, pc}
+
+ thumb_func_start FUN_020581B4
+FUN_020581B4: ; 0x020581B4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058578
+ bl FUN_020587E0
+ cmp r0, #0x0
+ beq _020581F6
+ add r0, r4, #0x0
+ bl FUN_0205818C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl MOD05_021F2E0C
+ add r0, r4, #0x0
+ bl FUN_02058884
+ cmp r0, #0x0
+ bne _020581F6
+ add r0, r4, #0x0
+ bl FUN_02057F18
+ add r0, r4, #0x0
+ bl FUN_0205868C
+ add r0, r4, #0x0
+ bl FUN_02058878
+_020581F6:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020581F8
+FUN_020581F8: ; 0x020581F8
+ push {r3, lr}
+ bl FUN_02058498
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, _02058210 ; =0x0000FFFF
+ cmp r1, r0
+ bne _0205820C
+ mov r0, #0x1
+ pop {r3, pc}
+_0205820C:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02058210: .word 0x0000FFFF
+
+ thumb_func_start FUN_02058214
+FUN_02058214: ; 0x02058214
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x1
+ beq _02058228
+ bl ErrorHandling
+_02058228:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020589B0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0205844C
+ add r0, r4, #0x0
+ bl FUN_02058C24
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058494
+ add r0, r4, #0x0
+ bl FUN_02058C1C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205848C
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058258
+FUN_02058258: ; 0x02058258
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x1
+ beq _0205826E
+ bl ErrorHandling
+_0205826E:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_020589B0
+ add r0, r6, #0x0
+ bl FUN_02058C24
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058494
+ add r0, r6, #0x0
+ bl FUN_02058CFC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205848C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205844C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205829C
+FUN_0205829C: ; 0x0205829C
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058744
+ add r0, r0, r4
+ pop {r4, pc}
+
+ thumb_func_start FUN_020582A8
+FUN_020582A8: ; 0x020582A8
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ mov r1, #0x1
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _020582BE
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020582BE:
+ add r0, r5, #0x0
+ bl FUN_02058448
+ cmp r6, r0
+ beq _020582CC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020582CC:
+ add r0, r5, #0x0
+ bl FUN_02058450
+ cmp r4, r0
+ beq _020582F2
+ add r0, r5, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x0
+ bne _020582E4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020582E4:
+ add r0, r5, #0x0
+ bl FUN_02058750
+ cmp r4, r0
+ beq _020582F2
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020582F2:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020582F8
+FUN_020582F8: ; 0x020582F8
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x1
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _02058310
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02058310:
+ add r0, r5, #0x0
+ bl FUN_0205845C
+ cmp r0, r4
+ beq _0205831E
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205831E:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020582A8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205832C
+FUN_0205832C: ; 0x0205832C
+ push {r4, lr}
+ add r4, r1, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058EF8
+ add r0, r4, #0x0
+ bl FUN_02058830
+ cmp r0, #0x0
+ beq _02058346
+ add r0, r4, #0x0
+ bl FUN_02058348
+_02058346:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058348
+FUN_02058348: ; 0x02058348
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058578
+ bl FUN_020587E0
+ cmp r0, #0x1
+ bne _0205835E
+ add r0, r4, #0x0
+ bl MOD05_021F1D8C
+_0205835E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058360
+FUN_02058360: ; 0x02058360
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058364
+FUN_02058364: ; 0x02058364
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058368
+FUN_02058368: ; 0x02058368
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0205836C
+FUN_0205836C: ; 0x0205836C
+ ldr r1, [r0, #0x8]
+ add r1, r1, #0x1
+ str r1, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058374
+FUN_02058374: ; 0x02058374
+ ldr r1, [r0, #0x8]
+ sub r1, r1, #0x1
+ str r1, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_0205837C
+FUN_0205837C: ; 0x0205837C
+ ldr r2, [r0, #0x0]
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058384
+FUN_02058384: ; 0x02058384
+ ldr r2, [r0, #0x0]
+ mvn r1, r1
+ and r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058390
+FUN_02058390: ; 0x02058390
+ ldr r0, [r0, #0x0]
+ and r0, r1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058398
+FUN_02058398: ; 0x02058398
+ str r1, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_0205839C
+FUN_0205839C: ; 0x0205839C
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_020583A0
+FUN_020583A0: ; 0x020583A0
+ add r0, #0x18
+ bx lr
+
+ thumb_func_start FUN_020583A4
+FUN_020583A4: ; 0x020583A4
+ mov r2, #0x12
+ lsl r2, r2, #0x4
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_020583AC
+FUN_020583AC: ; 0x020583AC
+ mov r1, #0x12
+ lsl r1, r1, #0x4
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_020583B4
+FUN_020583B4: ; 0x020583B4
+ mov r2, #0x49
+ lsl r2, r2, #0x2
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_020583BC
+FUN_020583BC: ; 0x020583BC
+ mov r1, #0x49
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_020583C4
+FUN_020583C4: ; 0x020583C4
+ mov r1, #0x49
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_020583CC
+FUN_020583CC: ; 0x020583CC
+ mov r1, #0x49
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_020583D4
+FUN_020583D4: ; 0x020583D4
+ mov r1, #0x4a
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x2
+ add r1, r2, r1
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_020583E0
+FUN_020583E0: ; 0x020583E0
+ mov r2, #0x4a
+ lsl r2, r2, #0x2
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_020583E8
+FUN_020583E8: ; 0x020583E8
+ mov r1, #0x4a
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_020583F0
+FUN_020583F0: ; 0x020583F0
+ str r1, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_020583F4
+FUN_020583F4: ; 0x020583F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bne _02058402
+ bl ErrorHandling
+_02058402:
+ ldr r0, [r4, #0x14]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058408
+FUN_02058408: ; 0x02058408
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0205840C
+FUN_0205840C: ; 0x0205840C
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058410
+FUN_02058410: ; 0x02058410
+ ldr r2, [r0, #0x0]
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058418
+FUN_02058418: ; 0x02058418
+ ldr r2, [r0, #0x0]
+ mvn r1, r1
+ and r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058424
+FUN_02058424: ; 0x02058424
+ ldr r0, [r0, #0x0]
+ and r0, r1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205842C
+FUN_0205842C: ; 0x0205842C
+ ldr r0, [r0, #0x0]
+ tst r0, r1
+ beq _02058436
+ mov r0, #0x1
+ bx lr
+_02058436:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205843C
+FUN_0205843C: ; 0x0205843C
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058440
+FUN_02058440: ; 0x02058440
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058444
+FUN_02058444: ; 0x02058444
+ str r1, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058448
+FUN_02058448: ; 0x02058448
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_0205844C
+FUN_0205844C: ; 0x0205844C
+ str r1, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02058450
+FUN_02058450: ; 0x02058450
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02058454
+FUN_02058454: ; 0x02058454
+ str r1, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02058458
+FUN_02058458: ; 0x02058458
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_0205845C
+FUN_0205845C: ; 0x0205845C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058458
+ add r4, r0, #0x0
+ bl FUN_0205C334
+ cmp r0, #0x1
+ bne _02058476
+ add r0, r5, #0x0
+ bl FUN_0205C340
+ add r4, r0, #0x0
+_02058476:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205847C
+FUN_0205847C: ; 0x0205847C
+ str r1, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_02058480
+FUN_02058480: ; 0x02058480
+ ldr r0, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_02058484
+FUN_02058484: ; 0x02058484
+ str r1, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_02058488
+FUN_02058488: ; 0x02058488
+ ldr r0, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_0205848C
+FUN_0205848C: ; 0x0205848C
+ str r1, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_02058490
+FUN_02058490: ; 0x02058490
+ ldr r0, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_02058494
+FUN_02058494: ; 0x02058494
+ str r1, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_02058498
+FUN_02058498: ; 0x02058498
+ ldr r0, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_0205849C
+FUN_0205849C: ; 0x0205849C
+ str r1, [r0, #0x24]
+ bx lr
+
+ thumb_func_start FUN_020584A0
+FUN_020584A0: ; 0x020584A0
+ ldr r0, [r0, #0x24]
+ bx lr
+
+ thumb_func_start FUN_020584A4
+FUN_020584A4: ; 0x020584A4
+ ldr r2, [r0, #0x28]
+ str r2, [r0, #0x30]
+ str r1, [r0, #0x28]
+ bx lr
+
+ thumb_func_start FUN_020584AC
+FUN_020584AC: ; 0x020584AC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x80
+ add r5, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _020584C2
+ ldr r0, [r5, #0x28]
+ str r0, [r5, #0x30]
+ str r4, [r5, #0x28]
+_020584C2:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020584C4
+FUN_020584C4: ; 0x020584C4
+ ldr r0, [r0, #0x28]
+ bx lr
+
+ thumb_func_start FUN_020584C8
+FUN_020584C8: ; 0x020584C8
+ ldr r0, [r0, #0x30]
+ bx lr
+
+ thumb_func_start FUN_020584CC
+FUN_020584CC: ; 0x020584CC
+ ldr r2, [r0, #0x2c]
+ str r2, [r0, #0x34]
+ str r1, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start FUN_020584D4
+FUN_020584D4: ; 0x020584D4
+ ldr r0, [r0, #0x2c]
+ bx lr
+
+ thumb_func_start FUN_020584D8
+FUN_020584D8: ; 0x020584D8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020584AC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584CC
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020584EC
+FUN_020584EC: ; 0x020584EC
+ push {r3, lr}
+ cmp r2, #0x0
+ beq _020584FC
+ cmp r2, #0x1
+ beq _02058500
+ cmp r2, #0x2
+ beq _02058504
+ b _02058508
+_020584FC:
+ str r1, [r0, #0x38]
+ pop {r3, pc}
+_02058500:
+ str r1, [r0, #0x3c]
+ pop {r3, pc}
+_02058504:
+ str r1, [r0, #0x40]
+ pop {r3, pc}
+_02058508:
+ bl ErrorHandling
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058510
+FUN_02058510: ; 0x02058510
+ push {r3, lr}
+ cmp r1, #0x0
+ beq _02058520
+ cmp r1, #0x1
+ beq _02058524
+ cmp r1, #0x2
+ beq _02058528
+ b _0205852C
+_02058520:
+ ldr r0, [r0, #0x38]
+ pop {r3, pc}
+_02058524:
+ ldr r0, [r0, #0x3c]
+ pop {r3, pc}
+_02058528:
+ ldr r0, [r0, #0x40]
+ pop {r3, pc}
+_0205852C:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058534
+FUN_02058534: ; 0x02058534
+ str r1, [r0, #0x44]
+ bx lr
+
+ thumb_func_start FUN_02058538
+FUN_02058538: ; 0x02058538
+ ldr r0, [r0, #0x44]
+ bx lr
+
+ thumb_func_start FUN_0205853C
+FUN_0205853C: ; 0x0205853C
+ str r1, [r0, #0x48]
+ bx lr
+
+ thumb_func_start FUN_02058540
+FUN_02058540: ; 0x02058540
+ ldr r0, [r0, #0x48]
+ bx lr
+
+ thumb_func_start FUN_02058544
+FUN_02058544: ; 0x02058544
+ add r0, #0xa0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205854C
+FUN_0205854C: ; 0x0205854C
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058554
+FUN_02058554: ; 0x02058554
+ add r0, #0xb0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205855C
+FUN_0205855C: ; 0x0205855C
+ add r0, #0xb0
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058564
+FUN_02058564: ; 0x02058564
+ push {r3, lr}
+ bl FUN_0205855C
+ bl FUN_0200CAB4
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058570
+FUN_02058570: ; 0x02058570
+ add r0, #0xb4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058578
+FUN_02058578: ; 0x02058578
+ add r0, #0xb4
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058580
+FUN_02058580: ; 0x02058580
+ ldr r3, _02058588 ; =FUN_02058360
+ add r0, #0xb4
+ ldr r0, [r0, #0x0]
+ bx r3
+ .balign 4
+_02058588: .word FUN_02058360
+
+ thumb_func_start FUN_0205858C
+FUN_0205858C: ; 0x0205858C
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ cmp r5, #0x10
+ ble _0205859A
+ bl ErrorHandling
+_0205859A:
+ add r0, r4, #0x0
+ bl FUN_020585B0
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020585B0
+FUN_020585B0: ; 0x020585B0
+ add r0, #0xd8
+ bx lr
+
+ thumb_func_start FUN_020585B4
+FUN_020585B4: ; 0x020585B4
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ cmp r5, #0x10
+ ble _020585C2
+ bl ErrorHandling
+_020585C2:
+ add r0, r4, #0x0
+ bl FUN_020585D8
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020585D8
+FUN_020585D8: ; 0x020585D8
+ add r0, #0xe8
+ bx lr
+
+ thumb_func_start FUN_020585DC
+FUN_020585DC: ; 0x020585DC
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ cmp r5, #0x10
+ ble _020585EA
+ bl ErrorHandling
+_020585EA:
+ add r0, r4, #0x0
+ bl FUN_02058600
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058600
+FUN_02058600: ; 0x02058600
+ add r0, #0xf8
+ bx lr
+
+ thumb_func_start FUN_02058604
+FUN_02058604: ; 0x02058604
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ cmp r5, #0x20
+ ble _02058612
+ bl ErrorHandling
+_02058612:
+ add r0, r4, #0x0
+ bl FUN_02058628
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058628
+FUN_02058628: ; 0x02058628
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ bx lr
+
+ thumb_func_start FUN_02058630
+FUN_02058630: ; 0x02058630
+ add r0, #0xb8
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058638
+FUN_02058638: ; 0x02058638
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xb8
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058644
+FUN_02058644: ; 0x02058644
+ add r0, #0xbc
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205864C
+FUN_0205864C: ; 0x0205864C
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xbc
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058658
+FUN_02058658: ; 0x02058658
+ add r0, #0xc0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058660
+FUN_02058660: ; 0x02058660
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xc0
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205866C
+FUN_0205866C: ; 0x0205866C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058480
+ bl FUN_02058D14
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x10]
+ add r0, r4, #0x0
+ blx r1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058684
+FUN_02058684: ; 0x02058684
+ add r0, #0xc4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205868C
+FUN_0205868C: ; 0x0205868C
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xc4
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058698
+FUN_02058698: ; 0x02058698
+ add r0, #0xc8
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586A0
+FUN_020586A0: ; 0x020586A0
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xc8
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_020586AC
+FUN_020586AC: ; 0x020586AC
+ add r0, #0xcc
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586B4
+FUN_020586B4: ; 0x020586B4
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xcc
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_020586C0
+FUN_020586C0: ; 0x020586C0
+ add r0, #0xd0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586C8
+FUN_020586C8: ; 0x020586C8
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xd0
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_020586D4
+FUN_020586D4: ; 0x020586D4
+ add r0, #0xd4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586DC
+FUN_020586DC: ; 0x020586DC
+ push {r3, lr}
+ add r1, r0, #0x0
+ add r1, #0xd4
+ ldr r1, [r1, #0x0]
+ blx r1
+ pop {r3, pc}
+
+ thumb_func_start FUN_020586E8
+FUN_020586E8: ; 0x020586E8
+ add r0, #0xa4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586F0
+FUN_020586F0: ; 0x020586F0
+ add r0, #0xa4
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020586F8
+FUN_020586F8: ; 0x020586F8
+ add r0, #0xa8
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058700
+FUN_02058700: ; 0x02058700
+ add r1, r0, #0x0
+ add r1, #0xa8
+ ldr r1, [r1, #0x0]
+ add r0, #0xa8
+ add r1, r1, #0x1
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058710
+FUN_02058710: ; 0x02058710
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058718
+FUN_02058718: ; 0x02058718
+ add r0, #0xac
+ strh r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058720
+FUN_02058720: ; 0x02058720
+ add r0, #0xac
+ ldrh r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058728
+FUN_02058728: ; 0x02058728
+ add r0, #0xae
+ strh r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058730
+FUN_02058730: ; 0x02058730
+ add r0, #0xae
+ ldrh r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058738
+FUN_02058738: ; 0x02058738
+ push {r3, lr}
+ bl FUN_02058580
+ bl FUN_020583E8
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058744
+FUN_02058744: ; 0x02058744
+ push {r3, lr}
+ bl FUN_02058578
+ bl FUN_0205839C
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058750
+FUN_02058750: ; 0x02058750
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020589CC
+ cmp r0, #0x1
+ beq _02058760
+ bl ErrorHandling
+_02058760:
+ add r0, r4, #0x0
+ bl FUN_02058490
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058768
+FUN_02058768: ; 0x02058768
+ ldr r3, _02058770 ; =FUN_0205837C
+ mov r1, #0x6
+ bx r3
+ nop
+_02058770: .word FUN_0205837C
+
+ thumb_func_start FUN_02058774
+FUN_02058774: ; 0x02058774
+ ldr r3, _0205877C ; =FUN_02058384
+ mov r1, #0x6
+ bx r3
+ nop
+_0205877C: .word FUN_02058384
+
+ thumb_func_start FUN_02058780
+FUN_02058780: ; 0x02058780
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02058368
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r6, #0x4a
+ add r5, r0, #0x0
+ lsl r6, r6, #0x2
+_02058796:
+ add r0, r5, #0x0
+ bl FUN_02058830
+ cmp r0, #0x0
+ beq _020587A6
+ add r0, r5, #0x0
+ bl FUN_02058908
+_020587A6:
+ add r5, r5, r6
+ sub r4, r4, #0x1
+ bne _02058796
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020587B0
+FUN_020587B0: ; 0x020587B0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02058368
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ mov r6, #0x4a
+ add r5, r0, #0x0
+ lsl r6, r6, #0x2
+_020587C6:
+ add r0, r5, #0x0
+ bl FUN_02058830
+ cmp r0, #0x0
+ beq _020587D6
+ add r0, r5, #0x0
+ bl FUN_02058914
+_020587D6:
+ add r5, r5, r6
+ sub r4, r4, #0x1
+ bne _020587C6
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020587E0
+FUN_020587E0: ; 0x020587E0
+ push {r3, lr}
+ mov r1, #0x1
+ bl FUN_02058390
+ cmp r0, #0x0
+ beq _020587F0
+ mov r0, #0x1
+ pop {r3, pc}
+_020587F0:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020587F4
+FUN_020587F4: ; 0x020587F4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058578
+ add r1, r4, #0x0
+ bl FUN_02058390
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058804
+FUN_02058804: ; 0x02058804
+ push {r3, lr}
+ cmp r1, #0x0
+ bne _02058812
+ mov r1, #0x8
+ bl FUN_0205837C
+ pop {r3, pc}
+_02058812:
+ mov r1, #0x8
+ bl FUN_02058384
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205881C
+FUN_0205881C: ; 0x0205881C
+ push {r3, lr}
+ mov r1, #0x8
+ bl FUN_02058390
+ cmp r0, #0x0
+ bne _0205882C
+ mov r0, #0x1
+ pop {r3, pc}
+_0205882C:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058830
+FUN_02058830: ; 0x02058830
+ ldr r3, _02058838 ; =FUN_0205842C
+ mov r1, #0x1
+ bx r3
+ nop
+_02058838: .word FUN_0205842C
+
+ thumb_func_start FUN_0205883C
+FUN_0205883C: ; 0x0205883C
+ ldr r3, _02058844 ; =FUN_02058410
+ mov r1, #0x2
+ bx r3
+ nop
+_02058844: .word FUN_02058410
+
+ thumb_func_start FUN_02058848
+FUN_02058848: ; 0x02058848
+ ldr r3, _02058850 ; =FUN_02058418
+ mov r1, #0x2
+ bx r3
+ nop
+_02058850: .word FUN_02058418
+
+ thumb_func_start FUN_02058854
+FUN_02058854: ; 0x02058854
+ ldr r3, _0205885C ; =FUN_0205842C
+ mov r1, #0x2
+ bx r3
+ nop
+_0205885C: .word FUN_0205842C
+
+ thumb_func_start FUN_02058860
+FUN_02058860: ; 0x02058860
+ ldr r3, _02058868 ; =FUN_02058410
+ mov r1, #0x4
+ bx r3
+ nop
+_02058868: .word FUN_02058410
+
+ thumb_func_start FUN_0205886C
+FUN_0205886C: ; 0x0205886C
+ ldr r3, _02058874 ; =FUN_02058418
+ mov r1, #0x8
+ bx r3
+ nop
+_02058874: .word FUN_02058418
+
+ thumb_func_start FUN_02058878
+FUN_02058878: ; 0x02058878
+ ldr r3, _02058880 ; =FUN_02058410
+ mov r1, #0x1
+ lsl r1, r1, #0xe
+ bx r3
+ .balign 4
+_02058880: .word FUN_02058410
+
+ thumb_func_start FUN_02058884
+FUN_02058884: ; 0x02058884
+ ldr r3, _0205888C ; =FUN_0205842C
+ mov r1, #0x1
+ lsl r1, r1, #0xe
+ bx r3
+ .balign 4
+_0205888C: .word FUN_0205842C
+
+ thumb_func_start FUN_02058890
+FUN_02058890: ; 0x02058890
+ ldr r3, _02058898 ; =FUN_0205842C
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bx r3
+ .balign 4
+_02058898: .word FUN_0205842C
+
+ thumb_func_start FUN_0205889C
+FUN_0205889C: ; 0x0205889C
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020588AC
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bl FUN_02058410
+ pop {r3, pc}
+_020588AC:
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020588B8
+FUN_020588B8: ; 0x020588B8
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020588C8
+ mov r1, #0x1
+ lsl r1, r1, #0x12
+ bl FUN_02058418
+ pop {r3, pc}
+_020588C8:
+ mov r1, #0x1
+ lsl r1, r1, #0x12
+ bl FUN_02058410
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020588D4
+FUN_020588D4: ; 0x020588D4
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x12
+ bl FUN_0205842C
+ cmp r0, #0x1
+ beq _020588E6
+ mov r0, #0x1
+ pop {r3, pc}
+_020588E6:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020588EC
+FUN_020588EC: ; 0x020588EC
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020588FC
+ mov r1, #0x2
+ lsl r1, r1, #0x12
+ bl FUN_02058410
+ pop {r3, pc}
+_020588FC:
+ mov r1, #0x2
+ lsl r1, r1, #0x12
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058908
+FUN_02058908: ; 0x02058908
+ ldr r3, _02058910 ; =FUN_02058410
+ mov r1, #0x40
+ bx r3
+ nop
+_02058910: .word FUN_02058410
+
+ thumb_func_start FUN_02058914
+FUN_02058914: ; 0x02058914
+ ldr r3, _0205891C ; =FUN_02058418
+ mov r1, #0x40
+ bx r3
+ nop
+_0205891C: .word FUN_02058418
+
+ thumb_func_start FUN_02058920
+FUN_02058920: ; 0x02058920
+ push {r3, lr}
+ mov r1, #0x40
+ bl FUN_0205842C
+ cmp r0, #0x1
+ bne _02058930
+ mov r0, #0x1
+ pop {r3, pc}
+_02058930:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058934
+FUN_02058934: ; 0x02058934
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058578
+ bl FUN_020587E0
+ cmp r0, #0x0
+ bne _02058948
+ mov r0, #0x0
+ pop {r4, pc}
+_02058948:
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205895A
+ mov r0, #0x1
+ pop {r4, pc}
+_0205895A:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058960
+FUN_02058960: ; 0x02058960
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02058970
+ mov r1, #0x2
+ lsl r1, r1, #0x16
+ bl FUN_02058410
+ pop {r3, pc}
+_02058970:
+ mov r1, #0x2
+ lsl r1, r1, #0x16
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205897C
+FUN_0205897C: ; 0x0205897C
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x16
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205898E
+ mov r0, #0x1
+ pop {r3, pc}
+_0205898E:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058994
+FUN_02058994: ; 0x02058994
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020589A4
+ mov r1, #0x1
+ lsl r1, r1, #0xa
+ bl FUN_02058410
+ pop {r3, pc}
+_020589A4:
+ mov r1, #0x1
+ lsl r1, r1, #0xa
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020589B0
+FUN_020589B0: ; 0x020589B0
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020589C0
+ mov r1, #0x2
+ lsl r1, r1, #0x18
+ bl FUN_02058410
+ pop {r3, pc}
+_020589C0:
+ mov r1, #0x2
+ lsl r1, r1, #0x18
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020589CC
+FUN_020589CC: ; 0x020589CC
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x18
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _020589DE
+ mov r0, #0x1
+ pop {r3, pc}
+_020589DE:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020589E4
+FUN_020589E4: ; 0x020589E4
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _020589F4
+ mov r1, #0x1
+ lsl r1, r1, #0x1a
+ bl FUN_02058410
+ pop {r3, pc}
+_020589F4:
+ mov r1, #0x1
+ lsl r1, r1, #0x1a
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A00
+FUN_02058A00: ; 0x02058A00
+ push {r3, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0x1a
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058A12
+ mov r0, #0x1
+ pop {r3, pc}
+_02058A12:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A18
+FUN_02058A18: ; 0x02058A18
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02058A28
+ mov r1, #0x2
+ lsl r1, r1, #0x1a
+ bl FUN_02058410
+ pop {r3, pc}
+_02058A28:
+ mov r1, #0x2
+ lsl r1, r1, #0x1a
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A34
+FUN_02058A34: ; 0x02058A34
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x1a
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058A46
+ mov r0, #0x1
+ pop {r3, pc}
+_02058A46:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A4C
+FUN_02058A4C: ; 0x02058A4C
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02058A5C
+ mov r1, #0x1
+ lsl r1, r1, #0x1c
+ bl FUN_02058410
+ pop {r3, pc}
+_02058A5C:
+ mov r1, #0x1
+ lsl r1, r1, #0x1c
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A68
+FUN_02058A68: ; 0x02058A68
+ push {r3, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0x1c
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058A7A
+ mov r0, #0x1
+ pop {r3, pc}
+_02058A7A:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A80
+FUN_02058A80: ; 0x02058A80
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02058A90
+ mov r1, #0x1
+ lsl r1, r1, #0x18
+ bl FUN_02058410
+ pop {r3, pc}
+_02058A90:
+ mov r1, #0x1
+ lsl r1, r1, #0x18
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058A9C
+FUN_02058A9C: ; 0x02058A9C
+ push {r3, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0x18
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058AAE
+ mov r0, #0x1
+ pop {r3, pc}
+_02058AAE:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058AB4
+FUN_02058AB4: ; 0x02058AB4
+ push {r3, lr}
+ mov r1, #0x10
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058AC4
+ mov r0, #0x1
+ pop {r3, pc}
+_02058AC4:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058AC8
+FUN_02058AC8: ; 0x02058AC8
+ push {r3, lr}
+ cmp r1, #0x1
+ bne _02058AD8
+ mov r1, #0x2
+ lsl r1, r1, #0x1c
+ bl FUN_02058410
+ pop {r3, pc}
+_02058AD8:
+ mov r1, #0x2
+ lsl r1, r1, #0x1c
+ bl FUN_02058418
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058AE4
+FUN_02058AE4: ; 0x02058AE4
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x1c
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058AF6
+ mov r0, #0x1
+ pop {r3, pc}
+_02058AF6:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058AFC
+FUN_02058AFC: ; 0x02058AFC
+ ldr r0, [r0, #0x4c]
+ bx lr
+
+ thumb_func_start FUN_02058B00
+FUN_02058B00: ; 0x02058B00
+ str r1, [r0, #0x4c]
+ bx lr
+
+ thumb_func_start FUN_02058B04
+FUN_02058B04: ; 0x02058B04
+ ldr r0, [r0, #0x50]
+ bx lr
+
+ thumb_func_start FUN_02058B08
+FUN_02058B08: ; 0x02058B08
+ str r1, [r0, #0x50]
+ bx lr
+
+ thumb_func_start FUN_02058B0C
+FUN_02058B0C: ; 0x02058B0C
+ ldr r0, [r0, #0x54]
+ bx lr
+
+ thumb_func_start FUN_02058B10
+FUN_02058B10: ; 0x02058B10
+ str r1, [r0, #0x54]
+ bx lr
+
+ thumb_func_start FUN_02058B14
+FUN_02058B14: ; 0x02058B14
+ ldr r0, [r0, #0x58]
+ bx lr
+
+ thumb_func_start FUN_02058B18
+FUN_02058B18: ; 0x02058B18
+ str r1, [r0, #0x58]
+ bx lr
+
+ thumb_func_start FUN_02058B1C
+FUN_02058B1C: ; 0x02058B1C
+ ldr r0, [r0, #0x5c]
+ bx lr
+
+ thumb_func_start FUN_02058B20
+FUN_02058B20: ; 0x02058B20
+ str r1, [r0, #0x5c]
+ bx lr
+
+ thumb_func_start FUN_02058B24
+FUN_02058B24: ; 0x02058B24
+ ldr r0, [r0, #0x60]
+ bx lr
+
+ thumb_func_start FUN_02058B28
+FUN_02058B28: ; 0x02058B28
+ str r1, [r0, #0x60]
+ bx lr
+
+ thumb_func_start FUN_02058B2C
+FUN_02058B2C: ; 0x02058B2C
+ ldr r0, [r0, #0x64]
+ bx lr
+
+ thumb_func_start FUN_02058B30
+FUN_02058B30: ; 0x02058B30
+ str r1, [r0, #0x64]
+ bx lr
+
+ thumb_func_start FUN_02058B34
+FUN_02058B34: ; 0x02058B34
+ ldr r2, [r0, #0x64]
+ add r1, r2, r1
+ str r1, [r0, #0x64]
+ bx lr
+
+ thumb_func_start FUN_02058B3C
+FUN_02058B3C: ; 0x02058B3C
+ ldr r0, [r0, #0x68]
+ bx lr
+
+ thumb_func_start FUN_02058B40
+FUN_02058B40: ; 0x02058B40
+ str r1, [r0, #0x68]
+ bx lr
+
+ thumb_func_start FUN_02058B44
+FUN_02058B44: ; 0x02058B44
+ ldr r2, [r0, #0x68]
+ add r1, r2, r1
+ str r1, [r0, #0x68]
+ bx lr
+
+ thumb_func_start FUN_02058B4C
+FUN_02058B4C: ; 0x02058B4C
+ ldr r0, [r0, #0x6c]
+ bx lr
+
+ thumb_func_start FUN_02058B50
+FUN_02058B50: ; 0x02058B50
+ str r1, [r0, #0x6c]
+ bx lr
+
+ thumb_func_start FUN_02058B54
+FUN_02058B54: ; 0x02058B54
+ ldr r2, [r0, #0x6c]
+ add r1, r2, r1
+ str r1, [r0, #0x6c]
+ bx lr
+
+ thumb_func_start FUN_02058B5C
+FUN_02058B5C: ; 0x02058B5C
+ add r2, r0, #0x0
+ add r2, #0x70
+ add r3, r1, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058B6C
+FUN_02058B6C: ; 0x02058B6C
+ add r3, r1, #0x0
+ add r2, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, #0x70
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058B7C
+FUN_02058B7C: ; 0x02058B7C
+ add r0, #0x70
+ bx lr
+
+ thumb_func_start FUN_02058B80
+FUN_02058B80: ; 0x02058B80
+ ldr r0, [r0, #0x74]
+ bx lr
+
+ thumb_func_start FUN_02058B84
+FUN_02058B84: ; 0x02058B84
+ add r2, r0, #0x0
+ add r2, #0x7c
+ add r3, r1, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058B94
+FUN_02058B94: ; 0x02058B94
+ add r3, r1, #0x0
+ add r2, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, #0x7c
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BA4
+FUN_02058BA4: ; 0x02058BA4
+ add r2, r0, #0x0
+ add r2, #0x88
+ add r3, r1, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BB4
+FUN_02058BB4: ; 0x02058BB4
+ add r3, r1, #0x0
+ add r2, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, #0x88
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BC4
+FUN_02058BC4: ; 0x02058BC4
+ add r2, r0, #0x0
+ add r2, #0x94
+ add r3, r1, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BD4
+FUN_02058BD4: ; 0x02058BD4
+ add r3, r1, #0x0
+ add r2, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, #0x94
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BE4
+FUN_02058BE4: ; 0x02058BE4
+ push {r3, lr}
+ bl FUN_02058B80
+ asr r1, r0, #0x3
+ asr r0, r1, #0xb
+ lsr r0, r0, #0x14
+ add r0, r1, r0
+ asr r0, r0, #0xc
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058BF8
+FUN_02058BF8: ; 0x02058BF8
+ strh r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058BFC
+FUN_02058BFC: ; 0x02058BFC
+ ldrh r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058C00
+FUN_02058C00: ; 0x02058C00
+ strh r1, [r0, #0x2]
+ bx lr
+
+ thumb_func_start FUN_02058C04
+FUN_02058C04: ; 0x02058C04
+ ldrh r0, [r0, #0x2]
+ bx lr
+
+ thumb_func_start FUN_02058C08
+FUN_02058C08: ; 0x02058C08
+ strh r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058C0C
+FUN_02058C0C: ; 0x02058C0C
+ ldrh r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058C10
+FUN_02058C10: ; 0x02058C10
+ strh r1, [r0, #0x6]
+ bx lr
+
+ thumb_func_start FUN_02058C14
+FUN_02058C14: ; 0x02058C14
+ ldrh r0, [r0, #0x6]
+ bx lr
+
+ thumb_func_start FUN_02058C18
+FUN_02058C18: ; 0x02058C18
+ strh r1, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058C1C
+FUN_02058C1C: ; 0x02058C1C
+ ldrh r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058C20
+FUN_02058C20: ; 0x02058C20
+ strh r1, [r0, #0xa]
+ bx lr
+
+ thumb_func_start FUN_02058C24
+FUN_02058C24: ; 0x02058C24
+ ldrh r0, [r0, #0xa]
+ bx lr
+
+ thumb_func_start FUN_02058C28
+FUN_02058C28: ; 0x02058C28
+ strh r1, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02058C2C
+FUN_02058C2C: ; 0x02058C2C
+ mov r1, #0xc
+ ldrsh r0, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058C34
+FUN_02058C34: ; 0x02058C34
+ push {r3, lr}
+ cmp r2, #0x0
+ beq _02058C44
+ cmp r2, #0x1
+ beq _02058C48
+ cmp r2, #0x2
+ beq _02058C4C
+ b _02058C50
+_02058C44:
+ strh r1, [r0, #0xe]
+ pop {r3, pc}
+_02058C48:
+ strh r1, [r0, #0x10]
+ pop {r3, pc}
+_02058C4C:
+ strh r1, [r0, #0x12]
+ pop {r3, pc}
+_02058C50:
+ bl ErrorHandling
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058C58
+FUN_02058C58: ; 0x02058C58
+ push {r3, lr}
+ cmp r1, #0x0
+ beq _02058C68
+ cmp r1, #0x1
+ beq _02058C6C
+ cmp r1, #0x2
+ beq _02058C70
+ b _02058C74
+_02058C68:
+ ldrh r0, [r0, #0xe]
+ pop {r3, pc}
+_02058C6C:
+ ldrh r0, [r0, #0x10]
+ pop {r3, pc}
+_02058C70:
+ ldrh r0, [r0, #0x12]
+ pop {r3, pc}
+_02058C74:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02058C7C
+FUN_02058C7C: ; 0x02058C7C
+ strh r1, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_02058C80
+FUN_02058C80: ; 0x02058C80
+ mov r1, #0x14
+ ldrsh r0, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058C88
+FUN_02058C88: ; 0x02058C88
+ strh r1, [r0, #0x16]
+ bx lr
+
+ thumb_func_start FUN_02058C8C
+FUN_02058C8C: ; 0x02058C8C
+ mov r1, #0x16
+ ldrsh r0, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058C94
+FUN_02058C94: ; 0x02058C94
+ strh r1, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_02058C98
+FUN_02058C98: ; 0x02058C98
+ ldrh r0, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_02058C9C
+FUN_02058C9C: ; 0x02058C9C
+ str r1, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_02058CA0
+FUN_02058CA0: ; 0x02058CA0
+ ldr r0, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_02058CA4
+FUN_02058CA4: ; 0x02058CA4
+ strh r1, [r0, #0x1a]
+ bx lr
+
+ thumb_func_start FUN_02058CA8
+FUN_02058CA8: ; 0x02058CA8
+ ldrh r0, [r0, #0x1a]
+ bx lr
+
+ thumb_func_start FUN_02058CAC
+FUN_02058CAC: ; 0x02058CAC
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r4, #0x0
+ add r5, r2, #0x0
+_02058CB8:
+ add r0, r5, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x0
+ bne _02058CD4
+ add r0, r5, #0x0
+ bl FUN_02058BFC
+ cmp r6, r0
+ bne _02058CD4
+ ldr r0, [sp, #0x0]
+ lsl r1, r4, #0x5
+ add r0, r0, r1
+ pop {r3-r7, pc}
+_02058CD4:
+ add r4, r4, #0x1
+ add r5, #0x20
+ cmp r4, r7
+ blt _02058CB8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02058CE0
+FUN_02058CE0: ; 0x02058CE0
+ push {r3, lr}
+ bl FUN_02058C24
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, _02058CF8 ; =0x0000FFFF
+ cmp r1, r0
+ bne _02058CF4
+ mov r0, #0x1
+ pop {r3, pc}
+_02058CF4:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02058CF8: .word 0x0000FFFF
+
+ thumb_func_start FUN_02058CFC
+FUN_02058CFC: ; 0x02058CFC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058CE0
+ cmp r0, #0x1
+ beq _02058D0C
+ bl ErrorHandling
+_02058D0C:
+ add r0, r4, #0x0
+ bl FUN_02058C1C
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058D14
+FUN_02058D14: ; 0x02058D14
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x37
+ blo _02058D20
+ bl ErrorHandling
+_02058D20:
+ ldr r0, _02058D28 ; =0x020F6364
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02058D28: .word 0x020F6364
+
+ thumb_func_start FUN_02058D2C
+FUN_02058D2C: ; 0x02058D2C
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058D30
+FUN_02058D30: ; 0x02058D30
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058D34
+FUN_02058D34: ; 0x02058D34
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02058D38
+FUN_02058D38: ; 0x02058D38
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02058D3C
+FUN_02058D3C: ; 0x02058D3C
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02058D40
+FUN_02058D40: ; 0x02058D40
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02058D44
+FUN_02058D44: ; 0x02058D44
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02058D48
+FUN_02058D48: ; 0x02058D48
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02058D4C
+FUN_02058D4C: ; 0x02058D4C
+ push {r3, lr}
+ ldr r3, _02058D6C ; =0x021F9494
+ ldr r1, _02058D70 ; =0x0000FFFF
+_02058D52:
+ ldr r2, [r3, #0x0]
+ cmp r2, r0
+ bne _02058D5C
+ ldr r0, [r3, #0x4]
+ pop {r3, pc}
+_02058D5C:
+ add r3, #0x8
+ ldr r2, [r3, #0x0]
+ cmp r2, r1
+ bne _02058D52
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02058D6C: .word 0x021F9494
+_02058D70: .word 0x0000FFFF
+
+ thumb_func_start FUN_02058D74
+FUN_02058D74: ; 0x02058D74
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02058368
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020583CC
+ add r5, r0, #0x0
+_02058D8A:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058DAE
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ cmp r6, r0
+ bne _02058DAE
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ cmp r7, r0
+ bne _02058DAE
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+_02058DAE:
+ mov r0, #0x4a
+ lsl r0, r0, #0x2
+ add r5, r5, r0
+ sub r4, r4, #0x1
+ bne _02058D8A
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02058DBC
+FUN_02058DBC: ; 0x02058DBC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ ldr r1, [r4, #0x0]
+ add r6, r2, #0x0
+ asr r2, r1, #0x4
+ asr r1, r2, #0xb
+ lsr r1, r1, #0x14
+ add r1, r2, r1
+ asr r1, r1, #0xc
+ add r5, r0, #0x0
+ bl FUN_02058B30
+ ldr r1, [r4, #0x4]
+ add r0, r5, #0x0
+ asr r2, r1, #0x3
+ asr r1, r2, #0xb
+ lsr r1, r1, #0x14
+ add r1, r2, r1
+ asr r1, r1, #0xc
+ bl FUN_02058B40
+ ldr r1, [r4, #0x8]
+ add r0, r5, #0x0
+ asr r2, r1, #0x4
+ asr r1, r2, #0xb
+ lsr r1, r1, #0x14
+ add r1, r2, r1
+ asr r1, r1, #0xc
+ bl FUN_02058B50
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058B6C
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584A4
+ add r0, r5, #0x0
+ bl FUN_0205AE80
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r5, #0x0
+ mov r1, #0xa
+ bl FUN_02058418
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058E28
+FUN_02058E28: ; 0x02058E28
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r4, r2, #0x0
+ mov r2, #0x2
+ add r6, r3, #0x0
+ lsl r3, r1, #0x10
+ lsl r2, r2, #0xe
+ add r2, r3, r2
+ add r5, r0, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02058B30
+ lsl r0, r4, #0xf
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058B40
+ mov r0, #0x2
+ lsl r1, r6, #0x10
+ lsl r0, r0, #0xe
+ add r0, r1, r0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02058B50
+ add r0, r5, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B6C
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0x0
+ bl FUN_020584A4
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r5, #0x0
+ mov r1, #0xa
+ bl FUN_02058418
+ add r0, r5, #0x0
+ bl FUN_0205AE80
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058E90
+FUN_02058E90: ; 0x02058E90
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058660
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205847C
+ add r0, r5, #0x0
+ bl FUN_02057EE0
+ add r0, r5, #0x0
+ bl FUN_02058EE8
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02058EB0
+FUN_02058EB0: ; 0x02058EB0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058444
+ add r0, r4, #0x0
+ bl FUN_02058860
+ add r0, r4, #0x0
+ bl FUN_0205815C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058EC8
+FUN_02058EC8: ; 0x02058EC8
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058ECC
+FUN_02058ECC: ; 0x02058ECC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058ED0
+FUN_02058ED0: ; 0x02058ED0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058ED4
+FUN_02058ED4: ; 0x02058ED4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058ED8
+FUN_02058ED8: ; 0x02058ED8
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058EDC
+FUN_02058EDC: ; 0x02058EDC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058EE0
+FUN_02058EE0: ; 0x02058EE0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058EE4
+FUN_02058EE4: ; 0x02058EE4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02058EE8
+FUN_02058EE8: ; 0x02058EE8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058638
+ add r0, r4, #0x0
+ bl FUN_0205BEF8
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058EF8
+FUN_02058EF8: ; 0x02058EF8
+ push {r4, lr}
+ mov r1, #0x2
+ add r4, r0, #0x0
+ bl FUN_020587F4
+ cmp r0, #0x0
+ bne _02058F5C
+ add r0, r4, #0x0
+ bl FUN_02058F94
+ add r0, r4, #0x0
+ bl FUN_02058FAC
+ add r0, r4, #0x0
+ bl FUN_02058FD0
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058F2C
+ add r0, r4, #0x0
+ bl FUN_0205B058
+ b _02058F50
+_02058F2C:
+ add r0, r4, #0x0
+ bl FUN_02058920
+ cmp r0, #0x0
+ bne _02058F50
+ add r0, r4, #0x0
+ bl FUN_02058F60
+ cmp r0, #0x1
+ bne _02058F50
+ add r0, r4, #0x0
+ bl FUN_0205BF00
+ cmp r0, #0x0
+ bne _02058F50
+ add r0, r4, #0x0
+ bl FUN_0205864C
+_02058F50:
+ add r0, r4, #0x0
+ bl FUN_02058FF4
+ add r0, r4, #0x0
+ bl FUN_0205902C
+_02058F5C:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058F60
+FUN_02058F60: ; 0x02058F60
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ bne _02058F70
+ mov r0, #0x1
+ pop {r4, pc}
+_02058F70:
+ mov r1, #0x6
+ add r0, r4, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _02058F82
+ mov r0, #0x1
+ pop {r4, pc}
+_02058F82:
+ add r0, r4, #0x0
+ bl FUN_02058480
+ cmp r0, #0x32
+ bne _02058F90
+ mov r0, #0x1
+ pop {r4, pc}
+_02058F90:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058F94
+FUN_02058F94: ; 0x02058F94
+ push {r4, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0xc
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058FAA
+ add r0, r4, #0x0
+ bl FUN_02059D1C
+_02058FAA:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02058FAC
+FUN_02058FAC: ; 0x02058FAC
+ push {r4, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0xa
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058FCC
+ add r0, r4, #0x0
+ bl FUN_02059DB4
+ cmp r0, #0x1
+ bne _02058FCC
+ add r0, r4, #0x0
+ bl FUN_02058860
+_02058FCC:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02058FD0
+FUN_02058FD0: ; 0x02058FD0
+ push {r4, lr}
+ mov r1, #0x4
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02058FE4
+ add r0, r4, #0x0
+ bl FUN_02059064
+_02058FE4:
+ ldr r1, _02058FF0 ; =0x00010004
+ add r0, r4, #0x0
+ bl FUN_02058418
+ pop {r4, pc}
+ nop
+_02058FF0: .word 0x00010004
+
+ thumb_func_start FUN_02058FF4
+FUN_02058FF4: ; 0x02058FF4
+ push {r4, lr}
+ mov r1, #0x1
+ lsl r1, r1, #0x10
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205900C
+ add r0, r4, #0x0
+ bl FUN_020591A8
+ b _0205901E
+_0205900C:
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205901E
+ add r0, r4, #0x0
+ bl FUN_020590F4
+_0205901E:
+ ldr r1, _02059028 ; =0x00010004
+ add r0, r4, #0x0
+ bl FUN_02058418
+ pop {r4, pc}
+ .balign 4
+_02059028: .word 0x00010004
+
+ thumb_func_start FUN_0205902C
+FUN_0205902C: ; 0x0205902C
+ push {r4, lr}
+ mov r1, #0x2
+ lsl r1, r1, #0x10
+ add r4, r0, #0x0
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02059044
+ add r0, r4, #0x0
+ bl FUN_0205928C
+ b _02059056
+_02059044:
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _02059056
+ add r0, r4, #0x0
+ bl FUN_02059214
+_02059056:
+ ldr r1, _02059060 ; =0x00020008
+ add r0, r4, #0x0
+ bl FUN_02058418
+ pop {r4, pc}
+ .balign 4
+_02059060: .word 0x00020008
+
+ thumb_func_start FUN_02059064
+FUN_02059064: ; 0x02059064
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02059DB4
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _020590F2
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058730
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl MOD05_021F1DC8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059838
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205941C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020594C0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059500
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205931C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059678
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020596A8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020597A8
+_020590F2:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020590F4
+FUN_020590F4: ; 0x020590F4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02059DB4
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _020591A6
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058730
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl MOD05_021F1DC8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059838
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059434
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205944C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020594C0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059508
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059690
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020596C0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020596D8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059740
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020597A8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059870
+_020591A6:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020591A8
+FUN_020591A8: ; 0x020591A8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02059DB4
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _02059212
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058730
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl MOD05_021F1DC8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059838
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059508
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020597A8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020594F4
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059870
+_02059212:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02059214
+FUN_02059214: ; 0x02059214
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02059DB4
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _0205928A
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058730
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl MOD05_021F1DC8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205931C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205970C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059774
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020594C0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059804
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020595A4
+_0205928A:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205928C
+FUN_0205928C: ; 0x0205928C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02059DB4
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _0205931A
+ add r0, r5, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058730
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl MOD05_021F1DC8
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205931C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205970C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059774
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020594C0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059804
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020595A4
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059434
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205962C
+_0205931A:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205931C
+FUN_0205931C: ; 0x0205931C
+ push {r3-r5, lr}
+ sub sp, #0x48
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_02058A34
+ cmp r0, #0x0
+ bne _020593F4
+ add r0, r5, #0x0
+ bl FUN_02054984
+ cmp r0, #0x1
+ beq _02059340
+ add r0, r5, #0x0
+ bl FUN_020549A0
+ cmp r0, #0x1
+ bne _0205935A
+_02059340:
+ ldr r5, _02059408 ; =0x020F65FC
+ add r3, sp, #0x3c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+_0205935A:
+ add r0, r5, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ beq _0205936E
+ add r0, r5, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _02059388
+_0205936E:
+ ldr r5, _0205940C ; =0x020F6608
+ add r3, sp, #0x30
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+_02059388:
+ add r0, r5, #0x0
+ bl FUN_020549F0
+ cmp r0, #0x1
+ bne _020593AC
+ ldr r5, _02059410 ; =0x020F65E4
+ add r3, sp, #0x24
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+_020593AC:
+ add r0, r5, #0x0
+ bl FUN_020549E4
+ cmp r0, #0x1
+ bne _020593D0
+ ldr r5, _02059414 ; =0x020F65F0
+ add r3, sp, #0x18
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+_020593D0:
+ add r0, r5, #0x0
+ bl FUN_020549D8
+ cmp r0, #0x1
+ bne _020593F4
+ ldr r5, _02059418 ; =0x020F6614
+ add r3, sp, #0xc
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+_020593F4:
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02058BD4
+ add sp, #0x48
+ pop {r3-r5, pc}
+ .balign 4
+_02059408: .word 0x020F65FC
+_0205940C: .word 0x020F6608
+_02059410: .word 0x020F65E4
+_02059414: .word 0x020F65F0
+_02059418: .word 0x020F6614
+
+ thumb_func_start FUN_0205941C
+FUN_0205941C: ; 0x0205941C
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0205478C
+ cmp r0, #0x1
+ bne _02059432
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl MOD06_0224B568
+_02059432:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02059434
+FUN_02059434: ; 0x02059434
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0205478C
+ cmp r0, #0x1
+ bne _0205944A
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD06_0224B568
+_0205944A:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205944C
+FUN_0205944C: ; 0x0205944C
+ push {r4-r6, lr}
+ add r6, r3, #0x0
+ ldr r1, [r6, #0x4]
+ add r5, r0, #0x0
+ lsl r1, r1, #0x16
+ add r4, r2, #0x0
+ lsr r1, r1, #0x1c
+ beq _020594BC
+ add r1, r4, #0x0
+ bl FUN_02059AF8
+ cmp r0, #0x1
+ bne _02059484
+ ldr r0, [r6, #0x4]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1c
+ cmp r0, #0x1
+ bne _02059478
+ add r0, r5, #0x0
+ bl MOD06_02249E6C
+ pop {r4-r6, pc}
+_02059478:
+ cmp r0, #0x2
+ bne _020594BC
+ add r0, r5, #0x0
+ bl MOD06_02249E78
+ pop {r4-r6, pc}
+_02059484:
+ add r0, r4, #0x0
+ bl FUN_020549E4
+ cmp r0, #0x1
+ beq _020594A2
+ add r0, r4, #0x0
+ bl FUN_020549F0
+ cmp r0, #0x1
+ beq _020594A2
+ add r0, r4, #0x0
+ bl FUN_020549D8
+ cmp r0, #0x0
+ beq _020594AA
+_020594A2:
+ add r0, r5, #0x0
+ bl MOD06_02249E90
+ pop {r4-r6, pc}
+_020594AA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059B60
+ cmp r0, #0x1
+ bne _020594BC
+ add r0, r5, #0x0
+ bl MOD06_02249E84
+_020594BC:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020594C0
+FUN_020594C0: ; 0x020594C0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0205483C
+ cmp r0, #0x1
+ bne _020594EA
+ add r0, r4, #0x0
+ bl FUN_02058A00
+ cmp r0, #0x0
+ bne _020594F2
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD06_0224B9E0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020589E4
+ pop {r4, pc}
+_020594EA:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020589E4
+_020594F2:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020594F4
+FUN_020594F4: ; 0x020594F4
+ ldr r3, _020594FC ; =FUN_020589E4
+ mov r1, #0x0
+ bx r3
+ nop
+_020594FC: .word FUN_020589E4
+
+ thumb_func_start FUN_02059500
+FUN_02059500: ; 0x02059500
+ push {r3, lr}
+ bl FUN_02059508
+ pop {r3, pc}
+
+ thumb_func_start FUN_02059508
+FUN_02059508: ; 0x02059508
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r3, #0x0
+ bl FUN_02058578
+ bl FUN_0205881C
+ cmp r0, #0x0
+ beq _020595A2
+ ldr r0, [r6, #0x4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ beq _020595A2
+ add r0, r4, #0x0
+ bl FUN_0205478C
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r4, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059AC4
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r4, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r4, #0x0
+ bl FUN_0205483C
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059B2C
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r4, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ beq _02059578
+ add r0, r4, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _02059584
+_02059578:
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058410
+ pop {r4-r6, pc}
+_02059584:
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _020595A2
+ add r0, r5, #0x0
+ bl MOD06_02249508
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_02058410
+_020595A2:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020595A4
+FUN_020595A4: ; 0x020595A4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r3, #0x0
+ bl FUN_02058578
+ bl FUN_0205881C
+ cmp r0, #0x0
+ beq _0205962A
+ ldr r0, [r6, #0x4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ beq _0205962A
+ add r0, r4, #0x0
+ bl FUN_0205478C
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r4, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059AC4
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r4, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r4, #0x0
+ bl FUN_0205483C
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059B2C
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r4, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ beq _02059614
+ add r0, r4, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _02059620
+_02059614:
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058410
+ pop {r4-r6, pc}
+_02059620:
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058418
+_0205962A:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205962C
+FUN_0205962C: ; 0x0205962C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02059AC4
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r4, #0x0
+ bl FUN_0205483C
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r4, #0x0
+ bl FUN_020548F0
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r4, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r4, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059B2C
+ cmp r0, #0x1
+ beq _02059674
+ add r0, r5, #0x0
+ bl MOD06_0224BBEC
+_02059674:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059678
+FUN_02059678: ; 0x02059678
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ bne _0205968E
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl MOD06_0224BD90
+_0205968E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02059690
+FUN_02059690: ; 0x02059690
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054798
+ cmp r0, #0x1
+ bne _020596A6
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD06_0224BD90
+_020596A6:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020596A8
+FUN_020596A8: ; 0x020596A8
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _020596BE
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl MOD06_0224C038
+_020596BE:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020596C0
+FUN_020596C0: ; 0x020596C0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _020596D6
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD06_0224C038
+_020596D6:
+ pop {r4, pc}
+
+ thumb_func_start FUN_020596D8
+FUN_020596D8: ; 0x020596D8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, r2, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ bne _02059708
+ add r0, r5, #0x0
+ bl FUN_02058B14
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B1C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B24
+ add r3, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD06_0224B124
+_02059708:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205970C
+FUN_0205970C: ; 0x0205970C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ bne _0205973C
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r3, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD06_0224B124
+_0205973C:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059740
+FUN_02059740: ; 0x02059740
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, r2, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ bne _02059770
+ add r0, r5, #0x0
+ bl FUN_02058B14
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B1C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B24
+ add r3, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD06_0224B2C4
+_02059770:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059774
+FUN_02059774: ; 0x02059774
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_02054974
+ cmp r0, #0x1
+ bne _020597A4
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r3, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl MOD06_0224B2C4
+_020597A4:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020597A8
+FUN_020597A8: ; 0x020597A8
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ ldr r1, [r3, #0x4]
+ add r5, r0, #0x0
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x1e
+ beq _02059802
+ mov r1, #0x1
+ bl FUN_02059C90
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ bl FUN_02058A9C
+ cmp r0, #0x0
+ bne _02059802
+ add r0, r4, #0x0
+ bl FUN_02054B20
+ cmp r0, #0x1
+ beq _020597DE
+ add r0, r6, #0x0
+ bl FUN_02054B20
+ cmp r0, #0x1
+ bne _02059802
+_020597DE:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058A80
+ add r0, r4, #0x0
+ bl FUN_02054AF0
+ cmp r0, #0x1
+ bne _020597FA
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl MOD06_022497E8
+ pop {r4-r6, pc}
+_020597FA:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl MOD06_022497E8
+_02059802:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02059804
+FUN_02059804: ; 0x02059804
+ push {r4, lr}
+ ldr r1, [r3, #0x4]
+ add r4, r0, #0x0
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x1e
+ beq _02059834
+ bl FUN_02058A9C
+ cmp r0, #0x0
+ beq _02059834
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02059C90
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B20
+ cmp r0, #0x0
+ bne _02059834
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058A80
+_02059834:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059838
+FUN_02059838: ; 0x02059838
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02054B6C
+ cmp r0, #0x1
+ bne _02059852
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058A4C
+ pop {r3-r5, pc}
+_02059852:
+ add r0, r5, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x1
+ bne _0205986E
+ add r0, r4, #0x0
+ bl FUN_02054B78
+ cmp r0, #0x0
+ bne _0205986E
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058A4C
+_0205986E:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059870
+FUN_02059870: ; 0x02059870
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02059874
+FUN_02059874: ; 0x02059874
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r7, [sp, #0x28]
+ add r5, r2, #0x0
+ str r1, [sp, #0x4]
+ str r3, [sp, #0x8]
+ add r2, r3, #0x0
+ add r1, r5, #0x0
+ add r3, r7, #0x0
+ add r6, r0, #0x0
+ mov r4, #0x0
+ bl FUN_02059A08
+ cmp r0, #0x1
+ bne _02059896
+ mov r0, #0x1
+ orr r4, r0
+_02059896:
+ add r0, r6, #0x0
+ bl FUN_02058738
+ add r1, sp, #0xc
+ str r1, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r2, r5, #0x0
+ add r3, r7, #0x0
+ bl FUN_0204A770
+ cmp r0, #0x1
+ bne _020598C0
+ mov r0, #0x2
+ orr r4, r0
+ add r1, sp, #0xc
+ mov r0, #0x0
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _020598C0
+ mov r0, #0x8
+ orr r4, r0
+_020598C0:
+ ldr r3, [sp, #0x2c]
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02059A60
+ cmp r0, #0x1
+ bne _020598D4
+ mov r0, #0x2
+ orr r4, r0
+_020598D4:
+ ldr r2, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205995C
+ cmp r0, #0x1
+ bne _020598E8
+ mov r0, #0x4
+ orr r4, r0
+_020598E8:
+ add r0, r4, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020598F0
+FUN_020598F0: ; 0x020598F0
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r6, r1, #0x0
+ add r1, sp, #0x8
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02058B5C
+ ldr r0, [sp, #0x28]
+ str r4, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, sp, #0x8
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_02059874
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02059918
+FUN_02059918: ; 0x02059918
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ str r4, [sp, #0x0]
+ add r3, r0, #0x0
+ ldr r4, [sp, #0x8]
+ ldr r2, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r6, r7
+ add r3, r4, r3
+ bl FUN_020598F0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205995C
+FUN_0205995C: ; 0x0205995C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02058578
+ add r7, r0, #0x0
+ bl FUN_020583BC
+ str r0, [sp, #0x8]
+ add r0, r7, #0x0
+ bl FUN_02058368
+ str r0, [sp, #0x4]
+_0205997C:
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ beq _020599F4
+ mov r1, #0x1
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _020599F4
+ mov r1, #0x1
+ ldr r0, [sp, #0x8]
+ lsl r1, r1, #0x12
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _020599F4
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B2C
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B4C
+ cmp r7, r5
+ bne _020599C8
+ cmp r0, r6
+ bne _020599C8
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B3C
+ sub r0, r0, r4
+ bpl _020599BE
+ neg r0, r0
+_020599BE:
+ cmp r0, #0x2
+ bge _020599C8
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_020599C8:
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B14
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B24
+ cmp r7, r5
+ bne _020599F4
+ cmp r0, r6
+ bne _020599F4
+ ldr r0, [sp, #0x8]
+ bl FUN_02058B3C
+ sub r0, r0, r4
+ bpl _020599EA
+ neg r0, r0
+_020599EA:
+ cmp r0, #0x2
+ bge _020599F4
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_020599F4:
+ add r0, sp, #0x8
+ bl FUN_020583D4
+ ldr r0, [sp, #0x4]
+ sub r0, r0, #0x1
+ str r0, [sp, #0x4]
+ bne _0205997C
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02059A08
+FUN_02059A08: ; 0x02059A08
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r3, #0x0
+ bl FUN_02058AFC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058538
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _02059A34
+ add r1, r7, r0
+ sub r0, r7, r0
+ cmp r0, r5
+ bgt _02059A30
+ cmp r1, r5
+ bge _02059A34
+_02059A30:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02059A34:
+ add r0, r6, #0x0
+ bl FUN_02058B0C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058540
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _02059A5A
+ add r1, r5, r0
+ sub r0, r5, r0
+ cmp r0, r4
+ bgt _02059A56
+ cmp r1, r4
+ bge _02059A5A
+_02059A56:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02059A5A:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059A60
+FUN_02059A60: ; 0x02059A60
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ add r5, r3, #0x0
+ bl FUN_02058738
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058720
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6E0
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r5, r0
+ bne _02059A92
+ bl ErrorHandling
+_02059A92:
+ cmp r5, #0x4
+ blt _02059A9A
+ bl ErrorHandling
+_02059A9A:
+ ldr r1, _02059ABC ; =0x020F6630
+ lsl r5, r5, #0x2
+ ldr r1, [r1, r5]
+ add r0, r4, #0x0
+ blx r1
+ cmp r0, #0x1
+ beq _02059AB4
+ ldr r1, _02059AC0 ; =0x020F6640
+ add r0, r6, #0x0
+ ldr r1, [r1, r5]
+ blx r1
+ cmp r0, #0x1
+ bne _02059AB8
+_02059AB4:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02059AB8:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02059ABC: .word 0x020F6630
+_02059AC0: .word 0x020F6640
+
+ thumb_func_start FUN_02059AC4
+FUN_02059AC4: ; 0x02059AC4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B8C
+ cmp r0, #0x0
+ beq _02059AE4
+ add r0, r5, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x0
+ bne _02059AF4
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059AE4:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0205481C
+ cmp r0, #0x0
+ beq _02059AF4
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059AF4:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059AF8
+FUN_02059AF8: ; 0x02059AF8
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054BB0
+ cmp r0, #0x0
+ beq _02059B18
+ add r0, r5, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x0
+ bne _02059B28
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B18:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054830
+ cmp r0, #0x0
+ beq _02059B28
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B28:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059B2C
+FUN_02059B2C: ; 0x02059B2C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054BD4
+ cmp r0, #0x0
+ beq _02059B4C
+ add r0, r5, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x0
+ bne _02059B5C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B4C:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020549AC
+ cmp r0, #0x0
+ beq _02059B5C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B5C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059B60
+FUN_02059B60: ; 0x02059B60
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054BD4
+ cmp r0, #0x0
+ beq _02059B80
+ add r0, r5, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x0
+ bne _02059B90
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B80:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020549CC
+ cmp r0, #0x0
+ beq _02059B90
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02059B90:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059B94
+FUN_02059B94: ; 0x02059B94
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x1
+ bne _02059BB0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B78
+ cmp r0, #0x1
+ bne _02059BB0
+ mov r0, #0x1
+ pop {r4, pc}
+_02059BB0:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02059BB4
+FUN_02059BB4: ; 0x02059BB4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x1
+ bne _02059BD0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054BE0
+ cmp r0, #0x1
+ bne _02059BD0
+ mov r0, #0x1
+ pop {r4, pc}
+_02059BD0:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02059BD4
+FUN_02059BD4: ; 0x02059BD4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058A68
+ cmp r0, #0x1
+ bne _02059BF0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054BF4
+ cmp r0, #0x1
+ bne _02059BF0
+ mov r0, #0x1
+ pop {r4, pc}
+_02059BF0:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02059BF4
+FUN_02059BF4: ; 0x02059BF4
+ lsl r1, r0, #0x2
+ ldr r0, _02059BFC ; =0x020F6620
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+_02059BFC: .word 0x020F6620
+
+ thumb_func_start FUN_02059C00
+FUN_02059C00: ; 0x02059C00
+ lsl r1, r0, #0x2
+ ldr r0, _02059C08 ; =0x020F6650
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+_02059C08: .word 0x020F6650
+
+ thumb_func_start FUN_02059C0C
+FUN_02059C0C: ; 0x02059C0C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058B2C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B18
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B20
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B28
+ add r0, r4, #0x0
+ bl FUN_02059BF4
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B34
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058B44
+ add r0, r4, #0x0
+ bl FUN_02059C00
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B54
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02059C60
+FUN_02059C60: ; 0x02059C60
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058B2C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B18
+ add r0, r4, #0x0
+ bl FUN_02058B3C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B20
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B28
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059C90
+FUN_02059C90: ; 0x02059C90
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02059BF4
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058738
+ ldr r2, [sp, #0x0]
+ add r1, r6, r7
+ add r2, r2, r5
+ bl FUN_0204A6E0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059CC8
+FUN_02059CC8: ; 0x02059CC8
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ add r1, sp, #0x0
+ add r6, r0, #0x0
+ add r4, r2, #0x0
+ bl FUN_02058B5C
+ cmp r5, #0x3
+ bhi _02059D0E
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02059CE8: ; jump table (using 16-bit offset)
+ .short _02059CF0 - _02059CE8 - 2; case 0
+ .short _02059CF8 - _02059CE8 - 2; case 1
+ .short _02059D00 - _02059CE8 - 2; case 2
+ .short _02059D08 - _02059CE8 - 2; case 3
+_02059CF0:
+ ldr r0, [sp, #0x8]
+ sub r0, r0, r4
+ str r0, [sp, #0x8]
+ b _02059D0E
+_02059CF8:
+ ldr r0, [sp, #0x8]
+ add r0, r0, r4
+ str r0, [sp, #0x8]
+ b _02059D0E
+_02059D00:
+ ldr r0, [sp, #0x0]
+ sub r0, r0, r4
+ str r0, [sp, #0x0]
+ b _02059D0E
+_02059D08:
+ ldr r0, [sp, #0x0]
+ add r0, r0, r4
+ str r0, [sp, #0x0]
+_02059D0E:
+ add r0, r6, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B6C
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059D1C
+FUN_02059D1C: ; 0x02059D1C
+ push {r3-r5, lr}
+ sub sp, #0x18
+ add r1, sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_02058B5C
+ add r3, sp, #0xc
+ ldmia r3!, {r0-r1}
+ add r2, sp, #0x0
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0205897C
+ cmp r0, #0x1
+ bne _02059D4E
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0xc
+ bl FUN_02058418
+ add sp, #0x18
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02059D4E:
+ add r0, r5, #0x0
+ bl FUN_02058AE4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r1, sp, #0x0
+ add r2, r4, #0x0
+ bl FUN_02059EC8
+ add r4, r0, #0x0
+ cmp r4, #0x1
+ bne _02059DA2
+ ldr r0, [sp, #0x4]
+ add r1, sp, #0xc
+ str r0, [sp, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02058B6C
+ add r0, r5, #0x0
+ bl FUN_02058B3C
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B20
+ ldr r1, [sp, #0x10]
+ add r0, r5, #0x0
+ asr r2, r1, #0x3
+ asr r1, r2, #0xb
+ lsr r1, r1, #0x14
+ add r1, r2, r1
+ asr r1, r1, #0xc
+ bl FUN_02058B40
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0xc
+ bl FUN_02058418
+ b _02059DAC
+_02059DA2:
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0xc
+ bl FUN_02058410
+_02059DAC:
+ add r0, r4, #0x0
+ add sp, #0x18
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059DB4
+FUN_02059DB4: ; 0x02059DB4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02058B14
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B24
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r7, r0, #0x0
+ bl FUN_0204A6E0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058728
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r2, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204A6E0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058718
+ add r0, r4, #0x0
+ bl FUN_02054C08
+ cmp r0, #0x1
+ bne _02059E18
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_02058410
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02059E18:
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0xa
+ bl FUN_02058418
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059E28
+FUN_02059E28: ; 0x02059E28
+ cmp r0, #0x3
+ bhi _02059E5E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02059E38: ; jump table (using 16-bit offset)
+ .short _02059E40 - _02059E38 - 2; case 0
+ .short _02059E48 - _02059E38 - 2; case 1
+ .short _02059E50 - _02059E38 - 2; case 2
+ .short _02059E58 - _02059E38 - 2; case 3
+_02059E40:
+ ldr r0, [r1, #0x8]
+ sub r0, r0, r2
+ str r0, [r1, #0x8]
+ bx lr
+_02059E48:
+ ldr r0, [r1, #0x8]
+ add r0, r0, r2
+ str r0, [r1, #0x8]
+ bx lr
+_02059E50:
+ ldr r0, [r1, #0x0]
+ sub r0, r0, r2
+ str r0, [r1, #0x0]
+ bx lr
+_02059E58:
+ ldr r0, [r1, #0x0]
+ add r0, r0, r2
+ str r0, [r1, #0x0]
+_02059E5E:
+ bx lr
+
+ thumb_func_start FUN_02059E60
+FUN_02059E60: ; 0x02059E60
+ lsl r3, r0, #0x10
+ mov r0, #0x2
+ lsl r0, r0, #0xe
+ add r3, r3, r0
+ lsl r1, r1, #0x10
+ str r3, [r2, #0x0]
+ add r0, r1, r0
+ str r0, [r2, #0x8]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02059E74
+FUN_02059E74: ; 0x02059E74
+ lsl r1, r0, #0x2
+ ldr r0, _02059E7C ; =0x020F6660
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+_02059E7C: .word 0x020F6660
+
+ thumb_func_start FUN_02059E80
+FUN_02059E80: ; 0x02059E80
+ cmp r0, r2
+ ble _02059E88
+ mov r0, #0x2
+ bx lr
+_02059E88:
+ cmp r0, r2
+ bge _02059E90
+ mov r0, #0x3
+ bx lr
+_02059E90:
+ cmp r1, r3
+ bgt _02059E98
+ mov r0, #0x1
+ bx lr
+_02059E98:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_02059E9C
+FUN_02059E9C: ; 0x02059E9C
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ add r1, sp, #0x4
+ str r1, [sp, #0x0]
+ ldr r1, [r4, #0x4]
+ ldr r2, [r4, #0x0]
+ ldr r3, [r4, #0x8]
+ bl FUN_0204A708
+ add r1, sp, #0x4
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _02059EBE
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r4, pc}
+_02059EBE:
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059EC8
+FUN_02059EC8: ; 0x02059EC8
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ add r1, sp, #0x4
+ str r1, [sp, #0x0]
+ add r4, r2, #0x0
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x0]
+ ldr r3, [r5, #0x8]
+ bl FUN_0204A708
+ add r1, sp, #0x4
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x0
+ bne _02059EEC
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02059EEC:
+ cmp r1, #0x2
+ bne _02059EFA
+ cmp r4, #0x0
+ bne _02059EFA
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02059EFA:
+ str r0, [r5, #0x4]
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02059F04
+FUN_02059F04: ; 0x02059F04
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ mov r1, #0x8
+ add r5, r0, #0x0
+ bl FUN_0205858C
+ add r4, r0, #0x0
+ mov r1, #0x0
+ ldr r0, _02059F30 ; =0x020F693C
+ mvn r1, r1
+ bl FUN_0205AAB0
+ strh r0, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ str r6, [r4, #0x4]
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058848
+ pop {r4-r6, pc}
+ .balign 4
+_02059F30: .word 0x020F693C
+
+ thumb_func_start FUN_02059F34
+FUN_02059F34: ; 0x02059F34
+ ldr r3, _02059F3C ; =FUN_02059F04
+ mov r1, #0x0
+ bx r3
+ nop
+_02059F3C: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F40
+FUN_02059F40: ; 0x02059F40
+ ldr r3, _02059F48 ; =FUN_02059F04
+ mov r1, #0x1
+ bx r3
+ nop
+_02059F48: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F4C
+FUN_02059F4C: ; 0x02059F4C
+ ldr r3, _02059F54 ; =FUN_02059F04
+ mov r1, #0x2
+ bx r3
+ nop
+_02059F54: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F58
+FUN_02059F58: ; 0x02059F58
+ ldr r3, _02059F60 ; =FUN_02059F04
+ mov r1, #0x3
+ bx r3
+ nop
+_02059F60: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F64
+FUN_02059F64: ; 0x02059F64
+ ldr r3, _02059F6C ; =FUN_02059F04
+ mov r1, #0x4
+ bx r3
+ nop
+_02059F6C: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F70
+FUN_02059F70: ; 0x02059F70
+ ldr r3, _02059F78 ; =FUN_02059F04
+ mov r1, #0x5
+ bx r3
+ nop
+_02059F78: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F7C
+FUN_02059F7C: ; 0x02059F7C
+ ldr r3, _02059F84 ; =FUN_02059F04
+ mov r1, #0x6
+ bx r3
+ nop
+_02059F84: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F88
+FUN_02059F88: ; 0x02059F88
+ ldr r3, _02059F90 ; =FUN_02059F04
+ mov r1, #0x7
+ bx r3
+ nop
+_02059F90: .word FUN_02059F04
+
+ thumb_func_start FUN_02059F94
+FUN_02059F94: ; 0x02059F94
+ ldr r3, _02059F9C ; =FUN_02059F04
+ mov r1, #0x8
+ bx r3
+ nop
+_02059F9C: .word FUN_02059F04
+
+ thumb_func_start FUN_02059FA0
+FUN_02059FA0: ; 0x02059FA0
+ ldr r3, _02059FA8 ; =FUN_02059F04
+ mov r1, #0x9
+ bx r3
+ nop
+_02059FA8: .word FUN_02059F04
+
+ thumb_func_start FUN_02059FAC
+FUN_02059FAC: ; 0x02059FAC
+ ldr r3, _02059FB4 ; =FUN_02059F04
+ mov r1, #0xa
+ bx r3
+ nop
+_02059FB4: .word FUN_02059F04
+
+ thumb_func_start FUN_02059FB8
+FUN_02059FB8: ; 0x02059FB8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ mov r2, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, r5, #0x0
+ mvn r2, r2
+ bl FUN_0205ABEC
+ mov r2, #0x0
+ add r1, r0, #0x0
+ mvn r2, r2
+ cmp r1, r2
+ beq _02059FE0
+ add r0, r5, #0x0
+ bl FUN_020584AC
+ b _0205A010
+_02059FE0:
+ ldrh r0, [r4, #0x0]
+ cmp r0, #0x0
+ bne _0205A010
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ sub r1, r1, #0x1
+ strh r1, [r4, #0x2]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x0
+ bgt _0205A010
+ ldr r0, _0205A018 ; =0x020F693C
+ add r1, r2, #0x0
+ bl FUN_0205AAB0
+ strh r0, [r4, #0x2]
+ mov r1, #0x0
+ ldr r0, [r4, #0x4]
+ mvn r1, r1
+ bl FUN_0205AAD4
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020584AC
+_0205A010:
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ pop {r3-r5, pc}
+ .balign 4
+_0205A018: .word 0x020F693C
+
+ thumb_func_start FUN_0205A01C
+FUN_0205A01C: ; 0x0205A01C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205A020
+FUN_0205A020: ; 0x0205A020
+ push {r3, lr}
+ mov r1, #0xc
+ mov r2, #0xb
+ mov r3, #0x0
+ bl FUN_0205A050
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A030
+FUN_0205A030: ; 0x0205A030
+ push {r3, lr}
+ mov r1, #0xc
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_0205A050
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A040
+FUN_0205A040: ; 0x0205A040
+ push {r3, lr}
+ mov r1, #0xc
+ mov r2, #0xd
+ mov r3, #0x0
+ bl FUN_0205A050
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A050
+FUN_0205A050: ; 0x0205A050
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r7, r3, #0x0
+ mov r1, #0x10
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ bl FUN_0205858C
+ str r7, [r0, #0x4]
+ str r4, [r0, #0x8]
+ str r6, [r0, #0xc]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058848
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A078
+FUN_0205A078: ; 0x0205A078
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x4
+ bhi _0205A16E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205A096: ; jump table (using 16-bit offset)
+ .short _0205A0A0 - _0205A096 - 2; case 0
+ .short _0205A0CA - _0205A096 - 2; case 1
+ .short _0205A0E8 - _0205A096 - 2; case 2
+ .short _0205A0FE - _0205A096 - 2; case 3
+ .short _0205A15A - _0205A096 - 2; case 4
+_0205A0A0:
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205886C
+ add r0, r5, #0x0
+ bl FUN_020584C4
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_0205A0CA:
+ add r0, r5, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ beq _0205A16E
+ mov r1, #0x0
+ ldr r0, _0205A170 ; =0x020F693C
+ mvn r1, r1
+ bl FUN_0205AAB0
+ strh r0, [r4, #0x2]
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A0E8:
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ sub r1, r1, #0x1
+ strh r1, [r4, #0x2]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0205A16E
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A0FE:
+ mov r1, #0x0
+ ldr r0, [r4, #0xc]
+ mvn r1, r1
+ bl FUN_0205AAD4
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584D8
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205A12A
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0205A270
+ cmp r0, #0x0
+ bne _0205A12A
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_0205A12A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+ cmp r0, #0x0
+ beq _0205A13C
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+_0205A13C:
+ ldr r1, [r4, #0x8]
+ add r0, r6, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x0]
+_0205A15A:
+ add r0, r5, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ beq _0205A16E
+ add r0, r5, #0x0
+ bl FUN_02058848
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_0205A16E:
+ pop {r4-r6, pc}
+ .balign 4
+_0205A170: .word 0x020F693C
+
+ thumb_func_start FUN_0205A174
+FUN_0205A174: ; 0x0205A174
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ add r4, r1, #0x0
+ bl FUN_02058AFC
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_02058B0C
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_02058538
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_02058540
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ bl FUN_02058480
+ cmp r0, #0xd
+ bhi _0205A268
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205A1B0: ; jump table (using 16-bit offset)
+ .short _0205A268 - _0205A1B0 - 2; case 0
+ .short _0205A268 - _0205A1B0 - 2; case 1
+ .short _0205A268 - _0205A1B0 - 2; case 2
+ .short _0205A268 - _0205A1B0 - 2; case 3
+ .short _0205A268 - _0205A1B0 - 2; case 4
+ .short _0205A268 - _0205A1B0 - 2; case 5
+ .short _0205A1CC - _0205A1B0 - 2; case 6
+ .short _0205A1DE - _0205A1B0 - 2; case 7
+ .short _0205A1F0 - _0205A1B0 - 2; case 8
+ .short _0205A202 - _0205A1B0 - 2; case 9
+ .short _0205A214 - _0205A1B0 - 2; case 10
+ .short _0205A22A - _0205A1B0 - 2; case 11
+ .short _0205A240 - _0205A1B0 - 2; case 12
+ .short _0205A254 - _0205A1B0 - 2; case 13
+_0205A1CC:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x4]
+ str r6, [r4, #0x8]
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ add sp, #0x8
+ str r5, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A1DE:
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ str r5, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A1F0:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x4]
+ str r6, [r4, #0x8]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A202:
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A214:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x4]
+ str r6, [r4, #0x8]
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ add r0, r5, r0
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A22A:
+ str r6, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ add r0, r5, r0
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A240:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ sub r0, r5, r0
+ str r0, [r4, #0x4]
+ str r5, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A254:
+ sub r0, r6, r7
+ str r0, [r4, #0x0]
+ add r0, r6, r7
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x4]
+ str r5, [r4, #0x4]
+ add r0, r5, r0
+ add sp, #0x8
+ str r0, [r4, #0xc]
+ pop {r3-r7, pc}
+_0205A268:
+ bl ErrorHandling
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205A270
+FUN_0205A270: ; 0x0205A270
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r1, sp, #0x0
+ bl FUN_0205A174
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02059BF4
+ add r4, r4, r0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02059C00
+ add r1, r5, r0
+ ldr r0, [sp, #0x0]
+ cmp r0, r4
+ bgt _0205A2AA
+ ldr r0, [sp, #0x8]
+ cmp r0, r4
+ bge _0205A2B0
+_0205A2AA:
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205A2B0:
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bgt _0205A2BC
+ ldr r0, [sp, #0xc]
+ cmp r0, r1
+ bge _0205A2C2
+_0205A2BC:
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205A2C2:
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205A2C8
+FUN_0205A2C8: ; 0x0205A2C8
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x8
+ bl FUN_0205858C
+ str r4, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205A2EC
+FUN_0205A2EC: ; 0x0205A2EC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _0205A300
+ cmp r0, #0x1
+ pop {r3-r5, pc}
+_0205A300:
+ ldr r1, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020584AC
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205A310
+FUN_0205A310: ; 0x0205A310
+ ldr r3, _0205A318 ; =FUN_0205A2C8
+ mov r1, #0x0
+ bx r3
+ nop
+_0205A318: .word FUN_0205A2C8
+
+ thumb_func_start FUN_0205A31C
+FUN_0205A31C: ; 0x0205A31C
+ ldr r3, _0205A324 ; =FUN_0205A2C8
+ mov r1, #0x1
+ bx r3
+ nop
+_0205A324: .word FUN_0205A2C8
+
+ thumb_func_start FUN_0205A328
+FUN_0205A328: ; 0x0205A328
+ ldr r3, _0205A330 ; =FUN_0205A2C8
+ mov r1, #0x2
+ bx r3
+ nop
+_0205A330: .word FUN_0205A2C8
+
+ thumb_func_start FUN_0205A334
+FUN_0205A334: ; 0x0205A334
+ ldr r3, _0205A33C ; =FUN_0205A2C8
+ mov r1, #0x3
+ bx r3
+ nop
+_0205A33C: .word FUN_0205A2C8
+
+ thumb_func_start FUN_0205A340
+FUN_0205A340: ; 0x0205A340
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x8
+ bl FUN_0205858C
+ strb r4, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205A364
+FUN_0205A364: ; 0x0205A364
+ ldr r3, _0205A36C ; =FUN_0205A340
+ mov r1, #0x2
+ bx r3
+ nop
+_0205A36C: .word FUN_0205A340
+
+ thumb_func_start FUN_0205A370
+FUN_0205A370: ; 0x0205A370
+ ldr r3, _0205A378 ; =FUN_0205A340
+ mov r1, #0x3
+ bx r3
+ nop
+_0205A378: .word FUN_0205A340
+
+ thumb_func_start FUN_0205A37C
+FUN_0205A37C: ; 0x0205A37C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ ldr r6, _0205A39C ; =0x020F6754
+ add r4, r0, #0x0
+ mov r7, #0x2
+_0205A38A:
+ ldrsb r2, [r4, r7]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205A38A
+ pop {r3-r7, pc}
+ .balign 4
+_0205A39C: .word 0x020F6754
+
+ thumb_func_start FUN_0205A3A0
+FUN_0205A3A0: ; 0x0205A3A0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x26
+ add r2, r1, #0x0
+ sub r2, #0x27
+ add r5, r0, #0x0
+ bl FUN_0205ABEC
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ bne _0205A3BE
+ add r0, r5, #0x0
+ bl FUN_020584C4
+_0205A3BE:
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ mov r0, #0x1
+ strb r0, [r4, #0x2]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A3D4
+FUN_0205A3D4: ; 0x0205A3D4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ bne _0205A3E4
+ mov r0, #0x0
+ pop {r4, pc}
+_0205A3E4:
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ mov r0, #0x2
+ strb r0, [r4, #0x2]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205A3F0
+FUN_0205A3F0: ; 0x0205A3F0
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x0
+ beq _0205A414
+ mov r1, #0x26
+ add r2, r1, #0x0
+ sub r2, #0x27
+ bl FUN_0205ABEC
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0205A414
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ mov r0, #0x1
+ pop {r4, pc}
+_0205A414:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ cmp r0, #0x18
+ bge _0205A422
+ mov r0, #0x0
+ pop {r4, pc}
+_0205A422:
+ mov r0, #0x3
+ strb r0, [r4, #0x2]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A42C
+FUN_0205A42C: ; 0x0205A42C
+ push {r3-r7, lr}
+ sub sp, #0x28
+ ldr r3, _0205A4BC ; =0x020F68D8
+ add r2, sp, #0x14
+ add r7, r0, #0x0
+ add r6, r1, #0x0
+ ldmia r3!, {r0-r1}
+ add r5, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ ldr r4, _0205A4C0 ; =0x020F68EC
+ str r0, [r2, #0x0]
+ add r3, sp, #0x0
+ ldmia r4!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r4, #0x0]
+ str r0, [r3, #0x0]
+ mov r0, #0x0
+ ldrsb r0, [r6, r0]
+ cmp r0, #0x2
+ beq _0205A462
+ add r5, r2, #0x0
+_0205A462:
+ add r0, r7, #0x0
+ bl FUN_020584C4
+ mov r4, #0x0
+ ldr r2, [r5, #0x0]
+ sub r1, r4, #0x1
+ cmp r2, r1
+ beq _0205A486
+ add r1, r5, #0x0
+ sub r2, r4, #0x1
+_0205A476:
+ ldr r3, [r1, #0x0]
+ cmp r0, r3
+ beq _0205A486
+ add r1, r1, #0x4
+ ldr r3, [r1, #0x0]
+ add r4, r4, #0x1
+ cmp r3, r2
+ bne _0205A476
+_0205A486:
+ lsl r0, r4, #0x2
+ ldr r1, [r5, r0]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205A496
+ bl ErrorHandling
+_0205A496:
+ add r4, r4, #0x1
+ lsl r0, r4, #0x2
+ ldr r1, [r5, r0]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205A4A6
+ mov r4, #0x0
+_0205A4A6:
+ lsl r1, r4, #0x2
+ ldr r1, [r5, r1]
+ add r0, r7, #0x0
+ bl FUN_020584AC
+ mov r0, #0x0
+ strb r0, [r6, #0x2]
+ mov r0, #0x1
+ add sp, #0x28
+ pop {r3-r7, pc}
+ nop
+_0205A4BC: .word 0x020F68D8
+_0205A4C0: .word 0x020F68EC
+
+ thumb_func_start FUN_0205A4C4
+FUN_0205A4C4: ; 0x0205A4C4
+ ldr r3, _0205A4CC ; =FUN_0205A340
+ mov r1, #0x3
+ bx r3
+ nop
+_0205A4CC: .word FUN_0205A340
+
+ thumb_func_start FUN_0205A4D0
+FUN_0205A4D0: ; 0x0205A4D0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ ldr r6, _0205A4F0 ; =0x020F6724
+ add r4, r0, #0x0
+ mov r7, #0x2
+_0205A4DE:
+ ldrsb r2, [r4, r7]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205A4DE
+ pop {r3-r7, pc}
+ .balign 4
+_0205A4F0: .word 0x020F6724
+
+ thumb_func_start FUN_0205A4F4
+FUN_0205A4F4: ; 0x0205A4F4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020584C4
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ mov r0, #0x1
+ strb r0, [r4, #0x2]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A514
+FUN_0205A514: ; 0x0205A514
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ bne _0205A524
+ mov r0, #0x0
+ pop {r4, pc}
+_0205A524:
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ mov r0, #0x2
+ strb r0, [r4, #0x2]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205A530
+FUN_0205A530: ; 0x0205A530
+ ldr r0, [r1, #0x4]
+ add r0, r0, #0x1
+ str r0, [r1, #0x4]
+ cmp r0, #0x18
+ bge _0205A53E
+ mov r0, #0x0
+ bx lr
+_0205A53E:
+ mov r0, #0x3
+ strb r0, [r1, #0x2]
+ mov r0, #0x1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205A548
+FUN_0205A548: ; 0x0205A548
+ push {r3-r7, lr}
+ sub sp, #0x28
+ ldr r3, _0205A5F4 ; =0x020F6900
+ add r2, sp, #0x14
+ add r7, r0, #0x0
+ add r6, r1, #0x0
+ ldmia r3!, {r0-r1}
+ add r5, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ ldr r3, _0205A5F8 ; =0x020F6928
+ str r0, [r2, #0x0]
+ add r2, sp, #0x0
+ ldmia r3!, {r0-r1}
+ add r4, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ ldrsb r0, [r6, r0]
+ cmp r0, #0x2
+ beq _0205A57E
+ add r5, r4, #0x0
+_0205A57E:
+ add r0, r7, #0x0
+ bl FUN_020584C4
+ mov r4, #0x0
+ ldr r2, [r5, #0x0]
+ sub r1, r4, #0x1
+ cmp r2, r1
+ beq _0205A5A2
+ add r1, r5, #0x0
+ sub r2, r4, #0x1
+_0205A592:
+ ldr r3, [r1, #0x0]
+ cmp r0, r3
+ beq _0205A5A2
+ add r1, r1, #0x4
+ ldr r3, [r1, #0x0]
+ add r4, r4, #0x1
+ cmp r3, r2
+ bne _0205A592
+_0205A5A2:
+ lsl r0, r4, #0x2
+ ldr r1, [r5, r0]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205A5B2
+ bl ErrorHandling
+_0205A5B2:
+ add r4, r4, #0x1
+ lsl r0, r4, #0x2
+ ldr r1, [r5, r0]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205A5C2
+ mov r4, #0x0
+_0205A5C2:
+ lsl r1, r4, #0x2
+ ldr r1, [r5, r1]
+ add r0, r7, #0x0
+ bl FUN_020584AC
+ add r0, r7, #0x0
+ bl FUN_020584C4
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_020584A0
+ cmp r4, r0
+ bne _0205A5E8
+ mov r0, #0x0
+ ldrsb r0, [r6, r0]
+ bl FUN_02059E74
+ strb r0, [r6, #0x0]
+_0205A5E8:
+ mov r0, #0x0
+ strb r0, [r6, #0x2]
+ mov r0, #0x1
+ add sp, #0x28
+ pop {r3-r7, pc}
+ nop
+_0205A5F4: .word 0x020F6900
+_0205A5F8: .word 0x020F6928
+
+ thumb_func_start FUN_0205A5FC
+FUN_0205A5FC: ; 0x0205A5FC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x8
+ bl FUN_0205858C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205A61A
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_0205ACF4
+_0205A61A:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205A61C
+FUN_0205A61C: ; 0x0205A61C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ ldr r6, _0205A63C ; =0x020F66CC
+ add r4, r0, #0x0
+ mov r7, #0x0
+_0205A62A:
+ ldrsh r2, [r4, r7]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205A62A
+ pop {r3-r7, pc}
+ .balign 4
+_0205A63C: .word 0x020F66CC
+
+ thumb_func_start FUN_0205A640
+FUN_0205A640: ; 0x0205A640
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020584A0
+ mov r1, #0x2
+ ldrsh r1, [r4, r1]
+ add r6, r0, #0x0
+ cmp r1, #0x1
+ bne _0205A65A
+ bl FUN_02059E74
+ add r6, r0, #0x0
+_0205A65A:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x0
+ bne _0205A674
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584AC
+_0205A674:
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A67C
+FUN_0205A67C: ; 0x0205A67C
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x2
+ ldrsh r1, [r4, r1]
+ add r5, r0, #0x0
+ cmp r1, #0x0
+ beq _0205A6DA
+ bl FUN_02058AFC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B0C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ ldr r1, [sp, #0x0]
+ cmp r6, r1
+ bne _0205A6DA
+ cmp r7, r0
+ bne _0205A6DA
+ add r0, r5, #0x0
+ bl FUN_020584D4
+ bl FUN_02059E74
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x0
+ bne _0205A6D6
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584AC
+_0205A6D6:
+ mov r0, #0x0
+ strh r0, [r4, #0x2]
+_0205A6DA:
+ add r0, r5, #0x0
+ bl FUN_020584D4
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+ mov r1, #0x1
+ add r2, r0, #0x0
+ tst r2, r1
+ beq _0205A704
+ add r0, r6, #0x0
+ strh r1, [r4, #0x2]
+ bl FUN_02059E74
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+_0205A704:
+ mov r1, #0xc
+ cmp r0, #0x0
+ beq _0205A70C
+ mov r1, #0x20
+_0205A70C:
+ add r0, r6, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205A72C
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_0205AD0C
+_0205A72C:
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ mov r0, #0x2
+ strh r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A73C
+FUN_0205A73C: ; 0x0205A73C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x1
+ bne _0205A766
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205A762
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl FUN_0205AD88
+_0205A762:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_0205A766:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A76C
+FUN_0205A76C: ; 0x0205A76C
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ mov r1, #0x10
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_0205858C
+ add r4, r0, #0x0
+ strh r6, [r4, #0x4]
+ ldr r0, [sp, #0x0]
+ strh r7, [r4, #0x6]
+ str r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205A79A
+ add r4, #0xc
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205ACF4
+_0205A79A:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205A79C
+FUN_0205A79C: ; 0x0205A79C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0xe
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7AC
+FUN_0205A7AC: ; 0x0205A7AC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0xf
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7BC
+FUN_0205A7BC: ; 0x0205A7BC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x10
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7CC
+FUN_0205A7CC: ; 0x0205A7CC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x11
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7DC
+FUN_0205A7DC: ; 0x0205A7DC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x12
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7EC
+FUN_0205A7EC: ; 0x0205A7EC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x13
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A7FC
+FUN_0205A7FC: ; 0x0205A7FC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x14
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A80C
+FUN_0205A80C: ; 0x0205A80C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x15
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A81C
+FUN_0205A81C: ; 0x0205A81C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x16
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A82C
+FUN_0205A82C: ; 0x0205A82C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x17
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A83C
+FUN_0205A83C: ; 0x0205A83C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x18
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A84C
+FUN_0205A84C: ; 0x0205A84C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x19
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A85C
+FUN_0205A85C: ; 0x0205A85C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x1a
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A86C
+FUN_0205A86C: ; 0x0205A86C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x1b
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A87C
+FUN_0205A87C: ; 0x0205A87C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x1c
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A88C
+FUN_0205A88C: ; 0x0205A88C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x1d
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A89C
+FUN_0205A89C: ; 0x0205A89C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x1e
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8AC
+FUN_0205A8AC: ; 0x0205A8AC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x1f
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8BC
+FUN_0205A8BC: ; 0x0205A8BC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x20
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8CC
+FUN_0205A8CC: ; 0x0205A8CC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x21
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8DC
+FUN_0205A8DC: ; 0x0205A8DC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x22
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8EC
+FUN_0205A8EC: ; 0x0205A8EC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x23
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A8FC
+FUN_0205A8FC: ; 0x0205A8FC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x24
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A90C
+FUN_0205A90C: ; 0x0205A90C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x25
+ bl FUN_0205A76C
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205A91C
+FUN_0205A91C: ; 0x0205A91C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ ldr r6, _0205A93C ; =0x020F6670
+ add r4, r0, #0x0
+ mov r7, #0x0
+_0205A92A:
+ ldrsh r2, [r4, r7]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205A92A
+ pop {r3-r7, pc}
+ .balign 4
+_0205A93C: .word 0x020F6670
+
+ thumb_func_start FUN_0205A940
+FUN_0205A940: ; 0x0205A940
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x2
+ ldrsh r2, [r4, r1]
+ mov r1, #0x4
+ ldrsh r1, [r4, r1]
+ add r5, r0, #0x0
+ cmp r2, r1
+ bne _0205A98C
+ mov r1, #0x6
+ ldrsh r1, [r4, r1]
+ cmp r1, #0x0
+ bne _0205A974
+ bl FUN_02058AFC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ cmp r6, r0
+ bne _0205A98C
+ mov r0, #0x2
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x2]
+ b _0205A98C
+_0205A974:
+ bl FUN_02058B0C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ cmp r6, r0
+ bne _0205A98C
+ mov r0, #0x2
+ ldrsh r0, [r4, r0]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x2]
+_0205A98C:
+ mov r0, #0x2
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0205A9C0
+ add r0, r5, #0x0
+ bl FUN_02058AFC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B0C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ ldr r1, [sp, #0x0]
+ cmp r6, r1
+ bne _0205A9C0
+ cmp r7, r0
+ bne _0205A9C0
+ mov r0, #0x0
+ strh r0, [r4, #0x2]
+_0205A9C0:
+ ldr r0, [r4, #0x8]
+ bl FUN_0205AAFC
+ add r7, r0, #0x0
+ mov r0, #0x2
+ ldrsh r0, [r4, r0]
+ lsl r0, r0, #0x2
+ ldr r6, [r7, r0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x0
+ bne _0205A9EA
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584AC
+_0205A9EA:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+ mov r1, #0x1
+ tst r1, r0
+ beq _0205AA28
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x2]
+ ldrsh r0, [r4, r0]
+ lsl r0, r0, #0x2
+ ldr r6, [r7, r0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584CC
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x0
+ bne _0205AA20
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020584AC
+_0205AA20:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059918
+_0205AA28:
+ mov r1, #0xc
+ cmp r0, #0x0
+ beq _0205AA30
+ mov r1, #0x20
+_0205AA30:
+ add r0, r6, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205AA52
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0xc
+ bl FUN_0205AD0C
+_0205AA52:
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AA60
+FUN_0205AA60: ; 0x0205AA60
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x1
+ bne _0205AA8C
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205ACE0
+ cmp r0, #0x1
+ bne _0205AA88
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0xc
+ bl FUN_0205AD88
+_0205AA88:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_0205AA8C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205AA90
+FUN_0205AA90: ; 0x0205AA90
+ push {r4, lr}
+ ldr r2, [r0, #0x0]
+ mov r4, #0x0
+ cmp r1, r2
+ beq _0205AAA4
+_0205AA9A:
+ add r0, r0, #0x4
+ ldr r2, [r0, #0x0]
+ add r4, r4, #0x1
+ cmp r1, r2
+ bne _0205AA9A
+_0205AAA4:
+ cmp r4, #0x0
+ bne _0205AAAC
+ bl ErrorHandling
+_0205AAAC:
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205AAB0
+FUN_0205AAB0: ; 0x0205AAB0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl rand_LC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205AA90
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl _s32_div_f
+ lsl r0, r1, #0x2
+ ldr r0, [r5, r0]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AAD4
+FUN_0205AAD4: ; 0x0205AAD4
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ bl FUN_0205AAFC
+ add r4, r0, #0x0
+ bl rand_LC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0205AA90
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl _s32_div_f
+ lsl r0, r1, #0x2
+ ldr r0, [r4, r0]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AAFC
+FUN_0205AAFC: ; 0x0205AAFC
+ push {r3, lr}
+ ldr r1, _0205AB1C ; =0x020F69BC
+ mov r2, #0x0
+_0205AB02:
+ cmp r2, r0
+ bne _0205AB0A
+ ldr r0, [r1, #0x4]
+ pop {r3, pc}
+_0205AB0A:
+ add r1, #0x8
+ ldr r2, [r1, #0x0]
+ cmp r2, #0x27
+ bne _0205AB02
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_0205AB1C: .word 0x020F69BC
+
+ thumb_func_start FUN_0205AB20
+FUN_0205AB20: ; 0x0205AB20
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02058488
+ cmp r0, #0x1
+ beq _0205AB36
+ cmp r0, #0x2
+ beq _0205AB36
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0205AB36:
+ add r0, r5, #0x0
+ bl FUN_02058738
+ bl FUN_02055698
+ add r6, r0, #0x0
+ bl FUN_02057124
+ cmp r0, #0x0
+ bne _0205AB50
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0205AB50:
+ add r0, r5, #0x0
+ mov r4, #0x0
+ bl FUN_02058480
+ ldr r1, _0205ABE8 ; =0x020F6984
+_0205AB5A:
+ lsl r2, r4, #0x2
+ ldr r2, [r1, r2]
+ add r4, r4, #0x1
+ cmp r2, r0
+ beq _0205AB68
+ cmp r2, #0xff
+ bne _0205AB5A
+_0205AB68:
+ cmp r0, r2
+ beq _0205AB72
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0205AB72:
+ add r0, r6, #0x0
+ bl FUN_020553A0
+ bl FUN_02058BE4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058BE4
+ cmp r4, r0
+ beq _0205AB8E
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0205AB8E:
+ add r0, r6, #0x0
+ bl FUN_02055320
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0205532C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r3, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r5, [sp, #0x0]
+ sub r2, r6, r0
+ add r1, r6, r0
+ sub r5, r3, r5
+ add r0, r3, r0
+ cmp r5, r4
+ bgt _0205ABE2
+ cmp r0, r4
+ blt _0205ABE2
+ cmp r2, r7
+ bgt _0205ABE2
+ cmp r1, r7
+ blt _0205ABE2
+ add r1, r3, #0x0
+ add r0, r6, #0x0
+ add r2, r7, #0x0
+ add r3, r4, #0x0
+ bl FUN_02059E80
+ pop {r3-r7, pc}
+_0205ABE2:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+ .balign 4
+_0205ABE8: .word 0x020F6984
+
+ thumb_func_start FUN_0205ABEC
+FUN_0205ABEC: ; 0x0205ABEC
+ push {r4-r7, lr}
+ sub sp, #0x14
+ str r0, [sp, #0x0]
+ add r4, r2, #0x0
+ add r0, r1, #0x0
+ bl FUN_0205AAFC
+ add r1, r4, #0x0
+ add r5, r0, #0x0
+ bl FUN_0205AA90
+ add r4, r0, #0x0
+ cmp r4, #0x1
+ bne _0205AC10
+ mov r0, #0x0
+ add sp, #0x14
+ mvn r0, r0
+ pop {r4-r7, pc}
+_0205AC10:
+ ldr r0, [sp, #0x0]
+ bl FUN_0205AB20
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0205ACDA
+ mov r2, #0x0
+ add r3, r5, #0x0
+_0205AC22:
+ ldr r1, [r3, #0x0]
+ cmp r0, r1
+ beq _0205ACDA
+ add r2, r2, #0x1
+ add r3, r3, #0x4
+ cmp r2, r4
+ blt _0205AC22
+ mov r7, #0x0
+ mvn r7, r7
+ ldr r0, [sp, #0x0]
+ add r6, r7, #0x0
+ bl FUN_02058B2C
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x0]
+ bl FUN_02058B4C
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ bl FUN_02058738
+ bl FUN_02055698
+ str r0, [sp, #0xc]
+ bl FUN_02055320
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ bl FUN_0205532C
+ ldr r2, [sp, #0x8]
+ ldr r1, [sp, #0x10]
+ cmp r2, r1
+ ble _0205AC6A
+ mov r7, #0x2
+ b _0205AC70
+_0205AC6A:
+ cmp r2, r1
+ bge _0205AC70
+ mov r7, #0x3
+_0205AC70:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ ble _0205AC7A
+ mov r6, #0x0
+ b _0205AC80
+_0205AC7A:
+ cmp r1, r0
+ bge _0205AC80
+ mov r6, #0x1
+_0205AC80:
+ mov r0, #0x0
+ sub r1, r0, #0x1
+ cmp r7, r1
+ bne _0205AC9E
+_0205AC88:
+ ldr r1, [r5, #0x0]
+ cmp r6, r1
+ bne _0205AC94
+ add sp, #0x14
+ add r0, r6, #0x0
+ pop {r4-r7, pc}
+_0205AC94:
+ add r0, r0, #0x1
+ add r5, r5, #0x4
+ cmp r0, r4
+ blt _0205AC88
+ b _0205ACD6
+_0205AC9E:
+ cmp r6, r1
+ bne _0205ACB8
+_0205ACA2:
+ ldr r1, [r5, #0x0]
+ cmp r7, r1
+ bne _0205ACAE
+ add sp, #0x14
+ add r0, r7, #0x0
+ pop {r4-r7, pc}
+_0205ACAE:
+ add r0, r0, #0x1
+ add r5, r5, #0x4
+ cmp r0, r4
+ blt _0205ACA2
+ b _0205ACD6
+_0205ACB8:
+ ldr r1, [r5, #0x0]
+ cmp r7, r1
+ bne _0205ACC4
+ add sp, #0x14
+ add r0, r7, #0x0
+ pop {r4-r7, pc}
+_0205ACC4:
+ cmp r6, r1
+ bne _0205ACCE
+ add sp, #0x14
+ add r0, r6, #0x0
+ pop {r4-r7, pc}
+_0205ACCE:
+ add r0, r0, #0x1
+ add r5, r5, #0x4
+ cmp r0, r4
+ blt _0205ACB8
+_0205ACD6:
+ mov r0, #0x0
+ mvn r0, r0
+_0205ACDA:
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205ACE0
+FUN_0205ACE0: ; 0x0205ACE0
+ push {r3, lr}
+ bl FUN_02058488
+ sub r0, r0, #0x7
+ cmp r0, #0x1
+ bhi _0205ACF0
+ mov r0, #0x1
+ pop {r3, pc}
+_0205ACF0:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205ACF4
+FUN_0205ACF4: ; 0x0205ACF4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02058488
+ cmp r0, #0x7
+ bne _0205AD06
+ mov r0, #0x0
+ strb r0, [r4, #0x1]
+ pop {r4, pc}
+_0205AD06:
+ mov r0, #0x1
+ strb r0, [r4, #0x1]
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205AD0C
+FUN_0205AD0C: ; 0x0205AD0C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_020584C4
+ mov r4, #0x0
+ add r6, r0, #0x0
+ add r1, r4, #0x0
+ ldr r0, _0205AD84 ; =0x020F6964
+ mov r2, #0x1
+ b _0205AD26
+_0205AD22:
+ add r1, r1, #0x4
+ add r4, r4, #0x1
+_0205AD26:
+ cmp r4, #0x4
+ bge _0205AD36
+ ldrsb r3, [r5, r2]
+ lsl r3, r3, #0x4
+ add r3, r0, r3
+ ldr r3, [r1, r3]
+ cmp r6, r3
+ bne _0205AD22
+_0205AD36:
+ cmp r4, #0x4
+ blt _0205AD3E
+ bl ErrorHandling
+_0205AD3E:
+ add r0, r4, #0x1
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ strb r6, [r5, #0x0]
+ mov r0, #0x1
+ add r1, r2, r1
+ ldrsb r0, [r5, r0]
+ lsl r1, r1, #0x2
+ lsl r2, r0, #0x4
+ ldr r0, _0205AD84 ; =0x020F6964
+ add r0, r0, r2
+ ldr r4, [r1, r0]
+ add r0, r7, #0x0
+ mov r1, #0x80
+ bl FUN_02058424
+ cmp r0, #0x0
+ beq _0205AD6C
+ mov r0, #0x1
+ b _0205AD6E
+_0205AD6C:
+ mov r0, #0x0
+_0205AD6E:
+ strb r0, [r5, #0x2]
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584AC
+ add r0, r7, #0x0
+ mov r1, #0x80
+ bl FUN_02058410
+ pop {r3-r7, pc}
+ nop
+_0205AD84: .word 0x020F6964
+
+ thumb_func_start FUN_0205AD88
+FUN_0205AD88: ; 0x0205AD88
+ push {r3, lr}
+ ldrb r1, [r1, #0x2]
+ cmp r1, #0x0
+ bne _0205AD96
+ mov r1, #0x80
+ bl FUN_02058418
+_0205AD96:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205AD98
+FUN_0205AD98: ; 0x0205AD98
+ push {r4, lr}
+ mov r1, #0x1
+ add r4, r0, #0x0
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205ADAA
+ mov r0, #0x0
+ pop {r4, pc}
+_0205ADAA:
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0205842C
+ cmp r0, #0x1
+ bne _0205ADBA
+ mov r0, #0x0
+ pop {r4, pc}
+_0205ADBA:
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_0205842C
+ cmp r0, #0x1
+ bne _0205ADD6
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205ADD6
+ mov r0, #0x0
+ pop {r4, pc}
+_0205ADD6:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205ADDC
+FUN_0205ADDC: ; 0x0205ADDC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0x69
+ blt _0205ADEA
+ bl ErrorHandling
+_0205ADEA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020586E8
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020586F8
+ add r0, r5, #0x0
+ mov r1, #0x10
+ bl FUN_02058410
+ add r0, r5, #0x0
+ mov r1, #0x20
+ bl FUN_02058418
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205AE0C
+FUN_0205AE0C: ; 0x0205AE0C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020586E8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020586F8
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_02058418
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AE28
+FUN_0205AE28: ; 0x0205AE28
+ push {r4, lr}
+ mov r1, #0x10
+ add r4, r0, #0x0
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205AE3A
+ mov r0, #0x1
+ pop {r4, pc}
+_0205AE3A:
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0205842C
+ cmp r0, #0x0
+ beq _0205AE4A
+ mov r0, #0x1
+ pop {r4, pc}
+_0205AE4A:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AE50
+FUN_0205AE50: ; 0x0205AE50
+ push {r4, lr}
+ mov r1, #0x10
+ add r4, r0, #0x0
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205AE62
+ mov r0, #0x1
+ pop {r4, pc}
+_0205AE62:
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205AE72
+ mov r0, #0x0
+ pop {r4, pc}
+_0205AE72:
+ add r0, r4, #0x0
+ mov r1, #0x30
+ bl FUN_02058418
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AE80
+FUN_0205AE80: ; 0x0205AE80
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x10
+ bl FUN_02058418
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_02058410
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl FUN_020586E8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020586F8
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205AEA4
+FUN_0205AEA4: ; 0x0205AEA4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x14
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ bne _0205AEBA
+ bl ErrorHandling
+_0205AEBA:
+ add r2, r4, #0x0
+ mov r1, #0x14
+ mov r0, #0x0
+_0205AEC0:
+ strb r0, [r2, #0x0]
+ add r2, r2, #0x1
+ sub r1, r1, #0x1
+ bne _0205AEC0
+ add r0, r5, #0x0
+ bl FUN_02058578
+ bl FUN_0205839C
+ sub r2, r0, #0x1
+ ldr r0, _0205AEEC ; =FUN_0205AF2C
+ add r1, r4, #0x0
+ bl FUN_0200CA44
+ add r7, r0, #0x0
+ bne _0205AEE4
+ bl ErrorHandling
+_0205AEE4:
+ str r5, [r4, #0xc]
+ str r6, [r4, #0x10]
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0205AEEC: .word FUN_0205AF2C
+
+ thumb_func_start FUN_0205AEF0
+FUN_0205AEF0: ; 0x0205AEF0
+ push {r3, lr}
+ bl FUN_0201B6C8
+ ldr r0, [r0, #0x4]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AEFC
+FUN_0205AEFC: ; 0x0205AEFC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0201B6C8
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ beq _0205AF14
+ bl ErrorHandling
+_0205AF14:
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AE50
+ mov r0, #0x4
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ add r0, r5, #0x0
+ bl FUN_0200CAB4
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AF2C
+FUN_0205AF2C: ; 0x0205AF2C
+ push {r3-r5, lr}
+ ldr r4, _0205AF44 ; =0x020F6C54
+ add r5, r1, #0x0
+_0205AF32:
+ ldr r1, [r5, #0x0]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ blx r1
+ cmp r0, #0x1
+ beq _0205AF32
+ pop {r3-r5, pc}
+ nop
+_0205AF44: .word 0x020F6C54
+
+ thumb_func_start FUN_0205AF48
+FUN_0205AF48: ; 0x0205AF48
+ mov r1, #0x0
+ str r1, [r0, #0x8]
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ add r0, r1, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205AF54
+FUN_0205AF54: ; 0x0205AF54
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AD98
+ cmp r0, #0x0
+ bne _0205AF66
+ mov r0, #0x0
+ pop {r4, pc}
+_0205AF66:
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AF70
+FUN_0205AF70: ; 0x0205AF70
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x10]
+ ldr r0, [r4, #0xc]
+ ldrh r1, [r1, #0x0]
+ bl FUN_0205ADDC
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AF88
+FUN_0205AF88: ; 0x0205AF88
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ bne _0205AF9A
+ mov r0, #0x0
+ pop {r4, pc}
+_0205AF9A:
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205AFA4
+FUN_0205AFA4: ; 0x0205AFA4
+ ldr r1, [r0, #0x8]
+ ldr r3, [r0, #0x10]
+ add r2, r1, #0x1
+ str r2, [r0, #0x8]
+ ldrh r1, [r3, #0x2]
+ cmp r2, r1
+ bge _0205AFBA
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ add r0, r1, #0x0
+ bx lr
+_0205AFBA:
+ add r1, r3, #0x4
+ str r1, [r0, #0x10]
+ ldrh r1, [r3, #0x4]
+ cmp r1, #0xfe
+ beq _0205AFCC
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+ mov r0, #0x1
+ bx lr
+_0205AFCC:
+ mov r1, #0x1
+ str r1, [r0, #0x4]
+ mov r1, #0x5
+ str r1, [r0, #0x0]
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205AFD8
+FUN_0205AFD8: ; 0x0205AFD8
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205AFDC
+FUN_0205AFDC: ; 0x0205AFDC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r4, r1, #0x0
+ cmp r7, #0x4
+ blt _0205AFEA
+ bl ErrorHandling
+_0205AFEA:
+ ldr r3, _0205B01C ; =0x020F6308
+ ldr r6, [r3, #0x0]
+ cmp r6, #0x0
+ beq _0205B014
+ mov r1, #0x0
+_0205AFF4:
+ add r2, r1, #0x0
+ add r5, r6, #0x0
+_0205AFF8:
+ ldr r0, [r5, #0x0]
+ cmp r4, r0
+ bne _0205B004
+ lsl r0, r7, #0x2
+ ldr r0, [r6, r0]
+ pop {r3-r7, pc}
+_0205B004:
+ add r2, r2, #0x1
+ add r5, r5, #0x4
+ cmp r2, #0x4
+ blt _0205AFF8
+ add r3, r3, #0x4
+ ldr r6, [r3, #0x0]
+ cmp r6, #0x0
+ bne _0205AFF4
+_0205B014:
+ bl ErrorHandling
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0205B01C: .word 0x020F6308
+
+ thumb_func_start FUN_0205B020
+FUN_0205B020: ; 0x0205B020
+ push {r4-r5}
+ ldr r4, _0205B054 ; =0x020F6308
+ ldr r5, [r4, #0x0]
+ cmp r5, #0x0
+ beq _0205B04A
+ mov r2, #0x0
+_0205B02C:
+ add r3, r2, #0x0
+_0205B02E:
+ ldr r1, [r5, #0x0]
+ cmp r0, r1
+ bne _0205B03A
+ add r0, r3, #0x0
+ pop {r4-r5}
+ bx lr
+_0205B03A:
+ add r3, r3, #0x1
+ add r5, r5, #0x4
+ cmp r3, #0x4
+ blt _0205B02E
+ add r4, r4, #0x4
+ ldr r5, [r4, #0x0]
+ cmp r5, #0x0
+ bne _0205B02C
+_0205B04A:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4-r5}
+ bx lr
+ nop
+_0205B054: .word 0x020F6308
+
+ thumb_func_start FUN_0205B058
+FUN_0205B058: ; 0x0205B058
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+_0205B05C:
+ add r0, r5, #0x0
+ bl FUN_020586F0
+ add r4, r0, #0x0
+ cmp r4, #0xff
+ beq _0205B07C
+ add r0, r5, #0x0
+ bl FUN_02058710
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205B0B4
+ cmp r0, #0x0
+ bne _0205B05C
+_0205B07C:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B080
+FUN_0205B080: ; 0x0205B080
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0205B058
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0205842C
+ cmp r0, #0x0
+ bne _0205B098
+ mov r0, #0x0
+ pop {r4, pc}
+_0205B098:
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_02058418
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl FUN_020586E8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020586F8
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205B0B4
+FUN_0205B0B4: ; 0x0205B0B4
+ push {r3, lr}
+ lsl r3, r1, #0x2
+ ldr r1, _0205B0C4 ; =0x020F6440
+ ldr r3, [r1, r3]
+ lsl r1, r2, #0x2
+ ldr r1, [r3, r1]
+ blx r1
+ pop {r3, pc}
+ .balign 4
+_0205B0C4: .word 0x020F6440
+
+ thumb_func_start FUN_0205B0C8
+FUN_0205B0C8: ; 0x0205B0C8
+ push {r3, lr}
+ mov r1, #0x20
+ bl FUN_02058410
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B0D4
+FUN_0205B0D4: ; 0x0205B0D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020584AC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02059C60
+ add r0, r4, #0x0
+ bl FUN_02058700
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B0F4
+FUN_0205B0F4: ; 0x0205B0F4
+ push {r3, lr}
+ mov r1, #0x0
+ bl FUN_0205B0D4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B100
+FUN_0205B100: ; 0x0205B100
+ push {r3, lr}
+ mov r1, #0x1
+ bl FUN_0205B0D4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B10C
+FUN_0205B10C: ; 0x0205B10C
+ push {r3, lr}
+ mov r1, #0x2
+ bl FUN_0205B0D4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B118
+FUN_0205B118: ; 0x0205B118
+ push {r3, lr}
+ mov r1, #0x3
+ bl FUN_0205B0D4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B124
+FUN_0205B124: ; 0x0205B124
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0xc
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020585DC
+ add r1, sp, #0x8
+ ldrh r1, [r1, #0x10]
+ strh r1, [r0, #0x0]
+ strh r7, [r0, #0x2]
+ str r4, [r0, #0x4]
+ str r6, [r0, #0x8]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059C0C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584D8
+ add r1, sp, #0x8
+ ldrh r1, [r1, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_02058700
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B16C
+FUN_0205B16C: ; 0x0205B16C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r2, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02059CC8
+ add r0, r5, #0x0
+ bl FUN_02059D1C
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ sub r1, r1, #0x1
+ strh r1, [r4, #0x2]
+ ldrsh r0, [r4, r0]
+ cmp r0, #0x0
+ ble _0205B198
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205B198:
+ add r0, r5, #0x0
+ mov r1, #0x28
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ add r0, r5, #0x0
+ bl FUN_020586A0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B1C0
+FUN_0205B1C0: ; 0x0205B1C0
+ push {r3, lr}
+ mov r2, #0x1
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0xb
+ mov r3, #0x20
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B1D4
+FUN_0205B1D4: ; 0x0205B1D4
+ push {r3, lr}
+ mov r1, #0x1
+ lsl r2, r1, #0xb
+ mov r3, #0x20
+ str r1, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B1E8
+FUN_0205B1E8: ; 0x0205B1E8
+ push {r3, lr}
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ mov r1, #0x2
+ lsl r2, r1, #0xa
+ mov r3, #0x20
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B1FC
+FUN_0205B1FC: ; 0x0205B1FC
+ push {r3, lr}
+ mov r2, #0x1
+ str r2, [sp, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0xb
+ mov r3, #0x20
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B210
+FUN_0205B210: ; 0x0205B210
+ push {r3, lr}
+ mov r2, #0x2
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0xb
+ mov r3, #0x10
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B224
+FUN_0205B224: ; 0x0205B224
+ push {r3, lr}
+ mov r1, #0x2
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ lsl r2, r1, #0xc
+ mov r3, #0x10
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B238
+FUN_0205B238: ; 0x0205B238
+ push {r3, lr}
+ mov r1, #0x2
+ lsl r2, r1, #0xb
+ mov r3, #0x10
+ str r1, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B24C
+FUN_0205B24C: ; 0x0205B24C
+ push {r3, lr}
+ mov r2, #0x2
+ str r2, [sp, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0xb
+ mov r3, #0x10
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B260
+FUN_0205B260: ; 0x0205B260
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x2
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0xc
+ mov r3, #0x8
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B278
+FUN_0205B278: ; 0x0205B278
+ push {r3, lr}
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ lsl r2, r1, #0xd
+ mov r3, #0x8
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B28C
+FUN_0205B28C: ; 0x0205B28C
+ push {r3, lr}
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x2
+ lsl r2, r1, #0xc
+ mov r3, #0x8
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B2A0
+FUN_0205B2A0: ; 0x0205B2A0
+ push {r3, lr}
+ mov r2, #0x2
+ mov r1, #0x3
+ lsl r2, r2, #0xc
+ mov r3, #0x8
+ str r1, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B2B4
+FUN_0205B2B4: ; 0x0205B2B4
+ push {r3, lr}
+ mov r3, #0x4
+ mov r1, #0x0
+ lsl r2, r3, #0xc
+ str r3, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B2C8
+FUN_0205B2C8: ; 0x0205B2C8
+ push {r3, lr}
+ mov r1, #0x1
+ mov r3, #0x4
+ lsl r2, r1, #0xe
+ str r3, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B2DC
+FUN_0205B2DC: ; 0x0205B2DC
+ push {r3, lr}
+ mov r1, #0x2
+ mov r3, #0x4
+ lsl r2, r1, #0xd
+ str r3, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B2F0
+FUN_0205B2F0: ; 0x0205B2F0
+ push {r3, lr}
+ mov r3, #0x4
+ mov r1, #0x3
+ lsl r2, r3, #0xc
+ str r3, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B304
+FUN_0205B304: ; 0x0205B304
+ push {r3, lr}
+ mov r1, #0x5
+ mov r2, #0x2
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0xe
+ mov r3, #0x2
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B31C
+FUN_0205B31C: ; 0x0205B31C
+ push {r3, lr}
+ mov r1, #0x5
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ lsl r2, r1, #0xf
+ mov r3, #0x2
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B330
+FUN_0205B330: ; 0x0205B330
+ push {r3, lr}
+ mov r1, #0x5
+ str r1, [sp, #0x0]
+ mov r1, #0x2
+ lsl r2, r1, #0xe
+ add r3, r1, #0x0
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B344
+FUN_0205B344: ; 0x0205B344
+ push {r3, lr}
+ mov r1, #0x5
+ mov r2, #0x2
+ str r1, [sp, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0xe
+ mov r3, #0x2
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B35C
+FUN_0205B35C: ; 0x0205B35C
+ push {r3, lr}
+ mov r2, #0x1
+ mov r1, #0x0
+ lsl r2, r2, #0x10
+ mov r3, #0x1
+ str r1, [sp, #0x0]
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B370
+FUN_0205B370: ; 0x0205B370
+ push {r3, lr}
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ lsl r2, r1, #0x10
+ add r3, r1, #0x0
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B384
+FUN_0205B384: ; 0x0205B384
+ push {r3, lr}
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r1, #0x2
+ lsl r2, r1, #0xf
+ mov r3, #0x1
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B398
+FUN_0205B398: ; 0x0205B398
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x1
+ str r1, [sp, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0x10
+ mov r3, #0x1
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B3B0
+FUN_0205B3B0: ; 0x0205B3B0
+ push {r3, lr}
+ mov r1, #0x9
+ mov r2, #0x1
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0xe
+ mov r3, #0x4
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B3C8
+FUN_0205B3C8: ; 0x0205B3C8
+ push {r3, lr}
+ mov r1, #0x9
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ lsl r2, r1, #0xe
+ mov r3, #0x4
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B3DC
+FUN_0205B3DC: ; 0x0205B3DC
+ push {r3, lr}
+ mov r1, #0x9
+ str r1, [sp, #0x0]
+ mov r1, #0x2
+ lsl r2, r1, #0xd
+ mov r3, #0x4
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B3F0
+FUN_0205B3F0: ; 0x0205B3F0
+ push {r3, lr}
+ mov r1, #0x9
+ mov r2, #0x1
+ str r1, [sp, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0xe
+ mov r3, #0x4
+ bl FUN_0205B124
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B408
+FUN_0205B408: ; 0x0205B408
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ mov r1, #0xc
+ add r5, r0, #0x0
+ bl FUN_020585DC
+ strh r4, [r0, #0x0]
+ add r1, r6, #0x1
+ strh r1, [r0, #0x2]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_020584AC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ add r0, r5, #0x0
+ bl FUN_02058700
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205B43C
+FUN_0205B43C: ; 0x0205B43C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058600
+ mov r1, #0x2
+ ldrsh r2, [r0, r1]
+ sub r2, r2, #0x1
+ strh r2, [r0, #0x2]
+ ldrsh r0, [r0, r1]
+ cmp r0, #0x0
+ ble _0205B456
+ mov r0, #0x0
+ pop {r4, pc}
+_0205B456:
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_02058410
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205B470
+FUN_0205B470: ; 0x0205B470
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x20
+ mov r3, #0x1
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B480
+FUN_0205B480: ; 0x0205B480
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x20
+ add r3, r1, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B490
+FUN_0205B490: ; 0x0205B490
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x20
+ mov r3, #0x1
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4A0
+FUN_0205B4A0: ; 0x0205B4A0
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x20
+ mov r3, #0x1
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4B0
+FUN_0205B4B0: ; 0x0205B4B0
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x10
+ mov r3, #0x2
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4C0
+FUN_0205B4C0: ; 0x0205B4C0
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x10
+ mov r3, #0x2
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4D0
+FUN_0205B4D0: ; 0x0205B4D0
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4E0
+FUN_0205B4E0: ; 0x0205B4E0
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x10
+ mov r3, #0x2
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B4F0
+FUN_0205B4F0: ; 0x0205B4F0
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x8
+ mov r3, #0x3
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B500
+FUN_0205B500: ; 0x0205B500
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x8
+ mov r3, #0x3
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B510
+FUN_0205B510: ; 0x0205B510
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x8
+ mov r3, #0x3
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B520
+FUN_0205B520: ; 0x0205B520
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x8
+ add r3, r1, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B530
+FUN_0205B530: ; 0x0205B530
+ push {r3, lr}
+ mov r2, #0x4
+ mov r1, #0x0
+ add r3, r2, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B540
+FUN_0205B540: ; 0x0205B540
+ push {r3, lr}
+ mov r2, #0x4
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B550
+FUN_0205B550: ; 0x0205B550
+ push {r3, lr}
+ mov r2, #0x4
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B560
+FUN_0205B560: ; 0x0205B560
+ push {r3, lr}
+ mov r2, #0x4
+ mov r1, #0x3
+ add r3, r2, #0x0
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B570
+FUN_0205B570: ; 0x0205B570
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x2
+ mov r3, #0x5
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B580
+FUN_0205B580: ; 0x0205B580
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x2
+ mov r3, #0x5
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B590
+FUN_0205B590: ; 0x0205B590
+ push {r3, lr}
+ mov r1, #0x2
+ add r2, r1, #0x0
+ mov r3, #0x5
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B5A0
+FUN_0205B5A0: ; 0x0205B5A0
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x2
+ mov r3, #0x5
+ bl FUN_0205B408
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B5B0
+FUN_0205B5B0: ; 0x0205B5B0
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x10
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020585DC
+ strb r4, [r0, #0xc]
+ str r6, [r0, #0x0]
+ strb r7, [r0, #0xd]
+ add r2, sp, #0x8
+ ldrh r1, [r2, #0x10]
+ strb r1, [r0, #0xe]
+ mov r1, #0x14
+ ldrsh r1, [r2, r1]
+ cmp r6, #0x0
+ strb r1, [r0, #0xf]
+ ldrh r1, [r2, #0x18]
+ strh r1, [r0, #0x8]
+ bne _0205B5E2
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ b _0205B5EA
+_0205B5E2:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059C0C
+_0205B5EA:
+ ldr r1, _0205B614 ; =0x00010004
+ add r0, r5, #0x0
+ bl FUN_02058410
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584D8
+ add r1, sp, #0x8
+ ldrh r1, [r1, #0x10]
+ add r0, r5, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058700
+ ldr r0, _0205B618 ; =0x0000060B
+ bl FUN_020054C8
+ pop {r3-r7, pc}
+ nop
+_0205B614: .word 0x00010004
+_0205B618: .word 0x0000060B
+
+ thumb_func_start FUN_0205B61C
+FUN_0205B61C: ; 0x0205B61C
+ push {r3-r5, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r2, [r4, #0x0]
+ cmp r2, #0x0
+ beq _0205B66C
+ mov r1, #0xc
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02059CC8
+ add r0, r5, #0x0
+ bl FUN_02059D1C
+ mov r0, #0x1
+ ldr r1, [r4, #0x4]
+ lsl r0, r0, #0x10
+ cmp r1, r0
+ blt _0205B65E
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ mov r1, #0xc
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02059C0C
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+_0205B65E:
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ bge _0205B666
+ neg r1, r1
+_0205B666:
+ ldr r0, [r4, #0x4]
+ add r0, r0, r1
+ str r0, [r4, #0x4]
+_0205B66C:
+ ldrh r1, [r4, #0xa]
+ ldrh r0, [r4, #0x8]
+ add r0, r1, r0
+ strh r0, [r4, #0xa]
+ mov r0, #0xf
+ ldrh r1, [r4, #0xa]
+ lsl r0, r0, #0x8
+ cmp r1, r0
+ bls _0205B680
+ strh r0, [r4, #0xa]
+_0205B680:
+ mov r1, #0xf
+ ldrsb r1, [r4, r1]
+ ldrh r0, [r4, #0xa]
+ lsl r2, r1, #0x2
+ ldr r1, _0205B6F8 ; =0x02105F9C
+ lsr r0, r0, #0x8
+ lsl r0, r0, #0x10
+ ldr r2, [r1, r2]
+ mov r1, #0x0
+ str r1, [sp, #0xc]
+ lsr r0, r0, #0xe
+ ldr r0, [r2, r0]
+ str r0, [sp, #0x10]
+ str r1, [sp, #0x14]
+ add r0, r5, #0x0
+ add r1, sp, #0xc
+ bl FUN_02058B94
+ mov r0, #0xd
+ ldrsb r1, [r4, r0]
+ sub r1, r1, #0x1
+ strb r1, [r4, #0xd]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x0
+ ble _0205B6B8
+ add sp, #0x18
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205B6B8:
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02058B94
+ ldr r1, _0205B6FC ; =0x00020028
+ add r0, r5, #0x0
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ add r0, r5, #0x0
+ bl FUN_020586A0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058700
+ ldr r0, _0205B700 ; =0x00000647
+ bl FUN_020054C8
+ mov r0, #0x1
+ add sp, #0x18
+ pop {r3-r5, pc}
+ nop
+_0205B6F8: .word 0x02105F9C
+_0205B6FC: .word 0x00020028
+_0205B700: .word 0x00000647
+
+ thumb_func_start FUN_0205B704
+FUN_0205B704: ; 0x0205B704
+ push {lr}
+ sub sp, #0xc
+ mov r2, #0x2
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ add r2, #0xfe
+ str r2, [sp, #0x8]
+ add r2, r1, #0x0
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B724
+FUN_0205B724: ; 0x0205B724
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x2
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ add r1, #0xfe
+ str r1, [sp, #0x8]
+ mov r1, #0x1
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B744
+FUN_0205B744: ; 0x0205B744
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x2
+ add r3, r1, #0x0
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ add r3, #0xfe
+ str r3, [sp, #0x8]
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B764
+FUN_0205B764: ; 0x0205B764
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x2
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ add r1, #0xfe
+ str r1, [sp, #0x8]
+ mov r1, #0x3
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B784
+FUN_0205B784: ; 0x0205B784
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ mov r2, #0x2
+ str r1, [sp, #0x4]
+ lsl r2, r2, #0x8
+ str r2, [sp, #0x8]
+ add r2, r1, #0x0
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B7A4
+FUN_0205B7A4: ; 0x0205B7A4
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ mov r1, #0x2
+ str r2, [sp, #0x4]
+ lsl r1, r1, #0x8
+ str r1, [sp, #0x8]
+ mov r1, #0x1
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B7C4
+FUN_0205B7C4: ; 0x0205B7C4
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ mov r1, #0x2
+ str r2, [sp, #0x4]
+ lsl r1, r1, #0x8
+ str r1, [sp, #0x8]
+ mov r1, #0x2
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B7E4
+FUN_0205B7E4: ; 0x0205B7E4
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ mov r3, #0x2
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ lsl r3, r3, #0x8
+ str r3, [sp, #0x8]
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B804
+FUN_0205B804: ; 0x0205B804
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ mov r2, #0x2
+ str r1, [sp, #0x4]
+ lsl r2, r2, #0x8
+ str r2, [sp, #0x8]
+ lsl r2, r2, #0x4
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B824
+FUN_0205B824: ; 0x0205B824
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ str r1, [sp, #0x8]
+ mov r1, #0x1
+ lsl r2, r1, #0xd
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B848
+FUN_0205B848: ; 0x0205B848
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0x2
+ lsl r1, r1, #0x8
+ str r1, [sp, #0x8]
+ mov r1, #0x2
+ lsl r2, r1, #0xc
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B86C
+FUN_0205B86C: ; 0x0205B86C
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ mov r2, #0x2
+ lsl r2, r2, #0x8
+ str r2, [sp, #0x8]
+ lsl r2, r2, #0x4
+ mov r3, #0x8
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B88C
+FUN_0205B88C: ; 0x0205B88C
+ push {lr}
+ sub sp, #0xc
+ mov r2, #0x3
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ add r2, #0xfd
+ str r2, [sp, #0x8]
+ mov r2, #0x2
+ lsl r2, r2, #0xc
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B8AC
+FUN_0205B8AC: ; 0x0205B8AC
+ push {lr}
+ sub sp, #0xc
+ mov r2, #0x3
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ add r2, #0xfd
+ mov r1, #0x1
+ str r2, [sp, #0x8]
+ lsl r2, r1, #0xd
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B8CC
+FUN_0205B8CC: ; 0x0205B8CC
+ push {lr}
+ sub sp, #0xc
+ mov r2, #0x3
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ add r2, #0xfd
+ mov r1, #0x2
+ str r2, [sp, #0x8]
+ lsl r2, r1, #0xc
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B8EC
+FUN_0205B8EC: ; 0x0205B8EC
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0x3
+ str r1, [sp, #0x0]
+ mov r2, #0x0
+ str r2, [sp, #0x4]
+ add r2, r1, #0x0
+ add r2, #0xfd
+ str r2, [sp, #0x8]
+ mov r2, #0x2
+ lsl r2, r2, #0xc
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B910
+FUN_0205B910: ; 0x0205B910
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0xa
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0xf0
+ str r1, [sp, #0x8]
+ mov r1, #0x2
+ lsl r2, r1, #0xb
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B930
+FUN_0205B930: ; 0x0205B930
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0xa
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0xf0
+ mov r2, #0x1
+ str r1, [sp, #0x8]
+ mov r1, #0x3
+ lsl r2, r2, #0xc
+ mov r3, #0x10
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B954
+FUN_0205B954: ; 0x0205B954
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0xb
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0x5
+ lsl r1, r1, #0x6
+ str r1, [sp, #0x8]
+ mov r1, #0x2
+ lsl r2, r1, #0xd
+ mov r3, #0xc
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B978
+FUN_0205B978: ; 0x0205B978
+ push {lr}
+ sub sp, #0xc
+ mov r1, #0xb
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x4]
+ mov r1, #0x5
+ lsl r1, r1, #0x6
+ mov r2, #0x1
+ str r1, [sp, #0x8]
+ mov r1, #0x3
+ lsl r2, r2, #0xe
+ mov r3, #0xc
+ bl FUN_0205B5B0
+ mov r0, #0x1
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_0205B99C
+FUN_0205B99C: ; 0x0205B99C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x4
+ bl FUN_020585DC
+ str r4, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058700
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205B9B4
+FUN_0205B9B4: ; 0x0205B9B4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058600
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0205B9CA
+ sub r1, r1, #0x1
+ str r1, [r0, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+_0205B9CA:
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205B9D4
+FUN_0205B9D4: ; 0x0205B9D4
+ push {r3, lr}
+ mov r1, #0x1
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B9E0
+FUN_0205B9E0: ; 0x0205B9E0
+ push {r3, lr}
+ mov r1, #0x2
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B9EC
+FUN_0205B9EC: ; 0x0205B9EC
+ push {r3, lr}
+ mov r1, #0x4
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205B9F8
+FUN_0205B9F8: ; 0x0205B9F8
+ push {r3, lr}
+ mov r1, #0x8
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BA04
+FUN_0205BA04: ; 0x0205BA04
+ push {r3, lr}
+ mov r1, #0xf
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BA10
+FUN_0205BA10: ; 0x0205BA10
+ push {r3, lr}
+ mov r1, #0x10
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BA1C
+FUN_0205BA1C: ; 0x0205BA1C
+ push {r3, lr}
+ mov r1, #0x20
+ bl FUN_0205B99C
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BA28
+FUN_0205BA28: ; 0x0205BA28
+ push {r4, lr}
+ mov r1, #0x8
+ add r4, r0, #0x0
+ bl FUN_020585DC
+ mov r1, #0x1
+ lsl r1, r1, #0x10
+ str r1, [r0, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BA4C
+FUN_0205BA4C: ; 0x0205BA4C
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, [r4, #0x4]
+ add r0, r1, r0
+ str r0, [r4, #0x0]
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B94
+ ldr r1, [r4, #0x0]
+ asr r0, r1, #0xe
+ lsr r0, r0, #0x11
+ add r0, r1, r0
+ asr r0, r0, #0xf
+ cmp r0, #0x28
+ bge _0205BA88
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r5, pc}
+_0205BA88:
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_0205BA94
+FUN_0205BA94: ; 0x0205BA94
+ push {r4, lr}
+ mov r1, #0x8
+ add r4, r0, #0x0
+ bl FUN_020585DC
+ mov r1, #0x5
+ lsl r1, r1, #0x12
+ str r1, [r0, #0x0]
+ ldr r1, _0205BABC ; =0xFFFF0000
+ str r1, [r0, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_0205BABC: .word 0xFFFF0000
+
+ thumb_func_start FUN_0205BAC0
+FUN_0205BAC0: ; 0x0205BAC0
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, [r4, #0x4]
+ add r0, r1, r0
+ str r0, [r4, #0x0]
+ bpl _0205BADA
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_0205BADA:
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B94
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ ble _0205BAFA
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r5, pc}
+_0205BAFA:
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BB08
+FUN_0205BB08: ; 0x0205BB08
+ push {r4, lr}
+ mov r1, #0x2
+ add r4, r0, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058410
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BB20
+FUN_0205BB20: ; 0x0205BB20
+ push {r4, lr}
+ mov r1, #0x2
+ add r4, r0, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BB38
+FUN_0205BB38: ; 0x0205BB38
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x80
+ bl FUN_02058410
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BB4C
+FUN_0205BB4C: ; 0x0205BB4C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x80
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BB60
+FUN_0205BB60: ; 0x0205BB60
+ push {r4, lr}
+ mov r1, #0x1
+ add r4, r0, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058410
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BB78
+FUN_0205BB78: ; 0x0205BB78
+ push {r4, lr}
+ mov r1, #0x1
+ add r4, r0, #0x0
+ lsl r1, r1, #0x8
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BB90
+FUN_0205BB90: ; 0x0205BB90
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ mov r1, #0x8
+ add r5, r0, #0x0
+ bl FUN_020585DC
+ add r4, r0, #0x0
+ str r6, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ mov r2, #0x1
+ bl MOD05_021E7AC0
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058700
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205BBB4
+FUN_0205BBB4: ; 0x0205BBB4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ bl MOD05_021E799C
+ cmp r0, #0x1
+ bne _0205BBD8
+ ldr r0, [r4, #0x4]
+ bl FUN_02064520
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205BBD8:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205BBDC
+FUN_0205BBDC: ; 0x0205BBDC
+ push {r3, lr}
+ mov r1, #0x0
+ bl FUN_0205BB90
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BBE8
+FUN_0205BBE8: ; 0x0205BBE8
+ push {r3, lr}
+ mov r1, #0x1
+ bl FUN_0205BB90
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BBF4
+FUN_0205BBF4: ; 0x0205BBF4
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ mov r1, #0x8
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020585DC
+ strh r4, [r0, #0x0]
+ strh r6, [r0, #0x2]
+ strh r7, [r0, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02059C0C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020584D8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_02058700
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BC34
+FUN_0205BC34: ; 0x0205BC34
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ mov r2, #0x6
+ ldrsh r2, [r4, r2]
+ mov r1, #0x0
+ ldrsh r1, [r4, r1]
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ add r0, r5, #0x0
+ bl FUN_02059CC8
+ add r0, r5, #0x0
+ bl FUN_02059D1C
+ mov r0, #0x6
+ ldrsh r1, [r4, r0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x6]
+ ldrsh r1, [r4, r0]
+ mov r0, #0x4
+ ldrsh r0, [r4, r0]
+ cmp r1, r0
+ bge _0205BC6E
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0205BC6E:
+ add r0, r5, #0x0
+ mov r1, #0x28
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_02059C60
+ add r0, r5, #0x0
+ bl FUN_020586A0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205BC94
+FUN_0205BC94: ; 0x0205BC94
+ push {r3, lr}
+ mov r2, #0x6
+ mov r1, #0x0
+ add r3, r2, #0x0
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BCA4
+FUN_0205BCA4: ; 0x0205BCA4
+ push {r3, lr}
+ mov r2, #0x6
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BCB4
+FUN_0205BCB4: ; 0x0205BCB4
+ push {r3, lr}
+ mov r2, #0x6
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BCC4
+FUN_0205BCC4: ; 0x0205BCC4
+ push {r3, lr}
+ mov r2, #0x6
+ mov r1, #0x3
+ add r3, r2, #0x0
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BCD4
+FUN_0205BCD4: ; 0x0205BCD4
+ push {r3, lr}
+ ldr r1, _0205BCE8 ; =0x020F6C6C
+ bl FUN_0205BC34
+ cmp r0, #0x1
+ bne _0205BCE4
+ mov r0, #0x1
+ pop {r3, pc}
+_0205BCE4:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205BCE8: .word 0x020F6C6C
+
+ thumb_func_start FUN_0205BCEC
+FUN_0205BCEC: ; 0x0205BCEC
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x3
+ mov r3, #0x7
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BCFC
+FUN_0205BCFC: ; 0x0205BCFC
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x3
+ mov r3, #0x7
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD0C
+FUN_0205BD0C: ; 0x0205BD0C
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x7
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD1C
+FUN_0205BD1C: ; 0x0205BD1C
+ push {r3, lr}
+ mov r1, #0x3
+ add r2, r1, #0x0
+ mov r3, #0x7
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD2C
+FUN_0205BD2C: ; 0x0205BD2C
+ push {r3, lr}
+ ldr r1, _0205BD40 ; =0x020F6C48
+ bl FUN_0205BC34
+ cmp r0, #0x1
+ bne _0205BD3C
+ mov r0, #0x1
+ pop {r3, pc}
+_0205BD3C:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205BD40: .word 0x020F6C48
+
+ thumb_func_start FUN_0205BD44
+FUN_0205BD44: ; 0x0205BD44
+ push {r3, lr}
+ mov r1, #0x0
+ mov r2, #0x7
+ mov r3, #0x8
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD54
+FUN_0205BD54: ; 0x0205BD54
+ push {r3, lr}
+ mov r1, #0x1
+ mov r2, #0x7
+ mov r3, #0x8
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD64
+FUN_0205BD64: ; 0x0205BD64
+ push {r3, lr}
+ mov r1, #0x2
+ mov r2, #0x7
+ mov r3, #0x8
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD74
+FUN_0205BD74: ; 0x0205BD74
+ push {r3, lr}
+ mov r1, #0x3
+ mov r2, #0x7
+ mov r3, #0x8
+ bl FUN_0205BBF4
+ mov r0, #0x1
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205BD84
+FUN_0205BD84: ; 0x0205BD84
+ push {r3, lr}
+ ldr r1, _0205BD98 ; =0x020F6C84
+ bl FUN_0205BC34
+ cmp r0, #0x1
+ bne _0205BD94
+ mov r0, #0x1
+ pop {r3, pc}
+_0205BD94:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205BD98: .word 0x020F6C84
+
+ thumb_func_start FUN_0205BD9C
+FUN_0205BD9C: ; 0x0205BD9C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_020585DC
+ add r0, r4, #0x0
+ mov r1, #0x9
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BDB8
+FUN_0205BDB8: ; 0x0205BDB8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058600
+ ldr r1, [r0, #0x0]
+ add r1, r1, #0x1
+ str r1, [r0, #0x0]
+ cmp r1, #0x8
+ blt _0205BDE0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020584AC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+_0205BDE0:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BDE4
+FUN_0205BDE4: ; 0x0205BDE4
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_020585DC
+ add r0, r4, #0x0
+ bl FUN_0205EB20
+ cmp r0, #0x0
+ beq _0205BDFE
+ bl FUN_02064520
+_0205BDFE:
+ add r1, sp, #0x0
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ add r0, r4, #0x0
+ bl FUN_02058B94
+ add r0, r4, #0x0
+ bl MOD06_0224D2E0
+ ldr r1, _0205BE34 ; =0x00010004
+ add r0, r4, #0x0
+ bl FUN_02058410
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058418
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r4, pc}
+ nop
+_0205BE34: .word 0x00010004
+
+ thumb_func_start FUN_0205BE38
+FUN_0205BE38: ; 0x0205BE38
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_02058600
+ add r4, r0, #0x0
+ ldr r0, _0205BE98 ; =0x02105F9C
+ add r1, sp, #0x0
+ ldr r2, [r0, #0x0]
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ str r0, [r1, #0x4]
+ str r0, [r1, #0x8]
+ ldr r0, [r4, #0x0]
+ lsl r0, r0, #0x2
+ ldr r0, [r2, r0]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02058B94
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x2
+ str r0, [r4, #0x0]
+ cmp r0, #0x10
+ bhs _0205BE70
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r5, pc}
+_0205BE70:
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, sp, #0x0
+ bl FUN_02058B94
+ ldr r1, _0205BE9C ; =0x00020028
+ add r0, r5, #0x0
+ bl FUN_02058410
+ add r0, r5, #0x0
+ bl FUN_0205EB2C
+ add r0, r5, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r5, pc}
+ nop
+_0205BE98: .word 0x02105F9C
+_0205BE9C: .word 0x00020028
+
+ thumb_func_start FUN_0205BEA0
+FUN_0205BEA0: ; 0x0205BEA0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_020585DC
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BEBC
+FUN_0205BEBC: ; 0x0205BEBC
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_020585DC
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BED8
+FUN_0205BED8: ; 0x0205BED8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058600
+ ldr r1, [r0, #0x0]
+ add r1, r1, #0x1
+ str r1, [r0, #0x0]
+ cmp r1, #0x15
+ bhs _0205BEEE
+ mov r0, #0x0
+ pop {r4, pc}
+_0205BEEE:
+ add r0, r4, #0x0
+ bl FUN_02058700
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205BEF8
+FUN_0205BEF8: ; 0x0205BEF8
+ ldr r3, _0205BEFC ; =FUN_0205BF24
+ bx r3
+ .balign 4
+_0205BEFC: .word FUN_0205BF24
+
+ thumb_func_start FUN_0205BF00
+FUN_0205BF00: ; 0x0205BF00
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0205BF40
+ cmp r0, #0x0
+ bne _0205BF10
+ mov r0, #0x0
+ pop {r4, pc}
+_0205BF10:
+ add r0, r4, #0x0
+ bl FUN_0205BF5C
+ cmp r0, #0x0
+ beq _0205BF1E
+ mov r0, #0x1
+ pop {r4, pc}
+_0205BF1E:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BF24
+FUN_0205BF24: ; 0x0205BF24
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058488
+ add r1, r0, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0205BF3C ; =0x020F7118
+ add r0, r4, #0x0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_0205BF3C: .word 0x020F7118
+
+ thumb_func_start FUN_0205BF40
+FUN_0205BF40: ; 0x0205BF40
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058488
+ add r1, r0, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0205BF58 ; =0x020F7148
+ add r0, r4, #0x0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_0205BF58: .word 0x020F7148
+
+ thumb_func_start FUN_0205BF5C
+FUN_0205BF5C: ; 0x0205BF5C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058488
+ add r1, r0, #0x0
+ lsl r2, r1, #0x2
+ ldr r1, _0205BF74 ; =0x020F7178
+ add r0, r4, #0x0
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r4, pc}
+ nop
+_0205BF74: .word 0x020F7178
+
+ thumb_func_start FUN_0205BF78
+FUN_0205BF78: ; 0x0205BF78
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02058B2C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B14
+ cmp r5, r0
+ beq _0205BF90
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205BF90:
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B24
+ cmp r5, r0
+ beq _0205BFA6
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205BFA6:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BFAC
+FUN_0205BFAC: ; 0x0205BFAC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02058B2C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B14
+ cmp r5, r0
+ beq _0205BFC4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205BFC4:
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B24
+ cmp r5, r0
+ bne _0205BFDA
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205BFDA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205BFE0
+FUN_0205BFE0: ; 0x0205BFE0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205BFE4
+FUN_0205BFE4: ; 0x0205BFE4
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205BFE8
+FUN_0205BFE8: ; 0x0205BFE8
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205BFEC
+FUN_0205BFEC: ; 0x0205BFEC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x9
+ bl FUN_020585B4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058510
+ strb r0, [r4, #0x3]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205C004
+FUN_0205C004: ; 0x0205C004
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020585D8
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x3
+ bhi _0205C07C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205C020: ; jump table (using 16-bit offset)
+ .short _0205C028 - _0205C020 - 2; case 0
+ .short _0205C03A - _0205C020 - 2; case 1
+ .short _0205C062 - _0205C020 - 2; case 2
+ .short _0205C078 - _0205C020 - 2; case 3
+_0205C028:
+ add r0, r5, #0x0
+ bl FUN_0205BF78
+ cmp r0, #0x1
+ bne _0205C07C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ b _0205C07C
+_0205C03A:
+ add r0, r5, #0x0
+ bl FUN_0205BFAC
+ cmp r0, #0x0
+ beq _0205C07C
+ mov r0, #0x2
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x2]
+ ldrsb r1, [r4, r0]
+ mov r0, #0x3
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bge _0205C05C
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ b _0205C07C
+_0205C05C:
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+_0205C062:
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ beq _0205C07C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x1]
+_0205C078:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205C07C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205C080
+FUN_0205C080: ; 0x0205C080
+ push {r4-r6, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ bl FUN_020585D8
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x3
+ bhi _0205C15E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205C09E: ; jump table (using 16-bit offset)
+ .short _0205C0A6 - _0205C09E - 2; case 0
+ .short _0205C0C8 - _0205C09E - 2; case 1
+ .short _0205C0FA - _0205C09E - 2; case 2
+ .short _0205C110 - _0205C09E - 2; case 3
+_0205C0A6:
+ ldr r3, _0205C164 ; =0x020F70D8
+ add r2, sp, #0x10
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ add r0, r5, #0x0
+ bl FUN_020584C4
+ strb r0, [r4, #0x4]
+ lsl r1, r0, #0x2
+ add r0, sp, #0x10
+ ldr r0, [r0, r1]
+ strb r0, [r4, #0x5]
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C0C8:
+ ldr r6, _0205C168 ; =0x020F70E8
+ add r3, sp, #0x0
+ add r2, r3, #0x0
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ mov r0, #0x5
+ ldrsb r0, [r4, r0]
+ lsl r3, r0, #0x3
+ mov r0, #0x6
+ ldrsb r0, [r4, r0]
+ lsl r1, r0, #0x2
+ add r0, r2, r3
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C0FA:
+ add r0, r5, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ bne _0205C10A
+ add sp, #0x20
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0205C10A:
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C110:
+ mov r0, #0x8
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x8]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x8
+ bge _0205C124
+ add sp, #0x20
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0205C124:
+ mov r0, #0x0
+ strb r0, [r4, #0x8]
+ mov r0, #0x7
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x7]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x4
+ bge _0205C148
+ mov r0, #0x6
+ ldrsb r0, [r4, r0]
+ add sp, #0x20
+ add r1, r0, #0x1
+ mov r0, #0x1
+ and r1, r0
+ strb r1, [r4, #0x6]
+ strb r0, [r4, #0x1]
+ pop {r4-r6, pc}
+_0205C148:
+ mov r1, #0x4
+ ldrsb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_020584AC
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+ mov r0, #0x0
+ strb r0, [r4, #0x7]
+ strb r0, [r4, #0x0]
+_0205C15E:
+ mov r0, #0x0
+ add sp, #0x20
+ pop {r4-r6, pc}
+ .balign 4
+_0205C164: .word 0x020F70D8
+_0205C168: .word 0x020F70E8
+
+ thumb_func_start FUN_0205C16C
+FUN_0205C16C: ; 0x0205C16C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x9
+ bl FUN_020585B4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02058510
+ strb r0, [r4, #0x3]
+ add r0, r5, #0x0
+ bl FUN_02058488
+ cmp r0, #0x5
+ beq _0205C190
+ mov r0, #0x1
+ b _0205C192
+_0205C190:
+ mov r0, #0x0
+_0205C192:
+ strb r0, [r4, #0x5]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C198
+FUN_0205C198: ; 0x0205C198
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020585D8
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x3
+ bhi _0205C210
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205C1B4: ; jump table (using 16-bit offset)
+ .short _0205C1BC - _0205C1B4 - 2; case 0
+ .short _0205C1CE - _0205C1B4 - 2; case 1
+ .short _0205C1F6 - _0205C1B4 - 2; case 2
+ .short _0205C20C - _0205C1B4 - 2; case 3
+_0205C1BC:
+ add r0, r5, #0x0
+ bl FUN_0205BF78
+ cmp r0, #0x1
+ bne _0205C210
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ b _0205C210
+_0205C1CE:
+ add r0, r5, #0x0
+ bl FUN_0205BFAC
+ cmp r0, #0x0
+ beq _0205C210
+ mov r0, #0x2
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x2]
+ ldrsb r1, [r4, r0]
+ mov r0, #0x3
+ ldrsb r0, [r4, r0]
+ cmp r1, r0
+ bge _0205C1F0
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ b _0205C210
+_0205C1F0:
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+_0205C1F6:
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ beq _0205C210
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x1]
+_0205C20C:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205C210:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205C214
+FUN_0205C214: ; 0x0205C214
+ push {r3-r7, lr}
+ sub sp, #0x20
+ ldr r3, _0205C330 ; =0x020F70F8
+ add r2, sp, #0x0
+ add r7, r0, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ add r0, r7, #0x0
+ bl FUN_020585D8
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x3
+ bhi _0205C32A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205C248: ; jump table (using 16-bit offset)
+ .short _0205C250 - _0205C248 - 2; case 0
+ .short _0205C296 - _0205C248 - 2; case 1
+ .short _0205C2BC - _0205C248 - 2; case 2
+ .short _0205C2D2 - _0205C248 - 2; case 3
+_0205C250:
+ add r0, r7, #0x0
+ bl FUN_020584C4
+ mov r5, #0x0
+ add r6, r0, #0x0
+ add r1, r5, #0x0
+ add r0, sp, #0x0
+ mov r2, #0x5
+ b _0205C266
+_0205C262:
+ add r1, r1, #0x4
+ add r5, r5, #0x1
+_0205C266:
+ cmp r5, #0x4
+ bge _0205C276
+ ldrsb r3, [r4, r2]
+ lsl r3, r3, #0x4
+ add r3, r0, r3
+ ldr r3, [r1, r3]
+ cmp r6, r3
+ bne _0205C262
+_0205C276:
+ cmp r5, #0x4
+ blt _0205C27E
+ bl ErrorHandling
+_0205C27E:
+ add r0, r5, #0x1
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ strb r6, [r4, #0x4]
+ add r0, r2, r1
+ strb r0, [r4, #0x6]
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C296:
+ mov r0, #0x5
+ ldrsb r0, [r4, r0]
+ add r2, sp, #0x0
+ lsl r3, r0, #0x4
+ mov r0, #0x6
+ ldrsb r0, [r4, r0]
+ lsl r1, r0, #0x2
+ add r0, r2, r3
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0205AE0C
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C2BC:
+ add r0, r7, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ bne _0205C2CC
+ add sp, #0x20
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C2CC:
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+_0205C2D2:
+ mov r0, #0x8
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x8]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x8
+ bge _0205C2E6
+ add sp, #0x20
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C2E6:
+ mov r0, #0x0
+ strb r0, [r4, #0x8]
+ mov r0, #0x7
+ ldrsb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x7]
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x4
+ bge _0205C314
+ mov r0, #0x6
+ ldrsb r0, [r4, r0]
+ add sp, #0x20
+ add r0, r0, #0x1
+ lsr r2, r0, #0x1f
+ lsl r1, r0, #0x1e
+ sub r1, r1, r2
+ mov r0, #0x1e
+ ror r1, r0
+ add r0, r2, r1
+ strb r0, [r4, #0x6]
+ mov r0, #0x1
+ strb r0, [r4, #0x1]
+ pop {r3-r7, pc}
+_0205C314:
+ mov r1, #0x4
+ ldrsb r1, [r4, r1]
+ add r0, r7, #0x0
+ bl FUN_020584AC
+ ldrb r0, [r4, #0x1]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x1]
+ mov r0, #0x0
+ strb r0, [r4, #0x7]
+ strb r0, [r4, #0x0]
+_0205C32A:
+ mov r0, #0x0
+ add sp, #0x20
+ pop {r3-r7, pc}
+ .balign 4
+_0205C330: .word 0x020F70F8
+
+ thumb_func_start FUN_0205C334
+FUN_0205C334: ; 0x0205C334
+ cmp r0, #0x64
+ bne _0205C33C
+ mov r0, #0x1
+ bx lr
+_0205C33C:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205C340
+FUN_0205C340: ; 0x0205C340
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020585B0
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0205C352
+ ldr r0, _0205C370 ; =0x0000FFFF
+ pop {r4, pc}
+_0205C352:
+ add r0, r4, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _0205C36C
+ add r0, r4, #0x0
+ bl FUN_02058628
+ ldr r1, [r0, #0x4]
+ cmp r1, #0x0
+ beq _0205C36C
+ ldr r0, [r0, #0x0]
+ pop {r4, pc}
+_0205C36C:
+ ldr r0, _0205C370 ; =0x0000FFFF
+ pop {r4, pc}
+ .balign 4
+_0205C370: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205C374
+FUN_0205C374: ; 0x0205C374
+ push {r3, lr}
+ bl FUN_020585B0
+ mov r1, #0x1
+ strh r1, [r0, #0x2]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205C380
+FUN_0205C380: ; 0x0205C380
+ push {r3, lr}
+ mov r1, #0x4
+ bl FUN_0205858C
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C390
+FUN_0205C390: ; 0x0205C390
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r1, r5, #0x0
+ bl FUN_0204B5FC
+ strh r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C3AC
+FUN_0205C3AC: ; 0x0205C3AC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205C3B0
+FUN_0205C3B0: ; 0x0205C3B0
+ push {r4, lr}
+ mov r1, #0x18
+ add r4, r0, #0x0
+ bl FUN_02058604
+ ldr r1, _0205C3CC ; =0x0000FFFF
+ str r1, [r0, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x4]
+ add r0, r4, #0x0
+ bl MOD06_0224A310
+ pop {r4, pc}
+ nop
+_0205C3CC: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205C3D0
+FUN_0205C3D0: ; 0x0205C3D0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058628
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r1, r5, #0x0
+ bl FUN_0204B5FC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD05_021F2E28
+ cmp r0, #0x1
+ beq _0205C488
+ ldr r0, [r4, #0x4]
+ cmp r6, r0
+ beq _0205C454
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x8
+ bl MOD05_021F2094
+ add r0, r5, #0x0
+ bl FUN_02058738
+ add r1, r5, #0x0
+ bl FUN_0204B61C
+ add r1, r6, #0x0
+ bl FUN_0205C53C
+ ldr r1, _0205C48C ; =0x0000FFFF
+ str r0, [r4, #0x0]
+ cmp r0, r1
+ ldr r0, [r4, #0x4]
+ beq _0205C440
+ cmp r0, #0x0
+ beq _0205C432
+ add r0, r5, #0x0
+ bl MOD06_0224A528
+_0205C432:
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x8
+ bl MOD05_021F1F78
+ b _0205C450
+_0205C440:
+ cmp r0, #0x0
+ beq _0205C450
+ ldrh r0, [r7, #0x2]
+ cmp r0, #0x0
+ bne _0205C450
+ add r0, r5, #0x0
+ bl MOD06_0224A528
+_0205C450:
+ mov r0, #0x0
+ strh r0, [r7, #0x2]
+_0205C454:
+ add r0, r5, #0x0
+ str r6, [r4, #0x4]
+ bl MOD05_021F2E28
+ cmp r0, #0x1
+ beq _0205C488
+ ldr r1, [r4, #0x8]
+ cmp r1, #0x0
+ beq _0205C488
+ add r0, r5, #0x0
+ bl MOD05_021F2F48
+ add r0, r5, #0x0
+ bl MOD05_021F1DFC
+ cmp r0, #0x0
+ bne _0205C480
+ mov r1, #0x1
+ ldr r0, [r4, #0x8]
+ lsl r1, r1, #0xc
+ bl FUN_0201F854
+_0205C480:
+ ldr r1, [r4, #0x8]
+ add r0, r5, #0x0
+ bl MOD05_021F2F6C
+_0205C488:
+ pop {r3-r7, pc}
+ nop
+_0205C48C: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205C490
+FUN_0205C490: ; 0x0205C490
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02058628
+ add r2, r0, #0x0
+ add r1, r2, #0x0
+ ldr r2, [r2, #0x0]
+ add r0, r4, #0x0
+ add r1, #0x8
+ bl MOD05_021F2094
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205C4A8
+FUN_0205C4A8: ; 0x0205C4A8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058628
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _0205C4C0
+ add r1, r4, #0x0
+ add r1, #0xc
+ bl MOD05_021F20D8
+_0205C4C0:
+ add r1, r4, #0x0
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x8
+ bl MOD05_021F2094
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058410
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205C4D8
+FUN_0205C4D8: ; 0x0205C4D8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02058628
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD05_021F2E28
+ cmp r0, #0x1
+ beq _0205C536
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ bne _0205C516
+ ldr r2, [r4, #0x0]
+ ldr r0, _0205C538 ; =0x0000FFFF
+ cmp r2, r0
+ beq _0205C506
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x8
+ bl MOD05_021F1F78
+ b _0205C510
+_0205C506:
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058418
+_0205C510:
+ add r0, r5, #0x0
+ bl MOD06_0224A310
+_0205C516:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _0205C536
+ add r1, r4, #0x0
+ add r1, #0xc
+ bl MOD05_021F20F8
+ ldr r1, [r4, #0x8]
+ add r0, r5, #0x0
+ bl MOD05_021F2F48
+ mov r1, #0x2
+ add r0, r5, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058418
+_0205C536:
+ pop {r3-r5, pc}
+ .balign 4
+_0205C538: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205C53C
+FUN_0205C53C: ; 0x0205C53C
+ push {r3, lr}
+ cmp r1, #0x0
+ beq _0205C548
+ cmp r1, #0x1
+ beq _0205C54C
+ b _0205C550
+_0205C548:
+ ldr r0, _0205C590 ; =0x0000FFFF
+ pop {r3, pc}
+_0205C54C:
+ ldr r0, _0205C590 ; =0x0000FFFF
+ pop {r3, pc}
+_0205C550:
+ sub r2, r0, #0x1
+ mov r0, #0xc
+ ldr r3, _0205C594 ; =0x021F9194
+ mul r0, r2
+ add r2, r3, r0
+ cmp r1, #0x5
+ bhi _0205C588
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205C56A: ; jump table (using 16-bit offset)
+ .short _0205C588 - _0205C56A - 2; case 0
+ .short _0205C588 - _0205C56A - 2; case 1
+ .short _0205C576 - _0205C56A - 2; case 2
+ .short _0205C57C - _0205C56A - 2; case 3
+ .short _0205C580 - _0205C56A - 2; case 4
+ .short _0205C584 - _0205C56A - 2; case 5
+_0205C576:
+ mov r0, #0x1
+ lsl r0, r0, #0xc
+ pop {r3, pc}
+_0205C57C:
+ ldr r0, [r2, #0x0]
+ pop {r3, pc}
+_0205C580:
+ ldr r0, [r2, #0x4]
+ pop {r3, pc}
+_0205C584:
+ ldr r0, [r2, #0x8]
+ pop {r3, pc}
+_0205C588:
+ bl ErrorHandling
+ ldr r0, _0205C590 ; =0x0000FFFF
+ pop {r3, pc}
+ .balign 4
+_0205C590: .word 0x0000FFFF
+_0205C594: .word 0x021F9194
+
+ thumb_func_start FUN_0205C598
+FUN_0205C598: ; 0x0205C598
+ push {r3-r7, lr}
+ sub sp, #0x58
+ add r5, r0, #0x0
+ ldr r7, [r5, #0x38]
+ add r4, r1, #0x0
+ ldr r6, [r5, #0x34]
+ add r1, sp, #0x40
+ str r1, [sp, #0x0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ mov r3, #0x0
+ bl FUN_0205C6BC
+ cmp r0, #0x0
+ bne _0205C5BC
+ add sp, #0x58
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205C5BC:
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x0
+ bne _0205C642
+ ldr r1, _0205C6B8 ; =0x00000F0A
+ ldr r2, [sp, #0x54]
+ add r0, r5, #0x0
+ bl FUN_02038C78
+ cmp r4, #0x0
+ beq _0205C5E4
+ add r0, sp, #0x28
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x54]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0205C6BC
+ cmp r0, #0x0
+ bne _0205C604
+_0205C5E4:
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x54]
+ ldr r2, [sp, #0x40]
+ ldr r3, [sp, #0x44]
+ add r0, r5, #0x0
+ bl FUN_02038CA8
+ add sp, #0x58
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C604:
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x54]
+ ldr r2, [sp, #0x40]
+ ldr r3, [sp, #0x44]
+ add r0, r5, #0x0
+ bl FUN_02038CA8
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x34]
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x1
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x3c]
+ ldr r2, [sp, #0x28]
+ ldr r3, [sp, #0x2c]
+ add r0, r5, #0x0
+ bl FUN_02038CA8
+ add sp, #0x58
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C642:
+ cmp r0, #0x1
+ bne _0205C6AE
+ cmp r4, #0x0
+ bne _0205C650
+ add sp, #0x58
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205C650:
+ ldr r2, [sp, #0x54]
+ ldr r3, [sp, #0x4c]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0205C9F0
+ add r1, r0, #0x0
+ ldr r2, [sp, #0x40]
+ ldr r3, [sp, #0x44]
+ add r0, sp, #0x10
+ bl FUN_0205C73C
+ ldr r1, _0205C6B8 ; =0x00000F0A
+ ldr r2, [sp, #0x54]
+ add r0, r5, #0x0
+ bl FUN_02038C78
+ ldr r0, [sp, #0x48]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x54]
+ ldr r2, [sp, #0x40]
+ ldr r3, [sp, #0x44]
+ add r0, r5, #0x0
+ bl FUN_02038CA8
+ ldr r0, [sp, #0x18]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x1c]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x10]
+ ldr r3, [sp, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02038CA8
+ add sp, #0x58
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C6AE:
+ bl ErrorHandling
+ mov r0, #0x0
+ add sp, #0x58
+ pop {r3-r7, pc}
+ .balign 4
+_0205C6B8: .word 0x00000F0A
+
+ thumb_func_start FUN_0205C6BC
+FUN_0205C6BC: ; 0x0205C6BC
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r6, r0, #0x0
+ mov r0, #0x0
+ add r5, r1, #0x0
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, sp, #0x4
+ add r2, sp, #0xc
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ beq _0205C734
+_0205C6DE:
+ cmp r4, #0x0
+ beq _0205C6E8
+ ldr r0, [sp, #0x4]
+ cmp r4, r0
+ beq _0205C724
+_0205C6E8:
+ ldr r0, [sp, #0x4]
+ add r1, r7, #0x0
+ add r2, sp, #0x8
+ bl FUN_0205C794
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x0]
+ cmp r0, r1
+ beq _0205C724
+ ldr r0, [sp, #0x4]
+ bl FUN_0205C9D8
+ add r1, r0, #0x0
+ lsl r1, r1, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_02039640
+ cmp r0, #0x0
+ bne _0205C724
+ ldr r0, [sp, #0x28]
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x0]
+ ldr r3, [sp, #0x8]
+ bl FUN_0205C73C
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C724:
+ add r0, r5, #0x0
+ add r1, sp, #0x4
+ add r2, sp, #0xc
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ bne _0205C6DE
+_0205C734:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C73C
+FUN_0205C73C: ; 0x0205C73C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [r5, #0x0]
+ str r3, [r5, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02058498
+ str r0, [r5, #0x8]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_020395F4
+ str r0, [r5, #0xc]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_0203962C
+ str r0, [r5, #0x10]
+ str r4, [r5, #0x14]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C768
+FUN_0205C768: ; 0x0205C768
+ push {r3, lr}
+ bl FUN_02058488
+ cmp r0, #0x8
+ bhi _0205C792
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205C77E: ; jump table (using 16-bit offset)
+ .short _0205C792 - _0205C77E - 2; case 0
+ .short _0205C792 - _0205C77E - 2; case 1
+ .short _0205C792 - _0205C77E - 2; case 2
+ .short _0205C792 - _0205C77E - 2; case 3
+ .short _0205C790 - _0205C77E - 2; case 4
+ .short _0205C790 - _0205C77E - 2; case 5
+ .short _0205C790 - _0205C77E - 2; case 6
+ .short _0205C790 - _0205C77E - 2; case 7
+ .short _0205C790 - _0205C77E - 2; case 8
+_0205C790:
+ mov r0, #0x1
+_0205C792:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205C794
+FUN_0205C794: ; 0x0205C794
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [sp, #0x8]
+ bl FUN_0205C768
+ cmp r0, #0x1
+ bne _0205C802
+ add r0, r4, #0x0
+ bl FUN_02055320
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205532C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020584C4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ add r2, r0, #0x0
+ str r6, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_0205C86C
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r6, r0
+ beq _0205C7FA
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0205C938
+ cmp r0, #0x0
+ bne _0205C7FA
+ ldr r0, [sp, #0x8]
+ add sp, #0x14
+ str r4, [r0, #0x0]
+ add r0, r6, #0x0
+ pop {r4-r7, pc}
+_0205C7FA:
+ mov r0, #0x0
+ add sp, #0x14
+ mvn r0, r0
+ pop {r4-r7, pc}
+_0205C802:
+ cmp r0, #0x2
+ bne _0205C864
+ add r0, r4, #0x0
+ bl FUN_02055320
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ bl FUN_0205532C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058510
+ str r0, [sp, #0xc]
+ mov r4, #0x0
+_0205C822:
+ str r7, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r2, [sp, #0xc]
+ ldr r3, [sp, #0x10]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205C86C
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r6, r0
+ beq _0205C856
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0205C938
+ cmp r0, #0x0
+ bne _0205C856
+ ldr r0, [sp, #0x8]
+ add sp, #0x14
+ str r4, [r0, #0x0]
+ add r0, r6, #0x0
+ pop {r4-r7, pc}
+_0205C856:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _0205C822
+ mov r0, #0x0
+ add sp, #0x14
+ mvn r0, r0
+ pop {r4-r7, pc}
+_0205C864:
+ mov r0, #0x0
+ mvn r0, r0
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0205C86C
+FUN_0205C86C: ; 0x0205C86C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, [sp, #0x14]
+ lsl r5, r4, #0x2
+ ldr r4, _0205C884 ; =0x020F71A8
+ str r1, [sp, #0x0]
+ add r1, r2, #0x0
+ add r2, r3, #0x0
+ ldr r3, [sp, #0x10]
+ ldr r4, [r4, r5]
+ blx r4
+ pop {r3-r5, pc}
+ .balign 4
+_0205C884: .word 0x020F71A8
+
+ thumb_func_start FUN_0205C888
+FUN_0205C888: ; 0x0205C888
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02058B2C
+ cmp r0, r6
+ bne _0205C8AE
+ add r0, r7, #0x0
+ bl FUN_02058B4C
+ cmp r4, r0
+ bge _0205C8AE
+ sub r1, r0, r5
+ cmp r4, r1
+ blt _0205C8AE
+ sub r0, r0, r4
+ pop {r3-r7, pc}
+_0205C8AE:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205C8B4
+FUN_0205C8B4: ; 0x0205C8B4
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02058B2C
+ cmp r0, r6
+ bne _0205C8DA
+ add r0, r7, #0x0
+ bl FUN_02058B4C
+ cmp r4, r0
+ ble _0205C8DA
+ add r1, r0, r5
+ cmp r4, r1
+ bgt _0205C8DA
+ sub r0, r4, r0
+ pop {r3-r7, pc}
+_0205C8DA:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205C8E0
+FUN_0205C8E0: ; 0x0205C8E0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02058B4C
+ cmp r0, r6
+ bne _0205C906
+ add r0, r7, #0x0
+ bl FUN_02058B2C
+ cmp r4, r0
+ bge _0205C906
+ sub r1, r0, r5
+ cmp r4, r1
+ blt _0205C906
+ sub r0, r0, r4
+ pop {r3-r7, pc}
+_0205C906:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205C90C
+FUN_0205C90C: ; 0x0205C90C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02058B4C
+ cmp r0, r6
+ bne _0205C932
+ add r0, r7, #0x0
+ bl FUN_02058B2C
+ cmp r4, r0
+ ble _0205C932
+ add r1, r0, r5
+ cmp r4, r1
+ bgt _0205C932
+ sub r0, r4, r0
+ pop {r3-r7, pc}
+_0205C932:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205C938
+FUN_0205C938: ; 0x0205C938
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r1, #0x0
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ cmp r2, #0x0
+ bne _0205C94C
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C94C:
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02058B4C
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x4]
+ bl FUN_02058B3C
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02059BF4
+ add r6, r4, r0
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r4, r7, r0
+ ldr r0, [sp, #0x8]
+ mov r7, #0x0
+ sub r0, r0, #0x1
+ str r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _0205C9B4
+ mov r0, #0x1
+ str r0, [sp, #0x14]
+_0205C982:
+ ldr r0, [sp, #0x4]
+ ldr r2, [sp, #0xc]
+ add r1, r6, #0x0
+ add r3, r4, #0x0
+ str r5, [sp, #0x0]
+ bl FUN_020598F0
+ ldr r1, [sp, #0x14]
+ bic r0, r1
+ beq _0205C99C
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205C99C:
+ add r0, r5, #0x0
+ bl FUN_02059BF4
+ add r6, r6, r0
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r4, r4, r0
+ ldr r0, [sp, #0x10]
+ add r7, r7, #0x1
+ cmp r7, r0
+ blt _0205C982
+_0205C9B4:
+ ldr r0, [sp, #0x4]
+ ldr r2, [sp, #0xc]
+ add r1, r6, #0x0
+ add r3, r4, #0x0
+ str r5, [sp, #0x0]
+ bl FUN_020598F0
+ mov r1, #0x1
+ bic r0, r1
+ cmp r0, #0x4
+ bne _0205C9D0
+ add sp, #0x18
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205C9D0:
+ mov r0, #0x1
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205C9D8
+FUN_0205C9D8: ; 0x0205C9D8
+ push {r3, lr}
+ bl FUN_02058498
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_020395F4
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205C9E8
+FUN_0205C9E8: ; 0x0205C9E8
+ ldr r3, _0205C9EC ; =FUN_0205C9D8
+ bx r3
+ .balign 4
+_0205C9EC: .word FUN_0205C9D8
+
+ thumb_func_start FUN_0205C9F0
+FUN_0205C9F0: ; 0x0205C9F0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ mov r0, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, sp, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ beq _0205CA40
+ add r7, sp, #0x0
+_0205CA10:
+ ldr r0, [sp, #0x0]
+ cmp r0, r4
+ beq _0205CA30
+ bl FUN_0205C768
+ sub r0, r0, #0x1
+ cmp r0, #0x1
+ bhi _0205CA30
+ ldr r0, [sp, #0x0]
+ bl FUN_0205C9D8
+ cmp r6, r0
+ bne _0205CA30
+ ldr r0, [sp, #0x0]
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0205CA30:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x4
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x0
+ bne _0205CA10
+_0205CA40:
+ bl ErrorHandling
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CA4C
+FUN_0205CA4C: ; 0x0205CA4C
+ push {r3-r4, lr}
+ sub sp, #0xc
+ ldr r4, [sp, #0x18]
+ str r4, [sp, #0x0]
+ ldr r4, [sp, #0x1c]
+ str r4, [sp, #0x4]
+ ldr r4, [sp, #0x20]
+ str r4, [sp, #0x8]
+ bl FUN_0205CA80
+ add sp, #0xc
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0205CA64
+FUN_0205CA64: ; 0x0205CA64
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _0205CA6E
+ bl ErrorHandling
+_0205CA6E:
+ add r0, r4, #0x0
+ bl FUN_0205CAD4
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CA78
+FUN_0205CA78: ; 0x0205CA78
+ ldr r3, _0205CA7C ; =FUN_0205CAE0
+ bx r3
+ .balign 4
+_0205CA7C: .word FUN_0205CAE0
+
+ thumb_func_start FUN_0205CA80
+FUN_0205CA80: ; 0x0205CA80
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x4
+ mov r1, #0x2c
+ add r7, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ bne _0205CA9A
+ bl ErrorHandling
+_0205CA9A:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x2c
+ bl memset
+ ldr r0, [sp, #0x0]
+ str r7, [r4, #0x8]
+ str r0, [r4, #0xc]
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0x0
+ str r0, [r4, #0x10]
+ ldr r0, [sp, #0x1c]
+ mov r2, #0xff
+ str r0, [r4, #0x14]
+ ldr r0, [sp, #0x20]
+ str r0, [r4, #0x18]
+ str r5, [r4, #0x24]
+ ldr r0, _0205CAD0 ; =FUN_0205CAF8
+ str r6, [r4, #0x28]
+ bl FUN_0200CA44
+ add r4, r0, #0x0
+ bne _0205CACC
+ bl ErrorHandling
+_0205CACC:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0205CAD0: .word FUN_0205CAF8
+
+ thumb_func_start FUN_0205CAD4
+FUN_0205CAD4: ; 0x0205CAD4
+ push {r3, lr}
+ bl FUN_0201B6C8
+ ldr r0, [r0, #0x4]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CAE0
+FUN_0205CAE0: ; 0x0205CAE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0201B6C8
+ add r1, r0, #0x0
+ mov r0, #0x4
+ bl FUN_02016A8C
+ add r0, r4, #0x0
+ bl FUN_0200CAB4
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CAF8
+FUN_0205CAF8: ; 0x0205CAF8
+ push {r3-r5, lr}
+ ldr r4, _0205CB10 ; =0x020F71B8
+ add r5, r1, #0x0
+_0205CAFE:
+ ldr r1, [r5, #0x0]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ blx r1
+ cmp r0, #0x1
+ beq _0205CAFE
+ pop {r3-r5, pc}
+ nop
+_0205CB10: .word 0x020F71B8
+
+ thumb_func_start FUN_0205CB14
+FUN_0205CB14: ; 0x0205CB14
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r4, [r5, #0x24]
+ add r0, r4, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ bne _0205CB2A
+ add r0, r4, #0x0
+ bl FUN_02058914
+_0205CB2A:
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205CB30
+FUN_0205CB30: ; 0x0205CB30
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r5, [r4, #0x24]
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ bne _0205CB44
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205CB44:
+ ldr r0, [r4, #0x24]
+ ldr r1, [r4, #0x8]
+ bl MOD05_021F1EC0
+ add r0, r5, #0x0
+ mov r1, #0x40
+ bl FUN_02058410
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205CB5C
+FUN_0205CB5C: ; 0x0205CB5C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x28]
+ bl FUN_020553A0
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ bne _0205CB72
+ mov r0, #0x0
+ pop {r4, pc}
+_0205CB72:
+ ldr r0, [r4, #0x24]
+ bl FUN_02058480
+ sub r0, #0x33
+ cmp r0, #0x3
+ bhi _0205CB9A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205CB8A: ; jump table (using 16-bit offset)
+ .short _0205CB92 - _0205CB8A - 2; case 0
+ .short _0205CB92 - _0205CB8A - 2; case 1
+ .short _0205CB92 - _0205CB8A - 2; case 2
+ .short _0205CB92 - _0205CB8A - 2; case 3
+_0205CB92:
+ mov r0, #0x7
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+_0205CB9A:
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CBA4
+FUN_0205CBA4: ; 0x0205CBA4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AD98
+ cmp r0, #0x0
+ bne _0205CBB6
+ mov r0, #0x0
+ pop {r4, pc}
+_0205CBB6:
+ mov r0, #0x0
+ ldr r1, [r4, #0x8]
+ mvn r0, r0
+ cmp r1, r0
+ bne _0205CBC4
+ bl ErrorHandling
+_0205CBC4:
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205ADDC
+ mov r0, #0x4
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CBDC
+FUN_0205CBDC: ; 0x0205CBDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ bne _0205CBEE
+ mov r0, #0x0
+ pop {r4, pc}
+_0205CBEE:
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CBF8
+FUN_0205CBF8: ; 0x0205CBF8
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x0
+ ldr r0, [r4, #0x24]
+ add r2, r1, #0x0
+ bl MOD05_021E7AC0
+ str r0, [r4, #0x20]
+ mov r0, #0x6
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CC10
+FUN_0205CC10: ; 0x0205CC10
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x20]
+ bl MOD05_021E799C
+ cmp r0, #0x1
+ bne _0205CC28
+ ldr r0, [r4, #0x20]
+ bl FUN_02064520
+ mov r0, #0x9
+ str r0, [r4, #0x0]
+_0205CC28:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CC2C
+FUN_0205CC2C: ; 0x0205CC2C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ mov r1, #0x65
+ bl FUN_0205ADDC
+ mov r0, #0x8
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CC40
+FUN_0205CC40: ; 0x0205CC40
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AE28
+ cmp r0, #0x1
+ bne _0205CC52
+ mov r0, #0x9
+ str r0, [r4, #0x0]
+_0205CC52:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CC58
+FUN_0205CC58: ; 0x0205CC58
+ ldr r1, [r0, #0x1c]
+ add r1, r1, #0x1
+ str r1, [r0, #0x1c]
+ cmp r1, #0x1e
+ blt _0205CC6A
+ mov r1, #0x0
+ str r1, [r0, #0x1c]
+ mov r1, #0xa
+ str r1, [r0, #0x0]
+_0205CC6A:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205CC70
+FUN_0205CC70: ; 0x0205CC70
+ ldr r1, [r0, #0xc]
+ cmp r1, #0x1
+ bgt _0205CC7E
+ mov r1, #0xd
+ str r1, [r0, #0x0]
+ mov r0, #0x1
+ bx lr
+_0205CC7E:
+ mov r1, #0xb
+ str r1, [r0, #0x0]
+ mov r0, #0x1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205CC88
+FUN_0205CC88: ; 0x0205CC88
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205CCAA
+ ldr r0, [r4, #0x8]
+ mov r1, #0xc
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205ADDC
+ mov r0, #0xc
+ str r0, [r4, #0x0]
+_0205CCAA:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CCB0
+FUN_0205CCB0: ; 0x0205CCB0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ bne _0205CCC2
+ mov r0, #0x0
+ pop {r4, pc}
+_0205CCC2:
+ ldr r0, [r4, #0xc]
+ sub r0, r0, #0x1
+ str r0, [r4, #0xc]
+ mov r0, #0xa
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205CCD0
+FUN_0205CCD0: ; 0x0205CCD0
+ ldr r1, [r0, #0x1c]
+ add r1, r1, #0x1
+ str r1, [r0, #0x1c]
+ cmp r1, #0x8
+ bge _0205CCDE
+ mov r0, #0x0
+ bx lr
+_0205CCDE:
+ mov r1, #0x0
+ str r1, [r0, #0x1c]
+ mov r1, #0xe
+ str r1, [r0, #0x0]
+ mov r0, #0x1
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205CCEC
+FUN_0205CCEC: ; 0x0205CCEC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x28]
+ bl FUN_020553A0
+ add r4, r0, #0x0
+ bl FUN_02058B2C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x24]
+ bl FUN_02058B2C
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x24]
+ bl FUN_02058B4C
+ add r3, r0, #0x0
+ ldr r2, [sp, #0x0]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_02059E80
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x28]
+ bl FUN_020552F8
+ cmp r6, r0
+ beq _0205CD60
+ ldr r0, [r5, #0x18]
+ cmp r0, #0x0
+ beq _0205CD38
+ ldr r0, [r5, #0x14]
+ cmp r0, #0x2
+ bne _0205CD60
+_0205CD38:
+ add r0, r4, #0x0
+ bl FUN_0205AD98
+ cmp r0, #0x1
+ bne _0205CD64
+ add r0, r4, #0x0
+ mov r1, #0x80
+ bl FUN_02058418
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205ADDC
+ mov r0, #0xf
+ str r0, [r5, #0x0]
+ b _0205CD64
+_0205CD60:
+ mov r0, #0x10
+ str r0, [r5, #0x0]
+_0205CD64:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205CD68
+FUN_0205CD68: ; 0x0205CD68
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x28]
+ bl FUN_020553A0
+ add r5, r0, #0x0
+ bl FUN_0205AE28
+ cmp r0, #0x0
+ bne _0205CD80
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205CD80:
+ add r0, r5, #0x0
+ bl FUN_0205AE50
+ mov r0, #0x10
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CD90
+FUN_0205CD90: ; 0x0205CD90
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x24]
+ bl FUN_0205AE50
+ ldr r0, [r4, #0x24]
+ mov r1, #0x0
+ bl FUN_02058E90
+ mov r0, #0x11
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CDAC
+FUN_0205CDAC: ; 0x0205CDAC
+ mov r1, #0x1
+ str r1, [r0, #0x4]
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205CDB4
+FUN_0205CDB4: ; 0x0205CDB4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ bl FUN_020254B4
+ add r1, r0, #0x0
+ beq _0205CDD2
+ lsl r2, r1, #0x2
+ ldr r1, _0205CDD4 ; =0x020F7220
+ add r0, r4, #0x0
+ ldr r1, [r1, r2]
+ blx r1
+_0205CDD2:
+ pop {r4, pc}
+ .balign 4
+_0205CDD4: .word 0x020F7220
+
+ thumb_func_start FUN_0205CDD8
+FUN_0205CDD8: ; 0x0205CDD8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ bl FUN_020254B4
+ cmp r0, #0x0
+ beq _0205CDFA
+ lsl r1, r0, #0x2
+ ldr r0, _0205CDFC ; =0x020F7200
+ ldr r1, [r0, r1]
+ cmp r1, #0x0
+ beq _0205CDFA
+ add r0, r4, #0x0
+ blx r1
+_0205CDFA:
+ pop {r4, pc}
+ .balign 4
+_0205CDFC: .word 0x020F7200
+
+ thumb_func_start FUN_0205CE00
+FUN_0205CE00: ; 0x0205CE00
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x4]
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ bl FUN_020254B4
+ cmp r0, #0x0
+ bne _0205CE22
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205CE22:
+ lsl r1, r0, #0x2
+ ldr r0, _0205CE44 ; =0x020F7240
+ ldr r6, [r0, r1]
+ cmp r6, #0x0
+ beq _0205CE3E
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #0x4]
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ blx r6
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0205CE3E:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0205CE44: .word 0x020F7240
+
+ thumb_func_start FUN_0205CE48
+FUN_0205CE48: ; 0x0205CE48
+ cmp r0, #0x0
+ bne _0205CE58
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, _0205CE74 ; =0x020F7260
+ ldr r0, [r0, r2]
+ bx lr
+_0205CE58:
+ cmp r0, #0x1
+ bne _0205CE68
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, _0205CE78 ; =0x020F7264
+ ldr r0, [r0, r2]
+ bx lr
+_0205CE68:
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, _0205CE7C ; =0x020F7268
+ ldr r0, [r0, r2]
+ bx lr
+ .balign 4
+_0205CE74: .word 0x020F7260
+_0205CE78: .word 0x020F7264
+_0205CE7C: .word 0x020F7268
+
+ thumb_func_start FUN_0205CE80
+FUN_0205CE80: ; 0x0205CE80
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ str r4, [r5, #0x18]
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ str r0, [r5, #0x0]
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ str r0, [r5, #0x4]
+ ldr r0, [r4, #0x38]
+ bl FUN_020553C4
+ str r0, [r5, #0x8]
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6E0
+ strh r0, [r5, #0xe]
+ ldr r0, [r4, #0x38]
+ bl FUN_020552F8
+ cmp r0, #0x3
+ bhi _0205CEEA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205CED4: ; jump table (using 16-bit offset)
+ .short _0205CEDC - _0205CED4 - 2; case 0
+ .short _0205CEE0 - _0205CED4 - 2; case 1
+ .short _0205CEE8 - _0205CED4 - 2; case 2
+ .short _0205CEE4 - _0205CED4 - 2; case 3
+_0205CEDC:
+ sub r7, r7, #0x1
+ b _0205CEEA
+_0205CEE0:
+ add r7, r7, #0x1
+ b _0205CEEA
+_0205CEE4:
+ add r6, r6, #0x1
+ b _0205CEEA
+_0205CEE8:
+ sub r6, r6, #0x1
+_0205CEEA:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0204A6E0
+ strh r0, [r5, #0xc]
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ bl FUN_02037024
+ ldr r1, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0204B6C4
+ strh r0, [r5, #0x10]
+ ldr r0, [r4, #0x38]
+ str r0, [r5, #0x14]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CF10
+FUN_0205CF10: ; 0x0205CF10
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0x20
+ mov r1, #0xc
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02016998
+ str r5, [r0, #0x0]
+ strh r4, [r0, #0x4]
+ strh r6, [r0, #0x6]
+ strh r7, [r0, #0x8]
+ add r1, sp, #0x8
+ ldrh r1, [r1, #0x10]
+ strh r1, [r0, #0xa]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205CF34
+FUN_0205CF34: ; 0x0205CF34
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r2, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ mov r2, #0x0
+ ldr r1, _0205CF74 ; =FUN_0205CFA0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ str r2, [sp, #0x0]
+ ldrh r1, [r5, #0x4]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_0205CF10
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r7, pc}
+ nop
+_0205CF74: .word FUN_0205CFA0
+
+ thumb_func_start FUN_0205CF78
+FUN_0205CF78: ; 0x0205CF78
+ push {r3-r4, lr}
+ sub sp, #0x4
+ mov r2, #0x0
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ add r0, r1, #0x0
+ ldrh r1, [r4, #0x28]
+ add r3, r2, #0x0
+ bl FUN_0205CF10
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _0205CF9C ; =FUN_0205CFA0
+ bl FUN_020463CC
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_0205CF9C: .word FUN_0205CFA0
+
+ thumb_func_start FUN_0205CFA0
+FUN_0205CFA0: ; 0x0205CFA0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02046530
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x0]
+ cmp r0, #0x0
+ beq _0205CFC6
+ cmp r0, #0x1
+ beq _0205D016
+ b _0205D020
+_0205CFC6:
+ add r0, r5, #0x0
+ add r1, sp, #0x0
+ bl FUN_02037024
+ ldr r1, [r4, #0x0]
+ ldr r2, [sp, #0x0]
+ lsl r1, r1, #0x10
+ add r0, r7, #0x0
+ lsr r1, r1, #0x10
+ mov r3, #0x0
+ bl FUN_02038CD8
+ add r0, r5, #0x0
+ mov r1, #0x29
+ bl FUN_02039438
+ ldrh r1, [r4, #0x4]
+ strh r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2a
+ bl FUN_02039438
+ ldrh r1, [r4, #0x6]
+ strh r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2b
+ bl FUN_02039438
+ ldrh r1, [r4, #0x8]
+ strh r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2c
+ bl FUN_02039438
+ ldrh r1, [r4, #0xa]
+ strh r1, [r0, #0x0]
+ ldr r0, [r6, #0x0]
+ add r0, r0, #0x1
+ str r0, [r6, #0x0]
+ b _0205D020
+_0205D016:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205D020:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205D024
+FUN_0205D024: ; 0x0205D024
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_0204652C
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl memset
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0xc]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0xc]
+ bl FUN_02022504
+ str r0, [r4, #0x10]
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ add r0, r7, r0
+ str r0, [r4, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x5
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ str r5, [r4, #0x1c]
+ ldrh r0, [r6, #0x4]
+ add r2, r4, #0x0
+ strh r0, [r4, #0x24]
+ add r0, r4, #0x0
+ ldrb r1, [r6, #0x6]
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ ldr r1, _0205D0B4 ; =0x020F96DC
+ add r0, r5, #0x0
+ bl FUN_020373D4
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r4, [r7, r0]
+ ldr r1, _0205D0B8 ; =FUN_02035E50
+ add r0, r7, #0x0
+ bl FUN_02035D04
+ pop {r3-r7, pc}
+ nop
+_0205D0B4: .word 0x020F96DC
+_0205D0B8: .word FUN_02035E50
+
+ thumb_func_start FUN_0205D0BC
+FUN_0205D0BC: ; 0x0205D0BC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02037EB8
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _0205D0E8 ; =FUN_02036A78
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r3-r5, pc}
+ nop
+_0205D0E8: .word FUN_02036A78
+
+ thumb_func_start FUN_0205D0EC
+FUN_0205D0EC: ; 0x0205D0EC
+ push {r3, lr}
+ ldr r1, _0205D0F8 ; =FUN_0205D0FC
+ bl FUN_0205DD04
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_0205D0F8: .word FUN_0205D0FC
+
+ thumb_func_start FUN_0205D0FC
+FUN_0205D0FC: ; 0x0205D0FC
+ ldr r3, _0205D100 ; =FUN_02037EB8
+ bx r3
+ .balign 4
+_0205D100: .word FUN_02037EB8
+
+ thumb_func_start FUN_0205D104
+FUN_0205D104: ; 0x0205D104
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D140 ; =FUN_02049844
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, r5, #0x0
+ bl FUN_0204976C
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ mov r0, #0x0
+ add r5, #0x8c
+ str r0, [r5, #0x0]
+ pop {r3-r5, pc}
+ nop
+_0205D140: .word FUN_02049844
+
+ thumb_func_start FUN_0205D144
+FUN_0205D144: ; 0x0205D144
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204976C
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0x34]
+ bl FUN_02058780
+ ldr r0, [r5, #0x0]
+ ldr r1, _0205D16C ; =FUN_02049844
+ add r2, r4, #0x0
+ bl FUN_020463CC
+ ldr r1, [r5, #0x0]
+ mov r0, #0x0
+ add r1, #0x8c
+ str r0, [r1, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_0205D16C: .word FUN_02049844
+
+ thumb_func_start FUN_0205D170
+FUN_0205D170: ; 0x0205D170
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02034824
+ cmp r0, #0x0
+ bne _0205D184
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D184:
+ ldr r0, [r5, #0x0]
+ bl FUN_02034908
+ cmp r0, #0x0
+ bne _0205D194
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D194:
+ ldr r0, [r5, #0x14]
+ bl FUN_02055738
+ cmp r0, #0x1
+ bne _0205D1A4
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D1A4:
+ ldr r0, [r5, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x1
+ beq _0205D1C4
+ ldr r0, [r5, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F244
+ cmp r0, #0x1
+ bne _0205D1CA
+_0205D1C4:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D1CA:
+ ldr r0, [r5, #0x14]
+ bl FUN_020553C4
+ cmp r0, #0x2
+ bne _0205D1DA
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D1DA:
+ ldrh r0, [r5, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B78
+ cmp r0, #0x1
+ bne _0205D1EE
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D1EE:
+ ldr r0, [r5, #0x18]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, [r5, #0x18]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ ldr r0, [r5, #0x18]
+ add r1, r4, #0x0
+ bl FUN_02034D44
+ cmp r0, #0x0
+ bne _0205D218
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D218:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205D21C
+FUN_0205D21C: ; 0x0205D21C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D24C ; =FUN_0205D264
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ str r1, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r5, pc}
+ nop
+_0205D24C: .word FUN_0205D264
+
+ thumb_func_start FUN_0205D250
+FUN_0205D250: ; 0x0205D250
+ push {r3, lr}
+ ldr r0, [r0, #0x0]
+ ldr r1, _0205D260 ; =FUN_0205D264
+ mov r2, #0x0
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205D260: .word FUN_0205D264
+
+ thumb_func_start FUN_0205D264
+FUN_0205D264: ; 0x0205D264
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046530
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x3
+ bhi _0205D324
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205D288: ; jump table (using 16-bit offset)
+ .short _0205D290 - _0205D288 - 2; case 0
+ .short _0205D296 - _0205D288 - 2; case 1
+ .short _0205D314 - _0205D288 - 2; case 2
+ .short _0205D31A - _0205D288 - 2; case 3
+_0205D290:
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205D324
+_0205D296:
+ ldr r0, [r4, #0x38]
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _0205D2D6
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ ldr r0, [r4, #0x38]
+ mov r1, #0x1
+ bl MOD05_021E5FD8
+ ldr r0, [r4, #0x38]
+ bl MOD05_021E5FE0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0204AB20
+ ldr r1, [r4, #0x1c]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0204AB58
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_0204ABDC
+ b _0205D30C
+_0205D2D6:
+ mov r1, #0x12
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_0204AB20
+ mov r1, #0x12
+ add r0, r4, #0x0
+ lsl r1, r1, #0x6
+ mov r2, #0x1
+ bl FUN_0204ABDC
+ ldr r0, [r4, #0x38]
+ bl FUN_020553A0
+ bl FUN_02058914
+ ldr r0, [r4, #0x38]
+ mov r1, #0x2
+ bl MOD05_021E5FD8
+ ldr r0, [r4, #0x38]
+ bl MOD05_021E5FE0
+ add r4, #0x90
+ ldr r0, [r4, #0x0]
+ bl FUN_0205DD40
+_0205D30C:
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205D324
+_0205D314:
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205D324
+_0205D31A:
+ ldr r0, [r4, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205D324:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205D328
+FUN_0205D328: ; 0x0205D328
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205D336
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_0205D336:
+ ldr r0, [r4, #0x14]
+ bl FUN_02055738
+ cmp r0, #0x1
+ bne _0205D344
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205D344:
+ ldr r0, [r4, #0x14]
+ bl FUN_020553A0
+ ldrh r1, [r4, #0xe]
+ add r5, r0, #0x0
+ bl FUN_02059BB4
+ cmp r0, #0x1
+ beq _0205D362
+ ldrh r1, [r4, #0xe]
+ add r0, r5, #0x0
+ bl FUN_02059BD4
+ cmp r0, #0x1
+ bne _0205D366
+_0205D362:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205D366:
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054798
+ cmp r0, #0x1
+ beq _0205D390
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054974
+ cmp r0, #0x1
+ beq _0205D390
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054990
+ cmp r0, #0x1
+ bne _0205D396
+_0205D390:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D396:
+ ldr r0, [r4, #0x0]
+ bl FUN_020348B4
+ cmp r0, #0x0
+ bne _0205D3A6
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D3A6:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x2
+ bne _0205D3B2
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205D3B2:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205D3B8
+FUN_0205D3B8: ; 0x0205D3B8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02037944
+ ldr r1, _0205D3E0 ; =FUN_02036B90
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r3-r5, pc}
+ nop
+_0205D3E0: .word FUN_02036B90
+
+ thumb_func_start FUN_0205D3E4
+FUN_0205D3E4: ; 0x0205D3E4
+ push {r3, lr}
+ ldr r1, _0205D3F0 ; =FUN_0205D3F4
+ bl FUN_0205DD04
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_0205D3F0: .word FUN_0205D3F4
+
+ thumb_func_start FUN_0205D3F4
+FUN_0205D3F4: ; 0x0205D3F4
+ push {r3, lr}
+ mov r1, #0x0
+ bl FUN_02037944
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205D400
+FUN_0205D400: ; 0x0205D400
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_0204652C
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl memset
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0xc]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ add r0, r7, r0
+ str r0, [r4, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x6
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ str r5, [r4, #0x1c]
+ ldrh r0, [r6, #0x4]
+ strh r0, [r4, #0x24]
+ add r0, r4, #0x0
+ ldrb r1, [r6, #0x6]
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ ldrh r0, [r6, #0x4]
+ bl FUN_0206EA30
+ strh r0, [r4, #0x26]
+ ldr r1, _0205D490 ; =0x020F96DC
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r4, [r7, r0]
+ ldr r1, _0205D494 ; =FUN_02035E50
+ add r0, r7, #0x0
+ bl FUN_02035D04
+ pop {r3-r7, pc}
+ nop
+_0205D490: .word 0x020F96DC
+_0205D494: .word FUN_02035E50
+
+ thumb_func_start FUN_0205D498
+FUN_0205D498: ; 0x0205D498
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ bl FUN_0206EAB8
+ add r2, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x3
+ mov r3, #0xb
+ bl FUN_02037F58
+ add r6, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_02036BC4
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ sub r0, r1, #0x4
+ str r6, [r4, r0]
+ ldr r1, _0205D4E0 ; =FUN_02036BDC
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r4-r6, pc}
+ nop
+_0205D4E0: .word FUN_02036BDC
+
+ thumb_func_start FUN_0205D4E4
+FUN_0205D4E4: ; 0x0205D4E4
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0205D4E8
+FUN_0205D4E8: ; 0x0205D4E8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ bl FUN_02046528
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ ldrh r1, [r4, #0x10]
+ mov r0, #0x1
+ tst r0, r1
+ beq _0205D50E
+ ldr r2, _0205D518 ; =0x00000AF1
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205CF34
+ pop {r3-r5, pc}
+_0205D50E:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205D024
+ pop {r3-r5, pc}
+ .balign 4
+_0205D518: .word 0x00000AF1
+
+ thumb_func_start FUN_0205D51C
+FUN_0205D51C: ; 0x0205D51C
+ ldrh r1, [r0, #0x10]
+ mov r0, #0x1
+ tst r1, r0
+ bne _0205D526
+ mov r0, #0x0
+_0205D526:
+ bx lr
+
+ thumb_func_start FUN_0205D528
+FUN_0205D528: ; 0x0205D528
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xb
+ bl FUN_02037FC4
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, _0205D554 ; =FUN_02036D94
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r3-r5, pc}
+ .balign 4
+_0205D554: .word FUN_02036D94
+
+ thumb_func_start FUN_0205D558
+FUN_0205D558: ; 0x0205D558
+ push {r3, lr}
+ ldr r1, _0205D564 ; =FUN_0205D568
+ bl FUN_0205DD04
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_0205D564: .word FUN_0205D568
+
+ thumb_func_start FUN_0205D568
+FUN_0205D568: ; 0x0205D568
+ ldr r3, _0205D570 ; =FUN_02037FC4
+ mov r1, #0xb
+ bx r3
+ nop
+_0205D570: .word FUN_02037FC4
+
+ thumb_func_start FUN_0205D574
+FUN_0205D574: ; 0x0205D574
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r5, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0203846C
+ mov r0, #0x7e
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ ldr r1, _0205D5A4 ; =FUN_02036DD4
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r3-r5, pc}
+ nop
+_0205D5A4: .word FUN_02036DD4
+
+ thumb_func_start FUN_0205D5A8
+FUN_0205D5A8: ; 0x0205D5A8
+ push {r3, lr}
+ ldr r1, _0205D5B4 ; =FUN_0205D5B8
+ bl FUN_0205DD04
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_0205D5B4: .word FUN_0205D5B8
+
+ thumb_func_start FUN_0205D5B8
+FUN_0205D5B8: ; 0x0205D5B8
+ push {r3, lr}
+ ldr r1, [r0, #0xc]
+ bl FUN_0203846C
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205D5C4
+FUN_0205D5C4: ; 0x0205D5C4
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D600 ; =FUN_0205E30C
+ lsl r0, r0, #0x2
+ str r1, [r5, r0]
+ add r0, #0x30
+ str r4, [r5, r0]
+ mov r0, #0xa
+ strh r0, [r5, #0x2a]
+ pop {r4-r6, pc}
+ nop
+_0205D600: .word FUN_0205E30C
+
+ thumb_func_start FUN_0205D604
+FUN_0205D604: ; 0x0205D604
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r1, _0205D624 ; =FUN_0205E30C
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0205D624: .word FUN_0205E30C
+
+ thumb_func_start FUN_0205D628
+FUN_0205D628: ; 0x0205D628
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205D636
+ mov r0, #0x2
+ pop {r4, pc}
+_0205D636:
+ ldr r0, [r4, #0x18]
+ ldr r0, [r0, #0x38]
+ bl FUN_020553C4
+ cmp r0, #0x1
+ bne _0205D648
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_0205D648:
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0205478C
+ cmp r0, #0x0
+ beq _0205D65A
+ mov r0, #0x0
+ pop {r4, pc}
+_0205D65A:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205D660
+FUN_0205D660: ; 0x0205D660
+ ldr r3, _0205D668 ; =FUN_0205CF34
+ ldr r2, _0205D66C ; =0x00000AF2
+ bx r3
+ nop
+_0205D668: .word FUN_0205CF34
+_0205D66C: .word 0x00000AF2
+
+ thumb_func_start FUN_0205D670
+FUN_0205D670: ; 0x0205D670
+ push {r3, lr}
+ ldr r1, _0205D67C ; =0x00000AF2
+ bl FUN_0205CF78
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205D67C: .word 0x00000AF2
+
+ thumb_func_start FUN_0205D680
+FUN_0205D680: ; 0x0205D680
+ ldr r1, [r0, #0x4]
+ cmp r1, #0x1
+ bne _0205D68A
+ mov r0, #0x2
+ bx lr
+_0205D68A:
+ ldrh r1, [r0, #0x10]
+ mov r0, #0x4
+ tst r1, r0
+ beq _0205D696
+ mov r0, #0x0
+ bx lr
+_0205D696:
+ sub r0, r0, #0x5
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205D69C
+FUN_0205D69C: ; 0x0205D69C
+ ldr r3, _0205D6A4 ; =FUN_0205CF34
+ ldr r2, _0205D6A8 ; =0x00000AF3
+ bx r3
+ nop
+_0205D6A4: .word FUN_0205CF34
+_0205D6A8: .word 0x00000AF3
+
+ thumb_func_start FUN_0205D6AC
+FUN_0205D6AC: ; 0x0205D6AC
+ ldrh r1, [r0, #0x10]
+ mov r0, #0x2
+ tst r1, r0
+ beq _0205D6B8
+ mov r0, #0x0
+ bx lr
+_0205D6B8:
+ sub r0, r0, #0x3
+ bx lr
+
+ thumb_func_start FUN_0205D6BC
+FUN_0205D6BC: ; 0x0205D6BC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204649C
+ bl MOD05_021F57EC
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ mov r0, #0xb
+ bl FUN_020169D8
+ ldr r2, [sp, #0x0]
+ mov r1, #0x0
+ add r7, r0, #0x0
+ bl memset
+ mov r0, #0x72
+ ldr r1, _0205D710 ; =0x021F57F1
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r7, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206F158
+ ldrh r1, [r5, #0x4]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0206EDD4
+ pop {r3-r7, pc}
+ .balign 4
+_0205D710: .word 0x021F57F1
+
+ thumb_func_start FUN_0205D714
+FUN_0205D714: ; 0x0205D714
+ ldr r3, _0205D71C ; =FUN_0205CF34
+ ldr r2, _0205D720 ; =0x000022F6
+ bx r3
+ nop
+_0205D71C: .word FUN_0205CF34
+_0205D720: .word 0x000022F6
+
+ thumb_func_start FUN_0205D724
+FUN_0205D724: ; 0x0205D724
+ push {r3, lr}
+ ldr r1, _0205D730 ; =0x000022F6
+ bl FUN_0205CF78
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205D730: .word 0x000022F6
+
+ thumb_func_start FUN_0205D734
+FUN_0205D734: ; 0x0205D734
+ push {r3, lr}
+ ldr r0, [r0, #0x0]
+ bl FUN_02034908
+ cmp r0, #0x0
+ beq _0205D744
+ mov r0, #0x0
+ pop {r3, pc}
+_0205D744:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205D74C
+FUN_0205D74C: ; 0x0205D74C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D784 ; =0x021F5C71
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, r5, #0x0
+ mov r1, #0xb
+ mov r2, #0x0
+ bl MOD05_021F5C44
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r5, pc}
+ .balign 4
+_0205D784: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D788
+FUN_0205D788: ; 0x0205D788
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ mov r2, #0x0
+ bl MOD05_021F5C44
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _0205D7A4 ; =0x021F5C71
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0205D7A4: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D7A8
+FUN_0205D7A8: ; 0x0205D7A8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D7E0 ; =0x021F5C71
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, r5, #0x0
+ mov r1, #0xb
+ mov r2, #0x1
+ bl MOD05_021F5C44
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r5, pc}
+ .balign 4
+_0205D7E0: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D7E4
+FUN_0205D7E4: ; 0x0205D7E4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ mov r2, #0x1
+ bl MOD05_021F5C44
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _0205D800 ; =0x021F5C71
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0205D800: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D804
+FUN_0205D804: ; 0x0205D804
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205D83C ; =0x021F5C71
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, r5, #0x0
+ mov r1, #0xb
+ mov r2, #0x2
+ bl MOD05_021F5C44
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r5, pc}
+ .balign 4
+_0205D83C: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D840
+FUN_0205D840: ; 0x0205D840
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ mov r2, #0x2
+ bl MOD05_021F5C44
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _0205D85C ; =0x021F5C71
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0205D85C: .word 0x021F5C71
+
+ thumb_func_start FUN_0205D860
+FUN_0205D860: ; 0x0205D860
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205D86E
+ mov r0, #0x2
+ pop {r4, pc}
+_0205D86E:
+ ldrh r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0205481C
+ cmp r0, #0x1
+ bne _0205D8B0
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B78
+ cmp r0, #0x1
+ beq _0205D898
+ ldrh r0, [r4, #0xe]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054B6C
+ cmp r0, #0x1
+ bne _0205D8AC
+_0205D898:
+ ldr r0, [r4, #0x14]
+ bl FUN_020553A0
+ bl FUN_02058A68
+ cmp r0, #0x1
+ bne _0205D8AC
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+_0205D8AC:
+ mov r0, #0x0
+ pop {r4, pc}
+_0205D8B0:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205D8B8
+FUN_0205D8B8: ; 0x0205D8B8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r4, #0x16]
+ mov r0, #0x80
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0x10]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ bl FUN_0206EBC4
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x0]
+ lsl r2, r2, #0x10
+ ldr r0, [r0, #0xc]
+ ldr r1, [r4, #0x10]
+ lsr r2, r2, #0x10
+ mov r3, #0xb
+ bl FUN_0206E3F8
+ ldr r0, [r5, #0x0]
+ ldr r1, _0205D900 ; =FUN_0205D904
+ add r2, r4, #0x0
+ bl FUN_020463CC
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0205D900: .word FUN_0205D904
+
+ thumb_func_start FUN_0205D904
+FUN_0205D904: ; 0x0205D904
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldrh r0, [r4, #0x16]
+ cmp r0, #0x0
+ beq _0205D926
+ cmp r0, #0x1
+ beq _0205D95C
+ cmp r0, #0x2
+ beq _0205D984
+ b _0205D9A0
+_0205D926:
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ ldr r0, [r5, #0x8]
+ add r1, r4, #0x0
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02054608
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ mov r3, #0x1
+ bl FUN_02054658
+ strh r0, [r4, #0x14]
+ ldrh r0, [r4, #0x16]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x16]
+ b _0205D9A0
+_0205D95C:
+ ldrh r0, [r4, #0x14]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020546C8
+ cmp r0, #0x1
+ bne _0205D9A0
+ ldr r0, _0205D9A4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0xf3
+ tst r0, r1
+ beq _0205D9A0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ ldrh r0, [r4, #0x16]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x16]
+ b _0205D9A0
+_0205D984:
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_02019178
+ ldr r0, [r4, #0x10]
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205D9A0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0205D9A4: .word 0x021C48B8
+
+ thumb_func_start FUN_0205D9A8
+FUN_0205D9A8: ; 0x0205D9A8
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_0204652C
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl memset
+ ldr r0, [r5, #0xc]
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0xc]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ ldr r0, [r5, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0xc]
+ bl FUN_02022504
+ str r0, [r4, #0x10]
+ mov r0, #0x7a
+ lsl r0, r0, #0x2
+ add r0, r7, r0
+ str r0, [r4, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x10
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldrh r0, [r6, #0x4]
+ add r2, r4, #0x0
+ strh r0, [r4, #0x24]
+ add r0, r4, #0x0
+ ldrb r1, [r6, #0x6]
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ ldr r1, _0205DA34 ; =0x020F96DC
+ add r0, r5, #0x0
+ bl FUN_020373D4
+ mov r0, #0x7e
+ lsl r0, r0, #0x2
+ str r4, [r7, r0]
+ ldr r1, _0205DA38 ; =FUN_02035E50
+ add r0, r7, #0x0
+ bl FUN_02035D04
+ pop {r3-r7, pc}
+ .balign 4
+_0205DA34: .word 0x020F96DC
+_0205DA38: .word FUN_02035E50
+
+ thumb_func_start FUN_0205DA3C
+FUN_0205DA3C: ; 0x0205DA3C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0205DA7C ; =FUN_0205DAAC
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ str r1, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ ldr r0, [r6, #0xc]
+ bl FUN_0206F158
+ ldrh r1, [r5, #0x4]
+ mov r2, #0x1
+ mov r3, #0xb
+ bl FUN_0206EDD4
+ pop {r4-r6, pc}
+ nop
+_0205DA7C: .word FUN_0205DAAC
+
+ thumb_func_start FUN_0205DA80
+FUN_0205DA80: ; 0x0205DA80
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0205DA8E
+ mov r0, #0x2
+ pop {r4, pc}
+_0205DA8E:
+ ldr r0, [r4, #0x0]
+ bl FUN_02034930
+ cmp r0, #0x1
+ bne _0205DAA6
+ ldr r0, [r4, #0x0]
+ bl FUN_0203487C
+ cmp r0, #0x1
+ bne _0205DAA6
+ mov r0, #0x0
+ pop {r4, pc}
+_0205DAA6:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205DAAC
+FUN_0205DAAC: ; 0x0205DAAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ mov r1, #0xb
+ bl MOD06_0224C700
+ add r2, r0, #0x0
+ ldr r1, _0205DAC8 ; =0x0224C721
+ add r0, r4, #0x0
+ bl FUN_020463EC
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0205DAC8: .word 0x0224C721
+
+ thumb_func_start FUN_0205DACC
+FUN_0205DACC: ; 0x0205DACC
+ ldr r3, _0205DAD4 ; =FUN_0205CF34
+ ldr r2, _0205DAD8 ; =0x000007F7
+ bx r3
+ nop
+_0205DAD4: .word FUN_0205CF34
+_0205DAD8: .word 0x000007F7
+
+ thumb_func_start FUN_0205DADC
+FUN_0205DADC: ; 0x0205DADC
+ push {r3, lr}
+ ldr r1, _0205DAE8 ; =0x000007F7
+ bl FUN_0205CF78
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0205DAE8: .word 0x000007F7
+
+ thumb_func_start FUN_0205DAEC
+FUN_0205DAEC: ; 0x0205DAEC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r5, r0, #0x0
+ bl FUN_0205ED0C
+ cmp r0, #0x0
+ bne _0205DB08
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205DB08:
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205F4A0
+ cmp r0, #0x0
+ bne _0205DB1A
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205DB1A:
+ ldr r0, [r4, #0x18]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024CA4
+ cmp r0, #0x0
+ bne _0205DB30
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0205DB30:
+ ldr r0, [r4, #0x0]
+ bl FUN_020349D8
+ cmp r0, #0x0
+ beq _0205DB3E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205DB3E:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205DB44
+FUN_0205DB44: ; 0x0205DB44
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02060144
+ cmp r0, #0x1
+ bne _0205DB54
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205DB54:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F244
+ cmp r0, #0x1
+ bne _0205DB66
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205DB66:
+ ldr r0, [r5, #0xc]
+ bl FUN_0206F158
+ bl FUN_0206EBC4
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x6
+ mov r2, #0xb
+ str r0, [sp, #0x0]
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ mov r0, #0x2
+ add r1, r4, #0x0
+ bl FUN_0205CE48
+ add r6, r0, #0x0
+ mov r0, #0x1
+ add r1, r4, #0x0
+ bl FUN_0205CE48
+ add r7, r0, #0x0
+ bne _0205DB9C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205DB9C:
+ mov r0, #0xb
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x2c
+ bl memset
+ str r5, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x4
+ strh r0, [r4, #0x28]
+ add r0, r5, #0x0
+ bl FUN_0205CE80
+ mov r5, #0x0
+ cmp r6, #0x0
+ bne _0205DBCA
+ add r0, r4, #0x0
+ blx r7
+ add r5, r0, #0x0
+ b _0205DBE0
+_0205DBCA:
+ add r0, r4, #0x4
+ blx r6
+ add r1, r0, #0x0
+ bne _0205DBDA
+ add r0, r4, #0x0
+ blx r7
+ add r5, r0, #0x0
+ b _0205DBE0
+_0205DBDA:
+ add r0, r4, #0x0
+ bl FUN_0205DBF0
+_0205DBE0:
+ cmp r5, #0x0
+ bne _0205DBEA
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_0205DBEA:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205DBF0
+FUN_0205DBF0: ; 0x0205DBF0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ strh r0, [r4, #0x16]
+ mov r0, #0x80
+ mov r1, #0xb
+ bl FUN_020219F4
+ str r0, [r4, #0x10]
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_020238F4
+ mov r1, #0xb
+ str r1, [sp, #0x0]
+ ldrh r2, [r5, #0x28]
+ ldr r1, [r4, #0x10]
+ add r3, r6, #0x0
+ bl FUN_0206E51C
+ ldr r0, [r5, #0x0]
+ ldr r1, _0205DC34 ; =FUN_0205D904
+ add r2, r4, #0x0
+ bl FUN_020463CC
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_0205DC34: .word FUN_0205D904
+
+ thumb_func_start FUN_0205DC38
+FUN_0205DC38: ; 0x0205DC38
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, #0x2a
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x4
+ bhi _0205DCFA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0205DC5E: ; jump table (using 16-bit offset)
+ .short _0205DC68 - _0205DC5E - 2; case 0
+ .short _0205DC7C - _0205DC5E - 2; case 1
+ .short _0205DC94 - _0205DC5E - 2; case 2
+ .short _0205DCC4 - _0205DC5E - 2; case 3
+ .short _0205DCE2 - _0205DC5E - 2; case 4
+_0205DC68:
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ mov r0, #0x1
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DC7C:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r1, [r4, #0x20]
+ add r0, r5, #0x0
+ blx r1
+ str r0, [r4, #0x24]
+ mov r0, #0x2
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DC94:
+ add r0, r5, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _0205DCFA
+ ldr r0, [r4, #0x24]
+ cmp r0, #0x0
+ beq _0205DCB6
+ ldr r2, [r4, #0x20]
+ ldr r1, _0205DD00 ; =FUN_0205D568
+ cmp r2, r1
+ bne _0205DCB2
+ bl FUN_02087E14
+ b _0205DCB6
+_0205DCB2:
+ bl FUN_02016A18
+_0205DCB6:
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x3
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DCC4:
+ add r0, r5, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r0, [r5, #0x34]
+ bl FUN_02058780
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ mov r0, #0x4
+ add r4, #0x2a
+ strb r0, [r4, #0x0]
+ b _0205DCFA
+_0205DCE2:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0205DCFA
+ ldr r0, [r5, #0x34]
+ bl FUN_020587B0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205DCFA:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_0205DD00: .word FUN_0205D568
+
+ thumb_func_start FUN_0205DD04
+FUN_0205DD04: ; 0x0205DD04
+ add r2, r0, #0x0
+ str r1, [r2, #0x20]
+ ldr r3, _0205DD10 ; =FUN_020463CC
+ ldr r0, [r2, #0x0]
+ ldr r1, _0205DD14 ; =FUN_0205DC38
+ bx r3
+ .balign 4
+_0205DD10: .word FUN_020463CC
+_0205DD14: .word FUN_0205DC38
+
+ thumb_func_start FUN_0205DD18
+FUN_0205DD18: ; 0x0205DD18
+ push {r4, lr}
+ mov r1, #0xd4
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x1
+ lsl r0, r0, #0x10
+ add r3, r4, #0x0
+ lsr r1, r0, #0x1
+ add r2, r0, #0x0
+ add r3, #0xbc
+ bl FUN_0201B7DC
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205DD38
+FUN_0205DD38: ; 0x0205DD38
+ ldr r3, _0205DD3C ; =FUN_02016A18
+ bx r3
+ .balign 4
+_0205DD3C: .word FUN_02016A18
+
+ thumb_func_start FUN_0205DD40
+FUN_0205DD40: ; 0x0205DD40
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x0
+ str r1, [r4, #0x4]
+ str r1, [r4, #0x0]
+ str r1, [r4, #0x8]
+ str r1, [r4, #0xc]
+ str r1, [r4, #0x10]
+ add r0, #0xd0
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ add r0, #0x1c
+ mov r2, #0xa0
+ str r1, [r4, #0x18]
+ bl MI_CpuFill8
+ mov r3, #0x0
+ add r2, r3, #0x0
+ mov r0, #0x28
+_0205DD6A:
+ add r1, r3, #0x0
+ mul r1, r0
+ add r1, r4, r1
+ str r2, [r1, #0x28]
+ add r1, r3, #0x1
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #0x4
+ blo _0205DD6A
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205DD80
+FUN_0205DD80: ; 0x0205DD80
+ push {r4-r7, lr}
+ sub sp, #0x2c
+ str r1, [sp, #0x10]
+ ldr r1, _0205DECC ; =0x020F7374
+ str r2, [sp, #0x14]
+ ldrb r2, [r1, #0x4]
+ str r0, [sp, #0xc]
+ add r0, sp, #0x28
+ strb r2, [r0, #0x0]
+ ldrb r2, [r1, #0x5]
+ str r3, [sp, #0x18]
+ strb r2, [r0, #0x1]
+ ldrb r2, [r1, #0x6]
+ ldrb r1, [r1, #0x7]
+ strb r2, [r0, #0x2]
+ strb r1, [r0, #0x3]
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055360
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x18]
+ mov r5, #0x0
+ str r0, [sp, #0x24]
+ add r0, #0x1c
+ str r5, [sp, #0x20]
+ str r0, [sp, #0x24]
+_0205DDB6:
+ add r0, sp, #0x28
+ ldrb r4, [r0, r5]
+ cmp r4, #0x0
+ bne _0205DDC2
+ bl ErrorHandling
+_0205DDC2:
+ cmp r4, #0x1
+ bhi _0205DDCA
+ mov r6, #0x0
+ b _0205DDF2
+_0205DDCA:
+ bl rand_LC
+ add r6, r0, #0x0
+ ldr r0, _0205DED0 ; =0x0000FFFF
+ add r1, r4, #0x0
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ cmp r6, r4
+ blo _0205DDF2
+ bl ErrorHandling
+_0205DDF2:
+ lsl r1, r5, #0x1
+ mov r0, #0x9
+ sub r0, r0, r1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ lsl r0, r6, #0x18
+ lsr r6, r0, #0x18
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl _s32_div_f
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bne _0205DE1C
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl _s32_div_f
+ add r1, r5, r1
+ add r0, r5, #0x0
+ b _0205DE5C
+_0205DE1C:
+ cmp r0, #0x1
+ bne _0205DE30
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl _s32_div_f
+ add r0, r5, r4
+ add r1, r5, r1
+ sub r0, r0, #0x1
+ b _0205DE5C
+_0205DE30:
+ lsl r7, r4, #0x1
+ cmp r6, r7
+ bge _0205DE3A
+ bl ErrorHandling
+_0205DE3A:
+ sub r0, r6, r7
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ lsr r3, r1, #0x1f
+ lsl r2, r1, #0x1f
+ lsr r0, r1, #0x1
+ add r0, r5, r0
+ sub r2, r2, r3
+ mov r1, #0x1f
+ ror r2, r1
+ add r0, r0, #0x1
+ add r1, r3, r2
+ bne _0205DE58
+ add r1, r5, #0x0
+ b _0205DE5C
+_0205DE58:
+ add r1, r5, r4
+ sub r1, r1, #0x1
+_0205DE5C:
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r0, r0, #0x18
+ str r1, [sp, #0x0]
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ mov r0, #0x28
+ add r1, r5, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x24]
+ ldr r2, [sp, #0x10]
+ add r0, r0, r1
+ str r0, [sp, #0x8]
+ ldr r1, [sp, #0x1c]
+ ldr r0, [sp, #0xc]
+ ldr r1, [r1, #0x4]
+ ldr r3, [sp, #0x14]
+ bl FUN_0205E12C
+ cmp r0, #0x0
+ beq _0205DE90
+ ldr r0, [sp, #0x20]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x20]
+_0205DE90:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x4
+ blo _0205DDB6
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x0
+ bne _0205DEBE
+ ldr r0, [sp, #0x18]
+ bl FUN_0205DD40
+ ldr r0, [sp, #0xc]
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x1c]
+ ldr r1, [r1, #0x0]
+ bl FUN_0204AB58
+ add r1, r0, #0x0
+ ldr r0, [sp, #0xc]
+ mov r2, #0x1
+ bl FUN_0204ABDC
+ b _0205DEC4
+_0205DEBE:
+ ldr r0, [sp, #0x18]
+ mov r1, #0x1
+ str r1, [r0, #0x10]
+_0205DEC4:
+ ldr r0, [sp, #0x18]
+ ldr r0, [r0, #0x10]
+ add sp, #0x2c
+ pop {r4-r7, pc}
+ .balign 4
+_0205DECC: .word 0x020F7374
+_0205DED0: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205DED4
+FUN_0205DED4: ; 0x0205DED4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r6, r2, #0x0
+ mov r4, #0x0
+_0205DEE0:
+ mov r0, #0x28
+ mul r0, r4
+ add r5, r6, r0
+ ldr r0, [r5, #0x28]
+ cmp r0, #0x0
+ beq _0205DF36
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_0205E2A0
+ str r0, [r5, #0x2c]
+ cmp r0, #0x0
+ bne _0205DF24
+ bl rand_LC
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ cmp r7, #0x64
+ blo _0205DF12
+ bl ErrorHandling
+_0205DF12:
+ cmp r7, #0x32
+ bhs _0205DF1A
+ mov r0, #0x0
+ b _0205DF1C
+_0205DF1A:
+ mov r0, #0x1
+_0205DF1C:
+ str r0, [r5, #0x24]
+ mov r0, #0x0
+ str r0, [r5, #0x30]
+ b _0205DF36
+_0205DF24:
+ ldr r0, [r6, #0x0]
+ str r0, [r5, #0x24]
+ ldr r0, [sp, #0x0]
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ bl FUN_0205E40C
+ str r0, [r5, #0x30]
+_0205DF36:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ blo _0205DEE0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205DF44
+FUN_0205DF44: ; 0x0205DF44
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ mov r6, #0x0
+_0205DF4C:
+ mov r0, #0x28
+ mul r0, r6
+ add r4, r7, r0
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x0
+ beq _0205DF8C
+ ldr r0, [r4, #0x30]
+ ldr r1, [r4, #0x1c]
+ ldr r2, [r4, #0x20]
+ cmp r0, #0x0
+ beq _0205DF6E
+ add r0, r5, #0x0
+ mov r3, #0x2
+ bl MOD06_0224B818
+ str r0, [r4, #0x34]
+ b _0205DF90
+_0205DF6E:
+ ldr r0, [r4, #0x24]
+ cmp r0, #0x0
+ bne _0205DF80
+ add r0, r5, #0x0
+ mov r3, #0x0
+ bl MOD06_0224B818
+ str r0, [r4, #0x34]
+ b _0205DF90
+_0205DF80:
+ add r0, r5, #0x0
+ mov r3, #0x1
+ bl MOD06_0224B818
+ str r0, [r4, #0x34]
+ b _0205DF90
+_0205DF8C:
+ mov r0, #0x0
+ str r0, [r4, #0x34]
+_0205DF90:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x4
+ blo _0205DF4C
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205DF9C
+FUN_0205DF9C: ; 0x0205DF9C
+ push {r3-r7, lr}
+ mov r4, #0x0
+ add r7, r0, #0x0
+ add r6, r4, #0x0
+_0205DFA4:
+ mov r0, #0x28
+ mul r0, r6
+ add r5, r7, r0
+ ldr r0, [r5, #0x34]
+ cmp r0, #0x0
+ beq _0205DFCA
+ bl MOD06_0224B86C
+ cmp r0, #0x0
+ beq _0205DFD0
+ ldr r0, [r5, #0x34]
+ bl FUN_02064520
+ mov r0, #0x0
+ str r0, [r5, #0x34]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ b _0205DFD0
+_0205DFCA:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_0205DFD0:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x4
+ blo _0205DFA4
+ cmp r4, #0x4
+ blo _0205DFE2
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205DFE2:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205DFE8
+FUN_0205DFE8: ; 0x0205DFE8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ ldr r7, [sp, #0x24]
+ add r6, r0, #0x0
+ mov r12, r1
+ ldr r0, [sp, #0x28]
+ mov r1, #0x0
+ add r4, r3, #0x0
+ str r1, [r7, #0x0]
+ str r2, [sp, #0x0]
+ str r1, [r0, #0x0]
+ str r0, [sp, #0x28]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r2, r12
+ add r3, sp, #0x4
+ ldr r5, [sp, #0x20]
+ bl FUN_0205E1B8
+ cmp r0, #0x0
+ bne _0205E018
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205E018:
+ mov r0, #0x1
+ str r0, [r4, #0x18]
+ add r0, sp, #0x4
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x28
+ mul r0, r1
+ add r0, r4, r0
+ ldr r1, [r0, #0x2c]
+ ldr r6, [r0, #0x24]
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bne _0205E062
+ cmp r1, #0x0
+ beq _0205E05E
+ add r0, r4, #0x4
+ bl FUN_0205E4D8
+ str r6, [r5, #0x0]
+ mov r0, #0x1
+ str r0, [r7, #0x0]
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0205E1F0
+ add r0, sp, #0x4
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x28
+ mul r0, r1
+ add r0, r4, r0
+ ldr r1, [r0, #0x30]
+ ldr r0, [sp, #0x28]
+ add sp, #0x8
+ str r1, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E05E:
+ str r6, [r5, #0x0]
+ b _0205E074
+_0205E062:
+ str r6, [r5, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x14]
+ ldr r0, [sp, #0x0]
+ bl FUN_0205E258
+ add r1, r4, #0x0
+ add r1, #0xd0
+ strb r0, [r1, #0x0]
+_0205E074:
+ ldr r0, [r5, #0x0]
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E080
+FUN_0205E080: ; 0x0205E080
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ cmp r4, #0x0
+ bne _0205E090
+ bl ErrorHandling
+_0205E090:
+ str r4, [r5, #0x8]
+ str r6, [r5, #0xc]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E098
+FUN_0205E098: ; 0x0205E098
+ ldr r3, [r0, #0x8]
+ str r3, [r1, #0x0]
+ ldr r0, [r0, #0xc]
+ str r0, [r2, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205E0A4
+FUN_0205E0A4: ; 0x0205E0A4
+ ldr r0, [r0, #0x18]
+ bx lr
+
+ thumb_func_start FUN_0205E0A8
+FUN_0205E0A8: ; 0x0205E0A8
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _0205E126
+ ldr r0, [r7, #0x10]
+ cmp r0, #0x0
+ bne _0205E126
+ mov r6, #0x0
+ add r5, r6, #0x0
+_0205E0C0:
+ add r0, r7, #0x0
+ add r0, #0x90
+ ldr r1, [r0, #0x0]
+ add r0, r1, #0x0
+ add r0, #0x1c
+ add r4, r0, r5
+ add r0, r4, #0x0
+ add r0, #0x1c
+ add r1, #0xbc
+ bl FUN_0201B76C
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x0
+ beq _0205E0E4
+ cmp r0, #0x0
+ bne _0205E0E4
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+_0205E0E4:
+ add r6, r6, #0x1
+ add r5, #0x28
+ cmp r6, #0x4
+ blt _0205E0C0
+ add r0, r7, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ mov r2, #0x0
+ add r3, r0, #0x0
+ add r4, r2, #0x0
+ add r3, #0x1c
+_0205E0FA:
+ ldr r1, [r3, #0xc]
+ cmp r1, #0x0
+ bne _0205E102
+ add r2, r2, #0x1
+_0205E102:
+ add r4, r4, #0x1
+ add r3, #0x28
+ cmp r4, #0x4
+ blt _0205E0FA
+ cmp r2, #0x4
+ bne _0205E126
+ bl FUN_0205DD40
+ ldr r1, [r7, #0x1c]
+ add r0, r7, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0204AB58
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ mov r2, #0x1
+ bl FUN_0204ABDC
+_0205E126:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205E128
+FUN_0205E128: ; 0x0205E128
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_0205E12C
+FUN_0205E12C: ; 0x0205E12C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r1, [sp, #0x4]
+ add r1, sp, #0x10
+ sub r4, r2, #0x4
+ ldrb r2, [r1, #0x10]
+ ldrb r1, [r1, #0x14]
+ ldr r5, [sp, #0x28]
+ add r4, r4, r2
+ sub r2, r3, #0x4
+ add r6, r2, r1
+ str r4, [r5, #0x0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r7, r0, #0x0
+ str r6, [r5, #0x4]
+ bl FUN_0204A6E0
+ bl FUN_0205478C
+ cmp r0, #0x0
+ beq _0205E1AE
+ lsl r0, r4, #0x10
+ str r0, [r5, #0x1c]
+ lsl r0, r6, #0x10
+ str r0, [r5, #0x24]
+ add r0, sp, #0x8
+ str r0, [sp, #0x0]
+ ldr r2, [r5, #0x1c]
+ ldr r3, [r5, #0x24]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ bl FUN_0204A708
+ ldr r1, [sp, #0x4]
+ str r0, [r5, #0x20]
+ cmp r1, r0
+ beq _0205E180
+ mov r0, #0x0
+ add sp, #0xc
+ str r0, [r5, #0xc]
+ pop {r4-r7, pc}
+_0205E180:
+ asr r1, r4, #0x4
+ asr r2, r6, #0x4
+ lsr r1, r1, #0x1b
+ lsr r2, r2, #0x1b
+ add r1, r4, r1
+ add r2, r6, r2
+ ldr r0, [r7, #0x28]
+ asr r1, r1, #0x5
+ asr r2, r2, #0x5
+ bl FUN_0203451C
+ ldr r1, [r7, #0x1c]
+ ldr r1, [r1, #0x0]
+ cmp r1, r0
+ beq _0205E1A6
+ mov r0, #0x0
+ add sp, #0xc
+ str r0, [r5, #0xc]
+ pop {r4-r7, pc}
+_0205E1A6:
+ mov r0, #0x1
+ add sp, #0xc
+ str r0, [r5, #0xc]
+ pop {r4-r7, pc}
+_0205E1AE:
+ mov r0, #0x0
+ str r0, [r5, #0xc]
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E1B8
+FUN_0205E1B8: ; 0x0205E1B8
+ push {r4-r7}
+ mov r5, #0x0
+ mov r6, #0x28
+_0205E1BE:
+ add r4, r5, #0x0
+ mul r4, r6
+ add r4, r0, r4
+ ldr r7, [r4, #0x28]
+ cmp r7, #0x0
+ beq _0205E1DE
+ ldr r7, [r4, #0x1c]
+ cmp r1, r7
+ bne _0205E1DE
+ ldr r4, [r4, #0x20]
+ cmp r2, r4
+ bne _0205E1DE
+ strb r5, [r3, #0x0]
+ mov r0, #0x1
+ pop {r4-r7}
+ bx lr
+_0205E1DE:
+ add r4, r5, #0x1
+ lsl r4, r4, #0x18
+ lsr r5, r4, #0x18
+ cmp r5, #0x4
+ blo _0205E1BE
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205E1F0
+FUN_0205E1F0: ; 0x0205E1F0
+ push {r4-r6, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_0202A9B0
+ bl FUN_0202A9AC
+ add r3, r5, #0x0
+ add r3, #0xd0
+ ldrb r3, [r3, #0x0]
+ add r4, r0, #0x0
+ add r1, r4, #0x2
+ lsl r6, r3, #0x2
+ ldrh r3, [r1, r6]
+ ldr r2, [r5, #0x4]
+ cmp r3, r2
+ bge _0205E256
+ strh r2, [r1, r6]
+ add r1, r5, #0x0
+ add r1, #0xd0
+ ldrb r1, [r1, #0x0]
+ ldr r2, [r5, #0x8]
+ lsl r1, r1, #0x2
+ strh r2, [r4, r1]
+ bl MOD06_02245844
+ add r0, r5, #0x0
+ add r0, #0xd0
+ ldrb r0, [r0, #0x0]
+ ldr r2, [r5, #0x4]
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ ldrh r0, [r0, #0x2]
+ cmp r0, r2
+ bgt _0205E256
+ mov r1, #0x0
+ mov r3, #0x2
+_0205E23A:
+ sub r0, r3, r1
+ lsl r6, r0, #0x2
+ add r6, r4, r6
+ ldrh r6, [r6, #0x2]
+ cmp r2, r6
+ bne _0205E24C
+ add r5, #0xd0
+ strb r0, [r5, #0x0]
+ pop {r4-r6, pc}
+_0205E24C:
+ add r1, r1, #0x1
+ cmp r1, #0x3
+ blt _0205E23A
+ bl ErrorHandling
+_0205E256:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205E258
+FUN_0205E258: ; 0x0205E258
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_0202A9AC
+ mov r2, #0x0
+_0205E266:
+ lsl r1, r2, #0x2
+ ldrh r1, [r0, r1]
+ cmp r1, #0x0
+ bne _0205E272
+ add r0, r2, #0x0
+ pop {r3, pc}
+_0205E272:
+ add r1, r2, #0x1
+ lsl r1, r1, #0x18
+ lsr r2, r1, #0x18
+ cmp r2, #0x3
+ blo _0205E266
+ ldrh r2, [r0, #0x2]
+ ldrh r1, [r0, #0x6]
+ cmp r2, r1
+ blo _0205E288
+ mov r1, #0x1
+ b _0205E28A
+_0205E288:
+ mov r1, #0x0
+_0205E28A:
+ lsl r1, r1, #0x18
+ lsr r2, r1, #0x18
+ lsl r1, r2, #0x2
+ add r1, r0, r1
+ ldrh r1, [r1, #0x2]
+ ldrh r0, [r0, #0xa]
+ cmp r1, r0
+ blo _0205E29C
+ mov r2, #0x2
+_0205E29C:
+ add r0, r2, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205E2A0
+FUN_0205E2A0: ; 0x0205E2A0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ ldr r3, _0205E308 ; =0x020F7374
+ add r5, r0, #0x0
+ ldrb r4, [r3, #0x0]
+ add r2, sp, #0x0
+ add r0, sp, #0x4
+ strb r4, [r2, #0x4]
+ ldrb r4, [r3, #0x1]
+ add r7, sp, #0x0
+ cmp r1, #0x1
+ strb r4, [r2, #0x5]
+ ldrb r4, [r3, #0x2]
+ strb r4, [r2, #0x6]
+ ldrb r4, [r3, #0x3]
+ strb r4, [r2, #0x7]
+ ldrb r4, [r3, #0x8]
+ strb r4, [r2, #0x0]
+ ldrb r4, [r3, #0x9]
+ strb r4, [r2, #0x1]
+ ldrb r4, [r3, #0xa]
+ strb r4, [r2, #0x2]
+ ldrb r3, [r3, #0xb]
+ strb r3, [r2, #0x3]
+ bne _0205E2D6
+ add r6, r0, #0x0
+ b _0205E2DC
+_0205E2D6:
+ cmp r1, #0x4
+ bne _0205E2DC
+ add r6, r7, #0x0
+_0205E2DC:
+ bl rand_LC
+ mov r1, #0x29
+ lsl r1, r1, #0x4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x64
+ blo _0205E2F4
+ bl ErrorHandling
+_0205E2F4:
+ ldrb r0, [r6, r5]
+ cmp r4, r0
+ bge _0205E300
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E300:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0205E308: .word 0x020F7374
+
+ thumb_func_start FUN_0205E30C
+FUN_0205E30C: ; 0x0205E30C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ ldr r1, [r5, #0x0]
+ cmp r1, #0x4
+ bhi _0205E3FC
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205E330: ; jump table (using 16-bit offset)
+ .short _0205E33A - _0205E330 - 2; case 0
+ .short _0205E3C0 - _0205E330 - 2; case 1
+ .short _0205E3CC - _0205E330 - 2; case 2
+ .short _0205E3EC - _0205E330 - 2; case 3
+ .short _0205E3DE - _0205E330 - 2; case 4
+_0205E33A:
+ ldr r0, [r4, #0x34]
+ bl FUN_02058780
+ ldr r0, [r4, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_0202AB40
+ add r6, r0, #0x0
+ ldrb r0, [r6, #0x0]
+ cmp r0, #0x32
+ bhs _0205E374
+ mov r2, #0x0
+ ldr r1, _0205E400 ; =0x0000230A
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ add r0, r4, #0x0
+ mov r1, #0x29
+ bl FUN_02039438
+ ldrb r2, [r6, #0x0]
+ mov r1, #0x32
+ sub r1, r1, r2
+ strh r1, [r0, #0x0]
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E374:
+ mov r0, #0x0
+ strb r0, [r6, #0x0]
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ add r3, r4, #0x0
+ add r3, #0x90
+ add r2, r0, #0x0
+ ldr r3, [r3, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0205DD80
+ add r0, r4, #0x0
+ add r0, #0x90
+ ldr r2, [r0, #0x0]
+ ldr r0, [r2, #0x10]
+ cmp r0, #0x0
+ beq _0205E3BA
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0205DED4
+ add r0, r4, #0x0
+ add r4, #0x90
+ ldr r1, [r4, #0x0]
+ bl FUN_0205DF44
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3BA:
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3C0:
+ ldr r0, _0205E404 ; =0x0000047E
+ bl FUN_0200521C
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3CC:
+ add r4, #0x90
+ ldr r0, [r4, #0x0]
+ bl FUN_0205DF9C
+ cmp r0, #0x0
+ beq _0205E3FC
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _0205E3FC
+_0205E3DE:
+ bl FUN_02016A18
+ ldr r0, [r4, #0x34]
+ bl FUN_020587B0
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E3EC:
+ mov r2, #0x0
+ ldr r1, _0205E408 ; =0x0000230B
+ add r0, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_02038CD8
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+_0205E3FC:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0205E400: .word 0x0000230A
+_0205E404: .word 0x0000047E
+_0205E408: .word 0x0000230B
+
+ thumb_func_start FUN_0205E40C
+FUN_0205E40C: ; 0x0205E40C
+ push {r3-r5, lr}
+ cmp r0, #0x0
+ bne _0205E416
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205E416:
+ add r2, r0, #0x0
+ mov r1, #0xc8
+ ldr r0, _0205E478 ; =0x00002008
+ mul r2, r1
+ sub r5, r0, r2
+ cmp r5, #0xc8
+ bge _0205E426
+ add r5, r1, #0x0
+_0205E426:
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ bne _0205E430
+ bl ErrorHandling
+_0205E430:
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x1
+ bhi _0205E43C
+ mov r4, #0x0
+ b _0205E46A
+_0205E43C:
+ bl rand_LC
+ add r4, r0, #0x0
+ lsl r1, r5, #0x10
+ ldr r0, _0205E47C ; =0x0000FFFF
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r4, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ cmp r4, r0
+ blo _0205E46A
+ bl ErrorHandling
+_0205E46A:
+ cmp r4, #0x0
+ bne _0205E472
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205E472:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_0205E478: .word 0x00002008
+_0205E47C: .word 0x0000FFFF
+
+ thumb_func_start FUN_0205E480
+FUN_0205E480: ; 0x0205E480
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ add r0, r0, #0x4
+ bl FUN_0205E4D8
+ add r0, r4, #0x0
+ add r4, #0x90
+ ldr r1, [r4, #0x0]
+ bl FUN_0205E1F0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E49C
+FUN_0205E49C: ; 0x0205E49C
+ add r0, #0x90
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0205E4A4
+FUN_0205E4A4: ; 0x0205E4A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206F158
+ ldr r1, _0205E4D4 ; =0x000001AF
+ mov r2, #0x1
+ mov r3, #0x4
+ bl FUN_0206EE50
+ cmp r0, #0x1
+ bne _0205E4D0
+ ldr r0, [r4, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_0202AB40
+ ldrb r1, [r0, #0x0]
+ cmp r1, #0x32
+ bhs _0205E4D0
+ add r1, r1, #0x1
+ strb r1, [r0, #0x0]
+_0205E4D0:
+ pop {r4, pc}
+ nop
+_0205E4D4: .word 0x000001AF
+
+ thumb_func_start FUN_0205E4D8
+FUN_0205E4D8: ; 0x0205E4D8
+ ldr r1, [r0, #0x0]
+ add r2, r1, #0x1
+ ldr r1, _0205E4E8 ; =0x000003E7
+ str r2, [r0, #0x0]
+ cmp r2, r1
+ ble _0205E4E6
+ str r1, [r0, #0x0]
+_0205E4E6:
+ bx lr
+ .balign 4
+_0205E4E8: .word 0x000003E7
+
+ thumb_func_start FUN_0205E4EC
+FUN_0205E4EC: ; 0x0205E4EC
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r1, #0x8
+ bl FUN_0205858C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205E5B4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058848
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020588B8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E518
+FUN_0205E518: ; 0x0205E518
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E5B4
+ cmp r0, #0x0
+ beq _0205E548
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_020588B8
+ ldr r6, _0205E54C ; =0x020F7388
+_0205E538:
+ ldrb r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205E538
+_0205E548:
+ pop {r4-r6, pc}
+ nop
+_0205E54C: .word 0x020F7388
+
+ thumb_func_start FUN_0205E550
+FUN_0205E550: ; 0x0205E550
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205E554
+FUN_0205E554: ; 0x0205E554
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205886C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E608
+ cmp r0, #0x1
+ bne _0205E592
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E63C
+ add r0, r5, #0x0
+ bl FUN_0205E698
+ cmp r0, #0x1
+ bne _0205E592
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205E592:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E598
+FUN_0205E598: ; 0x0205E598
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x1
+ bne _0205E5B0
+ add r0, r5, #0x0
+ bl FUN_02058848
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+_0205E5B0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205E5B4
+FUN_0205E5B4: ; 0x0205E5B4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058578
+ bl FUN_020552A4
+ cmp r0, #0x0
+ bne _0205E5CC
+ mov r0, #0x0
+ strb r0, [r4, #0x1]
+ pop {r3-r5, pc}
+_0205E5CC:
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x0
+ bne _0205E5DA
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E5E0
+_0205E5DA:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E5E0
+FUN_0205E5E0: ; 0x0205E5E0
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_02058738
+ bl FUN_02055698
+ mov r1, #0x1
+ add r4, r0, #0x0
+ strb r1, [r5, #0x1]
+ bl FUN_02055320
+ strh r0, [r5, #0x2]
+ add r0, r4, #0x0
+ bl FUN_0205532C
+ strh r0, [r5, #0x4]
+ mov r0, #0xff
+ strh r0, [r5, #0x6]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E608
+FUN_0205E608: ; 0x0205E608
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ bl FUN_02058738
+ bl FUN_02055698
+ add r6, r0, #0x0
+ beq _0205E638
+ bl FUN_02055320
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0205532C
+ mov r1, #0x2
+ ldrsh r1, [r5, r1]
+ cmp r4, r1
+ bne _0205E634
+ mov r1, #0x4
+ ldrsh r1, [r5, r1]
+ cmp r0, r1
+ beq _0205E638
+_0205E634:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0205E638:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205E63C
+FUN_0205E63C: ; 0x0205E63C
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_02058738
+ bl FUN_02055698
+ add r4, r0, #0x0
+ bl FUN_02055320
+ strh r0, [r5, #0x2]
+ add r0, r4, #0x0
+ bl FUN_0205532C
+ strh r0, [r5, #0x4]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E65C
+FUN_0205E65C: ; 0x0205E65C
+ push {r3, lr}
+ bl FUN_02058738
+ bl FUN_02055698
+ bl FUN_02055464
+ add r1, r0, #0x0
+ sub r1, #0x58
+ cmp r1, #0x3
+ bhi _0205E694
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205E67E: ; jump table (using 16-bit offset)
+ .short _0205E686 - _0205E67E - 2; case 0
+ .short _0205E68A - _0205E67E - 2; case 1
+ .short _0205E68E - _0205E67E - 2; case 2
+ .short _0205E692 - _0205E67E - 2; case 3
+_0205E686:
+ mov r0, #0x10
+ pop {r3, pc}
+_0205E68A:
+ mov r0, #0x11
+ pop {r3, pc}
+_0205E68E:
+ mov r0, #0x12
+ pop {r3, pc}
+_0205E692:
+ mov r0, #0x13
+_0205E694:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E698
+FUN_0205E698: ; 0x0205E698
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02058738
+ bl FUN_02055698
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B2C
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02058B4C
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02055338
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02055344
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ cmp r0, r6
+ bne _0205E6D2
+ cmp r7, r4
+ beq _0205E6FA
+_0205E6D2:
+ add r0, r5, #0x0
+ bl FUN_0205E65C
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ bl FUN_02059E80
+ ldr r1, [sp, #0x4]
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205AE0C
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E6FA:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205E700
+FUN_0205E700: ; 0x0205E700
+ push {r3-r5, lr}
+ mov r1, #0xc
+ add r5, r0, #0x0
+ bl FUN_0205858C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E854
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r5, #0x0
+ bl FUN_02058848
+ mov r0, #0x0
+ strb r0, [r4, #0x1]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205E728
+FUN_0205E728: ; 0x0205E728
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E854
+ cmp r0, #0x0
+ beq _0205E750
+ ldr r6, _0205E754 ; =0x020F7390
+_0205E740:
+ ldrb r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205E740
+_0205E750:
+ pop {r4-r6, pc}
+ nop
+_0205E754: .word 0x020F7390
+
+ thumb_func_start FUN_0205E758
+FUN_0205E758: ; 0x0205E758
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0205E75C
+FUN_0205E75C: ; 0x0205E75C
+ push {r3, lr}
+ bl FUN_020585B0
+ mov r1, #0x0
+ strb r1, [r0, #0x1]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205E768
+FUN_0205E768: ; 0x0205E768
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205886C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E8F4
+ cmp r0, #0x1
+ bne _0205E7A0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205E940
+ cmp r0, #0x1
+ bne _0205E7A0
+ add r0, r5, #0x0
+ bl FUN_0205883C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205E7A0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205E7A4
+FUN_0205E7A4: ; 0x0205E7A4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0205B080
+ cmp r0, #0x0
+ bne _0205E7B6
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205E7B6:
+ add r0, r5, #0x0
+ bl FUN_02058848
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E7C4
+FUN_0205E7C4: ; 0x0205E7C4
+ push {r4-r7, lr}
+ sub sp, #0xc
+ mov r1, #0x0
+ add r4, r0, #0x0
+ str r1, [sp, #0x8]
+ bl FUN_02058488
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058450
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205C9E8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02058578
+ ldr r1, [sp, #0x0]
+ add r7, r0, #0x0
+ cmp r1, #0x8
+ bhi _0205E84C
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205E7FE: ; jump table (using 16-bit offset)
+ .short _0205E84C - _0205E7FE - 2; case 0
+ .short _0205E810 - _0205E7FE - 2; case 1
+ .short _0205E810 - _0205E7FE - 2; case 2
+ .short _0205E810 - _0205E7FE - 2; case 3
+ .short _0205E810 - _0205E7FE - 2; case 4
+ .short _0205E810 - _0205E7FE - 2; case 5
+ .short _0205E810 - _0205E7FE - 2; case 6
+ .short _0205E810 - _0205E7FE - 2; case 7
+ .short _0205E810 - _0205E7FE - 2; case 8
+_0205E810:
+ add r1, sp, #0x4
+ add r2, sp, #0x8
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ bne _0205E84C
+_0205E81E:
+ ldr r0, [sp, #0x4]
+ cmp r4, r0
+ beq _0205E83C
+ bl FUN_02058450
+ cmp r6, r0
+ bne _0205E83C
+ ldr r0, [sp, #0x4]
+ bl FUN_0205C9E8
+ cmp r5, r0
+ bne _0205E83C
+ ldr r0, [sp, #0x4]
+ add sp, #0xc
+ pop {r4-r7, pc}
+_0205E83C:
+ add r0, r7, #0x0
+ add r1, sp, #0x4
+ add r2, sp, #0x8
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ beq _0205E81E
+_0205E84C:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E854
+FUN_0205E854: ; 0x0205E854
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02058578
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02058450
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205C9E8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r1, sp, #0x4
+ add r2, sp, #0x8
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ bne _0205E8C6
+_0205E886:
+ ldr r0, [sp, #0x4]
+ cmp r5, r0
+ beq _0205E8B6
+ bl FUN_02058450
+ cmp r7, r0
+ bne _0205E8B6
+ ldr r0, [sp, #0x4]
+ bl FUN_0205C9E8
+ cmp r6, r0
+ bne _0205E8B6
+ ldr r0, [sp, #0x0]
+ ldrb r0, [r0, #0x1]
+ cmp r0, #0x0
+ bne _0205E8B0
+ ldr r1, [sp, #0x0]
+ ldr r2, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0205E8D0
+_0205E8B0:
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0205E8B6:
+ add r0, r4, #0x0
+ add r1, sp, #0x4
+ add r2, sp, #0x8
+ mov r3, #0x1
+ bl FUN_020580F4
+ cmp r0, #0x1
+ beq _0205E886
+_0205E8C6:
+ ldr r1, [sp, #0x0]
+ mov r0, #0x0
+ strb r0, [r1, #0x1]
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0205E8D0
+FUN_0205E8D0: ; 0x0205E8D0
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ mov r0, #0x1
+ add r4, r2, #0x0
+ strb r0, [r5, #0x1]
+ add r0, r4, #0x0
+ bl FUN_02058B2C
+ strh r0, [r5, #0x2]
+ add r0, r4, #0x0
+ bl FUN_02058B4C
+ strh r0, [r5, #0x4]
+ mov r0, #0xff
+ strh r0, [r5, #0x6]
+ str r4, [r5, #0x8]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E8F4
+FUN_0205E8F4: ; 0x0205E8F4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r5, [r1, #0x8]
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02058B4C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B14
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02058B24
+ cmp r4, r7
+ bne _0205E91E
+ cmp r6, r0
+ beq _0205E93A
+_0205E91E:
+ add r0, r5, #0x0
+ bl FUN_02058854
+ cmp r0, #0x1
+ beq _0205E936
+ mov r1, #0x61
+ add r0, r5, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02058424
+ cmp r0, #0x0
+ bne _0205E93A
+_0205E936:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0205E93A:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E940
+FUN_0205E940: ; 0x0205E940
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ bl FUN_02058B2C
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_02058B4C
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x8]
+ bl FUN_02058B2C
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x8]
+ bl FUN_02058B4C
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x8]
+ bl FUN_02058B14
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ bl FUN_02058B24
+ add r3, r0, #0x0
+ ldr r0, [sp, #0x8]
+ cmp r4, r0
+ bne _0205E986
+ cmp r6, r7
+ bne _0205E986
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205E986:
+ ldr r2, [sp, #0x4]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02059E80
+ add r5, r0, #0x0
+ bl FUN_02059BF4
+ add r4, r4, r0
+ add r0, r5, #0x0
+ bl FUN_02059C00
+ add r1, r6, r0
+ ldr r0, [sp, #0x8]
+ cmp r4, r0
+ bne _0205E9AA
+ cmp r1, r7
+ beq _0205E9C0
+_0205E9AA:
+ add r0, r5, #0x0
+ mov r1, #0xc
+ bl FUN_0205AFDC
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_0205AE0C
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0205E9C0:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205E9C8
+FUN_0205E9C8: ; 0x0205E9C8
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ mov r1, #0x8
+ bl FUN_0205858C
+ strb r5, [r0, #0x1]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02058544
+ add r0, r4, #0x0
+ bl FUN_02058848
+ mov r1, #0x1
+ add r0, r4, #0x0
+ lsl r1, r1, #0x14
+ bl FUN_02058410
+ ldr r5, _0205EA0C ; =0x020F7398
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058B94
+ add sp, #0xc
+ pop {r4-r5, pc}
+ nop
+_0205EA0C: .word 0x020F7398
+
+ thumb_func_start FUN_0205EA10
+FUN_0205EA10: ; 0x0205EA10
+ ldr r3, _0205EA18 ; =FUN_0205E9C8
+ mov r1, #0x0
+ bx r3
+ nop
+_0205EA18: .word FUN_0205E9C8
+
+ thumb_func_start FUN_0205EA1C
+FUN_0205EA1C: ; 0x0205EA1C
+ ldr r3, _0205EA24 ; =FUN_0205E9C8
+ mov r1, #0x1
+ bx r3
+ nop
+_0205EA24: .word FUN_0205E9C8
+
+ thumb_func_start FUN_0205EA28
+FUN_0205EA28: ; 0x0205EA28
+ ldr r3, _0205EA30 ; =FUN_0205E9C8
+ mov r1, #0x2
+ bx r3
+ nop
+_0205EA30: .word FUN_0205E9C8
+
+ thumb_func_start FUN_0205EA34
+FUN_0205EA34: ; 0x0205EA34
+ ldr r3, _0205EA3C ; =FUN_0205E9C8
+ mov r1, #0x3
+ bx r3
+ nop
+_0205EA3C: .word FUN_0205E9C8
+
+ thumb_func_start FUN_0205EA40
+FUN_0205EA40: ; 0x0205EA40
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_020585B0
+ ldr r6, _0205EA60 ; =0x020F7380
+ add r4, r0, #0x0
+_0205EA4C:
+ ldrb r2, [r4, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ ldr r2, [r6, r2]
+ blx r2
+ cmp r0, #0x1
+ beq _0205EA4C
+ pop {r4-r6, pc}
+ nop
+_0205EA60: .word 0x020F7380
+
+ thumb_func_start FUN_0205EA64
+FUN_0205EA64: ; 0x0205EA64
+ push {r3, lr}
+ bl FUN_0205EB20
+ cmp r0, #0x0
+ beq _0205EA72
+ bl MOD05_021E4DE4
+_0205EA72:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205EA74
+FUN_0205EA74: ; 0x0205EA74
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_020585B0
+ add r5, r0, #0x0
+ mov r1, #0x0
+ strb r1, [r5, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0205EB14
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ bne _0205EAA6
+ ldr r5, _0205EAAC ; =0x020F73A4
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r2, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02058B94
+_0205EAA6:
+ add sp, #0xc
+ pop {r4-r5, pc}
+ nop
+_0205EAAC: .word 0x020F73A4
+
+ thumb_func_start FUN_0205EAB0
+FUN_0205EAB0: ; 0x0205EAB0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldrb r1, [r4, #0x2]
+ add r5, r0, #0x0
+ cmp r1, #0x0
+ bne _0205EACA
+ ldrb r1, [r4, #0x1]
+ bl MOD06_0224CECC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205EB14
+_0205EACA:
+ add r0, r5, #0x0
+ bl FUN_02058848
+ add r0, r5, #0x0
+ bl FUN_0205886C
+ ldrb r0, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205EAE0
+FUN_0205EAE0: ; 0x0205EAE0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldrb r1, [r4, #0x2]
+ add r5, r0, #0x0
+ cmp r1, #0x0
+ bne _0205EB0E
+ bl FUN_0205EB20
+ cmp r0, #0x0
+ bne _0205EB0E
+ add r0, r5, #0x0
+ bl FUN_02058934
+ cmp r0, #0x1
+ bne _0205EB0E
+ ldrb r1, [r4, #0x1]
+ add r0, r5, #0x0
+ bl MOD06_0224CECC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0205EB14
+_0205EB0E:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205EB14
+FUN_0205EB14: ; 0x0205EB14
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020585B0
+ str r4, [r0, #0x4]
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205EB20
+FUN_0205EB20: ; 0x0205EB20
+ push {r3, lr}
+ bl FUN_020585B0
+ ldr r0, [r0, #0x4]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205EB2C
+FUN_0205EB2C: ; 0x0205EB2C
+ push {r3, lr}
+ bl FUN_020585B0
+ mov r1, #0x1
+ strb r1, [r0, #0x2]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205EB38
+FUN_0205EB38: ; 0x0205EB38
+ push {r4-r7, lr}
+ sub sp, #0x24
+ ldr r3, _0205EBE0 ; =0x020F73B0
+ add r2, sp, #0xc
+ add r4, r0, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ mov r1, #0x5b
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_02016998
+ mov r2, #0x5b
+ add r7, r0, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ bl MI_CpuFill8
+ add r0, r7, #0x0
+ add r1, sp, #0xc
+ mov r2, #0x2
+ mov r3, #0xb
+ bl MOD05_021D959C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, _0205EBE4 ; =0x000034D8
+ mov r2, #0x0
+ str r0, [sp, #0x8]
+ add r0, r7, #0x0
+ mov r1, #0x55
+ add r3, r2, #0x0
+ bl MOD05_021D967C
+ ldr r0, _0205EBE4 ; =0x000034D8
+ mov r1, #0x55
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ mov r2, #0x2
+ mov r3, #0x0
+ bl MOD05_021D96F4
+ ldr r0, _0205EBE4 ; =0x000034D8
+ mov r1, #0x55
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ mov r2, #0x3
+ mov r3, #0x0
+ bl MOD05_021D9708
+ mov r2, #0x1
+ ldr r0, _0205EBE4 ; =0x000034D8
+ str r2, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ mov r1, #0x55
+ mov r3, #0x0
+ bl MOD05_021D971C
+ ldr r4, _0205EBE8 ; =0x020F73C8
+ mov r6, #0x0
+ add r5, r7, #0x0
+_0205EBC0:
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl MOD05_021D9820
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r6, r6, #0x1
+ add r4, #0x34
+ add r5, r5, #0x4
+ cmp r6, #0x2
+ blo _0205EBC0
+ add r0, r7, #0x0
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_0205EBE0: .word 0x020F73B0
+_0205EBE4: .word 0x000034D8
+_0205EBE8: .word 0x020F73C8
+
+ thumb_func_start FUN_0205EBEC
+FUN_0205EBEC: ; 0x0205EBEC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r6, #0x59
+ mov r4, #0x0
+ add r5, r7, #0x0
+ lsl r6, r6, #0x2
+_0205EBF8:
+ ldr r0, [r5, r6]
+ cmp r0, #0x0
+ beq _0205EC02
+ bl FUN_0200C3DC
+_0205EC02:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x2
+ blt _0205EBF8
+ add r0, r7, #0x0
+ bl MOD05_021D99F8
+ add r0, r7, #0x0
+ bl FUN_02016A18
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205EC18
+FUN_0205EC18: ; 0x0205EC18
+ push {r3-r7, lr}
+ mov r7, #0x1
+ mov r6, #0x59
+ str r0, [sp, #0x0]
+ mov r4, #0x0
+ add r5, r0, #0x0
+ lsl r7, r7, #0xc
+ lsl r6, r6, #0x2
+_0205EC28:
+ ldr r0, [r5, r6]
+ cmp r0, #0x0
+ beq _0205EC36
+ ldr r0, [r0, #0x0]
+ add r1, r7, #0x0
+ bl FUN_020201E4
+_0205EC36:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x2
+ blt _0205EC28
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0201FDEC
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205EC48
+FUN_0205EC48: ; 0x0205EC48
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r4, r1, #0x0
+ add r6, r3, #0x0
+ bl FUN_0200C714
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0200C714
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205EC6C
+FUN_0205EC6C: ; 0x0205EC6C
+ push {r3, lr}
+ cmp r1, #0x2
+ bhs _0205EC82
+ lsl r1, r1, #0x2
+ add r1, r0, r1
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ add r1, r2, #0x0
+ bl FUN_0200C644
+_0205EC82:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0205EC84
+FUN_0205EC84: ; 0x0205EC84
+ ldr r3, _0205EC88 ; =FUN_020462E4
+ bx r3
+ .balign 4
+_0205EC88: .word FUN_020462E4
+
+ thumb_func_start FUN_0205EC8C
+FUN_0205EC8C: ; 0x0205EC8C
+ ldr r3, _0205EC90 ; =FUN_0204630C
+ bx r3
+ .balign 4
+_0205EC90: .word FUN_0204630C
+
+ thumb_func_start FUN_0205EC94
+FUN_0205EC94: ; 0x0205EC94
+ ldr r3, _0205EC98 ; =FUN_020462B8
+ bx r3
+ .balign 4
+_0205EC98: .word FUN_020462B8
+
+ thumb_func_start FUN_0205EC9C
+FUN_0205EC9C: ; 0x0205EC9C
+ push {r3, lr}
+ cmp r1, #0x0
+ beq _0205ECB6
+ cmp r1, #0x1
+ beq _0205ECAC
+ cmp r1, #0x2
+ beq _0205ECC0
+ b _0205ECCA
+_0205ECAC:
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0205EC84
+ b _0205ECCE
+_0205ECB6:
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0205EC8C
+ b _0205ECCE
+_0205ECC0:
+ lsl r1, r2, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205ECCA:
+ bl ErrorHandling
+_0205ECCE:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205ECD4
+FUN_0205ECD4: ; 0x0205ECD4
+ ldr r3, _0205ECDC ; =FUN_0205EC84
+ mov r1, #0x96
+ lsl r1, r1, #0x4
+ bx r3
+ .balign 4
+_0205ECDC: .word FUN_0205EC84
+
+ thumb_func_start FUN_0205ECE0
+FUN_0205ECE0: ; 0x0205ECE0
+ ldr r3, _0205ECE8 ; =FUN_0205EC94
+ mov r1, #0x96
+ lsl r1, r1, #0x4
+ bx r3
+ .balign 4
+_0205ECE8: .word FUN_0205EC94
+
+ thumb_func_start FUN_0205ECEC
+FUN_0205ECEC: ; 0x0205ECEC
+ ldr r3, _0205ECF4 ; =FUN_0205EC94
+ ldr r1, _0205ECF8 ; =0x0000098D
+ bx r3
+ nop
+_0205ECF4: .word FUN_0205EC94
+_0205ECF8: .word 0x0000098D
+
+ thumb_func_start FUN_0205ECFC
+FUN_0205ECFC: ; 0x0205ECFC
+ ldr r3, _0205ED04 ; =FUN_0205EC84
+ ldr r1, _0205ED08 ; =0x00000964
+ bx r3
+ nop
+_0205ED04: .word FUN_0205EC84
+_0205ED08: .word 0x00000964
+
+ thumb_func_start FUN_0205ED0C
+FUN_0205ED0C: ; 0x0205ED0C
+ ldr r3, _0205ED14 ; =FUN_0205EC94
+ ldr r1, _0205ED18 ; =0x00000964
+ bx r3
+ nop
+_0205ED14: .word FUN_0205EC94
+_0205ED18: .word 0x00000964
+
+ thumb_func_start FUN_0205ED1C
+FUN_0205ED1C: ; 0x0205ED1C
+ ldr r3, _0205ED24 ; =FUN_0205EC84
+ ldr r1, _0205ED28 ; =0x00000961
+ bx r3
+ nop
+_0205ED24: .word FUN_0205EC84
+_0205ED28: .word 0x00000961
+
+ thumb_func_start FUN_0205ED2C
+FUN_0205ED2C: ; 0x0205ED2C
+ ldr r3, _0205ED34 ; =FUN_0205EC8C
+ ldr r1, _0205ED38 ; =0x00000961
+ bx r3
+ nop
+_0205ED34: .word FUN_0205EC8C
+_0205ED38: .word 0x00000961
+
+ thumb_func_start FUN_0205ED3C
+FUN_0205ED3C: ; 0x0205ED3C
+ ldr r3, _0205ED44 ; =FUN_0205EC94
+ ldr r1, _0205ED48 ; =0x00000961
+ bx r3
+ nop
+_0205ED44: .word FUN_0205EC94
+_0205ED48: .word 0x00000961
+
+ thumb_func_start FUN_0205ED4C
+FUN_0205ED4C: ; 0x0205ED4C
+ ldr r3, _0205ED54 ; =FUN_0205EC84
+ ldr r1, _0205ED58 ; =0x00000965
+ bx r3
+ nop
+_0205ED54: .word FUN_0205EC84
+_0205ED58: .word 0x00000965
+
+ thumb_func_start FUN_0205ED5C
+FUN_0205ED5C: ; 0x0205ED5C
+ ldr r3, _0205ED64 ; =FUN_0205EC8C
+ ldr r1, _0205ED68 ; =0x00000965
+ bx r3
+ nop
+_0205ED64: .word FUN_0205EC8C
+_0205ED68: .word 0x00000965
+
+ thumb_func_start FUN_0205ED6C
+FUN_0205ED6C: ; 0x0205ED6C
+ ldr r3, _0205ED74 ; =FUN_0205EC94
+ ldr r1, _0205ED78 ; =0x00000965
+ bx r3
+ nop
+_0205ED74: .word FUN_0205EC94
+_0205ED78: .word 0x00000965
+
+ thumb_func_start FUN_0205ED7C
+FUN_0205ED7C: ; 0x0205ED7C
+ ldr r3, _0205ED84 ; =FUN_0205EC84
+ ldr r1, _0205ED88 ; =0x0000096D
+ bx r3
+ nop
+_0205ED84: .word FUN_0205EC84
+_0205ED88: .word 0x0000096D
+
+ thumb_func_start FUN_0205ED8C
+FUN_0205ED8C: ; 0x0205ED8C
+ ldr r3, _0205ED94 ; =FUN_0205EC8C
+ ldr r1, _0205ED98 ; =0x0000096D
+ bx r3
+ nop
+_0205ED94: .word FUN_0205EC8C
+_0205ED98: .word 0x0000096D
+
+ thumb_func_start FUN_0205ED9C
+FUN_0205ED9C: ; 0x0205ED9C
+ ldr r3, _0205EDA4 ; =FUN_0205EC94
+ ldr r1, _0205EDA8 ; =0x0000096D
+ bx r3
+ nop
+_0205EDA4: .word FUN_0205EC94
+_0205EDA8: .word 0x0000096D
+
+ thumb_func_start FUN_0205EDAC
+FUN_0205EDAC: ; 0x0205EDAC
+ ldr r3, _0205EDB4 ; =FUN_0205EC84
+ ldr r1, _0205EDB8 ; =0x0000096E
+ bx r3
+ nop
+_0205EDB4: .word FUN_0205EC84
+_0205EDB8: .word 0x0000096E
+
+ thumb_func_start FUN_0205EDBC
+FUN_0205EDBC: ; 0x0205EDBC
+ ldr r3, _0205EDC4 ; =FUN_0205EC84
+ ldr r1, _0205EDC8 ; =0x0000096F
+ bx r3
+ nop
+_0205EDC4: .word FUN_0205EC84
+_0205EDC8: .word 0x0000096F
+
+ thumb_func_start FUN_0205EDCC
+FUN_0205EDCC: ; 0x0205EDCC
+ ldr r3, _0205EDD4 ; =FUN_0205EC84
+ mov r1, #0x97
+ lsl r1, r1, #0x4
+ bx r3
+ .balign 4
+_0205EDD4: .word FUN_0205EC84
+
+ thumb_func_start FUN_0205EDD8
+FUN_0205EDD8: ; 0x0205EDD8
+ ldr r3, _0205EDE0 ; =FUN_0205EC84
+ ldr r1, _0205EDE4 ; =0x00000971
+ bx r3
+ nop
+_0205EDE0: .word FUN_0205EC84
+_0205EDE4: .word 0x00000971
+
+ thumb_func_start FUN_0205EDE8
+FUN_0205EDE8: ; 0x0205EDE8
+ ldr r3, _0205EDF0 ; =FUN_0205EC84
+ ldr r1, _0205EDF4 ; =0x00000972
+ bx r3
+ nop
+_0205EDF0: .word FUN_0205EC84
+_0205EDF4: .word 0x00000972
+
+ thumb_func_start FUN_0205EDF8
+FUN_0205EDF8: ; 0x0205EDF8
+ ldr r3, _0205EE00 ; =FUN_0205EC84
+ ldr r1, _0205EE04 ; =0x00000973
+ bx r3
+ nop
+_0205EE00: .word FUN_0205EC84
+_0205EE04: .word 0x00000973
+
+ thumb_func_start FUN_0205EE08
+FUN_0205EE08: ; 0x0205EE08
+ push {r3, lr}
+ cmp r1, #0x4
+ bhi _0205EE4A
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205EE1A: ; jump table (using 16-bit offset)
+ .short _0205EE24 - _0205EE1A - 2; case 0
+ .short _0205EE2C - _0205EE1A - 2; case 1
+ .short _0205EE34 - _0205EE1A - 2; case 2
+ .short _0205EE3C - _0205EE1A - 2; case 3
+ .short _0205EE44 - _0205EE1A - 2; case 4
+_0205EE24:
+ ldr r1, _0205EE4C ; =0x00000968
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE2C:
+ ldr r1, _0205EE50 ; =0x00000969
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE34:
+ ldr r1, _0205EE54 ; =0x0000096A
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE3C:
+ ldr r1, _0205EE58 ; =0x0000096B
+ bl FUN_0205EC84
+ pop {r3, pc}
+_0205EE44:
+ ldr r1, _0205EE5C ; =0x0000096C
+ bl FUN_0205EC84
+_0205EE4A:
+ pop {r3, pc}
+ .balign 4
+_0205EE4C: .word 0x00000968
+_0205EE50: .word 0x00000969
+_0205EE54: .word 0x0000096A
+_0205EE58: .word 0x0000096B
+_0205EE5C: .word 0x0000096C
+
+ thumb_func_start FUN_0205EE60
+FUN_0205EE60: ; 0x0205EE60
+ push {r3, lr}
+ cmp r1, #0x4
+ bhi _0205EEA2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205EE72: ; jump table (using 16-bit offset)
+ .short _0205EE7C - _0205EE72 - 2; case 0
+ .short _0205EE84 - _0205EE72 - 2; case 1
+ .short _0205EE8C - _0205EE72 - 2; case 2
+ .short _0205EE94 - _0205EE72 - 2; case 3
+ .short _0205EE9C - _0205EE72 - 2; case 4
+_0205EE7C:
+ ldr r1, _0205EEA4 ; =0x00000968
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE84:
+ ldr r1, _0205EEA8 ; =0x00000969
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE8C:
+ ldr r1, _0205EEAC ; =0x0000096A
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE94:
+ ldr r1, _0205EEB0 ; =0x0000096B
+ bl FUN_0205EC94
+ pop {r3, pc}
+_0205EE9C:
+ ldr r1, _0205EEB4 ; =0x0000096C
+ bl FUN_0205EC94
+_0205EEA2:
+ pop {r3, pc}
+ .balign 4
+_0205EEA4: .word 0x00000968
+_0205EEA8: .word 0x00000969
+_0205EEAC: .word 0x0000096A
+_0205EEB0: .word 0x0000096B
+_0205EEB4: .word 0x0000096C
+
+ thumb_func_start FUN_0205EEB8
+FUN_0205EEB8: ; 0x0205EEB8
+ push {r3, lr}
+ mov r2, #0x0
+ cmp r1, #0x5
+ bhi _0205EF0A
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205EECC: ; jump table (using 16-bit offset)
+ .short _0205EF0A - _0205EECC - 2; case 0
+ .short _0205EED8 - _0205EECC - 2; case 1
+ .short _0205EEE2 - _0205EECC - 2; case 2
+ .short _0205EEEE - _0205EECC - 2; case 3
+ .short _0205EEF8 - _0205EECC - 2; case 4
+ .short _0205EF02 - _0205EECC - 2; case 5
+_0205EED8:
+ ldr r1, _0205EF10 ; =0x0000097F
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EEE2:
+ mov r1, #0x26
+ lsl r1, r1, #0x6
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EEEE:
+ ldr r1, _0205EF14 ; =0x00000981
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EEF8:
+ ldr r1, _0205EF18 ; =0x00000982
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+ b _0205EF0A
+_0205EF02:
+ ldr r1, _0205EF1C ; =0x00000983
+ bl FUN_0205EC94
+ add r2, r0, #0x0
+_0205EF0A:
+ add r0, r2, #0x0
+ pop {r3, pc}
+ nop
+_0205EF10: .word 0x0000097F
+_0205EF14: .word 0x00000981
+_0205EF18: .word 0x00000982
+_0205EF1C: .word 0x00000983
+
+ thumb_func_start FUN_0205EF20
+FUN_0205EF20: ; 0x0205EF20
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ ldr r1, _0205F0E4 ; =0x00000132
+ add r6, r0, #0x0
+ mov r5, #0x0
+ cmp r4, r1
+ bgt _0205EF7E
+ blt _0205EF32
+ b _0205F036
+_0205EF32:
+ cmp r4, #0xc9
+ bgt _0205EF60
+ blt _0205EF3A
+ b _0205F084
+_0205EF3A:
+ cmp r4, #0x4b
+ bgt _0205EF58
+ add r1, r4, #0x0
+ sub r1, #0x48
+ bmi _0205EF5E
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205EF50: ; jump table (using 16-bit offset)
+ .short _0205F06A - _0205EF50 - 2; case 0
+ .short _0205F06A - _0205EF50 - 2; case 1
+ .short _0205F06A - _0205EF50 - 2; case 2
+ .short _0205F06A - _0205EF50 - 2; case 3
+_0205EF58:
+ cmp r4, #0xb9
+ bne _0205EF5E
+ b _0205F0D2
+_0205EF5E:
+ b _0205F0E0
+_0205EF60:
+ add r2, r1, #0x0
+ sub r2, #0x32
+ cmp r4, r2
+ bgt _0205EF76
+ sub r1, #0x32
+ cmp r4, r1
+ blt _0205EF70
+ b _0205F09E
+_0205EF70:
+ cmp r4, #0xfb
+ beq _0205F018
+ b _0205F0E0
+_0205EF76:
+ sub r0, r1, #0x1
+ cmp r4, r0
+ beq _0205F036
+ b _0205F0E0
+_0205EF7E:
+ add r2, r1, #0x0
+ add r2, #0x5d
+ cmp r4, r2
+ bgt _0205EFC8
+ add r2, r1, #0x0
+ add r2, #0x5d
+ cmp r4, r2
+ blt _0205EF90
+ b _0205F0B8
+_0205EF90:
+ add r2, r1, #0x1
+ cmp r4, r2
+ bgt _0205EF9E
+ add r0, r2, #0x0
+ cmp r4, r0
+ beq _0205F036
+ b _0205F0E0
+_0205EF9E:
+ add r1, r1, #0x2
+ sub r1, r4, r1
+ cmp r1, #0xa
+ bhi _0205EFD6
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205EFB2: ; jump table (using 16-bit offset)
+ .short _0205F036 - _0205EFB2 - 2; case 0
+ .short _0205F036 - _0205EFB2 - 2; case 1
+ .short _0205F036 - _0205EFB2 - 2; case 2
+ .short _0205F0E0 - _0205EFB2 - 2; case 3
+ .short _0205EFFC - _0205EFB2 - 2; case 4
+ .short _0205F0E0 - _0205EFB2 - 2; case 5
+ .short _0205EFE0 - _0205EFB2 - 2; case 6
+ .short _0205F0E0 - _0205EFB2 - 2; case 7
+ .short _0205EFEE - _0205EFB2 - 2; case 8
+ .short _0205F0E0 - _0205EFB2 - 2; case 9
+ .short _0205F00A - _0205EFB2 - 2; case 10
+_0205EFC8:
+ ldr r0, _0205F0E8 ; =0x000001EE
+ cmp r4, r0
+ bgt _0205EFD8
+ bge _0205F036
+ sub r0, #0x48
+ cmp r4, r0
+ beq _0205F026
+_0205EFD6:
+ b _0205F0E0
+_0205EFD8:
+ add r0, r0, #0x3
+ cmp r4, r0
+ beq _0205F036
+ b _0205F0E0
+_0205EFE0:
+ ldr r1, _0205F0EC ; =0x00000984
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
+_0205EFEE:
+ ldr r1, _0205F0EC ; =0x00000984
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F4 ; =0x00000429
+ b _0205F0E0
+_0205EFFC:
+ ldr r1, _0205F0F8 ; =0x0000098E
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
+_0205F00A:
+ ldr r1, _0205F0FC ; =0x0000098F
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F0F0 ; =0x0000042E
+ b _0205F0E0
+_0205F018:
+ ldr r1, _0205F100 ; =0x00000995
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F104 ; =0x0000042D
+ b _0205F0E0
+_0205F026:
+ ldr r1, _0205F108 ; =0x00000993
+ add r0, r6, #0x0
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F10C ; =0x0000044A
+ b _0205F0E0
+_0205F036:
+ ldr r1, _0205F110 ; =0x00000985
+ add r0, r6, #0x0
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F054
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F050
+ mov r5, #0xfe
+ lsl r5, r5, #0x2
+ b _0205F0E0
+_0205F050:
+ ldr r5, _0205F114 ; =0x00000415
+ b _0205F0E0
+_0205F054:
+ ldr r0, _0205F118 ; =0x00000131
+ cmp r4, r0
+ bne _0205F0E0
+ ldr r1, _0205F11C ; =0x00000986
+ add r0, r6, #0x0
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F120 ; =0x0000042B
+ b _0205F0E0
+_0205F06A:
+ ldr r1, _0205F124 ; =0x00000987
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F080
+ ldr r5, _0205F128 ; =0x000003F5
+ b _0205F0E0
+_0205F080:
+ ldr r5, _0205F12C ; =0x00000412
+ b _0205F0E0
+_0205F084:
+ ldr r1, _0205F130 ; =0x00000988
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F09A
+ ldr r5, _0205F134 ; =0x000003FF
+ b _0205F0E0
+_0205F09A:
+ ldr r5, _0205F138 ; =0x0000041C
+ b _0205F0E0
+_0205F09E:
+ ldr r1, _0205F13C ; =0x00000989
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F0B4
+ ldr r5, _0205F140 ; =0x000003EE
+ b _0205F0E0
+_0205F0B4:
+ ldr r5, _0205F144 ; =0x0000040B
+ b _0205F0E0
+_0205F0B8:
+ ldr r1, _0205F148 ; =0x0000098A
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0205F0CE
+ ldr r5, _0205F140 ; =0x000003EE
+ b _0205F0E0
+_0205F0CE:
+ ldr r5, _0205F144 ; =0x0000040B
+ b _0205F0E0
+_0205F0D2:
+ ldr r1, _0205F14C ; =0x0000098B
+ add r0, r6, #0x0
+ bl FUN_0205EC94
+ cmp r0, #0x1
+ bne _0205F0E0
+ ldr r5, _0205F150 ; =0x000003E9
+_0205F0E0:
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_0205F0E4: .word 0x00000132
+_0205F0E8: .word 0x000001EE
+_0205F0EC: .word 0x00000984
+_0205F0F0: .word 0x0000042E
+_0205F0F4: .word 0x00000429
+_0205F0F8: .word 0x0000098E
+_0205F0FC: .word 0x0000098F
+_0205F100: .word 0x00000995
+_0205F104: .word 0x0000042D
+_0205F108: .word 0x00000993
+_0205F10C: .word 0x0000044A
+_0205F110: .word 0x00000985
+_0205F114: .word 0x00000415
+_0205F118: .word 0x00000131
+_0205F11C: .word 0x00000986
+_0205F120: .word 0x0000042B
+_0205F124: .word 0x00000987
+_0205F128: .word 0x000003F5
+_0205F12C: .word 0x00000412
+_0205F130: .word 0x00000988
+_0205F134: .word 0x000003FF
+_0205F138: .word 0x0000041C
+_0205F13C: .word 0x00000989
+_0205F140: .word 0x000003EE
+_0205F144: .word 0x0000040B
+_0205F148: .word 0x0000098A
+_0205F14C: .word 0x0000098B
+_0205F150: .word 0x000003E9
+
+ thumb_func_start FUN_0205F154
+FUN_0205F154: ; 0x0205F154
+ ldr r3, _0205F15C ; =FUN_0205EC84
+ ldr r1, _0205F160 ; =0x00000966
+ bx r3
+ nop
+_0205F15C: .word FUN_0205EC84
+_0205F160: .word 0x00000966
+
+ thumb_func_start FUN_0205F164
+FUN_0205F164: ; 0x0205F164
+ ldr r3, _0205F16C ; =FUN_0205EC8C
+ ldr r1, _0205F170 ; =0x00000966
+ bx r3
+ nop
+_0205F16C: .word FUN_0205EC8C
+_0205F170: .word 0x00000966
+
+ thumb_func_start FUN_0205F174
+FUN_0205F174: ; 0x0205F174
+ ldr r3, _0205F17C ; =FUN_0205EC94
+ ldr r1, _0205F180 ; =0x00000966
+ bx r3
+ nop
+_0205F17C: .word FUN_0205EC94
+_0205F180: .word 0x00000966
+
+ thumb_func_start FUN_0205F184
+FUN_0205F184: ; 0x0205F184
+ ldr r3, _0205F18C ; =FUN_0205EC94
+ ldr r1, _0205F190 ; =0x00000978
+ bx r3
+ nop
+_0205F18C: .word FUN_0205EC94
+_0205F190: .word 0x00000978
+
+ thumb_func_start FUN_0205F194
+FUN_0205F194: ; 0x0205F194
+ ldr r3, _0205F19C ; =FUN_0205EC94
+ ldr r1, _0205F1A0 ; =0x00000992
+ bx r3
+ nop
+_0205F19C: .word FUN_0205EC94
+_0205F1A0: .word 0x00000992
+
+ thumb_func_start FUN_0205F1A4
+FUN_0205F1A4: ; 0x0205F1A4
+ ldr r3, _0205F1AC ; =FUN_0205EC94
+ ldr r1, _0205F1B0 ; =0x0000097D
+ bx r3
+ nop
+_0205F1AC: .word FUN_0205EC94
+_0205F1B0: .word 0x0000097D
+
+ thumb_func_start FUN_0205F1B4
+FUN_0205F1B4: ; 0x0205F1B4
+ ldr r3, _0205F1BC ; =FUN_0205EC94
+ ldr r1, _0205F1C0 ; =0x0000097E
+ bx r3
+ nop
+_0205F1BC: .word FUN_0205EC94
+_0205F1C0: .word 0x0000097E
+
+ thumb_func_start FUN_0205F1C4
+FUN_0205F1C4: ; 0x0205F1C4
+ ldr r3, _0205F1CC ; =FUN_0205EC84
+ ldr r1, _0205F1D0 ; =0x0000097C
+ bx r3
+ nop
+_0205F1CC: .word FUN_0205EC84
+_0205F1D0: .word 0x0000097C
+
+ thumb_func_start FUN_0205F1D4
+FUN_0205F1D4: ; 0x0205F1D4
+ ldr r3, _0205F1DC ; =FUN_0205EC8C
+ ldr r1, _0205F1E0 ; =0x0000097C
+ bx r3
+ nop
+_0205F1DC: .word FUN_0205EC8C
+_0205F1E0: .word 0x0000097C
+
+ thumb_func_start FUN_0205F1E4
+FUN_0205F1E4: ; 0x0205F1E4
+ ldr r3, _0205F1EC ; =FUN_0205EC94
+ ldr r1, _0205F1F0 ; =0x0000097C
+ bx r3
+ nop
+_0205F1EC: .word FUN_0205EC94
+_0205F1F0: .word 0x0000097C
+
+ thumb_func_start FUN_0205F1F4
+FUN_0205F1F4: ; 0x0205F1F4
+ ldr r3, _0205F1FC ; =FUN_0205EC84
+ ldr r1, _0205F200 ; =0x00000967
+ bx r3
+ nop
+_0205F1FC: .word FUN_0205EC84
+_0205F200: .word 0x00000967
+
+ thumb_func_start FUN_0205F204
+FUN_0205F204: ; 0x0205F204
+ ldr r3, _0205F20C ; =FUN_0205EC8C
+ ldr r1, _0205F210 ; =0x00000967
+ bx r3
+ nop
+_0205F20C: .word FUN_0205EC8C
+_0205F210: .word 0x00000967
+
+ thumb_func_start FUN_0205F214
+FUN_0205F214: ; 0x0205F214
+ ldr r3, _0205F21C ; =FUN_0205EC94
+ ldr r1, _0205F220 ; =0x00000967
+ bx r3
+ nop
+_0205F21C: .word FUN_0205EC94
+_0205F220: .word 0x00000967
+
+ thumb_func_start FUN_0205F224
+FUN_0205F224: ; 0x0205F224
+ ldr r3, _0205F22C ; =FUN_0205EC84
+ ldr r1, _0205F230 ; =0x00000979
+ bx r3
+ nop
+_0205F22C: .word FUN_0205EC84
+_0205F230: .word 0x00000979
+
+ thumb_func_start FUN_0205F234
+FUN_0205F234: ; 0x0205F234
+ ldr r3, _0205F23C ; =FUN_0205EC8C
+ ldr r1, _0205F240 ; =0x00000979
+ bx r3
+ nop
+_0205F23C: .word FUN_0205EC8C
+_0205F240: .word 0x00000979
+
+ thumb_func_start FUN_0205F244
+FUN_0205F244: ; 0x0205F244
+ ldr r3, _0205F24C ; =FUN_0205EC94
+ ldr r1, _0205F250 ; =0x00000979
+ bx r3
+ nop
+_0205F24C: .word FUN_0205EC94
+_0205F250: .word 0x00000979
+
+ thumb_func_start FUN_0205F254
+FUN_0205F254: ; 0x0205F254
+ ldr r3, _0205F25C ; =FUN_0205EC8C
+ ldr r1, _0205F260 ; =0x00000994
+ bx r3
+ nop
+_0205F25C: .word FUN_0205EC8C
+_0205F260: .word 0x00000994
+
+ thumb_func_start FUN_0205F264
+FUN_0205F264: ; 0x0205F264
+ ldr r3, _0205F26C ; =FUN_0205EC9C
+ ldr r2, _0205F270 ; =0x00000962
+ bx r3
+ nop
+_0205F26C: .word FUN_0205EC9C
+_0205F270: .word 0x00000962
+
+ thumb_func_start FUN_0205F274
+FUN_0205F274: ; 0x0205F274
+ ldr r3, _0205F27C ; =FUN_0205EC84
+ ldr r1, _0205F280 ; =0x0000097A
+ bx r3
+ nop
+_0205F27C: .word FUN_0205EC84
+_0205F280: .word 0x0000097A
+
+ thumb_func_start FUN_0205F284
+FUN_0205F284: ; 0x0205F284
+ ldr r3, _0205F28C ; =FUN_0205EC8C
+ ldr r1, _0205F290 ; =0x0000097A
+ bx r3
+ nop
+_0205F28C: .word FUN_0205EC8C
+_0205F290: .word 0x0000097A
+
+ thumb_func_start FUN_0205F294
+FUN_0205F294: ; 0x0205F294
+ ldr r3, _0205F29C ; =FUN_0205EC94
+ ldr r1, _0205F2A0 ; =0x0000097A
+ bx r3
+ nop
+_0205F29C: .word FUN_0205EC94
+_0205F2A0: .word 0x0000097A
+
+ thumb_func_start FUN_0205F2A4
+FUN_0205F2A4: ; 0x0205F2A4
+ ldr r3, _0205F2AC ; =FUN_0205EC84
+ ldr r1, _0205F2B0 ; =0x0000097B
+ bx r3
+ nop
+_0205F2AC: .word FUN_0205EC84
+_0205F2B0: .word 0x0000097B
+
+ thumb_func_start FUN_0205F2B4
+FUN_0205F2B4: ; 0x0205F2B4
+ ldr r3, _0205F2BC ; =FUN_0205EC8C
+ ldr r1, _0205F2C0 ; =0x0000097B
+ bx r3
+ nop
+_0205F2BC: .word FUN_0205EC8C
+_0205F2C0: .word 0x0000097B
+
+ thumb_func_start FUN_0205F2C4
+FUN_0205F2C4: ; 0x0205F2C4
+ ldr r3, _0205F2CC ; =FUN_0205EC94
+ ldr r1, _0205F2D0 ; =0x0000097B
+ bx r3
+ nop
+_0205F2CC: .word FUN_0205EC94
+_0205F2D0: .word 0x0000097B
+
+ thumb_func_start FUN_0205F2D4
+FUN_0205F2D4: ; 0x0205F2D4
+ ldr r3, _0205F2DC ; =FUN_0205EC9C
+ ldr r2, _0205F2E0 ; =0x00000963
+ bx r3
+ nop
+_0205F2DC: .word FUN_0205EC9C
+_0205F2E0: .word 0x00000963
+
+ thumb_func_start FUN_0205F2E4
+FUN_0205F2E4: ; 0x0205F2E4
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ cmp r4, #0x45
+ blo _0205F2F4
+ bl ErrorHandling
+_0205F2F4:
+ mov r2, #0x9b
+ lsl r2, r2, #0x4
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r4, r2
+ bl FUN_0205EC9C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0205F304
+FUN_0205F304: ; 0x0205F304
+ ldr r3, _0205F30C ; =FUN_0205EC84
+ ldr r1, _0205F310 ; =0x0000098C
+ bx r3
+ nop
+_0205F30C: .word FUN_0205EC84
+_0205F310: .word 0x0000098C
+
+ thumb_func_start FUN_0205F314
+FUN_0205F314: ; 0x0205F314
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_02046380
+ mov r1, #0x1
+ lsl r1, r1, #0xe
+ cmp r5, r1
+ blo _0205F32C
+ lsl r1, r1, #0x1
+ cmp r5, r1
+ bls _0205F334
+_0205F32C:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205F334:
+ cmp r0, #0x0
+ bne _0205F33C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0205F33C:
+ strh r4, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205F344
+FUN_0205F344: ; 0x0205F344
+ push {r3, lr}
+ bl FUN_02046380
+ cmp r0, #0x0
+ bne _0205F352
+ mov r0, #0x0
+ pop {r3, pc}
+_0205F352:
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205F358
+FUN_0205F358: ; 0x0205F358
+ ldr r3, _0205F360 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F364 ; =0x0000403F
+ bx r3
+ .balign 4
+_0205F360: .word FUN_0205F314
+_0205F364: .word 0x0000403F
+
+ thumb_func_start FUN_0205F368
+FUN_0205F368: ; 0x0205F368
+ ldr r3, _0205F370 ; =FUN_0205F344
+ ldr r1, _0205F374 ; =0x0000403F
+ bx r3
+ nop
+_0205F370: .word FUN_0205F344
+_0205F374: .word 0x0000403F
+
+ thumb_func_start FUN_0205F378
+FUN_0205F378: ; 0x0205F378
+ ldr r3, _0205F380 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F384 ; =0x00004030
+ bx r3
+ .balign 4
+_0205F380: .word FUN_0205F314
+_0205F384: .word 0x00004030
+
+ thumb_func_start FUN_0205F388
+FUN_0205F388: ; 0x0205F388
+ ldr r3, _0205F390 ; =FUN_0205F344
+ ldr r1, _0205F394 ; =0x00004030
+ bx r3
+ nop
+_0205F390: .word FUN_0205F344
+_0205F394: .word 0x00004030
+
+ thumb_func_start FUN_0205F398
+FUN_0205F398: ; 0x0205F398
+ push {r3, lr}
+ ldr r1, _0205F3B8 ; =0x00004030
+ bl FUN_0205F344
+ ldr r2, _0205F3BC ; =0x00000183
+ cmp r0, r2
+ bne _0205F3AA
+ add r2, r2, #0x3
+ b _0205F3B2
+_0205F3AA:
+ add r1, r2, #0x3
+ cmp r0, r1
+ bne _0205F3B2
+ add r2, r2, #0x6
+_0205F3B2:
+ add r0, r2, #0x0
+ pop {r3, pc}
+ nop
+_0205F3B8: .word 0x00004030
+_0205F3BC: .word 0x00000183
+
+ thumb_func_start FUN_0205F3C0
+FUN_0205F3C0: ; 0x0205F3C0
+ push {r3, lr}
+ ldr r1, _0205F3E0 ; =0x00004030
+ bl FUN_0205F344
+ ldr r2, _0205F3E4 ; =0x00000183
+ cmp r0, r2
+ bne _0205F3D2
+ add r2, r2, #0x6
+ b _0205F3DA
+_0205F3D2:
+ add r1, r2, #0x3
+ cmp r0, r1
+ beq _0205F3DA
+ add r2, r2, #0x3
+_0205F3DA:
+ add r0, r2, #0x0
+ pop {r3, pc}
+ nop
+_0205F3E0: .word 0x00004030
+_0205F3E4: .word 0x00000183
+
+ thumb_func_start FUN_0205F3E8
+FUN_0205F3E8: ; 0x0205F3E8
+ ldr r3, _0205F3F0 ; =FUN_0205F344
+ ldr r1, _0205F3F4 ; =0x00004035
+ bx r3
+ nop
+_0205F3F0: .word FUN_0205F344
+_0205F3F4: .word 0x00004035
+
+ thumb_func_start FUN_0205F3F8
+FUN_0205F3F8: ; 0x0205F3F8
+ ldr r3, _0205F400 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F404 ; =0x00004035
+ bx r3
+ .balign 4
+_0205F400: .word FUN_0205F314
+_0205F404: .word 0x00004035
+
+ thumb_func_start FUN_0205F408
+FUN_0205F408: ; 0x0205F408
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0205ED8C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205F44C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205F41C
+FUN_0205F41C: ; 0x0205F41C
+ ldr r3, _0205F424 ; =FUN_0205F344
+ ldr r1, _0205F428 ; =0x00004033
+ bx r3
+ nop
+_0205F424: .word FUN_0205F344
+_0205F428: .word 0x00004033
+
+ thumb_func_start FUN_0205F42C
+FUN_0205F42C: ; 0x0205F42C
+ ldr r3, _0205F434 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F438 ; =0x00004033
+ bx r3
+ .balign 4
+_0205F434: .word FUN_0205F314
+_0205F438: .word 0x00004033
+
+ thumb_func_start FUN_0205F43C
+FUN_0205F43C: ; 0x0205F43C
+ ldr r3, _0205F444 ; =FUN_0205F344
+ ldr r1, _0205F448 ; =0x00004034
+ bx r3
+ nop
+_0205F444: .word FUN_0205F344
+_0205F448: .word 0x00004034
+
+ thumb_func_start FUN_0205F44C
+FUN_0205F44C: ; 0x0205F44C
+ ldr r3, _0205F454 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F458 ; =0x00004034
+ bx r3
+ .balign 4
+_0205F454: .word FUN_0205F314
+_0205F458: .word 0x00004034
+
+ thumb_func_start FUN_0205F45C
+FUN_0205F45C: ; 0x0205F45C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bmi _0205F466
+ cmp r4, #0x3
+ blo _0205F46A
+_0205F466:
+ bl ErrorHandling
+_0205F46A:
+ ldr r0, _0205F474 ; =0x020F7430
+ lsl r1, r4, #0x1
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_0205F474: .word 0x020F7430
+
+ thumb_func_start FUN_0205F478
+FUN_0205F478: ; 0x0205F478
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F45C
+ add r2, r0, #0x0
+ ldr r1, _0205F49C ; =0x00004043
+ lsl r2, r2, #0x10
+ add r1, r4, r1
+ lsl r1, r1, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_0205F314
+ pop {r3-r5, pc}
+ nop
+_0205F49C: .word 0x00004043
+
+ thumb_func_start FUN_0205F4A0
+FUN_0205F4A0: ; 0x0205F4A0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, _0205F4C4 ; =0x00004043
+ add r1, r4, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0205F344
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F45C
+ cmp r5, r0
+ bne _0205F4C0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205F4C0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0205F4C4: .word 0x00004043
+
+ thumb_func_start FUN_0205F4C8
+FUN_0205F4C8: ; 0x0205F4C8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bmi _0205F4D2
+ cmp r4, #0x4
+ blt _0205F4D6
+_0205F4D2:
+ bl ErrorHandling
+_0205F4D6:
+ ldr r0, _0205F4E0 ; =0x020F7436
+ lsl r1, r4, #0x1
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_0205F4E0: .word 0x020F7436
+
+ thumb_func_start FUN_0205F4E4
+FUN_0205F4E4: ; 0x0205F4E4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F4C8
+ add r2, r0, #0x0
+ ldr r1, _0205F508 ; =0x00004036
+ lsl r2, r2, #0x10
+ add r1, r4, r1
+ lsl r1, r1, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_0205F314
+ pop {r3-r5, pc}
+ nop
+_0205F508: .word 0x00004036
+
+ thumb_func_start FUN_0205F50C
+FUN_0205F50C: ; 0x0205F50C
+ ldr r2, _0205F51C ; =0x00004036
+ ldr r3, _0205F520 ; =FUN_0205F314
+ add r1, r1, r2
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x0
+ bx r3
+ nop
+_0205F51C: .word 0x00004036
+_0205F520: .word FUN_0205F314
+
+ thumb_func_start FUN_0205F524
+FUN_0205F524: ; 0x0205F524
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, _0205F548 ; =0x00004036
+ add r1, r4, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0205F344
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0205F4C8
+ cmp r5, r0
+ bne _0205F544
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205F544:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0205F548: .word 0x00004036
+
+ thumb_func_start FUN_0205F54C
+FUN_0205F54C: ; 0x0205F54C
+ ldr r3, _0205F554 ; =FUN_0205F314
+ ldr r1, _0205F558 ; =0x0000403A
+ mov r2, #0x0
+ bx r3
+ .balign 4
+_0205F554: .word FUN_0205F314
+_0205F558: .word 0x0000403A
+
+ thumb_func_start FUN_0205F55C
+FUN_0205F55C: ; 0x0205F55C
+ ldr r3, _0205F564 ; =FUN_0205F344
+ ldr r1, _0205F568 ; =0x0000403A
+ bx r3
+ nop
+_0205F564: .word FUN_0205F344
+_0205F568: .word 0x0000403A
+
+ thumb_func_start FUN_0205F56C
+FUN_0205F56C: ; 0x0205F56C
+ push {r4, lr}
+ ldr r1, _0205F58C ; =0x0000403A
+ add r4, r0, #0x0
+ bl FUN_0205F344
+ ldr r2, _0205F590 ; =0x00002710
+ cmp r0, r2
+ bhs _0205F582
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+_0205F582:
+ ldr r1, _0205F58C ; =0x0000403A
+ add r0, r4, #0x0
+ bl FUN_0205F314
+ pop {r4, pc}
+ .balign 4
+_0205F58C: .word 0x0000403A
+_0205F590: .word 0x00002710
+
+ thumb_func_start FUN_0205F594
+FUN_0205F594: ; 0x0205F594
+ ldr r3, _0205F59C ; =FUN_0205F344
+ ldr r1, _0205F5A0 ; =0x0000403B
+ bx r3
+ nop
+_0205F59C: .word FUN_0205F344
+_0205F5A0: .word 0x0000403B
+
+ thumb_func_start FUN_0205F5A4
+FUN_0205F5A4: ; 0x0205F5A4
+ ldr r3, _0205F5AC ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F5B0 ; =0x0000403B
+ bx r3
+ .balign 4
+_0205F5AC: .word FUN_0205F314
+_0205F5B0: .word 0x0000403B
+
+ thumb_func_start FUN_0205F5B4
+FUN_0205F5B4: ; 0x0205F5B4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ lsl r2, r4, #0x10
+ ldr r1, _0205F5D4 ; =0x0000403C
+ lsr r2, r2, #0x10
+ add r5, r0, #0x0
+ bl FUN_0205F314
+ lsr r2, r4, #0x10
+ lsl r2, r2, #0x10
+ ldr r1, _0205F5D4 ; =0x0000403C
+ add r0, r5, #0x0
+ lsr r2, r2, #0x10
+ bl FUN_0205F314
+ pop {r3-r5, pc}
+ .balign 4
+_0205F5D4: .word 0x0000403C
+
+ thumb_func_start FUN_0205F5D8
+FUN_0205F5D8: ; 0x0205F5D8
+ push {r3-r5, lr}
+ ldr r1, _0205F5F4 ; =0x0000403C
+ add r5, r0, #0x0
+ bl FUN_0205F344
+ add r4, r0, #0x0
+ ldr r1, _0205F5F8 ; =0x0000403D
+ add r0, r5, #0x0
+ bl FUN_0205F344
+ lsl r0, r0, #0x10
+ orr r0, r4
+ pop {r3-r5, pc}
+ nop
+_0205F5F4: .word 0x0000403C
+_0205F5F8: .word 0x0000403D
+
+ thumb_func_start FUN_0205F5FC
+FUN_0205F5FC: ; 0x0205F5FC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl rand_LC
+ add r4, r0, #0x0
+ bl rand_LC
+ add r1, r0, #0x0
+ lsl r1, r1, #0x10
+ add r0, r5, #0x0
+ orr r1, r4
+ bl FUN_0205F5B4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205F618
+FUN_0205F618: ; 0x0205F618
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202881C
+ bl FUN_020287A4
+ add r2, r0, #0x0
+ ldr r1, _0205F640 ; =0x41C64E6D
+ add r0, r4, #0x0
+ mul r2, r1
+ ldr r1, _0205F644 ; =0x00003039
+ add r1, r2, r1
+ bl FUN_0205F5B4
+ pop {r3-r5, pc}
+ nop
+_0205F640: .word 0x41C64E6D
+_0205F644: .word 0x00003039
+
+ thumb_func_start FUN_0205F648
+FUN_0205F648: ; 0x0205F648
+ ldr r3, _0205F650 ; =FUN_0205F344
+ ldr r1, _0205F654 ; =0x00004041
+ bx r3
+ nop
+_0205F650: .word FUN_0205F344
+_0205F654: .word 0x00004041
+
+ thumb_func_start FUN_0205F658
+FUN_0205F658: ; 0x0205F658
+ ldr r3, _0205F660 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F664 ; =0x00004041
+ bx r3
+ .balign 4
+_0205F660: .word FUN_0205F314
+_0205F664: .word 0x00004041
+
+ thumb_func_start FUN_0205F668
+FUN_0205F668: ; 0x0205F668
+ push {r4, lr}
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ bl rand_LC
+ mov r1, #0x62
+ bl _s32_div_f
+ add r1, r1, #0x2
+ lsl r1, r1, #0x10
+ add r0, r4, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_0205F658
+ pop {r4, pc}
+
+ thumb_func_start FUN_0205F688
+FUN_0205F688: ; 0x0205F688
+ ldr r3, _0205F690 ; =FUN_0205F344
+ ldr r1, _0205F694 ; =0x0000403E
+ bx r3
+ nop
+_0205F690: .word FUN_0205F344
+_0205F694: .word 0x0000403E
+
+ thumb_func_start FUN_0205F698
+FUN_0205F698: ; 0x0205F698
+ ldr r3, _0205F6A0 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F6A4 ; =0x0000403E
+ bx r3
+ .balign 4
+_0205F6A0: .word FUN_0205F314
+_0205F6A4: .word 0x0000403E
+
+ thumb_func_start FUN_0205F6A8
+FUN_0205F6A8: ; 0x0205F6A8
+ ldr r3, _0205F6B0 ; =FUN_0205F344
+ ldr r1, _0205F6B4 ; =0x00004049
+ bx r3
+ nop
+_0205F6B0: .word FUN_0205F344
+_0205F6B4: .word 0x00004049
+
+ thumb_func_start FUN_0205F6B8
+FUN_0205F6B8: ; 0x0205F6B8
+ ldr r3, _0205F6C0 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F6C4 ; =0x00004049
+ bx r3
+ .balign 4
+_0205F6C0: .word FUN_0205F314
+_0205F6C4: .word 0x00004049
+
+ thumb_func_start FUN_0205F6C8
+FUN_0205F6C8: ; 0x0205F6C8
+ ldr r3, _0205F6D0 ; =FUN_0205F344
+ ldr r1, _0205F6D4 ; =0x00004040
+ bx r3
+ nop
+_0205F6D0: .word FUN_0205F344
+_0205F6D4: .word 0x00004040
+
+ thumb_func_start FUN_0205F6D8
+FUN_0205F6D8: ; 0x0205F6D8
+ ldr r3, _0205F6E0 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F6E4 ; =0x00004040
+ bx r3
+ .balign 4
+_0205F6E0: .word FUN_0205F314
+_0205F6E4: .word 0x00004040
+
+ thumb_func_start FUN_0205F6E8
+FUN_0205F6E8: ; 0x0205F6E8
+ push {r4, lr}
+ ldr r1, _0205F708 ; =0x00004042
+ add r4, r0, #0x0
+ bl FUN_0205F344
+ ldr r2, _0205F70C ; =0x00002710
+ cmp r0, r2
+ bhs _0205F6FE
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+_0205F6FE:
+ ldr r1, _0205F708 ; =0x00004042
+ add r0, r4, #0x0
+ bl FUN_0205F314
+ pop {r4, pc}
+ .balign 4
+_0205F708: .word 0x00004042
+_0205F70C: .word 0x00002710
+
+ thumb_func_start FUN_0205F710
+FUN_0205F710: ; 0x0205F710
+ ldr r3, _0205F718 ; =FUN_0205F344
+ ldr r1, _0205F71C ; =0x00004042
+ bx r3
+ nop
+_0205F718: .word FUN_0205F344
+_0205F71C: .word 0x00004042
+
+ thumb_func_start FUN_0205F720
+FUN_0205F720: ; 0x0205F720
+ ldr r3, _0205F728 ; =FUN_0205F344
+ ldr r1, _0205F72C ; =0x00004046
+ bx r3
+ nop
+_0205F728: .word FUN_0205F344
+_0205F72C: .word 0x00004046
+
+ thumb_func_start FUN_0205F730
+FUN_0205F730: ; 0x0205F730
+ ldr r3, _0205F738 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F73C ; =0x00004046
+ bx r3
+ .balign 4
+_0205F738: .word FUN_0205F314
+_0205F73C: .word 0x00004046
+
+ thumb_func_start FUN_0205F740
+FUN_0205F740: ; 0x0205F740
+ ldr r3, _0205F748 ; =FUN_0205F344
+ ldr r1, _0205F74C ; =0x00004047
+ bx r3
+ nop
+_0205F748: .word FUN_0205F344
+_0205F74C: .word 0x00004047
+
+ thumb_func_start FUN_0205F750
+FUN_0205F750: ; 0x0205F750
+ ldr r3, _0205F758 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F75C ; =0x00004047
+ bx r3
+ .balign 4
+_0205F758: .word FUN_0205F314
+_0205F75C: .word 0x00004047
+
+ thumb_func_start FUN_0205F760
+FUN_0205F760: ; 0x0205F760
+ ldr r3, _0205F768 ; =FUN_0205F344
+ ldr r1, _0205F76C ; =0x00004048
+ bx r3
+ nop
+_0205F768: .word FUN_0205F344
+_0205F76C: .word 0x00004048
+
+ thumb_func_start FUN_0205F770
+FUN_0205F770: ; 0x0205F770
+ ldr r3, _0205F778 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F77C ; =0x00004048
+ bx r3
+ .balign 4
+_0205F778: .word FUN_0205F314
+_0205F77C: .word 0x00004048
+
+ thumb_func_start FUN_0205F780
+FUN_0205F780: ; 0x0205F780
+ ldr r3, _0205F788 ; =FUN_0205F344
+ ldr r1, _0205F78C ; =0x0000404A
+ bx r3
+ nop
+_0205F788: .word FUN_0205F344
+_0205F78C: .word 0x0000404A
+
+ thumb_func_start FUN_0205F790
+FUN_0205F790: ; 0x0205F790
+ ldr r3, _0205F798 ; =FUN_0205F314
+ add r2, r1, #0x0
+ ldr r1, _0205F79C ; =0x0000404A
+ bx r3
+ .balign 4
+_0205F798: .word FUN_0205F314
+_0205F79C: .word 0x0000404A
+
+ thumb_func_start FUN_0205F7A0
+FUN_0205F7A0: ; 0x0205F7A0
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ str r2, [sp, #0x4]
+ bl FUN_020462AC
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DCC
+ mov r2, #0x5
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x6
+ bl memset
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x38]
+ bl FUN_02055320
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x38]
+ bl FUN_0205532C
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ asr r1, r4, #0x4
+ asr r2, r6, #0x4
+ lsr r1, r1, #0x1b
+ lsr r2, r2, #0x1b
+ add r1, r4, r1
+ add r2, r6, r2
+ ldr r0, [r0, #0x28]
+ asr r1, r1, #0x5
+ asr r2, r2, #0x5
+ bl FUN_0203451C
+ bl FUN_02034908
+ cmp r0, #0x0
+ beq _0205F806
+ str r4, [r5, #0x0]
+ str r6, [r5, #0x4]
+ b _0205F812
+_0205F806:
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0, #0x8]
+ str r0, [r5, #0x0]
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0, #0xc]
+ str r0, [r5, #0x4]
+_0205F812:
+ ldr r0, [sp, #0x0]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ bl FUN_020239CC
+ str r0, [r5, #0xc]
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E0C
+ str r0, [sp, #0x8]
+ ldr r0, [r0, #0x0]
+ mov r1, #0x6
+ add r0, r0, #0x4
+ bl _s32_div_f
+ mov r6, #0x0
+ add r4, r5, #0x0
+_0205F83E:
+ ldr r0, [sp, #0x8]
+ lsl r2, r1, #0x2
+ add r0, r0, r2
+ ldrb r2, [r0, #0x6]
+ str r2, [r4, #0x20]
+ ldrb r2, [r0, #0x7]
+ str r2, [r4, #0x24]
+ ldrb r2, [r0, #0x9]
+ strh r2, [r4, #0x2a]
+ ldrb r0, [r0, #0x8]
+ cmp r0, #0x3
+ bls _0205F85A
+ mov r0, #0x4
+ b _0205F85A
+_0205F85A:
+ strh r0, [r4, #0x28]
+ add r0, r1, #0x5
+ mov r1, #0x6
+ bl _s32_div_f
+ add r6, r6, #0x1
+ add r4, #0xc
+ cmp r6, #0x5
+ blt _0205F83E
+ mov r6, #0x4f
+ mov r4, #0x0
+ lsl r6, r6, #0x2
+_0205F872:
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_0205F524
+ cmp r0, #0x0
+ beq _0205F888
+ mov r0, #0x1
+ ldrh r1, [r5, r6]
+ lsl r0, r4
+ orr r0, r1
+ strh r0, [r5, r6]
+_0205F888:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _0205F872
+ ldr r6, _0205F8C0 ; =0x020F7440
+ mov r4, #0x0
+_0205F892:
+ ldrb r2, [r6, #0x0]
+ add r0, r7, #0x0
+ mov r1, #0x2
+ bl FUN_0205F2E4
+ mov r1, #0x49
+ add r2, r5, r4
+ lsl r1, r1, #0x2
+ add r4, r4, #0x1
+ add r6, r6, #0x1
+ strb r0, [r2, r1]
+ cmp r4, #0x14
+ blt _0205F892
+ ldr r0, [sp, #0x0]
+ ldr r2, _0205F8C4 ; =0x02105FA8
+ add r1, r5, #0x0
+ bl FUN_0205F8CC
+ ldr r1, _0205F8C8 ; =0x00000139
+ ldr r0, [sp, #0x4]
+ strb r0, [r5, r1]
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_0205F8C0: .word 0x020F7440
+_0205F8C4: .word 0x02105FA8
+_0205F8C8: .word 0x00000139
+
+ thumb_func_start FUN_0205F8CC
+FUN_0205F8CC: ; 0x0205F8CC
+ push {r3-r7, lr}
+ sub sp, #0x70
+ add r7, r0, #0x0
+ ldr r0, [r7, #0xc]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_020462AC
+ str r0, [sp, #0x0]
+ add r0, sp, #0x28
+ bl FS_InitFile
+ add r0, sp, #0x28
+ add r1, r4, #0x0
+ bl FS_OpenFile
+ cmp r0, #0x0
+ bne _0205F8F8
+ bl ErrorHandling
+ add sp, #0x70
+ pop {r3-r7, pc}
+_0205F8F8:
+ add r0, sp, #0x28
+ add r1, sp, #0x24
+ mov r2, #0x4
+ bl FS_ReadFile
+ cmp r0, #0x0
+ bge _0205F90A
+ bl ErrorHandling
+_0205F90A:
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x4
+ add r6, r0, #0x0
+ bl MI_CpuFill8
+ ldr r1, [sp, #0x24]
+ ldr r0, _0205FA28 ; =0x0000013A
+ mov r4, #0x0
+ strb r1, [r5, r0]
+ ldr r0, [sp, #0x24]
+ cmp r0, #0x0
+ ble _0205FA16
+ mov r0, #0xc
+ str r0, [sp, #0x10]
+ mov r0, #0x3
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ str r0, [sp, #0x4]
+ mov r0, #0xc0
+ str r0, [sp, #0x20]
+ mov r0, #0x30
+ str r0, [sp, #0x1c]
+ mov r0, #0xc0
+ str r0, [sp, #0x18]
+ mov r0, #0x30
+ add r5, #0x5c
+ str r0, [sp, #0x14]
+_0205F94C:
+ add r0, sp, #0x28
+ add r1, r6, #0x0
+ mov r2, #0x4
+ bl FS_ReadFile
+ ldrb r0, [r6, #0x0]
+ cmp r0, #0x1
+ beq _0205F962
+ cmp r0, #0x2
+ beq _0205F98C
+ b _0205F9B2
+_0205F962:
+ ldrb r2, [r6, #0x1]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2
+ bl FUN_0205F2E4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1e
+ ldrb r1, [r5, r4]
+ ldr r2, [sp, #0x8]
+ lsr r0, r0, #0x1c
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r5, r4]
+ ldrb r1, [r5, r4]
+ ldr r0, [sp, #0x4]
+ bic r1, r0
+ mov r0, #0x1
+ orr r0, r1
+ strb r0, [r5, r4]
+ b _0205F9B2
+_0205F98C:
+ ldrb r1, [r6, #0x1]
+ add r0, r7, #0x0
+ bl FUN_02039528
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1e
+ ldrb r1, [r5, r4]
+ ldr r2, [sp, #0x10]
+ lsr r0, r0, #0x1c
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r5, r4]
+ ldrb r1, [r5, r4]
+ ldr r0, [sp, #0xc]
+ bic r1, r0
+ mov r0, #0x1
+ orr r0, r1
+ strb r0, [r5, r4]
+_0205F9B2:
+ ldrb r0, [r6, #0x2]
+ cmp r0, #0x1
+ beq _0205F9BE
+ cmp r0, #0x2
+ beq _0205F9E8
+ b _0205FA0E
+_0205F9BE:
+ ldrb r2, [r6, #0x3]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2
+ bl FUN_0205F2E4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1e
+ ldrb r1, [r5, r4]
+ ldr r2, [sp, #0x18]
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r5, r4]
+ ldrb r1, [r5, r4]
+ ldr r0, [sp, #0x14]
+ bic r1, r0
+ mov r0, #0x10
+ orr r0, r1
+ strb r0, [r5, r4]
+ b _0205FA0E
+_0205F9E8:
+ ldrb r1, [r6, #0x3]
+ add r0, r7, #0x0
+ bl FUN_02039528
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1e
+ ldrb r1, [r5, r4]
+ ldr r2, [sp, #0x20]
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r5, r4]
+ ldrb r1, [r5, r4]
+ ldr r0, [sp, #0x1c]
+ bic r1, r0
+ mov r0, #0x10
+ orr r0, r1
+ strb r0, [r5, r4]
+_0205FA0E:
+ ldr r0, [sp, #0x24]
+ add r4, r4, #0x1
+ cmp r4, r0
+ blt _0205F94C
+_0205FA16:
+ add r0, sp, #0x28
+ bl FS_CloseFile
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ pop {r3-r7, pc}
+ nop
+_0205FA28: .word 0x0000013A
+
+ thumb_func_start FUN_0205FA2C
+FUN_0205FA2C: ; 0x0205FA2C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ add r0, r2, #0x0
+ mov r1, #0x40
+ bl FUN_020169D8
+ ldr r6, [r7, #0xc]
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r6, #0x0
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ add r0, r6, #0x0
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ ldrb r2, [r5, #0x8]
+ add r0, #0x20
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ mov r2, #0xf
+ ldrb r3, [r5, #0xa]
+ bic r0, r2
+ mov r2, #0xf
+ and r2, r3
+ orr r2, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ mov r2, #0xf0
+ bic r0, r2
+ ldrb r2, [r5, #0xb]
+ lsl r2, r2, #0x1c
+ lsr r2, r2, #0x18
+ orr r2, r0
+ add r0, r4, #0x0
+ add r0, #0x32
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ ldrb r2, [r5, #0xc]
+ add r0, #0x33
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ ldrb r2, [r5, #0xd]
+ add r0, #0x22
+ strb r2, [r0, #0x0]
+_0205FAAE:
+ add r0, r5, r1
+ ldrb r2, [r0, #0xe]
+ add r0, r4, r1
+ add r0, #0x2c
+ strb r2, [r0, #0x0]
+ add r0, r1, #0x1
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r1, #0x6
+ blo _0205FAAE
+ ldr r1, _0205FAD4 ; =0x020F96DC
+ add r0, r7, #0x0
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ ldr r0, [r5, #0x14]
+ str r4, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_0205FAD4: .word 0x020F96DC
+
+ thumb_func_start FUN_0205FAD8
+FUN_0205FAD8: ; 0x0205FAD8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0205FAEA
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205FAEA:
+ ldr r0, [r5, #0x14]
+ ldr r4, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x6
+ beq _0205FB04
+ cmp r0, #0x7
+ bne _0205FB0C
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_0205FB04:
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_0205FB0C:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r0, #0x2c
+ add r1, #0xe
+ mov r2, #0x6
+ bl MI_CpuCopy8
+ add r0, r4, #0x0
+ add r0, #0x22
+ ldrb r0, [r0, #0x0]
+ strb r0, [r5, #0xd]
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r5, #0x14]
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+ mov r0, #0x2
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205FB34
+FUN_0205FB34: ; 0x0205FB34
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r6, r0, #0x0
+ ldr r5, [r7, #0xc]
+ add r0, r2, #0x0
+ mov r1, #0x30
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x30
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r5, #0x0
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0206BB28
+ str r0, [r4, #0x1c]
+ add r0, r5, #0x0
+ bl FUN_02079C70
+ str r0, [r4, #0x2c]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ ldrb r0, [r6, #0xd]
+ strb r0, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9AC
+ strb r0, [r4, #0x13]
+ mov r0, #0x0
+ strh r0, [r4, #0x18]
+ ldrb r0, [r6, #0x9]
+ strb r0, [r4, #0x12]
+ add r0, r5, #0x0
+ bl FUN_0202A918
+ str r0, [r4, #0x20]
+ ldr r1, _0205FBB8 ; =0x020F7454
+ add r0, r4, #0x0
+ bl FUN_0207B000
+ add r0, r5, #0x0
+ bl FUN_020238F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0207C2A4
+ ldr r1, _0205FBBC ; =0x020FA6E8
+ add r0, r7, #0x0
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ ldr r0, [r6, #0x14]
+ str r4, [r0, #0x0]
+ mov r0, #0x3
+ pop {r3-r7, pc}
+ nop
+_0205FBB8: .word 0x020F7454
+_0205FBBC: .word 0x020FA6E8
+
+ thumb_func_start FUN_0205FBC0
+FUN_0205FBC0: ; 0x0205FBC0
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0205FBD2
+ mov r0, #0x3
+ pop {r4, pc}
+_0205FBD2:
+ ldr r0, [r4, #0x14]
+ ldr r0, [r0, #0x0]
+ ldrb r1, [r0, #0x14]
+ strb r1, [r4, #0xd]
+ bl FUN_02016A18
+ ldr r1, [r4, #0x14]
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205FBE8
+FUN_0205FBE8: ; 0x0205FBE8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x4
+ bhi _0205FC4A
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0205FC0C: ; jump table (using 16-bit offset)
+ .short _0205FC16 - _0205FC0C - 2; case 0
+ .short _0205FC22 - _0205FC0C - 2; case 1
+ .short _0205FC2C - _0205FC0C - 2; case 2
+ .short _0205FC38 - _0205FC0C - 2; case 3
+ .short _0205FC42 - _0205FC0C - 2; case 4
+_0205FC16:
+ add r1, r5, #0x0
+ mov r2, #0xb
+ bl FUN_0205FA2C
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC22:
+ add r1, r5, #0x0
+ bl FUN_0205FAD8
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC2C:
+ add r1, r5, #0x0
+ mov r2, #0xb
+ bl FUN_0205FB34
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC38:
+ add r1, r5, #0x0
+ bl FUN_0205FBC0
+ str r0, [r4, #0x4]
+ b _0205FC4A
+_0205FC42:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205FC4A:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205FC50
+FUN_0205FC50: ; 0x0205FC50
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02046528
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ bl MI_CpuFill8
+ strb r6, [r4, #0x8]
+ strb r7, [r4, #0x9]
+ add r0, sp, #0x8
+ ldrb r1, [r0, #0x10]
+ add r2, r4, #0x0
+ strb r1, [r4, #0xa]
+ ldrb r1, [r0, #0x14]
+ strb r1, [r4, #0xb]
+ ldrb r1, [r0, #0x18]
+ strb r1, [r4, #0xc]
+ ldrb r0, [r0, #0x1c]
+ ldr r1, _0205FC98 ; =FUN_0205FBE8
+ strb r0, [r4, #0xd]
+ ldr r0, [sp, #0x0]
+ str r5, [r4, #0x14]
+ ldr r0, [r0, #0x10]
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ nop
+_0205FC98: .word FUN_0205FBE8
+
+ thumb_func_start FUN_0205FC9C
+FUN_0205FC9C: ; 0x0205FC9C
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_0203384C
+ cmp r0, #0x0
+ beq _0205FCBC
+ ldrh r1, [r4, #0x12]
+ ldrh r2, [r4, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02038790
+ str r0, [r4, #0x8]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205FCBC:
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ mov r0, #0x2
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205FCC4
+FUN_0205FCC4: ; 0x0205FCC4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0205FCD6
+ mov r0, #0x1
+ pop {r4, pc}
+_0205FCD6:
+ ldr r0, [r4, #0x8]
+ ldr r0, [r0, #0x20]
+ str r0, [r4, #0x0]
+ ldr r0, [r4, #0x8]
+ bl FUN_02016A18
+ mov r0, #0x2
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205FCE8
+FUN_0205FCE8: ; 0x0205FCE8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x0
+ beq _0205FD0A
+ cmp r1, #0x1
+ beq _0205FD14
+ cmp r1, #0x2
+ beq _0205FD1E
+ b _0205FD34
+_0205FD0A:
+ add r1, r5, #0x0
+ bl FUN_0205FC9C
+ str r0, [r4, #0x4]
+ b _0205FD34
+_0205FD14:
+ add r1, r5, #0x0
+ bl FUN_0205FCC4
+ str r0, [r4, #0x4]
+ b _0205FD34
+_0205FD1E:
+ ldrh r1, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020394B8
+ ldr r1, [r4, #0x0]
+ strh r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0205FD34:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0205FD38
+FUN_0205FD38: ; 0x0205FD38
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_02046528
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x18
+ bl MI_CpuFill8
+ strh r5, [r4, #0x12]
+ strh r7, [r4, #0x14]
+ ldr r0, [sp, #0x0]
+ strh r6, [r4, #0x10]
+ ldr r0, [r0, #0x10]
+ ldr r1, _0205FD6C ; =FUN_0205FCE8
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_0205FD6C: .word FUN_0205FCE8
+
+ thumb_func_start FUN_0205FD70
+FUN_0205FD70: ; 0x0205FD70
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ bl FUN_02031190
+ mov r1, #0x1
+ sub r0, r1, r0
+ bl FUN_020316E0
+ add r7, r0, #0x0
+ bne _0205FD96
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0205FD96:
+ ldrh r1, [r5, #0x2]
+ add r0, r6, #0x0
+ bl FUN_020394B8
+ add r4, r0, #0x0
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _0205FDB0
+ cmp r0, #0x1
+ beq _0205FDBC
+ cmp r0, #0x2
+ beq _0205FDC8
+ b _0205FDD2
+_0205FDB0:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl MOD06_02244660
+ strh r0, [r4, #0x0]
+ b _0205FDD2
+_0205FDBC:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl MOD06_022446BC
+ strh r0, [r4, #0x0]
+ b _0205FDD2
+_0205FDC8:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl MOD06_022446E0
+ strh r0, [r4, #0x0]
+_0205FDD2:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0205FDDC
+FUN_0205FDDC: ; 0x0205FDDC
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x4
+ bl MI_CpuFill8
+ strh r5, [r4, #0x0]
+ strh r6, [r4, #0x2]
+ ldr r0, [r7, #0x10]
+ ldr r1, _0205FE0C ; =FUN_0205FD70
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ nop
+_0205FE0C: .word FUN_0205FD70
+
+ thumb_func_start FUN_0205FE10
+FUN_0205FE10: ; 0x0205FE10
+ push {r4-r7, lr}
+ sub sp, #0x14
+ str r0, [sp, #0x0]
+ bl FUN_02029FC8
+ mov r1, #0x35
+ bl FUN_0202A150
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+ cmp r0, #0x14
+ bhs _0205FE30
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FE30:
+ ldr r0, [sp, #0x0]
+ bl FUN_0202A8D8
+ mov r1, #0xd
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ mov r1, #0x0
+ lsr r7, r0, #0x18
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ cmp r7, #0x0
+ beq _0205FEA2
+ cmp r6, #0x0
+ beq _0205FEA2
+ cmp r5, #0x0
+ beq _0205FEA2
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FEA2:
+ ldr r0, [sp, #0x0]
+ bl FUN_02026CC4
+ cmp r7, #0x0
+ bne _0205FEDC
+ mov r1, #0x55
+ bl FUN_02025D94
+ cmp r0, #0x0
+ beq _0205FEC6
+ add r0, r4, #0x0
+ mov r1, #0xd
+ mov r2, #0x1
+ bl FUN_0202A578
+ add sp, #0x14
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0205FEC6:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x0
+ bne _0205FED6
+ add r0, r4, #0x0
+ mov r1, #0xe
+ mov r2, #0x1
+ bl FUN_0202A578
+_0205FED6:
+ add sp, #0x14
+ mov r0, #0x4
+ pop {r4-r7, pc}
+_0205FEDC:
+ ldr r1, [sp, #0x10]
+ cmp r1, #0x32
+ bhs _0205FEE8
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FEE8:
+ cmp r6, #0x0
+ bne _0205FF1C
+ mov r1, #0x56
+ bl FUN_02025D94
+ cmp r0, #0x0
+ beq _0205FF06
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_0202A578
+ add sp, #0x14
+ mov r0, #0x2
+ pop {r4-r7, pc}
+_0205FF06:
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ bne _0205FF16
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x1
+ bl FUN_0202A578
+_0205FF16:
+ add sp, #0x14
+ mov r0, #0x4
+ pop {r4-r7, pc}
+_0205FF1C:
+ cmp r1, #0x64
+ blo _0205FF24
+ cmp r5, #0x0
+ beq _0205FF2A
+_0205FF24:
+ add sp, #0x14
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FF2A:
+ mov r1, #0x57
+ bl FUN_02025D94
+ cmp r0, #0x0
+ beq _0205FF44
+ mov r1, #0x1
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A578
+ add sp, #0x14
+ mov r0, #0x3
+ pop {r4-r7, pc}
+_0205FF44:
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ bne _0205FF54
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r2, #0x1
+ bl FUN_0202A578
+_0205FF54:
+ mov r0, #0x4
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0205FF5C
+FUN_0205FF5C: ; 0x0205FF5C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_02029FC8
+ mov r1, #0x35
+ bl FUN_0202A150
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ cmp r7, #0x14
+ bhs _0205FF7A
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FF7A:
+ add r0, r4, #0x0
+ bl FUN_0202A8D8
+ mov r1, #0xd
+ mov r2, #0x0
+ str r0, [sp, #0x8]
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ mov r1, #0x0
+ ldr r0, [sp, #0x8]
+ add r2, r1, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x8]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r0, [sp, #0x8]
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x2
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x3
+ mov r2, #0x0
+ bl FUN_0202A578
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r6, #0x0
+ beq _0205FFEA
+ cmp r4, #0x0
+ beq _0205FFEA
+ cmp r5, #0x0
+ beq _0205FFEA
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0205FFEA:
+ cmp r6, #0x0
+ bne _02060000
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _0205FFFA
+ add sp, #0xc
+ mov r0, #0x4
+ pop {r4-r7, pc}
+_0205FFFA:
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02060000:
+ cmp r7, #0x32
+ bhs _0206000A
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206000A:
+ cmp r4, #0x0
+ bne _02060020
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _0206001A
+ add sp, #0xc
+ mov r0, #0x5
+ pop {r4-r7, pc}
+_0206001A:
+ add sp, #0xc
+ mov r0, #0x2
+ pop {r4-r7, pc}
+_02060020:
+ cmp r7, #0x64
+ bhs _0206002A
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206002A:
+ cmp r5, #0x0
+ beq _02060034
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02060034:
+ cmp r0, #0x0
+ beq _0206003E
+ add sp, #0xc
+ mov r0, #0x6
+ pop {r4-r7, pc}
+_0206003E:
+ mov r0, #0x3
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02060044
+FUN_02060044: ; 0x02060044
+ add r0, #0xa8
+ ldr r0, [r0, #0x0]
+ ldr r2, [r1, #0x0]
+ ldrh r3, [r0, #0x24]
+ add r2, r3, r2
+ strh r2, [r0, #0x24]
+ ldrh r3, [r0, #0x28]
+ ldr r2, [r1, #0x4]
+ add r2, r3, r2
+ strh r2, [r0, #0x28]
+ ldrh r2, [r0, #0x26]
+ ldr r1, [r1, #0x8]
+ add r1, r2, r1
+ strh r1, [r0, #0x26]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02060064
+FUN_02060064: ; 0x02060064
+ ldr r1, _0206006C ; =0x02E90EDD
+ mul r1, r0
+ add r0, r1, #0x1
+ bx lr
+ .balign 4
+_0206006C: .word 0x02E90EDD
+
+ thumb_func_start FUN_02060070
+FUN_02060070: ; 0x02060070
+ ldr r1, _02060078 ; =0x5D588B65
+ mul r1, r0
+ add r0, r1, #0x1
+ bx lr
+ .balign 4
+_02060078: .word 0x5D588B65
+
+ thumb_func_start FUN_0206007C
+FUN_0206007C: ; 0x0206007C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0202881C
+ bl FUN_020287A4
+ bl FUN_02060070
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202A8D8
+ add r1, r4, #0x0
+ bl FUN_0202A5CC
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020600A0
+FUN_020600A0: ; 0x020600A0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0202A8D8
+ add r6, r0, #0x0
+ bl FUN_0202A5D0
+ bl FUN_02060070
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202A5CC
+ add r0, r4, #0x0
+ bl FUN_02060064
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0202A8CC
+ mov r1, #0xa
+ add r2, sp, #0x0
+ bl FUN_0202A2C4
+ ldr r0, [sp, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020600DC
+FUN_020600DC: ; 0x020600DC
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r0, #0x0
+ bl FUN_0202A8D8
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0202A8CC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202A5D0
+ bl FUN_02060064
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A240
+ add r1, r0, #0x0
+ lsl r1, r1, #0x10
+ add r0, r4, #0x0
+ lsr r1, r1, #0x10
+ mov r2, #0x0
+ bl FUN_0202A538
+ mov r1, #0x18
+ add r5, r0, #0x0
+ mul r5, r1
+ mov r4, #0x0
+ cmp r5, #0x0
+ ble _0206012E
+ ldr r0, [sp, #0x0]
+_02060122:
+ bl FUN_02060064
+ add r4, r4, #0x1
+ str r0, [sp, #0x0]
+ cmp r4, r5
+ blt _02060122
+_0206012E:
+ add r0, r6, #0x0
+ bl FUN_0202A8CC
+ mov r1, #0xa
+ add r2, sp, #0x0
+ bl FUN_0202A2C4
+ ldr r0, [sp, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060144
+FUN_02060144: ; 0x02060144
+ ldr r0, [r0, #0x1c]
+ ldr r1, [r0, #0x0]
+ ldr r0, _02060158 ; =0x000001ED
+ cmp r1, r0
+ bne _02060152
+ mov r0, #0x1
+ bx lr
+_02060152:
+ mov r0, #0x0
+ bx lr
+ nop
+_02060158: .word 0x000001ED
+
+ thumb_func_start FUN_0206015C
+FUN_0206015C: ; 0x0206015C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x10
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r0, #0xb
+ bl MOD06_02244DB0
+ str r0, [r4, #0x0]
+ mov r0, #0xb
+ add r1, r5, #0x0
+ bl MOD06_02245114
+ str r0, [r4, #0x4]
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ strb r0, [r4, #0xd]
+ ldr r0, [r5, #0x10]
+ ldr r1, _02060190 ; =FUN_02060194
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_02060190: .word FUN_02060194
+
+ thumb_func_start FUN_02060194
+FUN_02060194: ; 0x02060194
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0xc]
+ cmp r0, #0x8
+ bls _020601B0
+ b _02060332
+_020601B0:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020601BC: ; jump table (using 16-bit offset)
+ .short _020601CE - _020601BC - 2; case 0
+ .short _020601F2 - _020601BC - 2; case 1
+ .short _020601FE - _020601BC - 2; case 2
+ .short _02060226 - _020601BC - 2; case 3
+ .short _02060232 - _020601BC - 2; case 4
+ .short _020602A2 - _020601BC - 2; case 5
+ .short _020602F0 - _020601BC - 2; case 6
+ .short _020602FC - _020601BC - 2; case 7
+ .short _02060312 - _020601BC - 2; case 8
+_020601CE:
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_0206367C
+ ldrb r0, [r4, #0xd]
+ ldr r1, [r4, #0x4]
+ bl MOD06_02245198
+ ldr r0, [r4, #0x4]
+ bl MOD06_022451F0
+ str r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0204AFC8
+ mov r0, #0x1
+ strb r0, [r4, #0xc]
+ b _02060332
+_020601F2:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ mov r0, #0x2
+ strb r0, [r4, #0xc]
+ b _02060332
+_020601FE:
+ ldr r0, [r6, #0xc]
+ bl FUN_020462AC
+ ldrb r1, [r4, #0xd]
+ cmp r1, #0x0
+ bne _02060210
+ bl FUN_0205F1C4
+ b _02060218
+_02060210:
+ cmp r1, #0x5
+ bne _02060218
+ bl FUN_0205F1D4
+_02060218:
+ ldr r1, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02049160
+ mov r0, #0x3
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060226:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ mov r0, #0x4
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060232:
+ ldr r0, [r6, #0x38]
+ bl FUN_020553A0
+ ldrb r1, [r4, #0xd]
+ add r7, r0, #0x0
+ add r1, r1, #0x1
+ strb r1, [r4, #0xd]
+ ldrb r1, [r4, #0xd]
+ cmp r1, #0x5
+ bhi _02060290
+ add r0, r6, #0x0
+ bl MOD06_02245088
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0205889C
+ ldr r0, [r4, #0x0]
+ add r1, r6, #0x0
+ bl MOD06_02244DC4
+ ldr r0, [r4, #0x0]
+ bl MOD06_02244EF8
+ mov r0, #0x0
+ strb r0, [r4, #0xe]
+ ldr r0, _02060338 ; =0x00000679
+ bl FUN_020054C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _0206033C ; =0x0000FFFF
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r2, #0x11
+ bl FUN_0204C1B4
+ mov r0, #0x5
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060290:
+ mov r1, #0x0
+ bl FUN_0205889C
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ mov r0, #0x8
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602A2:
+ ldrb r0, [r4, #0xe]
+ add r0, r0, #0x1
+ strb r0, [r4, #0xe]
+ ldrb r0, [r4, #0xe]
+ cmp r0, #0x3c
+ bhs _020602B8
+ ldr r0, _02060340 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _02060332
+_020602B8:
+ ldrb r0, [r4, #0xd]
+ ldr r1, [r4, #0x4]
+ bl MOD06_02245198
+ ldr r0, [r4, #0x4]
+ bl MOD06_022451F0
+ str r0, [r4, #0x8]
+ ldr r0, _02060338 ; =0x00000679
+ bl FUN_020054C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ ldr r3, _0206033C ; =0x0000FFFF
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r2, #0x10
+ bl FUN_0204C1B4
+ mov r0, #0x6
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602F0:
+ ldr r0, [r4, #0x0]
+ bl MOD06_02244F18
+ mov r0, #0x7
+ strb r0, [r4, #0xc]
+ b _02060332
+_020602FC:
+ ldr r0, [r4, #0x0]
+ bl MOD06_02244F24
+ cmp r0, #0x0
+ beq _02060332
+ ldr r0, [r4, #0x0]
+ bl MOD06_02244F2C
+ mov r0, #0x1
+ strb r0, [r4, #0xc]
+ b _02060332
+_02060312:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_0206367C
+ ldr r0, [r4, #0x4]
+ bl MOD06_02245190
+ ldr r0, [r4, #0x0]
+ bl MOD06_02244DBC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02060332:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02060338: .word 0x00000679
+_0206033C: .word 0x0000FFFF
+_02060340: .word 0x021C48B8
+
+ thumb_func_start FUN_02060344
+FUN_02060344: ; 0x02060344
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ cmp r1, #0x0
+ ble _020603AE
+ bl FUN_02029ABC
+ bl FUN_02029ACC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r1, #0xa
+ add r6, r0, #0x0
+ mov r5, #0x0
+ mul r6, r1
+_0206036A:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_020239D0
+ cmp r0, #0x0
+ beq _020603A4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02029AD0
+ add r1, r0, #0x0
+ cmp r1, #0x0
+ ble _0206038C
+ cmp r1, #0xc8
+ bge _0206038C
+ sub r1, r1, r6
+ b _02060396
+_0206038C:
+ cmp r1, #0xc8
+ blt _02060394
+ bl ErrorHandling
+_02060394:
+ mov r1, #0x0
+_02060396:
+ cmp r1, #0x0
+ bge _0206039C
+ mov r1, #0x0
+_0206039C:
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02029AD8
+_020603A4:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x8
+ blo _0206036A
+_020603AE:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020603B0
+FUN_020603B0: ; 0x020603B0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0202AA38
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02060588
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020603C8
+FUN_020603C8: ; 0x020603C8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ mov r5, #0x0
+_020603CE:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0202AA74
+ cmp r0, #0x0
+ beq _020603E2
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_020603B0
+_020603E2:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x3
+ blo _020603CE
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020603F0
+FUN_020603F0: ; 0x020603F0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+_020603F6:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202AA74
+ cmp r0, #0x0
+ beq _02060430
+ bl rand_LC
+ lsl r0, r0, #0x4
+ lsr r6, r0, #0x10
+ cmp r6, #0x10
+ blo _02060412
+ bl ErrorHandling
+_02060412:
+ cmp r6, #0x0
+ bne _02060420
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020603B0
+ b _02060430
+_02060420:
+ add r0, r5, #0x0
+ bl FUN_0202AA38
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020605D8
+_02060430:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x3
+ blo _020603F6
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206043C
+FUN_0206043C: ; 0x0206043C
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x1d
+ blo _02060448
+ bl ErrorHandling
+_02060448:
+ ldr r0, _02060450 ; =0x020F7460
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02060450: .word 0x020F7460
+
+ thumb_func_start FUN_02060454
+FUN_02060454: ; 0x02060454
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ mov r5, #0x0
+_0206045A:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0202AA74
+ cmp r0, #0x0
+ beq _0206046A
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0206046A:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x3
+ blo _0206045A
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02060478
+FUN_02060478: ; 0x02060478
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02060454
+ cmp r0, #0x0
+ beq _0206048E
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202AA20
+_0206048E:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02060490
+FUN_02060490: ; 0x02060490
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r5, r1, #0x0
+ str r0, [sp, #0x10]
+ bl FUN_0202A9B0
+ add r1, r5, #0x0
+ str r0, [sp, #0x14]
+ bl FUN_0202AAA0
+ add r4, r0, #0x0
+ cmp r5, #0x0
+ beq _020604B4
+ cmp r5, #0x1
+ beq _020604BA
+ cmp r5, #0x2
+ beq _020604C2
+ b _020604C8
+_020604B4:
+ ldr r7, _02060580 ; =0x000001E1
+ mov r6, #0x32
+ b _020604D0
+_020604BA:
+ mov r7, #0x7a
+ lsl r7, r7, #0x2
+ mov r6, #0x32
+ b _020604D0
+_020604C2:
+ ldr r7, _02060584 ; =0x000001EB
+ mov r6, #0x28
+ b _020604D0
+_020604C8:
+ bl ErrorHandling
+ add sp, #0x20
+ pop {r3-r7, pc}
+_020604D0:
+ add r0, r4, #0x0
+ mov r1, #0x4
+ add r2, r7, #0x0
+ bl FUN_0202AAFC
+ add r0, r4, #0x0
+ mov r1, #0x6
+ add r2, r6, #0x0
+ bl FUN_0202AAFC
+ ldr r0, [sp, #0x10]
+ bl FUN_020238F4
+ str r0, [sp, #0x18]
+ mov r0, #0x4
+ bl FUN_020669C0
+ str r0, [sp, #0x1c]
+ bl FUN_02066978
+ ldr r0, [sp, #0x18]
+ bl FUN_020239C0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ mov r1, #0x1
+ str r1, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x1c]
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ mov r3, #0x20
+ bl FUN_02066ACC
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_0202AAFC
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0x1
+ bl FUN_0202AAFC
+ ldr r0, [sp, #0x1c]
+ mov r1, #0xae
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0202AAFC
+ mov r1, #0x0
+ ldr r0, [sp, #0x1c]
+ add r2, r1, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_0202AAFC
+ ldr r0, [sp, #0x1c]
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x5
+ bl FUN_0202AAFC
+ ldr r0, [sp, #0x1c]
+ bl FUN_02016A18
+ ldr r0, [sp, #0x14]
+ bl FUN_0202AA38
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x14]
+ add r1, r5, #0x0
+ bl FUN_02060588
+ add sp, #0x20
+ pop {r3-r7, pc}
+ .balign 4
+_02060580: .word 0x000001E1
+_02060584: .word 0x000001EB
+
+ thumb_func_start FUN_02060588
+FUN_02060588: ; 0x02060588
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r6, r2, #0x0
+ bl FUN_0202AA40
+ ldr r7, _020605D0 ; =0x020F7460
+ lsl r0, r0, #0x2
+ ldr r4, [r7, r0]
+_0206059C:
+ bl rand_LC
+ ldr r1, _020605D4 ; =0x000008D4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x1d
+ blo _020605B2
+ bl ErrorHandling
+_020605B2:
+ lsl r0, r5, #0x18
+ lsr r2, r0, #0x18
+ lsl r0, r2, #0x2
+ ldr r3, [r7, r0]
+ cmp r3, r6
+ beq _0206059C
+ cmp r3, r4
+ beq _0206059C
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ bl FUN_02060688
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_020605D0: .word 0x020F7460
+_020605D4: .word 0x000008D4
+
+ thumb_func_start FUN_020605D8
+FUN_020605D8: ; 0x020605D8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r7, r2, #0x0
+ bl FUN_0202AA40
+ mov r1, #0xc
+ ldr r2, _0206067C ; =0x020F74D4
+ mul r1, r0
+ ldrh r0, [r2, r1]
+ add r4, r2, r1
+ cmp r0, #0x1
+ bne _0206061E
+ ldrh r0, [r4, #0x2]
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r0, _02060680 ; =0x020F7460
+ lsl r1, r2, #0x2
+ ldr r3, [r0, r1]
+ cmp r3, r7
+ bne _02060612
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r2, r7, #0x0
+ bl FUN_02060588
+ add sp, #0x8
+ pop {r3-r7, pc}
+_02060612:
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ bl FUN_02060688
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0206061E:
+ ldrh r5, [r4, #0x0]
+ cmp r5, #0x0
+ bne _02060628
+ bl ErrorHandling
+_02060628:
+ cmp r5, #0x1
+ bhi _02060630
+ mov r6, #0x0
+ b _02060658
+_02060630:
+ bl rand_LC
+ add r6, r0, #0x0
+ ldr r0, _02060684 ; =0x0000FFFF
+ add r1, r5, #0x0
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ cmp r6, r5
+ blo _02060658
+ bl ErrorHandling
+_02060658:
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x17
+ add r0, r4, r0
+ ldrh r0, [r0, #0x2]
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ ldr r0, _02060680 ; =0x020F7460
+ lsl r1, r2, #0x2
+ ldr r3, [r0, r1]
+ cmp r3, r7
+ beq _0206061E
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ bl FUN_02060688
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0206067C: .word 0x020F74D4
+_02060680: .word 0x020F7460
+_02060684: .word 0x0000FFFF
+
+ thumb_func_start FUN_02060688
+FUN_02060688: ; 0x02060688
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_0202AAA0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0202AA58
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ add r2, r7, #0x0
+ bl FUN_0202AAFC
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020606B0
+FUN_020606B0: ; 0x020606B0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r2, r0, #0x0
+ ldr r1, _020606CC ; =0x020F7630
+ add r0, r4, #0x0
+ add r2, #0xc
+ bl FUN_02046500
+ pop {r4, pc}
+ .balign 4
+_020606CC: .word 0x020F7630
+
+ thumb_func_start FUN_020606D0
+FUN_020606D0: ; 0x020606D0
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x6
+ bhi _0206078A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020606F6: ; jump table (using 16-bit offset)
+ .short _02060704 - _020606F6 - 2; case 0
+ .short _0206072C - _020606F6 - 2; case 1
+ .short _0206073A - _020606F6 - 2; case 2
+ .short _02060748 - _020606F6 - 2; case 3
+ .short _02060756 - _020606F6 - 2; case 4
+ .short _02060764 - _020606F6 - 2; case 5
+ .short _02060772 - _020606F6 - 2; case 6
+_02060704:
+ ldr r0, [r4, #0x24]
+ add r3, r4, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x28]
+ add r3, #0xc
+ str r0, [sp, #0x4]
+ ldr r1, [r4, #0x0]
+ ldr r2, [r4, #0x8]
+ add r0, r6, #0x0
+ bl MOD06_0224891C
+ ldr r1, [r4, #0x0]
+ ldr r2, [r4, #0x8]
+ add r0, r6, #0x0
+ bl MOD06_022488FC
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_0206072C:
+ add r0, r5, #0x0
+ bl FUN_0204AFC8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_0206073A:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060748:
+ add r0, r5, #0x0
+ bl FUN_020606B0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060756:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060764:
+ add r0, r5, #0x0
+ bl FUN_0204B00C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206078A
+_02060772:
+ ldr r0, [r4, #0x24]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x28]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0206078A:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02060790
+FUN_02060790: ; 0x02060790
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r0, r3, #0x0
+ mov r1, #0x2c
+ add r6, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x2c
+ add r4, r0, #0x0
+ bl memset
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ str r5, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ str r6, [r4, #0x8]
+ bl FUN_020669C0
+ str r0, [r4, #0x24]
+ ldr r0, [sp, #0x0]
+ bl FUN_020669C0
+ str r0, [r4, #0x28]
+ ldr r1, _020607D0 ; =FUN_020606D0
+ add r0, r7, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r7, pc}
+ .balign 4
+_020607D0: .word FUN_020606D0
+
+ thumb_func_start FUN_020607D4
+FUN_020607D4: ; 0x020607D4
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x80
+ add r7, r2, #0x0
+ str r3, [sp, #0xc]
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ strb r6, [r4, #0x1]
+ strb r7, [r4, #0x4]
+ ldr r0, [sp, #0xc]
+ add r2, r4, #0x0
+ str r0, [r4, #0x18]
+ ldr r0, [sp, #0x40]
+ add r2, #0x34
+ str r0, [r4, #0x1c]
+ ldr r0, [sp, #0x44]
+ mov r7, #0x9
+ str r0, [r4, #0x20]
+ ldr r3, [r5, #0x40]
+_02060802:
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ sub r7, r7, #0x1
+ bne _02060802
+ mov r7, #0x0
+ sub r0, r7, #0x1
+ str r0, [r4, #0x10]
+ strb r7, [r4, #0x5]
+ mov r0, #0x40
+ add r1, r7, #0x0
+ add r2, r7, #0x0
+ str r7, [r4, #0x8]
+ bl FUN_0200433C
+ cmp r6, #0x3
+ bne _0206085C
+ mov r0, #0x22
+ str r0, [sp, #0x14]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ mov r0, #0x3
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ add r0, sp, #0x18
+ mov r2, #0x1
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ sub r3, r2, #0x4
+ bl FUN_0204A840
+ mov r0, #0x19
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x10]
+ mov r0, #0xe
+ lsl r0, r0, #0x10
+ mov r7, #0x1
+ str r0, [r4, #0x10]
+ b _02060892
+_0206085C:
+ cmp r6, #0x2
+ bne _02060892
+ ldr r0, _02060918 ; =0x000001C1
+ str r0, [sp, #0x14]
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r1, r0, #0x0
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r2, #0x3
+ str r2, [sp, #0x4]
+ add r0, sp, #0x18
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ sub r2, r2, #0x5
+ mov r3, #0x2
+ bl FUN_0204A840
+ mov r0, #0x3
+ lsl r0, r0, #0x12
+ mov r7, #0x1
+ str r0, [sp, #0x10]
+_02060892:
+ cmp r7, #0x0
+ beq _02060906
+ add r3, r4, #0x0
+ ldr r1, [sp, #0x14]
+ add r0, r5, #0x0
+ add r2, sp, #0x18
+ add r3, #0x30
+ bl FUN_0204A8C4
+ cmp r0, #0x0
+ beq _020608F8
+ ldr r0, [sp, #0x10]
+ add r1, r4, #0x0
+ str r0, [r4, #0xc]
+ mov r0, #0x0
+ str r0, [r4, #0x14]
+ strb r0, [r4, #0x3]
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ str r0, [r4, #0x7c]
+ ldr r0, [r5, #0x38]
+ add r1, #0x24
+ bl FUN_02055350
+ ldr r0, [r5, #0x20]
+ bl FUN_0201EC88
+ add r0, r4, #0x0
+ ldr r1, [r5, #0x20]
+ add r0, #0x24
+ bl FUN_0201EC68
+ mov r0, #0x0
+ ldr r1, [r4, #0x10]
+ mvn r0, r0
+ cmp r1, r0
+ beq _020608EC
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02060BDC
+ b _020608F0
+_020608EC:
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+_020608F0:
+ ldr r0, _0206091C ; =0x000006DD
+ bl FUN_020054C8
+ b _0206090A
+_020608F8:
+ bl ErrorHandling
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x28
+ pop {r3-r7, pc}
+_02060906:
+ mov r0, #0x2
+ strb r0, [r4, #0x0]
+_0206090A:
+ ldr r0, [r5, #0x10]
+ ldr r1, _02060920 ; =FUN_020609A0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+_02060918: .word 0x000001C1
+_0206091C: .word 0x000006DD
+_02060920: .word FUN_020609A0
+
+ thumb_func_start FUN_02060924
+FUN_02060924: ; 0x02060924
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ add r6, r2, #0x0
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ str r6, [r2, #0x4]
+ strb r4, [r2, #0x0]
+ ldr r0, [r5, #0x10]
+ ldr r1, _02060944 ; =FUN_02060948
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ .balign 4
+_02060944: .word FUN_02060948
+
+ thumb_func_start FUN_02060948
+FUN_02060948: ; 0x02060948
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046530
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _02060972
+ cmp r0, #0x1
+ beq _0206097C
+ cmp r0, #0x2
+ beq _0206098A
+ b _02060994
+_02060972:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0203888C
+ b _02060994
+_0206097C:
+ add r0, r4, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _02060994
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206098A:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02060994:
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020609A0
+FUN_020609A0: ; 0x020609A0
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldrb r1, [r4, #0x0]
+ cmp r1, #0x7
+ bhi _020609E4
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020609C6: ; jump table (using 16-bit offset)
+ .short _020609D6 - _020609C6 - 2; case 0
+ .short _020609EC - _020609C6 - 2; case 1
+ .short _02060A4E - _020609C6 - 2; case 2
+ .short _02060A74 - _020609C6 - 2; case 3
+ .short _02060AB4 - _020609C6 - 2; case 4
+ .short _02060AC6 - _020609C6 - 2; case 5
+ .short _02060AE2 - _020609C6 - 2; case 6
+ .short _02060AF6 - _020609C6 - 2; case 7
+_020609D6:
+ bl FUN_02060C80
+ add r0, r4, #0x0
+ bl FUN_02060B0C
+ cmp r0, #0x0
+ bne _020609E6
+_020609E4:
+ b _02060B00
+_020609E6:
+ mov r0, #0x2
+ strb r0, [r4, #0x0]
+ b _02060B00
+_020609EC:
+ bl FUN_02060C80
+ add r0, r4, #0x0
+ bl FUN_02060B0C
+ add r6, r0, #0x0
+ ldrb r0, [r4, #0x2]
+ cmp r0, #0x0
+ bne _02060A2C
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ add r0, #0x10
+ add r1, #0x14
+ add r2, r4, #0x2
+ bl FUN_02060BC8
+ cmp r0, #0x0
+ beq _02060B00
+ ldr r0, [r5, #0x50]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl MOD05_021DA4EC
+ ldr r0, [r5, #0x50]
+ mov r1, #0x2
+ mov r2, #0x0
+ bl MOD05_021DA4EC
+ ldr r0, _02060B08 ; =0x000006DE
+ bl FUN_020054C8
+ b _02060B00
+_02060A2C:
+ ldr r0, [r5, #0x50]
+ mov r1, #0x1
+ bl MOD05_021DA58C
+ cmp r0, #0x0
+ beq _02060B00
+ ldr r0, [r5, #0x50]
+ mov r1, #0x2
+ bl MOD05_021DA58C
+ cmp r0, #0x0
+ beq _02060B00
+ cmp r6, #0x0
+ beq _02060B00
+ mov r0, #0x2
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060A4E:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0xb
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x0
+ mov r1, #0x6
+ bl FUN_020053CC
+ mov r0, #0x3
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060A74:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02060A84
+ bl FUN_02005404
+ cmp r0, #0x0
+ beq _02060A8A
+_02060A84:
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r3-r6, pc}
+_02060A8A:
+ mov r0, #0x0
+ ldr r1, [r4, #0x10]
+ mvn r0, r0
+ cmp r1, r0
+ beq _02060AA8
+ ldr r0, [r5, #0x4c]
+ ldr r1, [r5, #0x50]
+ mov r2, #0x1
+ bl MOD05_021DA54C
+ ldr r0, [r5, #0x4c]
+ ldr r1, [r5, #0x50]
+ mov r2, #0x2
+ bl MOD05_021DA54C
+_02060AA8:
+ add r0, r6, #0x0
+ bl FUN_0204AF3C
+ mov r0, #0x4
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AB4:
+ ldrb r1, [r4, #0x1]
+ add r2, r4, #0x0
+ add r0, r5, #0x0
+ add r2, #0x34
+ bl FUN_02060924
+ mov r0, #0x5
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AC6:
+ ldr r0, [r4, #0x20]
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ mvn r2, r2
+ str r0, [sp, #0x4]
+ ldr r1, [r4, #0x18]
+ ldr r3, [r4, #0x1c]
+ add r0, r6, #0x0
+ bl FUN_020491A8
+ mov r0, #0x6
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AE2:
+ ldr r1, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_0204AD8C
+ add r0, r6, #0x0
+ bl FUN_0204B0E8
+ mov r0, #0x7
+ strb r0, [r4, #0x0]
+ b _02060B00
+_02060AF6:
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r6, pc}
+_02060B00:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r6, pc}
+ nop
+_02060B08: .word 0x000006DE
+
+ thumb_func_start FUN_02060B0C
+FUN_02060B0C: ; 0x02060B0C
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x30]
+ add r0, sp, #0x0
+ bl MOD05_021E7EA0
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x3
+ bhi _02060B7C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02060B2C: ; jump table (using 16-bit offset)
+ .short _02060B34 - _02060B2C - 2; case 0
+ .short _02060B6A - _02060B2C - 2; case 1
+ .short _02060B58 - _02060B2C - 2; case 2
+ .short _02060B46 - _02060B2C - 2; case 3
+_02060B34:
+ ldr r1, [sp, #0x8]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [sp, #0x8]
+ ldr r1, [r4, #0x2c]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [r4, #0x2c]
+ b _02060B86
+_02060B46:
+ ldr r1, [sp, #0x8]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [sp, #0x8]
+ ldr r1, [r4, #0x2c]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [r4, #0x2c]
+ b _02060B86
+_02060B58:
+ ldr r1, [sp, #0x0]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r0, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [r4, #0x24]
+ b _02060B86
+_02060B6A:
+ ldr r1, [sp, #0x0]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r1, [r4, #0x24]
+ ldr r0, [r4, #0x7c]
+ sub r0, r1, r0
+ str r0, [r4, #0x24]
+ b _02060B86
+_02060B7C:
+ bl ErrorHandling
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_02060B86:
+ mov r0, #0x1
+ ldr r1, [r4, #0x7c]
+ lsl r0, r0, #0xc
+ cmp r1, r0
+ bge _02060BA6
+ ldrb r1, [r4, #0x3]
+ add r1, r1, #0x1
+ strb r1, [r4, #0x3]
+ ldrb r1, [r4, #0x3]
+ cmp r1, #0x18
+ blo _02060BA6
+ ldr r1, [r4, #0x7c]
+ add r0, r1, r0
+ str r0, [r4, #0x7c]
+ mov r0, #0x0
+ strb r0, [r4, #0x3]
+_02060BA6:
+ ldr r0, [r4, #0x30]
+ add r1, sp, #0x0
+ bl MOD05_021E7EB0
+ ldr r1, [r4, #0x14]
+ ldr r0, [r4, #0x7c]
+ add r1, r1, r0
+ str r1, [r4, #0x14]
+ ldr r0, [r4, #0xc]
+ cmp r0, r1
+ bgt _02060BC2
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_02060BC2:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_02060BC8
+FUN_02060BC8: ; 0x02060BC8
+ ldr r3, [r0, #0x0]
+ ldr r0, [r1, #0x0]
+ cmp r3, r0
+ bgt _02060BD6
+ mov r0, #0x1
+ strb r0, [r2, #0x0]
+ bx lr
+_02060BD6:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02060BDC
+FUN_02060BDC: ; 0x02060BDC
+ push {r4-r7, lr}
+ sub sp, #0x34
+ add r5, r0, #0x0
+ ldr r0, _02060C7C ; =0x020F7640
+ mov r6, #0x0
+ ldr r2, [r0, #0x0]
+ ldr r1, [r0, #0x4]
+ str r2, [sp, #0x2c]
+ str r1, [sp, #0x30]
+ ldr r1, [r0, #0x8]
+ ldr r0, [r0, #0xc]
+ str r1, [sp, #0x24]
+ str r0, [sp, #0x28]
+_02060BF6:
+ lsl r7, r6, #0x2
+ add r0, sp, #0x2c
+ ldr r4, [r0, r7]
+ mov r2, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r3, r2, #0x0
+ bl FUN_0204A9F0
+ cmp r0, #0x0
+ beq _02060C6A
+ ldr r1, [r5, #0x2c]
+ add r0, r4, #0x0
+ bl MOD05_021F4BD0
+ ldr r0, [r0, #0x0]
+ bl FUN_020BC13C
+ ldrh r1, [r0, #0xe]
+ add r2, sp, #0x20
+ mov r3, #0x0
+ add r1, r0, r1
+ ldr r1, [r1, #0xc]
+ add r0, r0, r1
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0204A9F0
+ cmp r0, #0x0
+ bne _02060C38
+ bl ErrorHandling
+_02060C38:
+ ldr r0, [sp, #0x20]
+ bl MOD05_021E7EC8
+ str r0, [sp, #0x1c]
+ ldr r0, [r5, #0x2c]
+ bl MOD05_021F4C88
+ ldr r1, [sp, #0x1c]
+ add r2, sp, #0x24
+ str r1, [sp, #0x0]
+ ldr r1, [sp, #0x18]
+ ldr r2, [r2, r7]
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ ldr r0, [r5, #0x4c]
+ ldr r1, [r5, #0x50]
+ add r3, r4, #0x0
+ bl MOD05_021DA464
+ b _02060C6E
+_02060C6A:
+ bl ErrorHandling
+_02060C6E:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ blo _02060BF6
+ add sp, #0x34
+ pop {r4-r7, pc}
+ .balign 4
+_02060C7C: .word 0x020F7640
+
+ thumb_func_start FUN_02060C80
+FUN_02060C80: ; 0x02060C80
+ push {r3, lr}
+ ldrb r1, [r0, #0x1]
+ cmp r1, #0x2
+ beq _02060CA8
+ cmp r1, #0x3
+ bne _02060CC4
+ mov r2, #0x2
+ ldr r1, [r0, #0x8]
+ lsl r2, r2, #0x10
+ cmp r1, r2
+ bge _02060CC8
+ ldr r3, [r0, #0x24]
+ lsr r1, r2, #0x5
+ add r1, r3, r1
+ str r1, [r0, #0x24]
+ ldr r3, [r0, #0x8]
+ lsr r1, r2, #0x5
+ add r1, r3, r1
+ str r1, [r0, #0x8]
+ pop {r3, pc}
+_02060CA8:
+ mov r1, #0x3
+ ldr r2, [r0, #0x8]
+ lsl r1, r1, #0x10
+ cmp r2, r1
+ bge _02060CC8
+ mov r1, #0x2
+ ldr r2, [r0, #0x2c]
+ lsl r1, r1, #0xa
+ add r2, r2, r1
+ str r2, [r0, #0x2c]
+ ldr r2, [r0, #0x8]
+ add r1, r2, r1
+ str r1, [r0, #0x8]
+ pop {r3, pc}
+_02060CC4:
+ bl ErrorHandling
+_02060CC8:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060CCC
+FUN_02060CCC: ; 0x02060CCC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ cmp r5, #0x0
+ ble _02060CD8
+ cmp r5, #0x5
+ blt _02060CDC
+_02060CD8:
+ bl ErrorHandling
+_02060CDC:
+ sub r1, r5, #0x1
+ ldr r6, _02060CF4 ; =0x020F767C
+ mov r0, #0xc
+ add r4, r1, #0x0
+ mul r4, r0
+ ldr r0, [r6, r4]
+ cmp r0, r5
+ beq _02060CF0
+ bl ErrorHandling
+_02060CF0:
+ add r0, r6, r4
+ pop {r4-r6, pc}
+ .balign 4
+_02060CF4: .word 0x020F767C
+
+ thumb_func_start FUN_02060CF8
+FUN_02060CF8: ; 0x02060CF8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B6C
+ add r4, r0, #0x0
+ cmp r4, #0x0
+ ble _02060D0E
+ ldrh r0, [r5, #0x6]
+ cmp r4, r0
+ blt _02060D12
+_02060D0E:
+ bl ErrorHandling
+_02060D12:
+ sub r0, r4, #0x1
+ ldr r1, [r5, #0x8]
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02060D1C
+FUN_02060D1C: ; 0x02060D1C
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ add r5, r3, #0x0
+ bl FUN_02060CCC
+ ldrh r2, [r0, #0x4]
+ ldr r1, [sp, #0x18]
+ strh r2, [r1, #0x0]
+ add r1, r5, #0x0
+ bl FUN_02060CF8
+ ldr r4, [r0, #0x0]
+ cmp r4, #0x0
+ bne _02060D3E
+ bl ErrorHandling
+_02060D3E:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ blx r4
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02060D48
+FUN_02060D48: ; 0x02060D48
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ add r5, r1, #0x0
+ bl FUN_02060CCC
+ add r1, r4, #0x0
+ bl FUN_02060CF8
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x0
+ bne _02060D62
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02060D62:
+ ldr r2, [r0, #0x4]
+ cmp r2, #0x0
+ bne _02060D6C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02060D6C:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ blx r2
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02060D74
+FUN_02060D74: ; 0x02060D74
+ push {r4-r6, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_02022504
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_0202B4B0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060D90
+FUN_02060D90: ; 0x02060D90
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ mov r0, #0x40
+ mov r1, #0x4
+ str r3, [sp, #0x8]
+ bl FUN_020219F4
+ add r1, r7, #0x0
+ add r4, r0, #0x0
+ bl FUN_02021E28
+ ldr r0, [sp, #0x24]
+ ldr r3, [sp, #0x8]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ add r1, r6, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060DCC
+FUN_02060DCC: ; 0x02060DCC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ add r4, r1, #0x0
+ bl MOD06_02248B5C
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B54
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ bl MOD06_02248B58
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r3, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_02060D90
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060E04
+FUN_02060E04: ; 0x02060E04
+ push {r4-r6, lr}
+ add r3, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x40
+ add r1, r3, #0x0
+ add r6, r2, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x76
+ add r2, r4, #0x0
+ bl FUN_020671BC
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060E34
+FUN_02060E34: ; 0x02060E34
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020671BC
+ strh r0, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r6, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r7, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x79
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x18]
+ strb r0, [r1, #0x0]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02060E70
+FUN_02060E70: ; 0x02060E70
+ push {r4-r6, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r0, r2, #0x0
+ mov r1, #0x4
+ add r2, sp, #0x8
+ add r6, r3, #0x0
+ bl FUN_0200A99C
+ add r0, sp, #0x20
+ ldrb r0, [r0, #0x10]
+ add r1, r4, #0x0
+ add r2, sp, #0x8
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r3, r6, #0x0
+ bl FUN_02060D90
+ add sp, #0x20
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060EA0
+FUN_02060EA0: ; 0x02060EA0
+ push {r3-r5, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r0, r2, #0x0
+ mov r1, #0x4
+ add r2, sp, #0x8
+ bl FUN_0200A99C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, sp, #0x8
+ mov r3, #0x0
+ bl FUN_02060D90
+ add sp, #0x20
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060ECC
+FUN_02060ECC: ; 0x02060ECC
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ add r4, r2, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x4d
+ mov r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_020671BC
+ strb r0, [r4, #0x0]
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02060F0C
+ mov r0, #0x40
+ add r1, r6, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x76
+ add r2, r4, #0x0
+ bl FUN_020671BC
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, r4, #0x0
+ bl FUN_02021A20
+_02060F0C:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060F10
+FUN_02060F10: ; 0x02060F10
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r5, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_0202B838
+ add r4, r0, #0x0
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ add r0, r4, #0x6
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ add r1, r4, #0x2
+ add r2, r4, #0x4
+ add r3, r4, #0x5
+ bl FUN_02060E34
+ strb r5, [r4, #0x8]
+ ldr r0, [sp, #0x18]
+ strb r6, [r4, #0x7]
+ strb r0, [r4, #0x9]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02060F3C
+FUN_02060F3C: ; 0x02060F3C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0202B844
+ add r4, r0, #0x0
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x1f]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ strb r0, [r4, #0x1e]
+ add r0, r4, #0x6
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x2
+ add r2, r4, #0x4
+ add r3, r4, #0x5
+ bl FUN_02060E34
+ add r0, r5, #0x0
+ mov r1, #0x4d
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r4, #0x7]
+ add r2, r4, #0x7
+ add r4, #0x8
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r3, r4, #0x0
+ bl FUN_02060ECC
+ add sp, #0x4
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02060F88
+FUN_02060F88: ; 0x02060F88
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0202B844
+ mov r1, #0x2
+ strb r1, [r0, #0x1f]
+ add r0, #0x20
+ strb r4, [r0, #0x0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02060F9C
+FUN_02060F9C: ; 0x02060F9C
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0202B844
+ mov r1, #0x1
+ strb r1, [r0, #0x1f]
+ strh r4, [r0, #0x22]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02060FAC
+FUN_02060FAC: ; 0x02060FAC
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_0202B850
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+ strb r4, [r0, #0x1]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02060FBC
+FUN_02060FBC: ; 0x02060FBC
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_0202B85C
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+ strb r5, [r0, #0x1]
+ strh r4, [r0, #0x2]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02060FD0
+FUN_02060FD0: ; 0x02060FD0
+ push {r3, lr}
+ bl FUN_0202B868
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+ mov r1, #0x0
+ strb r1, [r0, #0x7]
+ pop {r3, pc}
+
+ thumb_func_start FUN_02060FE0
+FUN_02060FE0: ; 0x02060FE0
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_0202B868
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x7]
+ cmp r0, #0x0
+ bne _02061000
+ add r0, r4, #0x6
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x2
+ add r2, r4, #0x4
+ add r3, r4, #0x5
+ bl FUN_02060E34
+_02061000:
+ ldrb r0, [r4, #0x7]
+ add r0, r0, #0x1
+ strb r0, [r4, #0x7]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02061008
+FUN_02061008: ; 0x02061008
+ push {r4, lr}
+ mov r1, #0x24
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x24
+ bl MIi_CpuClearFast
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02061020
+FUN_02061020: ; 0x02061020
+ ldr r3, _02061024 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02061024: .word FUN_02016A18
+
+ thumb_func_start FUN_02061028
+FUN_02061028: ; 0x02061028
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ mov r0, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x24
+ add r7, r3, #0x0
+ bl MIi_CpuClear32
+ str r6, [r5, #0x0]
+ add r0, r5, #0x0
+ add r2, r5, #0x0
+ add r3, r5, #0x0
+ strh r7, [r5, #0x4]
+ add r0, #0xa
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r5, #0x6
+ add r2, #0x8
+ add r3, #0x9
+ bl FUN_02060E34
+ add r0, r4, #0x0
+ mov r1, #0x9a
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x22]
+ ldrh r0, [r5, #0x22]
+ cmp r0, #0x0
+ bne _0206106C
+ bl ErrorHandling
+_0206106C:
+ add r2, r5, #0x0
+ add r5, #0xc
+ ldr r0, [sp, #0x18]
+ add r1, r4, #0x0
+ add r2, #0xb
+ add r3, r5, #0x0
+ bl FUN_02060ECC
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061080
+FUN_02061080: ; 0x02061080
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r7, sp, #0x0
+ add r5, r2, #0x0
+ add r6, r0, #0x0
+ add r3, r1, #0x0
+ add r4, r7, #0x0
+ mov r2, #0x4
+_02061090:
+ ldmia r3!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02061090
+ ldr r0, [r3, #0x0]
+ str r0, [r4, #0x0]
+ str r5, [sp, #0x0]
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _020610F0
+ ldrh r1, [r7, #0x4]
+ ldr r0, _020610F4 ; =0x000003E7
+ cmp r1, r0
+ bls _020610B0
+ strh r0, [r7, #0x4]
+_020610B0:
+ cmp r5, #0x6
+ bhi _020610F0
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020610C0: ; jump table (using 16-bit offset)
+ .short _020610F0 - _020610C0 - 2; case 0
+ .short _020610DE - _020610C0 - 2; case 1
+ .short _020610F0 - _020610C0 - 2; case 2
+ .short _020610F0 - _020610C0 - 2; case 3
+ .short _020610CE - _020610C0 - 2; case 4
+ .short _020610DE - _020610C0 - 2; case 5
+ .short _020610DE - _020610C0 - 2; case 6
+_020610CE:
+ add r0, r6, #0x0
+ mov r1, #0x2
+ mov r2, #0x1
+ add r3, r7, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r7, pc}
+_020610DE:
+ ldrh r0, [r7, #0x4]
+ cmp r0, #0x2
+ bls _020610F0
+ mov r1, #0x2
+ add r0, r6, #0x0
+ add r2, r1, #0x0
+ add r3, r7, #0x0
+ bl FUN_02060D74
+_020610F0:
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+_020610F4: .word 0x000003E7
+
+ thumb_func_start FUN_020610F8
+FUN_020610F8: ; 0x020610F8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0xb]
+ cmp r0, #0x0
+ beq _02061166
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x9]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0xa]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x6]
+ ldrb r3, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrh r2, [r4, #0x22]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200AE38
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x3
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ ldrb r0, [r4, #0x9]
+ add r2, r4, #0x0
+ mov r1, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrb r3, [r4, #0x8]
+ add r0, r5, #0x0
+ add r2, #0xc
+ bl FUN_02060D90
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02061166:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x9]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0xa]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x6]
+ ldrb r3, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrh r2, [r4, #0x22]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200AE38
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x3
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020611A8
+FUN_020611A8: ; 0x020611A8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ mov r3, #0x3
+ bl FUN_0200AD38
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _020611E0
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_020611E0:
+ mov r0, #0x3
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020611E8
+FUN_020611E8: ; 0x020611E8
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024DA0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD06_02248B60
+ add r1, r0, #0x0
+ ldrh r1, [r1, #0x6]
+ add r0, r4, #0x0
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061208
+FUN_02061208: ; 0x02061208
+ push {r4-r7, lr}
+ sub sp, #0x2c
+ add r5, r1, #0x0
+ add r7, r0, #0x0
+ add r4, r2, #0x0
+ add r6, sp, #0x4
+ cmp r5, #0x0
+ beq _02061228
+ add r0, r6, #0x4
+ str r0, [sp, #0x0]
+ add r0, r3, #0x0
+ add r1, r6, #0x0
+ add r2, r6, #0x2
+ add r3, r6, #0x3
+ bl FUN_02060E34
+_02061228:
+ strh r4, [r6, #0x6]
+ add r0, r7, #0x0
+ mov r1, #0x2
+ mov r2, #0x3
+ add r3, r6, #0x0
+ str r5, [r6, #0x8]
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206123C
+FUN_0206123C: ; 0x0206123C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _02061280
+ ldrh r2, [r4, #0x6]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200AE38
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x2
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ add sp, #0x8
+ mov r0, #0x4
+ pop {r4-r6, pc}
+_02061280:
+ mov r0, #0x5
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061288
+FUN_02061288: ; 0x02061288
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ bne _0206129E
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0206129E:
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020612AC
+FUN_020612AC: ; 0x020612AC
+ push {r4-r6, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_0202881C
+ add r6, r0, #0x0
+ mov r0, #0x0
+ add r1, sp, #0x0
+ mov r2, #0x28
+ bl MIi_CpuClearFast
+ add r0, r6, #0x0
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_020287A8
+ add r1, r0, #0x0
+ add r0, sp, #0x0
+ mov r2, #0xb
+ bl StringCopyN
+ add r0, r5, #0x0
+ mov r1, #0x2
+ add r2, r4, #0x0
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020612EC
+FUN_020612EC: ; 0x020612EC
+ ldr r3, _020612F4 ; =FUN_020612AC
+ mov r1, #0x14
+ bx r3
+ nop
+_020612F4: .word FUN_020612AC
+
+ thumb_func_start FUN_020612F8
+FUN_020612F8: ; 0x020612F8
+ ldr r3, _02061300 ; =FUN_020612AC
+ mov r1, #0x4
+ bx r3
+ nop
+_02061300: .word FUN_020612AC
+
+ thumb_func_start FUN_02061304
+FUN_02061304: ; 0x02061304
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r2, #0x0
+ add r0, r4, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl MOD06_02248B58
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ mov r3, #0x0
+ str r1, [sp, #0x4]
+ bl FUN_02060D90
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_02060DCC
+ mov r0, #0x6
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206133C
+FUN_0206133C: ; 0x0206133C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r2, #0x0
+ add r0, r4, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl MOD06_02248B58
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ mov r3, #0x0
+ str r1, [sp, #0x4]
+ bl FUN_02060D90
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_02060DCC
+ mov r0, #0x20
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061374
+FUN_02061374: ; 0x02061374
+ push {r4, lr}
+ sub sp, #0x28
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ strh r1, [r0, #0x0]
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r1, sp, #0x0
+ strh r0, [r1, #0x2]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x6
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206139C
+FUN_0206139C: ; 0x0206139C
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldrh r2, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0200AFF4
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200AE38
+ mov r0, #0xa
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020613CC
+FUN_020613CC: ; 0x020613CC
+ push {r3-r4, lr}
+ sub sp, #0x2c
+ add r4, r0, #0x0
+ add r0, sp, #0x8
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ str r0, [sp, #0x0]
+ add r0, r1, #0x0
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ bl FUN_02060E34
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ add r1, sp, #0x4
+ strh r0, [r1, #0x6]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x8
+ add r3, sp, #0x4
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061404
+FUN_02061404: ; 0x02061404
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldrh r2, [r4, #0x6]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200AFF4
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x2
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ mov r0, #0xc
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061444
+FUN_02061444: ; 0x02061444
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061460
+FUN_02061460: ; 0x02061460
+ push {r4-r5, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r0, sp, #0x8
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ bl FUN_02060E34
+ add r1, sp, #0x8
+ mov r0, #0x4
+ add r1, #0x2
+ add r2, r4, #0x0
+ bl FUN_02060E04
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r2, #0xa
+ add r3, sp, #0x4
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_02061498
+FUN_02061498: ; 0x02061498
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x2
+ add r2, r4, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060D90
+ bl rand_LC
+ ldr r1, _020614F8 ; =0x00003334
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x5
+ blo _020614F0
+ bl ErrorHandling
+_020614F0:
+ add r4, #0x11
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_020614F8: .word 0x00003334
+
+ thumb_func_start FUN_020614FC
+FUN_020614FC: ; 0x020614FC
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024DA0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD06_02248B60
+ add r1, r0, #0x0
+ ldrh r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206151C
+FUN_0206151C: ; 0x0206151C
+ push {r3, lr}
+ sub sp, #0x28
+ add r3, sp, #0x0
+ strh r1, [r3, #0x0]
+ strh r2, [r3, #0x2]
+ mov r1, #0x2
+ mov r2, #0xd
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3, pc}
+
+ thumb_func_start FUN_02061534
+FUN_02061534: ; 0x02061534
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200B164
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r0, #0x18
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061574
+FUN_02061574: ; 0x02061574
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, sp, #0x0
+ bl FUN_02022504
+ bl FUN_0202B868
+ ldrb r1, [r0, #0x7]
+ cmp r1, #0x0
+ beq _020615AC
+ ldrh r1, [r0, #0x2]
+ mov r2, #0xf
+ add r3, r4, #0x0
+ strh r1, [r4, #0x0]
+ ldrb r1, [r0, #0x4]
+ strb r1, [r4, #0x2]
+ ldrb r1, [r0, #0x5]
+ strb r1, [r4, #0x3]
+ ldrb r1, [r0, #0x6]
+ strb r1, [r4, #0x4]
+ ldrb r0, [r0, #0x7]
+ mov r1, #0x2
+ strb r0, [r4, #0x5]
+ add r0, r5, #0x0
+ bl FUN_02060D74
+_020615AC:
+ add sp, #0x28
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020615B0
+FUN_020615B0: ; 0x020615B0
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x2
+ ldrb r2, [r4, #0x5]
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x1a
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020615F8
+FUN_020615F8: ; 0x020615F8
+ push {r3-r5, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024DA0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl MOD06_02248B60
+ add r1, r0, #0x0
+ ldrh r1, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061618
+FUN_02061618: ; 0x02061618
+ push {r4-r5, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ add r0, sp, #0x8
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ str r0, [sp, #0x0]
+ add r0, r1, #0x0
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ bl FUN_02060E34
+ add r0, sp, #0x4
+ strh r4, [r0, #0x6]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r2, #0x11
+ add r3, sp, #0x4
+ bl FUN_0202B4B0
+ add sp, #0x2c
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_02061648
+FUN_02061648: ; 0x02061648
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrh r2, [r4, #0x6]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200AE38
+ mov r0, #0x1d
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061688
+FUN_02061688: ; 0x02061688
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020616A4
+FUN_020616A4: ; 0x020616A4
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r4, sp, #0x0
+ strh r1, [r4, #0x0]
+ strb r2, [r4, #0x2]
+ add r5, sp, #0x0
+ strh r3, [r4, #0x4]
+ cmp r2, #0x5
+ bne _020616C4
+ mov r1, #0x3
+ mov r2, #0x6
+ add r3, r5, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+_020616C4:
+ cmp r2, #0x4
+ bne _020616D6
+ mov r1, #0x2
+ mov r2, #0x12
+ add r3, r5, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+_020616D6:
+ cmp r2, #0x0
+ bne _020616E4
+ mov r1, #0x2
+ mov r2, #0x13
+ add r3, r5, #0x0
+ bl FUN_02060D74
+_020616E4:
+ add sp, #0x28
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020616E8
+FUN_020616E8: ; 0x020616E8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200AE38
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x2
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ mov r0, #0x1e
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061728
+FUN_02061728: ; 0x02061728
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200AE38
+ mov r0, #0x1f
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061750
+FUN_02061750: ; 0x02061750
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r0, [r4, #0x0]
+ mov r1, #0x4
+ sub r0, #0x95
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_020852E8
+ add r4, r0, #0x0
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r0, #0x5
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061798
+FUN_02061798: ; 0x02061798
+ push {r4-r5, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ add r0, sp, #0x4
+ add r4, r1, #0x0
+ strb r2, [r0, #0x6]
+ bl rand_MT
+ mov r1, #0x3
+ bl _u32_div_f
+ add r0, sp, #0x4
+ strb r1, [r0, #0x5]
+ add r0, sp, #0x8
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ bl FUN_02060E34
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r2, #0x15
+ add r3, sp, #0x4
+ bl FUN_0202B4B0
+ add sp, #0x2c
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020617D8
+FUN_020617D8: ; 0x020617D8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r2, [r4, #0x6]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200B534
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x2
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ bl rand_LC
+ ldr r1, _02061830 ; =0x00005556
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x3
+ blo _02061826
+ bl ErrorHandling
+_02061826:
+ add r4, #0x21
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ nop
+_02061830: .word 0x00005556
+
+ thumb_func_start FUN_02061834
+FUN_02061834: ; 0x02061834
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061850
+FUN_02061850: ; 0x02061850
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02023924
+ str r0, [r5, #0x0]
+ add r0, r4, #0x0
+ add r1, r5, #0x4
+ bl FUN_0202393C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061868
+FUN_02061868: ; 0x02061868
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ bl FUN_02023924
+ ldr r1, [r4, #0x0]
+ cmp r1, r0
+ beq _02061884
+ bl ErrorHandling
+_02061884:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x4
+ bl FUN_0200ABC0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206189C
+FUN_0206189C: ; 0x0206189C
+ push {r4, lr}
+ sub sp, #0x28
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ bl FUN_02061850
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x16
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4, pc}
+
+ thumb_func_start FUN_020618B8
+FUN_020618B8: ; 0x020618B8
+ push {r4, lr}
+ sub sp, #0x28
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ bl FUN_02061850
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x17
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4, pc}
+
+ thumb_func_start FUN_020618D4
+FUN_020618D4: ; 0x020618D4
+ push {r3, lr}
+ bl FUN_02061868
+ mov r0, #0x24
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020618E0
+FUN_020618E0: ; 0x020618E0
+ push {r3, lr}
+ bl FUN_02061868
+ mov r0, #0x25
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020618EC
+FUN_020618EC: ; 0x020618EC
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ mov r1, #0x6b
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206EE50
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061904
+FUN_02061904: ; 0x02061904
+ push {r3-r6, lr}
+ sub sp, #0x2c
+ add r6, r0, #0x0
+ add r0, sp, #0x8
+ add r5, r1, #0x0
+ add r4, r3, #0x0
+ add r0, #0x2
+ add r1, sp, #0x4
+ add r3, sp, #0x8
+ str r0, [sp, #0x0]
+ add r0, r2, #0x0
+ add r1, #0x2
+ add r2, sp, #0x8
+ add r3, #0x1
+ bl FUN_02060E34
+ add r0, sp, #0x4
+ strh r5, [r0, #0x0]
+ strb r4, [r0, #0x7]
+ add r0, r6, #0x0
+ mov r1, #0x3
+ mov r2, #0x1
+ add r3, sp, #0x4
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206193C
+FUN_0206193C: ; 0x0206193C
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x5]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x6]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ ldrb r3, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r3, #0x4
+ bl FUN_0200AD38
+ ldrb r0, [r4, #0x7]
+ cmp r0, #0x0
+ bne _0206198A
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0206198A:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061990
+FUN_02061990: ; 0x02061990
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x2]
+ bl FUN_020245F0
+ cmp r0, #0x0
+ bne _020619B0
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_020619B0:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x2
+ mov r2, #0x11
+ bl FUN_0205F2E4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020619C0
+FUN_020619C0: ; 0x020619C0
+ push {r4-r5, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ add r0, sp, #0x8
+ str r0, [sp, #0x0]
+ add r0, r2, #0x0
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ add r4, r1, #0x0
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ bl FUN_02060E34
+ mov r1, #0x3
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ add r3, sp, #0x4
+ str r4, [sp, #0xc]
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020619F0
+FUN_020619F0: ; 0x020619F0
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ mov r0, #0xfa
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ mul r0, r1
+ mov r1, #0xfe
+ bl _u32_div_f
+ add r0, r0, #0x5
+ mov r1, #0xa
+ bl _u32_div_f
+ mov r1, #0xa
+ add r4, r0, #0x0
+ bl _u32_div_f
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r3, #0x3
+ bl FUN_0200AD38
+ add r0, r4, #0x0
+ mov r1, #0xa
+ bl _u32_div_f
+ mov r0, #0x0
+ add r2, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ add r0, r5, #0x0
+ mov r1, #0x3
+ str r3, [sp, #0x4]
+ bl FUN_0200AD38
+ mov r0, #0x2
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061A70
+FUN_02061A70: ; 0x02061A70
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061A8C
+FUN_02061A8C: ; 0x02061A8C
+ push {r3-r5, lr}
+ sub sp, #0x28
+ mov r4, #0xfa
+ lsl r4, r4, #0x2
+ add r4, r1, r4
+ add r5, sp, #0x0
+ cmp r2, r4
+ blo _02061AAC
+ str r1, [r5, #0x0]
+ str r2, [r5, #0x4]
+ str r3, [r5, #0x8]
+ mov r1, #0x3
+ mov r2, #0x4
+ add r3, r5, #0x0
+ bl FUN_02060D74
+_02061AAC:
+ add sp, #0x28
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02061AB0
+FUN_02061AB0: ; 0x02061AB0
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ ldr r2, [r4, #0x8]
+ add r0, r5, #0x0
+ mov r3, #0xa
+ bl FUN_0200AD38
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r3, #0x6
+ bl FUN_0200AD38
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r2, [r4, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r3, #0x6
+ bl FUN_0200AD38
+ mov r0, #0x3
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061B0C
+FUN_02061B0C: ; 0x02061B0C
+ push {r3, lr}
+ sub sp, #0x28
+ add r3, sp, #0x0
+ strh r1, [r3, #0x0]
+ strh r2, [r3, #0x2]
+ mov r1, #0x3
+ mov r2, #0x8
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3, pc}
+
+ thumb_func_start FUN_02061B24
+FUN_02061B24: ; 0x02061B24
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200B1D4
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r0, #0x7
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061B64
+FUN_02061B64: ; 0x02061B64
+ push {r3, lr}
+ sub sp, #0x28
+ add r2, sp, #0x0
+ add r3, sp, #0x0
+ strh r1, [r2, #0x0]
+ cmp r1, #0x1
+ bls _02061B7A
+ mov r1, #0x3
+ mov r2, #0x9
+ bl FUN_02060D74
+_02061B7A:
+ add sp, #0x28
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061B80
+FUN_02061B80: ; 0x02061B80
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r0, #0x8
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061BB4
+FUN_02061BB4: ; 0x02061BB4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0206F158
+ mov r1, #0x6b
+ lsl r1, r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x20
+ bl FUN_0206EE50
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061BCC
+FUN_02061BCC: ; 0x02061BCC
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B85C
+ ldrh r2, [r0, #0x0]
+ add r1, sp, #0x0
+ add r3, sp, #0x0
+ strh r2, [r1, #0x0]
+ ldrh r2, [r0, #0x2]
+ strh r2, [r1, #0x2]
+ mov r2, #0x0
+ strb r2, [r0, #0x0]
+ strh r4, [r1, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x2
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061C00
+FUN_02061C00: ; 0x02061C00
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ mov r1, #0x0
+ add r4, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r3, #0x4
+ bl FUN_0200AD38
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200B518
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x1
+ bne _02061C42
+ add sp, #0x8
+ mov r0, #0x8
+ pop {r4-r6, pc}
+_02061C42:
+ mov r0, #0x9
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061C48
+FUN_02061C48: ; 0x02061C48
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x2
+ mov r2, #0x11
+ bl FUN_0205F2E4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061C5C
+FUN_02061C5C: ; 0x02061C5C
+ push {r3-r6, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_0206BB1C
+ bl FUN_0204A20C
+ add r1, sp, #0x8
+ add r2, sp, #0x4
+ add r3, sp, #0x4
+ str r1, [sp, #0x0]
+ add r1, sp, #0x4
+ add r2, #0x2
+ add r3, #0x3
+ add r6, r0, #0x0
+ bl FUN_02060E34
+ add r2, sp, #0x8
+ add r3, sp, #0x8
+ mov r0, #0x20
+ add r1, r6, #0x0
+ add r2, #0x1
+ add r3, #0x2
+ bl FUN_02060ECC
+ add r0, sp, #0x4
+ strh r4, [r0, #0x1c]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x4
+ add r3, sp, #0x4
+ bl FUN_02060D74
+ add sp, #0x2c
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061CA8
+FUN_02061CA8: ; 0x02061CA8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x5]
+ cmp r0, #0x0
+ beq _02061D00
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x2
+ add r2, r4, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060D90
+ ldrh r2, [r4, #0x1c]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0200B518
+ add sp, #0x8
+ mov r0, #0xa
+ pop {r4-r6, pc}
+_02061D00:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x3]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x4]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x0]
+ ldrb r3, [r4, #0x2]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrh r2, [r4, #0x1c]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0200B518
+ mov r0, #0xb
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061D30
+FUN_02061D30: ; 0x02061D30
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061D4C
+FUN_02061D4C: ; 0x02061D4C
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x4]
+ add r4, r1, #0x0
+ ldr r0, [r0, #0x14]
+ bl MOD20_02252538
+ str r0, [sp, #0x0]
+ add r0, sp, #0x0
+ strh r4, [r0, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x6
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061D74
+FUN_02061D74: ; 0x02061D74
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200B02C
+ ldrh r2, [r4, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200B518
+ mov r0, #0x10
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061DA4
+FUN_02061DA4: ; 0x02061DA4
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B838
+ ldrh r2, [r0, #0x0]
+ add r1, sp, #0x0
+ add r3, sp, #0x0
+ strh r2, [r1, #0x0]
+ ldrh r2, [r0, #0x2]
+ strh r2, [r1, #0x2]
+ ldrh r2, [r0, #0x4]
+ strh r2, [r1, #0x4]
+ ldrh r2, [r0, #0x6]
+ strh r2, [r1, #0x6]
+ ldrh r2, [r0, #0x8]
+ strh r2, [r1, #0x8]
+ mov r2, #0x0
+ strb r2, [r0, #0x0]
+ strh r4, [r1, #0xa]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x7
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061DE4
+FUN_02061DE4: ; 0x02061DE4
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r0, r6, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldrb r0, [r4, #0x5]
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x6]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ ldrb r3, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrb r0, [r4, #0x8]
+ bl FUN_02083298
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0200B2AC
+ ldrb r0, [r4, #0x7]
+ bl FUN_02083268
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200B278
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ str r3, [sp, #0x4]
+ ldrb r2, [r4, #0x9]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0200AD38
+ add r0, r5, #0x0
+ mov r1, #0x4
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0xa]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ bl FUN_0200B518
+ ldrb r0, [r4, #0x9]
+ cmp r0, #0x1
+ bne _02061E5A
+ add sp, #0x8
+ mov r0, #0x12
+ pop {r4-r6, pc}
+_02061E5A:
+ mov r0, #0x11
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061E60
+FUN_02061E60: ; 0x02061E60
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x2]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061E7C
+FUN_02061E7C: ; 0x02061E7C
+ push {r4, lr}
+ sub sp, #0x28
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ strh r1, [r0, #0x2]
+ ldr r0, [r4, #0xc]
+ bl FUN_02027E24
+ mov r1, #0x0
+ bl FUN_02027008
+ bl FUN_020275D8
+ add r1, sp, #0x0
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ mov r2, #0x9
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061EAC
+FUN_02061EAC: ; 0x02061EAC
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrh r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02060EA0
+ ldrh r2, [r4, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200B518
+ mov r0, #0x14
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061EDC
+FUN_02061EDC: ; 0x02061EDC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02024DA0
+ ldrh r1, [r4, #0x0]
+ bl FUN_020245F0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061EF8
+FUN_02061EF8: ; 0x02061EF8
+ push {r3, lr}
+ sub sp, #0x28
+ str r1, [sp, #0x0]
+ mov r1, #0x1
+ mov r2, #0xa
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3, pc}
+
+ thumb_func_start FUN_02061F0C
+FUN_02061F0C: ; 0x02061F0C
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldr r0, [r4, #0x0]
+ add r0, #0x14
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061F2C
+FUN_02061F2C: ; 0x02061F2C
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B850
+ ldrb r2, [r0, #0x0]
+ add r1, sp, #0x0
+ add r3, sp, #0x0
+ strb r2, [r1, #0x0]
+ ldrb r2, [r0, #0x1]
+ strb r2, [r1, #0x1]
+ strh r4, [r1, #0x2]
+ mov r1, #0x0
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0xb
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02061F60
+FUN_02061F60: ; 0x02061F60
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ add r0, r7, #0x0
+ add r5, r1, #0x0
+ bl MOD06_02248B60
+ add r6, r0, #0x0
+ ldrb r4, [r6, #0x1]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r7, #0x0
+ bl FUN_02060DCC
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0200B628
+ ldrh r2, [r6, #0x2]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200B518
+ sub r4, #0x19
+ cmp r4, #0x3
+ bhi _02061FB8
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02061FA0: ; jump table (using 16-bit offset)
+ .short _02061FA8 - _02061FA0 - 2; case 0
+ .short _02061FAC - _02061FA0 - 2; case 1
+ .short _02061FB0 - _02061FA0 - 2; case 2
+ .short _02061FB4 - _02061FA0 - 2; case 3
+_02061FA8:
+ mov r0, #0x27
+ pop {r3-r7, pc}
+_02061FAC:
+ mov r0, #0x28
+ pop {r3-r7, pc}
+_02061FB0:
+ mov r0, #0x29
+ pop {r3-r7, pc}
+_02061FB4:
+ mov r0, #0x2a
+ pop {r3-r7, pc}
+_02061FB8:
+ mov r0, #0x26
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02061FBC
+FUN_02061FBC: ; 0x02061FBC
+ push {r4-r6, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r4, r1, #0x0
+ bl FUN_02022504
+ bl FUN_0202B844
+ add r6, r0, #0x0
+ add r3, sp, #0x0
+ mov r2, #0x12
+_02061FD4:
+ ldrh r1, [r6, #0x0]
+ add r6, r6, #0x2
+ strh r1, [r3, #0x0]
+ add r3, r3, #0x2
+ sub r2, r2, #0x1
+ bne _02061FD4
+ add r1, sp, #0x0
+ strh r4, [r1, #0x24]
+ mov r1, #0x0
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0xd
+ add r3, sp, #0x0
+ bl FUN_02060D74
+ add sp, #0x28
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02061FF8
+FUN_02061FF8: ; 0x02061FF8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ add r5, r1, #0x0
+ add r0, r6, #0x0
+ bl MOD06_02248B60
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ bl FUN_02060DCC
+ ldrb r0, [r4, #0x5]
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, #0x6]
+ str r0, [sp, #0x4]
+ ldrh r2, [r4, #0x2]
+ ldrb r3, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02060E70
+ ldrb r2, [r4, #0x1e]
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0200AE04
+ ldrh r2, [r4, #0x24]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ bl FUN_0200B518
+ ldrb r0, [r4, #0x1f]
+ cmp r0, #0x0
+ beq _0206204A
+ cmp r0, #0x1
+ beq _02062062
+ cmp r0, #0x2
+ beq _02062050
+ b _02062072
+_0206204A:
+ add sp, #0x8
+ mov r0, #0x2d
+ pop {r4-r6, pc}
+_02062050:
+ add r4, #0x20
+ ldrb r2, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0200B660
+ add sp, #0x8
+ mov r0, #0x2c
+ pop {r4-r6, pc}
+_02062062:
+ ldrh r2, [r4, #0x22]
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0200AE38
+ add sp, #0x8
+ mov r0, #0x2e
+ pop {r4-r6, pc}
+_02062072:
+ mov r0, #0x2d
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02062078
+FUN_02062078: ; 0x02062078
+ push {r3-r7, lr}
+ mov r6, #0x0
+ ldr r5, _0206209C ; =0x020F7650
+ add r7, r0, #0x0
+ add r4, r6, #0x0
+_02062082:
+ ldrb r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02028828
+ cmp r0, #0x0
+ beq _02062090
+ add r4, r4, #0x1
+_02062090:
+ add r6, r6, #0x1
+ add r5, r5, #0x1
+ cmp r6, #0x5
+ blo _02062082
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0206209C: .word 0x020F7650
+
+ thumb_func_start FUN_020620A0
+FUN_020620A0: ; 0x020620A0
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ str r1, [sp, #0x8]
+ bl FUN_0202881C
+ add r7, r0, #0x0
+ bl FUN_02062078
+ add r4, r0, #0x0
+ cmp r4, #0x0
+ bgt _020620BE
+ bl ErrorHandling
+_020620BE:
+ cmp r4, #0x1
+ ble _020620D0
+ bl rand_MT
+ add r1, r4, #0x0
+ bl _u32_div_f
+ add r5, r1, #0x0
+ b _020620D2
+_020620D0:
+ mov r5, #0x0
+_020620D2:
+ ldr r4, _02062154 ; =0x020F7650
+ mov r6, #0x0
+_020620D6:
+ ldrb r1, [r4, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02028828
+ cmp r0, #0x0
+ beq _020620F0
+ cmp r5, #0x0
+ bne _020620EE
+ ldr r0, _02062154 ; =0x020F7650
+ ldrb r0, [r0, r6]
+ str r0, [sp, #0xc]
+ b _020620F8
+_020620EE:
+ sub r5, r5, #0x1
+_020620F0:
+ add r6, r6, #0x1
+ add r4, r4, #0x1
+ cmp r6, #0x5
+ blo _020620D6
+_020620F8:
+ cmp r5, #0x0
+ beq _02062100
+ bl ErrorHandling
+_02062100:
+ bl rand_LC
+ mov r1, #0xf1
+ lsl r1, r1, #0x4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x11
+ blo _02062118
+ bl ErrorHandling
+_02062118:
+ cmp r4, #0x9
+ blt _0206211E
+ add r4, r4, #0x1
+_0206211E:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ ldr r0, [sp, #0x8]
+ ldr r1, [r1, #0xc]
+ ldr r2, [sp, #0xc]
+ mov r3, #0x0
+ bl FUN_0200B708
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ ldr r0, [sp, #0x8]
+ ldr r1, [r1, #0xc]
+ ldr r2, [sp, #0xc]
+ mov r3, #0x1
+ bl FUN_0200B708
+ ldr r0, [sp, #0x8]
+ mov r1, #0x2
+ add r2, r4, #0x0
+ bl FUN_0200AF18
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_02062154: .word 0x020F7650
+
+ thumb_func_start FUN_02062158
+FUN_02062158: ; 0x02062158
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0202881C
+ bl FUN_02062078
+ cmp r0, #0x0
+ beq _0206216C
+ mov r0, #0x1
+ pop {r3, pc}
+_0206216C:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02062170
+FUN_02062170: ; 0x02062170
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ bl rand_LC
+ ldr r1, _02062234 ; =0x00003334
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x5
+ blo _0206218C
+ bl ErrorHandling
+_0206218C:
+ ldr r0, _02062238 ; =0x02105FBC
+ lsl r1, r4, #0x1
+ ldrh r5, [r0, r1]
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02034FE4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02034824
+ add r2, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x0
+ bl FUN_0200AFF4
+ cmp r4, #0xb
+ bhi _0206222C
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020621BC: ; jump table (using 16-bit offset)
+ .short _020621D4 - _020621BC - 2; case 0
+ .short _0206220C - _020621BC - 2; case 1
+ .short _02062210 - _020621BC - 2; case 2
+ .short _02062214 - _020621BC - 2; case 3
+ .short _02062224 - _020621BC - 2; case 4
+ .short _02062218 - _020621BC - 2; case 5
+ .short _0206221C - _020621BC - 2; case 6
+ .short _02062220 - _020621BC - 2; case 7
+ .short _0206222C - _020621BC - 2; case 8
+ .short _0206222C - _020621BC - 2; case 9
+ .short _0206222C - _020621BC - 2; case 10
+ .short _02062228 - _020621BC - 2; case 11
+_020621D4:
+ bl rand_LC
+ lsl r0, r0, #0x2
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _020621E4
+ bl ErrorHandling
+_020621E4:
+ cmp r4, #0x3
+ bhi _0206220C
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020621F4: ; jump table (using 16-bit offset)
+ .short _020621FC - _020621F4 - 2; case 0
+ .short _02062200 - _020621F4 - 2; case 1
+ .short _02062204 - _020621F4 - 2; case 2
+ .short _02062208 - _020621F4 - 2; case 3
+_020621FC:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02062200:
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_02062204:
+ mov r0, #0x3
+ pop {r3-r7, pc}
+_02062208:
+ mov r0, #0x4
+ pop {r3-r7, pc}
+_0206220C:
+ mov r0, #0x5
+ pop {r3-r7, pc}
+_02062210:
+ mov r0, #0x6
+ pop {r3-r7, pc}
+_02062214:
+ mov r0, #0x7
+ pop {r3-r7, pc}
+_02062218:
+ mov r0, #0x8
+ pop {r3-r7, pc}
+_0206221C:
+ mov r0, #0x9
+ pop {r3-r7, pc}
+_02062220:
+ mov r0, #0xa
+ pop {r3-r7, pc}
+_02062224:
+ mov r0, #0xb
+ pop {r3-r7, pc}
+_02062228:
+ mov r0, #0xc
+ pop {r3-r7, pc}
+_0206222C:
+ bl ErrorHandling
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_02062234: .word 0x00003334
+_02062238: .word 0x02105FBC
+
+ thumb_func_start FUN_0206223C
+FUN_0206223C: ; 0x0206223C
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_02062240
+FUN_02062240: ; 0x02062240
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r0, [r0, #0xc]
+ add r4, r1, #0x0
+ bl FUN_0202A9B0
+ mov r1, #0x2
+ bl FUN_0202A990
+ add r1, sp, #0x0
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl MOD06_02245910
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x2]
+ bl FUN_02034824
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200AFF4
+ add r2, sp, #0x0
+ ldrh r2, [r2, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02060EA0
+ mov r0, #0x1c
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_02062280
+FUN_02062280: ; 0x02062280
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_0202AA14
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062290
+FUN_02062290: ; 0x02062290
+ push {r3-r4}
+ ldr r4, _020622BC ; =0x020F78A4
+ mov r3, #0x0
+_02062296:
+ ldrb r2, [r4, #0x0]
+ cmp r0, r2
+ bne _020622AE
+ ldrb r2, [r4, #0x1]
+ cmp r1, r2
+ bne _020622AE
+ lsl r0, r3, #0x1
+ add r1, r3, r0
+ ldr r0, _020622C0 ; =0x020F78A6
+ ldrb r0, [r0, r1]
+ pop {r3-r4}
+ bx lr
+_020622AE:
+ add r3, r3, #0x1
+ add r4, r4, #0x3
+ cmp r3, #0x6e
+ blo _02062296
+ mov r0, #0x3
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_020622BC: .word 0x020F78A4
+_020622C0: .word 0x020F78A6
+
+ thumb_func_start FUN_020622C4
+FUN_020622C4: ; 0x020622C4
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ bl rand_LC
+ mov r1, #0xf1
+ lsl r1, r1, #0x4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x11
+ blo _020622E0
+ bl ErrorHandling
+_020622E0:
+ cmp r5, #0x9
+ blt _020622E6
+ add r5, r5, #0x1
+_020622E6:
+ bl rand_LC
+ mov r1, #0xf1
+ lsl r1, r1, #0x4
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x11
+ blo _020622FE
+ bl ErrorHandling
+_020622FE:
+ cmp r4, #0x9
+ blt _02062304
+ add r4, r4, #0x1
+_02062304:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200AF18
+ add r0, r6, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0200AF18
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02062290
+ cmp r0, #0x3
+ bhi _0206233C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02062330: ; jump table (using 16-bit offset)
+ .short _02062344 - _02062330 - 2; case 0
+ .short _02062340 - _02062330 - 2; case 1
+ .short _02062338 - _02062330 - 2; case 2
+ .short _0206233C - _02062330 - 2; case 3
+_02062338:
+ mov r0, #0x1e
+ pop {r4-r6, pc}
+_0206233C:
+ mov r0, #0x1f
+ pop {r4-r6, pc}
+_02062340:
+ mov r0, #0x20
+ pop {r4-r6, pc}
+_02062344:
+ mov r0, #0x21
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02062348
+FUN_02062348: ; 0x02062348
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_0206234C
+FUN_0206234C: ; 0x0206234C
+ push {r3-r7, lr}
+ sub sp, #0x88
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ ldr r4, _020623E8 ; =0x020F7658
+ add r7, r0, #0x0
+ mov r6, #0x0
+ add r5, sp, #0x0
+_0206235E:
+ ldrh r2, [r4, #0x0]
+ add r0, r7, #0x0
+ mov r1, #0x2
+ bl FUN_0205F2E4
+ strb r0, [r5, #0x0]
+ add r6, r6, #0x1
+ add r4, r4, #0x2
+ add r5, r5, #0x1
+ cmp r6, #0x12
+ blo _0206235E
+ mov r3, #0x0
+ add r2, sp, #0x10
+ ldr r0, _020623EC ; =0x020F79EE
+ add r4, r3, #0x0
+ add r1, r3, #0x0
+ add r2, #0x2
+ add r6, sp, #0x0
+_02062382:
+ lsl r5, r1, #0x1
+ ldrh r5, [r0, r5]
+ ldrb r5, [r6, r5]
+ cmp r5, #0x0
+ beq _02062392
+ strb r3, [r2, #0x0]
+ add r2, r2, #0x1
+ add r4, r4, #0x1
+_02062392:
+ add r3, r3, #0x1
+ add r1, r1, #0x2
+ cmp r3, #0x76
+ blo _02062382
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bne _020623A4
+ bl ErrorHandling
+_020623A4:
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x1
+ bhi _020623B0
+ mov r5, #0x0
+ b _020623DE
+_020623B0:
+ bl rand_LC
+ add r5, r0, #0x0
+ lsl r1, r4, #0x10
+ ldr r0, _020623F0 ; =0x0000FFFF
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ cmp r5, r0
+ blo _020623DE
+ bl ErrorHandling
+_020623DE:
+ add r0, sp, #0x10
+ add r0, #0x2
+ ldrb r0, [r0, r5]
+ add sp, #0x88
+ pop {r3-r7, pc}
+ .balign 4
+_020623E8: .word 0x020F7658
+_020623EC: .word 0x020F79EE
+_020623F0: .word 0x0000FFFF
+
+ thumb_func_start FUN_020623F4
+FUN_020623F4: ; 0x020623F4
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02024ECC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0206234C
+ add r4, r0, #0x0
+ lsl r0, r4, #0x1
+ add r0, r0, #0x1
+ lsl r1, r0, #0x1
+ ldr r0, _0206245C ; =0x020F79EE
+ ldrh r0, [r0, r1]
+ bl FUN_02034824
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0200AFF4
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02025238
+ cmp r0, #0x5
+ bhi _02062456
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206243A: ; jump table (using 16-bit offset)
+ .short _02062456 - _0206243A - 2; case 0
+ .short _02062456 - _0206243A - 2; case 1
+ .short _02062452 - _0206243A - 2; case 2
+ .short _0206244E - _0206243A - 2; case 3
+ .short _0206244A - _0206243A - 2; case 4
+ .short _02062446 - _0206243A - 2; case 5
+_02062446:
+ mov r0, #0x23
+ pop {r4-r6, pc}
+_0206244A:
+ mov r0, #0x24
+ pop {r4-r6, pc}
+_0206244E:
+ mov r0, #0x25
+ pop {r4-r6, pc}
+_02062452:
+ mov r0, #0x26
+ pop {r4-r6, pc}
+_02062456:
+ mov r0, #0x27
+ pop {r4-r6, pc}
+ nop
+_0206245C: .word 0x020F79EE
+
+ thumb_func_start FUN_02062460
+FUN_02062460: ; 0x02062460
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x2
+ mov r2, #0x9
+ bl FUN_0205F2E4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062474
+FUN_02062474: ; 0x02062474
+ push {r3-r6, lr}
+ sub sp, #0xc
+ mov r0, #0x4
+ add r6, r1, #0x0
+ str r0, [sp, #0x0]
+ add r0, sp, #0x8
+ mov r1, #0x7e
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_02006548
+ ldr r0, [sp, #0x8]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ bne _02062496
+ bl ErrorHandling
+_02062496:
+ cmp r4, #0x1
+ bhi _0206249E
+ mov r5, #0x0
+ b _020624C6
+_0206249E:
+ bl rand_LC
+ add r5, r0, #0x0
+ ldr r0, _02062504 ; =0x0000FFFF
+ add r1, r4, #0x0
+ bl _s32_div_f
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, r4
+ blo _020624C6
+ bl ErrorHandling
+_020624C6:
+ lsl r4, r5, #0x2
+ add r0, sp, #0x4
+ mov r2, #0x2
+ add r0, #0x2
+ mov r1, #0x7e
+ add r3, r4, #0x4
+ str r2, [sp, #0x0]
+ bl FUN_02006548
+ mov r2, #0x2
+ add r0, sp, #0x4
+ mov r1, #0x7e
+ add r3, r4, #0x6
+ str r2, [sp, #0x0]
+ bl FUN_02006548
+ add r2, sp, #0x4
+ ldrh r2, [r2, #0x2]
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_02060EA0
+ add r2, sp, #0x4
+ ldrh r2, [r2, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_0200AE38
+ mov r0, #0x2a
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+_02062504: .word 0x0000FFFF
+
+ thumb_func_start FUN_02062508
+FUN_02062508: ; 0x02062508
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_0206250C
+FUN_0206250C: ; 0x0206250C
+ push {r4-r6, lr}
+ mov r4, #0x0
+ add r6, r0, #0x0
+ add r5, r4, #0x0
+_02062514:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02027098
+ cmp r0, #0x1
+ bne _02062522
+ add r5, r5, #0x1
+_02062522:
+ add r4, r4, #0x1
+ cmp r4, #0xb
+ blt _02062514
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206252C
+FUN_0206252C: ; 0x0206252C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ ldr r0, [r0, #0xc]
+ add r7, r1, #0x0
+ bl FUN_02027E24
+ add r6, r0, #0x0
+ bl FUN_0206250C
+ add r4, r0, #0x0
+ cmp r4, #0x1
+ ble _02062552
+ bl rand_MT
+ add r1, r4, #0x0
+ bl _u32_div_f
+ add r5, r1, #0x0
+ b _02062554
+_02062552:
+ mov r5, #0x0
+_02062554:
+ mov r4, #0x0
+_02062556:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02027098
+ cmp r0, #0x1
+ bne _0206256C
+ cmp r5, #0x0
+ bne _0206256A
+ str r4, [sp, #0x8]
+ b _02062572
+_0206256A:
+ sub r5, r5, #0x1
+_0206256C:
+ add r4, r4, #0x1
+ cmp r4, #0xb
+ blt _02062556
+_02062572:
+ cmp r4, #0xb
+ blt _0206257A
+ bl ErrorHandling
+_0206257A:
+ ldr r1, [sp, #0x8]
+ add r0, r6, #0x0
+ bl FUN_02027008
+ add r5, r0, #0x0
+ mov r0, #0x8
+ mov r1, #0x4
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0202763C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02027608
+ add r0, r5, #0x0
+ bl FUN_020276A8
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_0200ABB4
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add r0, r5, #0x0
+ bl FUN_0202769C
+ add r2, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x1
+ bl FUN_0200B518
+ mov r0, #0x32
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020625D4
+FUN_020625D4: ; 0x020625D4
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_02027E24
+ bl FUN_0206250C
+ cmp r0, #0x0
+ beq _020625E8
+ mov r0, #0x1
+ pop {r3, pc}
+_020625E8:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020625EC
+FUN_020625EC: ; 0x020625EC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x3
+ mov r1, #0x50
+ lsl r2, r0, #0xd
+ ldr r6, [r5, #0xc]
+ bl FUN_0201681C
+ mov r1, #0x2d
+ mov r0, #0x50
+ lsl r1, r1, #0x4
+ bl FUN_02016998
+ mov r2, #0x2d
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x50
+ str r0, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x3
+ bl _s32_div_f
+ strb r1, [r4, #0x16]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x3
+ bl _s32_div_f
+ strb r0, [r4, #0x17]
+ ldrb r0, [r4, #0x16]
+ bl FUN_0202B870
+ strb r0, [r4, #0x18]
+ ldrb r0, [r4, #0x16]
+ bl FUN_0202B87C
+ strb r0, [r4, #0x19]
+ add r0, r4, #0x0
+ add r0, #0xcc
+ str r5, [r0, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r5, #0x8]
+ add r0, #0xd0
+ str r1, [r0, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0202B8E4
+ mov r1, #0x2a
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ add r0, r6, #0x0
+ bl LoadPlayerDataAddress
+ bl FUN_02024FF4
+ strh r0, [r4, #0x1a]
+ add r0, r6, #0x0
+ bl LoadPlayerDataAddress
+ bl FUN_02025084
+ strh r0, [r4, #0x1c]
+ str r4, [r7, #0x8]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062678
+FUN_02062678: ; 0x02062678
+ push {r3-r7, lr}
+ sub sp, #0x8
+ ldr r4, [r0, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldrb r0, [r4, #0x18]
+ cmp r0, #0x0
+ ble _020626FE
+ ldr r0, [sp, #0x4]
+ str r0, [sp, #0x0]
+_0206268C:
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r2, [r4, r0]
+ ldr r0, [sp, #0x0]
+ mov r6, #0x0
+ add r1, r2, r0
+ ldr r0, [r2, r0]
+ add r7, r6, #0x0
+ cmp r0, #0x0
+ ble _020626EC
+ add r5, r6, #0x0
+_020626A2:
+ add r0, r1, #0x4
+ add r1, r0, r5
+ ldrb r0, [r1, #0x6]
+ mov r12, r0
+ cmp r0, #0xff
+ beq _020626D6
+ ldrh r0, [r1, #0x4]
+ cmp r0, #0x0
+ bne _020626D6
+ ldrb r2, [r4, #0x17]
+ ldrb r3, [r4, #0x19]
+ mov r1, #0xd
+ mul r1, r2
+ add r2, r3, r1
+ ldr r1, [sp, #0x4]
+ mov r0, #0x2a
+ add r1, r1, r2
+ mov r2, r12
+ lsl r0, r0, #0x4
+ sub r2, r2, r6
+ lsl r2, r2, #0x18
+ ldr r0, [r4, r0]
+ lsr r2, r2, #0x18
+ bl FUN_0202B8F0
+ add r6, r6, #0x1
+_020626D6:
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x0]
+ ldr r2, [sp, #0x0]
+ add r1, r1, r0
+ ldr r0, [r2, r0]
+ add r7, r7, #0x1
+ add r5, #0x8
+ cmp r7, r0
+ blt _020626A2
+_020626EC:
+ ldr r0, [sp, #0x0]
+ ldrb r1, [r4, #0x18]
+ add r0, #0x3c
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
+ cmp r0, r1
+ blt _0206268C
+_020626FE:
+ add r0, r4, #0x0
+ ldr r5, [r4, #0x0]
+ bl FUN_02016A18
+ mov r2, #0x2d
+ add r0, r4, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ bl MI_CpuFill8
+ add r0, r5, #0x0
+ bl FUN_020168D0
+ mov r0, #0xc
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062720
+FUN_02062720: ; 0x02062720
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02062A70
+ add r0, r4, #0x0
+ bl FUN_02062C80
+ add r0, r4, #0x0
+ bl FUN_02062DB0
+ add r0, r4, #0x0
+ bl FUN_02062F3C
+ mov r0, #0x2
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062740
+FUN_02062740: ; 0x02062740
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02062FFC
+ add r0, r4, #0x0
+ bl FUN_02062EC4
+ add r0, r4, #0x0
+ bl FUN_02062D38
+ add r0, r4, #0x0
+ bl FUN_02062C4C
+ mov r0, #0xb
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062760
+FUN_02062760: ; 0x02062760
+ push {r3, lr}
+ ldrh r1, [r0, #0x22]
+ ldrh r2, [r0, #0x24]
+ bl FUN_02063028
+ mov r0, #0x3
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062770
+FUN_02062770: ; 0x02062770
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0xc0
+ ldr r0, [r0, #0x0]
+ bl FUN_02001204
+ ldr r1, _020627C8 ; =0x021C48B8
+ ldr r3, [r1, #0x48]
+ mov r1, #0x2
+ tst r1, r3
+ beq _02062790
+ add r0, r4, #0x0
+ bl FUN_02063178
+ mov r0, #0xa
+ pop {r4, pc}
+_02062790:
+ mov r2, #0x1
+ add r1, r3, #0x0
+ tst r1, r2
+ bne _0206279C
+ mov r0, #0x3
+ pop {r4, pc}
+_0206279C:
+ sub r1, r2, #0x3
+ cmp r0, r1
+ beq _020627AE
+ sub r1, r2, #0x2
+ cmp r0, r1
+ beq _020627AE
+ ldr r1, _020627CC ; =0x0000FFFF
+ cmp r0, r1
+ bne _020627B8
+_020627AE:
+ add r0, r4, #0x0
+ bl FUN_02063178
+ mov r0, #0xa
+ pop {r4, pc}
+_020627B8:
+ strb r0, [r4, #0x1f]
+ mov r0, #0x0
+ strh r0, [r4, #0x28]
+ add r0, r4, #0x0
+ bl FUN_02063178
+ mov r0, #0x4
+ pop {r4, pc}
+ .balign 4
+_020627C8: .word 0x021C48B8
+_020627CC: .word 0x0000FFFF
+
+ thumb_func_start FUN_020627D0
+FUN_020627D0: ; 0x020627D0
+ push {r3, lr}
+ ldrh r1, [r0, #0x28]
+ bl FUN_02063430
+ mov r0, #0x5
+ pop {r3, pc}
+
+ thumb_func_start FUN_020627DC
+FUN_020627DC: ; 0x020627DC
+ push {r3, lr}
+ ldr r1, _02062804 ; =0x021C48B8
+ ldr r2, [r1, #0x48]
+ mov r1, #0x3
+ tst r1, r2
+ beq _020627F0
+ bl FUN_020634DC
+ mov r0, #0x2
+ pop {r3, pc}
+_020627F0:
+ mov r1, #0x4
+ tst r1, r2
+ beq _020627FE
+ bl FUN_02063238
+ mov r0, #0x6
+ pop {r3, pc}
+_020627FE:
+ mov r0, #0x5
+ pop {r3, pc}
+ nop
+_02062804: .word 0x021C48B8
+
+ thumb_func_start FUN_02062808
+FUN_02062808: ; 0x02062808
+ push {r4, lr}
+ ldr r1, _020628B8 ; =0x021C48B8
+ mov r2, #0x2
+ ldr r1, [r1, #0x48]
+ add r4, r0, #0x0
+ tst r2, r1
+ beq _0206281E
+ bl FUN_02063264
+ mov r0, #0x5
+ pop {r4, pc}
+_0206281E:
+ mov r0, #0x1
+ tst r0, r1
+ beq _0206285C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldrb r2, [r4, #0x1f]
+ mov r1, #0x3c
+ ldr r3, [r4, r0]
+ mul r1, r2
+ add r1, r3, r1
+ add r3, r1, #0x4
+ ldrh r1, [r4, #0x28]
+ add r2, r4, r1
+ add r1, r0, #0x0
+ add r1, #0x8
+ ldrb r1, [r2, r1]
+ lsl r1, r1, #0x3
+ add r2, r3, r1
+ add r1, r0, #0x4
+ str r2, [r4, r1]
+ add r0, r0, #0x4
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x6]
+ cmp r0, #0xff
+ bne _02062858
+ mov r0, #0x8
+ pop {r4, pc}
+_02062858:
+ mov r0, #0x7
+ pop {r4, pc}
+_0206285C:
+ mov r0, #0x40
+ tst r0, r1
+ beq _02062882
+ ldrh r0, [r4, #0x28]
+ cmp r0, #0x0
+ beq _02062882
+ sub r0, r0, #0x1
+ strh r0, [r4, #0x28]
+ ldrh r2, [r4, #0x28]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ lsl r2, r2, #0x4
+ add r2, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4, r0]
+ mov r1, #0x7e
+ asr r2, r2, #0x10
+ bl FUN_0200C714
+_02062882:
+ ldr r0, _020628B8 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x80
+ tst r0, r1
+ beq _020628B4
+ add r0, r4, #0x0
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ ldrh r1, [r4, #0x28]
+ sub r0, r0, #0x1
+ cmp r1, r0
+ bge _020628B4
+ add r0, r1, #0x1
+ strh r0, [r4, #0x28]
+ ldrh r2, [r4, #0x28]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ lsl r2, r2, #0x4
+ add r2, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4, r0]
+ mov r1, #0x7e
+ asr r2, r2, #0x10
+ bl FUN_0200C714
+_020628B4:
+ mov r0, #0x6
+ pop {r4, pc}
+ .balign 4
+_020628B8: .word 0x021C48B8
+
+ thumb_func_start FUN_020628BC
+FUN_020628BC: ; 0x020628BC
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _020628E0 ; =0x020F7BC8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ ldr r2, _020628E4 ; =0x000003D9
+ mov r3, #0xb
+ bl FUN_02002198
+ add r4, #0xc8
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_020628E0: .word 0x020F7BC8
+_020628E4: .word 0x000003D9
+
+ thumb_func_start FUN_020628E8
+FUN_020628E8: ; 0x020628E8
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x3
+ bgt _0206290C
+ cmp r1, #0x0
+ blt _020629CE
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02062904: ; jump table (using 16-bit offset)
+ .short _02062912 - _02062904 - 2; case 0
+ .short _0206294E - _02062904 - 2; case 1
+ .short _02062966 - _02062904 - 2; case 2
+ .short _0206298C - _02062904 - 2; case 3
+_0206290C:
+ cmp r1, #0xff
+ beq _020629B2
+ b _020629CE
+_02062912:
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrh r0, [r4, #0x1a]
+ add r2, r4, #0x0
+ add r2, #0x98
+ str r0, [sp, #0x4]
+ ldr r0, _020629D4 ; =0x0001020F
+ mov r1, #0x1
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0x0]
+ add r0, #0xe4
+ bl FUN_0201BDE0
+ strb r0, [r4, #0x1e]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2
+ bl FUN_0200C66C
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_0206294E:
+ ldrb r0, [r4, #0x1e]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020629CE
+ add r0, r4, #0x0
+ bl FUN_020628BC
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_02062966:
+ add r0, #0xc8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206297E
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _02062986
+ b _020629CE
+_0206297E:
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _020629CE
+_02062986:
+ mov r0, #0xff
+ str r0, [r4, #0xc]
+ b _020629CE
+_0206298C:
+ mov r1, #0xb1
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ mov r2, #0x0
+ strh r2, [r1, #0x4]
+ mov r1, #0x1
+ bl FUN_020632A4
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C66C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ add sp, #0x10
+ mov r0, #0x6
+ pop {r4, pc}
+_020629B2:
+ add r0, r4, #0x0
+ bl FUN_02063208
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C66C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ add sp, #0x10
+ mov r0, #0x6
+ pop {r4, pc}
+_020629CE:
+ mov r0, #0x7
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_020629D4: .word 0x0001020F
+
+ thumb_func_start FUN_020629D8
+FUN_020629D8: ; 0x020629D8
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x0
+ beq _020629EE
+ cmp r1, #0x1
+ beq _02062A2A
+ cmp r1, #0x2
+ beq _02062A3C
+ b _02062A60
+_020629EE:
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrh r0, [r4, #0x1a]
+ add r2, r4, #0x0
+ add r2, #0x9c
+ str r0, [sp, #0x4]
+ ldr r0, _02062A68 ; =0x0001020F
+ mov r1, #0x1
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0x0]
+ add r0, #0xe4
+ bl FUN_0201BDE0
+ strb r0, [r4, #0x1e]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2
+ bl FUN_0200C66C
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _02062A60
+_02062A2A:
+ ldrb r0, [r4, #0x1e]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02062A60
+ ldr r0, [r4, #0xc]
+ add r0, r0, #0x1
+ str r0, [r4, #0xc]
+ b _02062A60
+_02062A3C:
+ ldr r1, _02062A6C ; =0x021C48B8
+ ldr r2, [r1, #0x48]
+ mov r1, #0x3
+ tst r1, r2
+ beq _02062A60
+ bl FUN_02063208
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C66C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ add sp, #0x10
+ mov r0, #0x6
+ pop {r4, pc}
+_02062A60:
+ mov r0, #0x8
+ add sp, #0x10
+ pop {r4, pc}
+ nop
+_02062A68: .word 0x0001020F
+_02062A6C: .word 0x021C48B8
+
+ thumb_func_start FUN_02062A70
+FUN_02062A70: ; 0x02062A70
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ ldrb r2, [r4, #0x18]
+ add r5, r1, #0x0
+ mov r1, #0x3c
+ ldr r0, [r4, #0x0]
+ mul r1, r2
+ bl FUN_02016998
+ mov r1, #0xb
+ lsl r1, r1, #0x6
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ ldrb r3, [r4, #0x18]
+ mov r2, #0x3c
+ mov r1, #0x0
+ mul r2, r3
+ bl MI_CpuFill8
+ ldrb r1, [r4, #0x16]
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0202BD6C
+ mov r1, #0xa9
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ ldrb r0, [r4, #0x18]
+ cmp r0, #0x0
+ bgt _02062AB4
+ b _02062C48
+_02062AB4:
+ ldr r0, [sp, #0x10]
+ str r4, [sp, #0x8]
+ str r0, [sp, #0x4]
+ add r5, r0, #0x0
+_02062ABC:
+ ldrb r2, [r4, #0x17]
+ ldrb r3, [r4, #0x19]
+ mov r1, #0xd
+ mul r1, r2
+ mov r0, #0x2a
+ add r2, r3, r1
+ ldr r1, [sp, #0x10]
+ lsl r0, r0, #0x4
+ add r1, r1, r2
+ ldr r0, [r4, r0]
+ ldr r2, [r4, #0x0]
+ bl FUN_0202BDF0
+ mov r1, #0xaa
+ mov r3, #0x0
+ ldr r2, [sp, #0x8]
+ lsl r1, r1, #0x2
+ str r0, [r2, r1]
+ add r0, r2, #0x0
+ ldr r0, [r0, r1]
+ mov r12, r3
+ str r0, [sp, #0xc]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02062B22
+ sub r0, r1, #0x4
+ ldr r0, [r4, r0]
+ add r3, r1, #0x0
+ add r2, r0, #0x4
+ ldr r0, [sp, #0x4]
+ add r3, #0x18
+ add r2, r2, r0
+ add r0, r1, #0x0
+ add r0, #0x18
+ ldr r0, [r4, r0]
+ add r0, r0, r5
+ str r2, [r0, #0x4]
+ add r0, r1, #0x0
+ add r0, #0x18
+ ldr r0, [r4, r0]
+ mov r2, #0x1
+ add r0, r0, r5
+ strh r2, [r0, #0x8]
+ ldr r3, [r4, r3]
+ mov r0, #0xff
+ add r3, r3, r5
+ add r1, #0x18
+ strb r0, [r3, #0xa]
+ ldr r0, [r4, r1]
+ str r2, [r0, r5]
+ b _02062C2C
+_02062B22:
+ add r2, r3, #0x0
+ cmp r0, #0x0
+ ble _02062BE4
+ ldr r0, [sp, #0xc]
+ str r0, [sp, #0x0]
+ add r7, r0, #0x4
+_02062B2E:
+ mov r0, r12
+ cmp r0, #0x0
+ bne _02062BA8
+ mov r0, #0xa9
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r1, [sp, #0x4]
+ add r1, r1, r0
+ ldr r6, [r1, #0x8]
+ ldr r1, [sp, #0x0]
+ ldr r1, [r1, #0x8]
+ cmp r6, r1
+ blo _02062BA8
+ add r6, r0, #0x4
+ ldr r0, [sp, #0x4]
+ lsl r1, r3, #0x3
+ add r0, r6, r0
+ mov r6, #0xb
+ lsl r6, r6, #0x6
+ ldr r6, [r4, r6]
+ add r3, r3, #0x1
+ add r6, r5, r6
+ add r6, r1, r6
+ str r0, [r6, #0x4]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r6, r1, r0
+ mov r0, #0x1
+ strh r0, [r6, #0x8]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ lsl r6, r3, #0x3
+ add r0, r5, r0
+ add r1, r1, r0
+ mov r0, #0xff
+ strb r0, [r1, #0xa]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r0, r6, r0
+ str r7, [r0, #0x4]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r1, r6, r0
+ mov r0, #0x1
+ strh r0, [r1, #0x8]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r0, r6, r0
+ strb r2, [r0, #0xa]
+ mov r0, #0x1
+ mov r12, r0
+ b _02062BD0
+_02062BA8:
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ lsl r6, r3, #0x3
+ add r0, r5, r0
+ add r0, r6, r0
+ str r7, [r0, #0x4]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r1, r6, r0
+ mov r0, #0x1
+ strh r0, [r1, #0x8]
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ add r0, r5, r0
+ add r0, r6, r0
+ strb r2, [r0, #0xa]
+_02062BD0:
+ ldr r0, [sp, #0x0]
+ add r2, r2, #0x1
+ add r0, #0xc
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0xc]
+ add r3, r3, #0x1
+ ldr r0, [r0, #0x0]
+ add r7, #0xc
+ cmp r2, r0
+ blt _02062B2E
+_02062BE4:
+ mov r0, r12
+ cmp r0, #0x0
+ bne _02062C1E
+ mov r0, #0xa9
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ lsl r2, r3, #0x3
+ add r3, r1, #0x4
+ ldr r1, [sp, #0x4]
+ add r1, r3, r1
+ add r3, r0, #0x0
+ add r3, #0x1c
+ ldr r3, [r4, r3]
+ add r3, r3, r5
+ add r3, r2, r3
+ str r1, [r3, #0x4]
+ add r3, r0, #0x0
+ add r3, #0x1c
+ ldr r3, [r4, r3]
+ mov r1, #0x1
+ add r3, r3, r5
+ add r3, r2, r3
+ strh r1, [r3, #0x8]
+ add r0, #0x1c
+ ldr r0, [r4, r0]
+ mov r1, #0xff
+ add r0, r0, r5
+ add r0, r2, r0
+ strb r1, [r0, #0xa]
+_02062C1E:
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0, #0x0]
+ add r1, r0, #0x1
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ str r1, [r0, r5]
+_02062C2C:
+ ldr r0, [sp, #0x8]
+ ldrb r1, [r4, #0x18]
+ add r0, r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ add r5, #0x3c
+ add r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x10]
+ add r0, r0, #0x1
+ str r0, [sp, #0x10]
+ cmp r0, r1
+ bge _02062C48
+ b _02062ABC
+_02062C48:
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02062C4C
+FUN_02062C4C: ; 0x02062C4C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldrb r0, [r6, #0x18]
+ mov r4, #0x0
+ add r0, r0, #0x1
+ cmp r0, #0x0
+ ble _02062C72
+ mov r7, #0xa9
+ add r5, r6, #0x0
+ lsl r7, r7, #0x2
+_02062C60:
+ ldr r0, [r5, r7]
+ bl FUN_0202BE6C
+ ldrb r0, [r6, #0x18]
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ add r0, r0, #0x1
+ cmp r4, r0
+ blt _02062C60
+_02062C72:
+ mov r0, #0xb
+ lsl r0, r0, #0x6
+ ldr r0, [r6, r0]
+ bl FUN_02016A18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02062C80
+FUN_02062C80: ; 0x02062C80
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r2, _02062D34 ; =0x000001E1
+ ldr r3, [r5, #0x0]
+ mov r0, #0x0
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ str r0, [r5, #0x2c]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x2
+ mov r1, #0x4c
+ bl FUN_0200AA90
+ str r0, [r5, #0x30]
+ ldr r1, [r5, #0x0]
+ mov r0, #0x4c
+ bl FUN_020219F4
+ str r0, [r5, #0x34]
+ ldr r0, [r5, #0x2c]
+ mov r1, #0xd
+ bl FUN_0200A914
+ str r0, [r5, #0x38]
+ ldr r0, [r5, #0x2c]
+ mov r1, #0x16
+ bl FUN_0200A914
+ str r0, [r5, #0x3c]
+ ldr r0, [r5, #0x2c]
+ mov r1, #0x24
+ bl FUN_0200A914
+ str r0, [r5, #0x40]
+ ldr r0, [r5, #0x2c]
+ mov r1, #0xe
+ bl FUN_0200A914
+ str r0, [r5, #0x44]
+ ldrb r0, [r5, #0x18]
+ mov r4, #0x0
+ cmp r0, #0x0
+ ble _02062CFE
+ add r6, r5, #0x0
+_02062CDA:
+ ldrb r1, [r5, #0x19]
+ ldr r0, [r5, #0x2c]
+ add r1, r1, r4
+ bl FUN_0200A914
+ str r0, [r6, #0x64]
+ ldrb r1, [r5, #0x19]
+ ldr r0, [r5, #0x2c]
+ add r1, #0x17
+ add r1, r1, r4
+ bl FUN_0200A914
+ str r0, [r6, #0x7c]
+ ldrb r0, [r5, #0x18]
+ add r4, r4, #0x1
+ add r6, r6, #0x4
+ cmp r4, r0
+ blt _02062CDA
+_02062CFE:
+ mov r4, #0x0
+ add r6, r5, #0x0
+_02062D02:
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x2c]
+ add r1, #0xf
+ bl FUN_0200A914
+ str r0, [r6, #0x48]
+ add r4, r4, #0x1
+ add r6, r6, #0x4
+ cmp r4, #0x7
+ blt _02062D02
+ mov r4, #0x0
+ add r6, r5, #0x0
+_02062D1A:
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x2c]
+ add r1, #0x25
+ bl FUN_0200A914
+ add r1, r6, #0x0
+ add r1, #0x94
+ add r4, r4, #0x1
+ add r6, r6, #0x4
+ str r0, [r1, #0x0]
+ cmp r4, #0x3
+ blt _02062D1A
+ pop {r4-r6, pc}
+ .balign 4
+_02062D34: .word 0x000001E1
+
+ thumb_func_start FUN_02062D38
+FUN_02062D38: ; 0x02062D38
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ mov r4, #0x0
+ add r5, r6, #0x0
+_02062D40:
+ add r0, r5, #0x0
+ add r0, #0x94
+ ldr r0, [r0, #0x0]
+ bl FUN_02021A20
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x3
+ blt _02062D40
+ mov r5, #0x0
+ add r4, r6, #0x0
+_02062D56:
+ ldr r0, [r4, #0x48]
+ bl FUN_02021A20
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, #0x7
+ blt _02062D56
+ ldrb r0, [r6, #0x18]
+ mov r5, #0x0
+ cmp r0, #0x0
+ ble _02062D84
+ add r4, r6, #0x0
+_02062D6E:
+ ldr r0, [r4, #0x64]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x7c]
+ bl FUN_02021A20
+ ldrb r0, [r6, #0x18]
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, r0
+ blt _02062D6E
+_02062D84:
+ ldr r0, [r6, #0x44]
+ bl FUN_02021A20
+ ldr r0, [r6, #0x40]
+ bl FUN_02021A20
+ ldr r0, [r6, #0x3c]
+ bl FUN_02021A20
+ ldr r0, [r6, #0x38]
+ bl FUN_02021A20
+ ldr r0, [r6, #0x34]
+ bl FUN_02021A20
+ ldr r0, [r6, #0x30]
+ bl FUN_0200AB18
+ ldr r0, [r6, #0x2c]
+ bl FUN_0200A8B8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02062DB0
+FUN_02062DB0: ; 0x02062DB0
+ push {r3-r4, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ mov r1, #0xad
+ ldr r3, [r4, #0x0]
+ mov r0, #0x1
+ lsl r1, r1, #0x6
+ mov r2, #0x0
+ bl FUN_02017F18
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x11
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_02018540
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0201797C
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ bl FUN_02018884
+ strh r0, [r4, #0x10]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_02018884
+ strh r0, [r4, #0x12]
+ mov r0, #0x0
+ mov r1, #0x2
+ bl FUN_020178BC
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_020178BC
+ ldrh r0, [r4, #0x1c]
+ ldr r2, _02062EB8 ; =0x000003E2
+ mov r1, #0x3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ mov r3, #0xa
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ bl FUN_0200CD68
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _02062EBC ; =0x000003D9
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x3
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _02062EBC ; =0x000003D9
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r1, #0x1a
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ lsl r1, r1, #0x4
+ bl FUN_02002ED0
+ mov r1, #0x6
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02002EEC
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r0, _02062EC0 ; =0x0000036D
+ add r1, r4, #0x0
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ add r1, #0xe4
+ mov r2, #0x3
+ mov r3, #0x2
+ bl FUN_02019064
+ add r4, #0xe4
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl FUN_02019620
+ add sp, #0x14
+ pop {r3-r4, pc}
+ .balign 4
+_02062EB8: .word 0x000003E2
+_02062EBC: .word 0x000003D9
+_02062EC0: .word 0x0000036D
+
+ thumb_func_start FUN_02062EC4
+FUN_02062EC4: ; 0x02062EC4
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0xe4
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ bl FUN_02019570
+ add r0, r4, #0x0
+ add r0, #0xe4
+ bl FUN_02019178
+ mov r1, #0xad
+ ldr r3, [r4, #0x0]
+ mov r0, #0x1
+ lsl r1, r1, #0x6
+ mov r2, #0x0
+ bl FUN_02017F18
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x11
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_02018540
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201797C
+ ldrh r1, [r4, #0x10]
+ mov r0, #0x0
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_020178BC
+ ldrh r1, [r4, #0x12]
+ mov r0, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_020178BC
+ add sp, #0x10
+ pop {r4, pc}
+
+ thumb_func_start FUN_02062F3C
+FUN_02062F3C: ; 0x02062F3C
+ push {r4-r7, lr}
+ sub sp, #0x24
+ ldr r4, _02062FF0 ; =0x020F7BDC
+ add r3, sp, #0xc
+ add r6, r0, #0x0
+ add r2, r3, #0x0
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r1, r2, #0x0
+ ldr r3, [r6, #0x0]
+ add r0, r6, r0
+ mov r2, #0x2
+ bl MOD05_021D959C
+ mov r0, #0x3
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, _02062FF4 ; =0x000034D8
+ mov r2, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ mov r1, #0x82
+ add r3, r2, #0x0
+ bl MOD05_021D967C
+ ldr r0, _02062FF4 ; =0x000034D8
+ mov r1, #0x82
+ str r0, [sp, #0x0]
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ mov r2, #0x2
+ mov r3, #0x0
+ bl MOD05_021D96F4
+ ldr r0, _02062FF4 ; =0x000034D8
+ mov r1, #0x82
+ str r0, [sp, #0x0]
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ mov r2, #0x3
+ mov r3, #0x0
+ bl MOD05_021D9708
+ mov r2, #0x1
+ ldr r0, _02062FF4 ; =0x000034D8
+ str r2, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ mov r1, #0x82
+ mov r3, #0x0
+ bl MOD05_021D971C
+ ldr r4, _02062FF8 ; =0x020F7C7C
+ mov r7, #0x0
+ add r5, r6, #0x0
+_02062FC4:
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ add r1, r4, #0x0
+ bl MOD05_021D9820
+ mov r1, #0xa6
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r7, r7, #0x1
+ add r4, #0x34
+ add r5, r5, #0x4
+ cmp r7, #0x2
+ blt _02062FC4
+ add r0, r1, #0x4
+ ldr r0, [r6, r0]
+ mov r1, #0x0
+ bl FUN_0200C644
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_02062FF0: .word 0x020F7BDC
+_02062FF4: .word 0x000034D8
+_02062FF8: .word 0x020F7C7C
+
+ thumb_func_start FUN_02062FFC
+FUN_02062FFC: ; 0x02062FFC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r6, #0xa6
+ mov r4, #0x0
+ add r5, r7, #0x0
+ lsl r6, r6, #0x2
+_02063008:
+ ldr r0, [r5, r6]
+ cmp r0, #0x0
+ beq _02063012
+ bl FUN_0200C3DC
+_02063012:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x2
+ blt _02063008
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r7, r0
+ bl MOD05_021D99F8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063028
+FUN_02063028: ; 0x02063028
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ str r1, [sp, #0x14]
+ add r5, r0, #0x0
+ str r2, [sp, #0x18]
+ ldrb r0, [r5, #0x18]
+ ldr r1, [r5, #0x0]
+ add r7, r0, #0x1
+ add r0, r7, #0x0
+ bl FUN_02012838
+ add r1, r5, #0x0
+ add r1, #0xc4
+ str r0, [r1, #0x0]
+ mov r2, #0x1
+ add r1, r5, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x18
+ str r0, [sp, #0x4]
+ lsl r0, r7, #0x19
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ str r2, [sp, #0x10]
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ add r1, #0xd4
+ mov r3, #0x4
+ bl FUN_02019064
+ add r0, r5, #0x0
+ add r0, #0xd4
+ mov r1, #0xff
+ bl FUN_02019620
+ ldrb r0, [r5, #0x18]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _02063094
+ add r4, r5, #0x0
+_0206307C:
+ add r0, r5, #0x0
+ add r0, #0xc4
+ ldr r0, [r0, #0x0]
+ ldr r1, [r4, #0x64]
+ add r2, r6, #0x0
+ bl FUN_020128A0
+ ldrb r0, [r5, #0x18]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, r0
+ blt _0206307C
+_02063094:
+ add r0, r5, #0x0
+ add r0, #0xc4
+ ldr r0, [r0, #0x0]
+ ldr r1, [r5, #0x38]
+ ldr r2, _02063160 ; =0x0000FFFF
+ bl FUN_020128A0
+ add r1, r5, #0x0
+ ldr r0, _02063164 ; =0x020F7C2C
+ add r1, #0xa0
+ mov r2, #0x20
+ bl MI_CpuCopy8
+ add r1, r5, #0x0
+ add r0, r5, #0x0
+ add r1, #0xd4
+ add r0, #0xac
+ str r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xc4
+ ldr r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xa0
+ str r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xbc
+ str r5, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xb0
+ strh r7, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0xb7
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf
+ bic r1, r0
+ add r0, r5, #0x0
+ add r0, #0xb7
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ ldr r1, _02063168 ; =FUN_020631C8
+ add r0, #0xa4
+ str r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0xa8
+ str r1, [r0, #0x0]
+ ldr r3, [r5, #0x0]
+ add r0, r5, #0x0
+ lsl r3, r3, #0x18
+ ldr r1, [sp, #0x14]
+ ldr r2, [sp, #0x18]
+ add r0, #0xa0
+ lsr r3, r3, #0x18
+ bl FUN_020010A8
+ add r1, r5, #0x0
+ add r1, #0xc0
+ str r0, [r1, #0x0]
+ add r0, r5, #0x0
+ ldr r2, _0206316C ; =0x000003D9
+ add r0, #0xd4
+ mov r1, #0x0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add r0, r5, #0x0
+ ldr r2, _02063170 ; =0x000003E2
+ add r0, #0xe4
+ mov r1, #0x1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ add r0, r5, #0x0
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldr r0, _02063174 ; =0x0001020F
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x3c]
+ add r0, #0xe4
+ mov r1, #0x1
+ bl FUN_0201BDE0
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_0200C644
+ add r5, #0xd0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+_02063160: .word 0x0000FFFF
+_02063164: .word 0x020F7C2C
+_02063168: .word FUN_020631C8
+_0206316C: .word 0x000003D9
+_02063170: .word 0x000003E2
+_02063174: .word 0x0001020F
+
+ thumb_func_start FUN_02063178
+FUN_02063178: ; 0x02063178
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0xc0
+ add r1, r4, #0x0
+ add r2, r4, #0x0
+ ldr r0, [r0, #0x0]
+ add r1, #0x22
+ add r2, #0x24
+ bl FUN_02001300
+ add r0, r4, #0x0
+ add r0, #0xc4
+ ldr r0, [r0, #0x0]
+ bl FUN_02012870
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl FUN_02019570
+ add r0, r4, #0x0
+ add r0, #0xd4
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl FUN_02019178
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C644
+ add r4, #0xd0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ pop {r4, pc}
+
+ thumb_func_start FUN_020631C8
+FUN_020631C8: ; 0x020631C8
+ push {r3-r5, lr}
+ mov r1, #0x13
+ add r5, r0, #0x0
+ bl FUN_02001470
+ add r1, sp, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_02001448
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_02001470
+ add r2, sp, #0x0
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ add r2, r3, r2
+ lsl r2, r2, #0x4
+ add r2, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4, r0]
+ mov r1, #0x7e
+ asr r2, r2, #0x10
+ bl FUN_0200C714
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063208
+FUN_02063208: ; 0x02063208
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldr r0, _02063234 ; =0x0001020F
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ str r3, [sp, #0xc]
+ add r4, #0x94
+ ldr r2, [r4, #0x0]
+ add r0, #0xe4
+ mov r1, #0x1
+ bl FUN_0201BDE0
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_02063234: .word 0x0001020F
+
+ thumb_func_start FUN_02063238
+FUN_02063238: ; 0x02063238
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02063208
+ ldrh r2, [r4, #0x28]
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ lsl r2, r2, #0x4
+ add r2, #0x10
+ lsl r2, r2, #0x10
+ ldr r0, [r4, r0]
+ mov r1, #0x7e
+ asr r2, r2, #0x10
+ bl FUN_0200C714
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C644
+ pop {r4, pc}
+
+ thumb_func_start FUN_02063264
+FUN_02063264: ; 0x02063264
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0xe4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldr r0, _020632A0 ; =0x0001020F
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ ldrb r2, [r4, #0x1f]
+ add r0, r4, #0x0
+ add r0, #0xe4
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ ldr r2, [r2, #0x7c]
+ mov r1, #0x1
+ bl FUN_0201BDE0
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C644
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_020632A0: .word 0x0001020F
+
+ thumb_func_start FUN_020632A4
+FUN_020632A4: ; 0x020632A4
+ push {r4-r7, lr}
+ sub sp, #0x34
+ str r1, [sp, #0x10]
+ mov r1, #0xb
+ add r4, r0, #0x0
+ lsl r1, r1, #0x6
+ ldr r1, [r4, r1]
+ ldrb r0, [r4, #0x1f]
+ str r1, [sp, #0x24]
+ mov r1, #0x3c
+ mul r1, r0
+ str r1, [sp, #0x28]
+ ldrb r1, [r4, #0x16]
+ lsl r0, r0, #0x3
+ lsl r2, r1, #0x2
+ ldr r1, _02063428 ; =0x020F7BD0
+ ldr r1, [r1, r2]
+ add r0, r1, r0
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ add r0, #0xd4
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r0, #0x1
+ str r0, [sp, #0x1c]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ str r1, [sp, #0x20]
+ ldr r2, [sp, #0x24]
+ ldr r1, [sp, #0x28]
+ str r0, [sp, #0x18]
+ ldr r1, [r2, r1]
+ cmp r1, #0x0
+ ble _020633EA
+ ldr r1, [sp, #0x28]
+ add r7, r2, r1
+ add r1, r0, #0x0
+ str r1, [sp, #0x30]
+ add r1, r4, #0x0
+ str r1, [sp, #0x2c]
+ add r1, #0xd4
+ str r1, [sp, #0x2c]
+_020632FA:
+ ldrh r1, [r7, #0x8]
+ cmp r1, #0x0
+ beq _020633D6
+ ldr r1, [r7, #0x4]
+ ldr r5, [r1, #0x4]
+ ldr r1, [sp, #0x14]
+ ldr r1, [r1, #0x0]
+ cmp r5, r1
+ bls _0206330E
+ add r5, r1, #0x0
+_0206330E:
+ cmp r5, r0
+ bge _02063318
+ ldr r0, [sp, #0x1c]
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c]
+_02063318:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x30]
+ ldr r2, [sp, #0x1c]
+ mov r1, #0x0
+ mov r3, #0x1
+ bl FUN_0200AD38
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ ldr r2, [r7, #0x4]
+ ldr r0, [r4, #0x30]
+ ldr r2, [r2, #0x8]
+ mov r1, #0x1
+ mov r3, #0x2
+ bl FUN_0200ABB4
+ ldr r0, [r4, #0x30]
+ ldr r1, [r4, #0x34]
+ ldr r2, [r4, #0x44]
+ bl FUN_0200B7B8
+ ldr r0, [sp, #0x30]
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0206342C ; =0x0001020F
+ mov r3, #0x8
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x2c]
+ ldr r2, [r4, #0x34]
+ bl FUN_0201BDE0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r3, [sp, #0x14]
+ ldr r0, [r4, #0x30]
+ ldrh r3, [r3, #0x4]
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200AD38
+ ldr r2, [sp, #0x14]
+ ldr r0, [r4, #0x30]
+ ldrh r2, [r2, #0x6]
+ ldr r1, [r4, #0x34]
+ lsl r2, r2, #0x2
+ add r2, r4, r2
+ ldr r2, [r2, #0xc]
+ bl FUN_0200B7B8
+ mov r0, #0x0
+ ldr r1, [r4, #0x34]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ mov r12, r0
+ ldr r0, [sp, #0x30]
+ mov r3, #0xb8
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0206342C ; =0x0001020F
+ mov r6, r12
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x2c]
+ ldr r2, [r4, #0x34]
+ mov r1, #0x0
+ sub r3, r3, r6
+ bl FUN_0201BDE0
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x20]
+ add r2, r4, r0
+ mov r0, #0xb2
+ lsl r0, r0, #0x2
+ strb r1, [r2, r0]
+ ldr r1, [sp, #0x30]
+ add r0, r5, #0x0
+ add r1, #0x10
+ str r1, [sp, #0x30]
+ ldr r1, [sp, #0x18]
+ add r1, r1, #0x1
+ str r1, [sp, #0x18]
+ cmp r1, #0x6
+ bge _020633EA
+_020633D6:
+ ldr r1, [sp, #0x20]
+ ldr r2, [sp, #0x24]
+ add r1, r1, #0x1
+ str r1, [sp, #0x20]
+ ldr r1, [sp, #0x28]
+ add r7, #0x8
+ ldr r2, [r2, r1]
+ ldr r1, [sp, #0x20]
+ cmp r1, r2
+ blt _020632FA
+_020633EA:
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl FUN_020191D0
+ add r1, r4, #0x0
+ ldr r0, [sp, #0x18]
+ add r1, #0x21
+ strb r0, [r1, #0x0]
+ ldrh r1, [r4, #0x28]
+ cmp r1, #0x0
+ beq _0206340E
+ add r0, r4, #0x0
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r1, r0
+ blt _0206340E
+ sub r0, r1, #0x1
+ strh r0, [r4, #0x28]
+_0206340E:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ beq _0206341E
+ add r0, r4, #0x0
+ bl FUN_02063238
+ add sp, #0x34
+ pop {r4-r7, pc}
+_0206341E:
+ add r0, r4, #0x0
+ bl FUN_02063264
+ add sp, #0x34
+ pop {r4-r7, pc}
+ .balign 4
+_02063428: .word 0x020F7BD0
+_0206342C: .word 0x0001020F
+
+ thumb_func_start FUN_02063430
+FUN_02063430: ; 0x02063430
+ push {r3-r4, lr}
+ sub sp, #0x14
+ mov r2, #0x1
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x18
+ str r0, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ str r2, [sp, #0x10]
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ add r1, #0xd4
+ mov r3, #0x4
+ bl FUN_02019064
+ add r0, r4, #0x0
+ ldr r2, _020634D0 ; =0x000003D9
+ add r0, #0xd4
+ mov r1, #0x1
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020632A4
+ mov r0, #0xa7
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C644
+ mov r0, #0xe
+ str r0, [sp, #0x0]
+ mov r3, #0x8
+ add r1, r4, #0x0
+ str r3, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ ldr r0, _020634D4 ; =0x00000345
+ add r1, #0xf4
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ add r0, #0xd0
+ ldr r0, [r0, #0x0]
+ mov r2, #0x3
+ bl FUN_02019064
+ add r0, r4, #0x0
+ add r0, #0xf4
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, _020634D8 ; =0x00010200
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ add r0, r4, #0x0
+ ldr r2, [r4, #0x40]
+ add r0, #0xf4
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ add r4, #0xd0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x14
+ pop {r3-r4, pc}
+ nop
+_020634D0: .word 0x000003D9
+_020634D4: .word 0x00000345
+_020634D8: .word 0x00010200
+
+ thumb_func_start FUN_020634DC
+FUN_020634DC: ; 0x020634DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0xd4
+ bl FUN_02019570
+ add r0, r4, #0x0
+ add r0, #0xd4
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl FUN_02019178
+ add r0, r4, #0x0
+ add r0, #0xf4
+ bl FUN_02019570
+ add r0, r4, #0x0
+ add r0, #0xf4
+ bl FUN_02019178
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C644
+ mov r0, #0xa7
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C644
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063524
+FUN_02063524: ; 0x02063524
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r2, [r4, #0x0]
+ ldr r1, [r4, #0x8]
+ cmp r2, #0xc
+ bls _02063540
+ b _02063646
+_02063540:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206354C: ; jump table (using 16-bit offset)
+ .short _02063566 - _0206354C - 2; case 0
+ .short _02063572 - _0206354C - 2; case 1
+ .short _0206357E - _0206354C - 2; case 2
+ .short _02063594 - _0206354C - 2; case 3
+ .short _020635AA - _0206354C - 2; case 4
+ .short _020635C0 - _0206354C - 2; case 5
+ .short _020635D6 - _0206354C - 2; case 6
+ .short _020635EC - _0206354C - 2; case 7
+ .short _02063602 - _0206354C - 2; case 8
+ .short _02063618 - _0206354C - 2; case 9
+ .short _0206362C - _0206354C - 2; case 10
+ .short _02063636 - _0206354C - 2; case 11
+ .short _0206363E - _0206354C - 2; case 12
+_02063566:
+ ldrh r2, [r4, #0x4]
+ add r1, r5, #0x0
+ bl FUN_020625EC
+ str r0, [r4, #0x0]
+ b _02063646
+_02063572:
+ add r0, r1, #0x0
+ ldr r1, [r5, #0xc]
+ bl FUN_02062720
+ str r0, [r4, #0x0]
+ b _02063646
+_0206357E:
+ add r0, r1, #0x0
+ bl FUN_02062760
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063594:
+ add r0, r1, #0x0
+ bl FUN_02062770
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635AA:
+ add r0, r1, #0x0
+ bl FUN_020627D0
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635C0:
+ add r0, r1, #0x0
+ bl FUN_020627DC
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635D6:
+ add r0, r1, #0x0
+ bl FUN_02062808
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_020635EC:
+ add r0, r1, #0x0
+ bl FUN_020628E8
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063602:
+ add r0, r1, #0x0
+ bl FUN_020629D8
+ str r0, [r4, #0x0]
+ mov r0, #0x4d
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ bl FUN_0201FDEC
+ b _02063646
+_02063618:
+ ldr r0, _0206364C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ bne _02063626
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02063626:
+ mov r0, #0xa
+ str r0, [r4, #0x0]
+ b _02063646
+_0206362C:
+ add r0, r1, #0x0
+ bl FUN_02062740
+ str r0, [r4, #0x0]
+ b _02063646
+_02063636:
+ bl FUN_02062678
+ str r0, [r4, #0x0]
+ b _02063646
+_0206363E:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02063646:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_0206364C: .word 0x021C48B8
+
+ thumb_func_start FUN_02063650
+FUN_02063650: ; 0x02063650
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_02016998
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ strh r5, [r2, #0x4]
+ str r0, [r2, #0x8]
+ ldr r0, [r4, #0x10]
+ ldr r1, _02063678 ; =FUN_02063524
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_02063678: .word FUN_02063524
+
+ thumb_func_start FUN_0206367C
+FUN_0206367C: ; 0x0206367C
+ add r0, #0xb4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02063684
+FUN_02063684: ; 0x02063684
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02063818
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x0
+ bl FUN_0205F264
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_02034F88
+ ldr r0, [r5, #0xc]
+ bl FUN_0202A9B0
+ mov r1, #0x0
+ bl FUN_0202AB68
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x74
+ strh r1, [r0, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x0
+ bne _020636DA
+ ldr r0, [r5, #0xc]
+ bl FUN_0202A9B0
+ ldr r1, [r5, #0x1c]
+ add r4, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_02060478
+ add r0, r4, #0x0
+ bl FUN_020603F0
+_020636DA:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020636DC
+FUN_020636DC: ; 0x020636DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r1, r5, #0x0
+ add r1, #0xb4
+ ldr r1, [r1, #0x0]
+ cmp r1, #0x1
+ beq _020637A6
+ bl FUN_02063818
+ cmp r0, #0x0
+ bne _020636F8
+ add r0, r5, #0x0
+ bl FUN_0206384C
+_020636F8:
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F254
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ mov r1, #0x0
+ bl FUN_0205F264
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_02034F88
+ ldr r0, [r5, #0xc]
+ bl FUN_0202A9B0
+ mov r1, #0x0
+ bl FUN_0202AB68
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x74
+ strh r1, [r0, #0x0]
+ ldr r0, [r5, #0xc]
+ bl FUN_0202A9B0
+ ldr r1, [r5, #0x1c]
+ ldr r1, [r1, #0x0]
+ bl FUN_02060478
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034930
+ cmp r0, #0x0
+ bne _02063758
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ bl FUN_0205F284
+ add r0, r4, #0x0
+ bl FUN_0205F2B4
+_02063758:
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E20
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _0206377C
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_020348B4
+ cmp r0, #0x0
+ bne _0206377C
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ b _02063786
+_0206377C:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x2
+ bne _02063786
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+_02063786:
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034908
+ cmp r0, #0x0
+ beq _020637A6
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034E0C
+ ldr r2, [r5, #0x1c]
+ ldr r1, [r2, #0x8]
+ ldr r2, [r2, #0xc]
+ bl FUN_0204AE04
+_020637A6:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020637A8
+FUN_020637A8: ; 0x020637A8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F204
+ ldr r0, [r4, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_020603C8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020637C4
+FUN_020637C4: ; 0x020637C4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F204
+ ldr r0, [r4, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_020603C8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020637E0
+FUN_020637E0: ; 0x020637E0
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F204
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020637F0
+FUN_020637F0: ; 0x020637F0
+ push {r4, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ add r4, r0, #0x0
+ bl FUN_0205ED2C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0205F358
+ pop {r4, pc}
+
+ thumb_func_start FUN_02063808
+FUN_02063808: ; 0x02063808
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A9B0
+ bl FUN_020603C8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063818
+FUN_02063818: ; 0x02063818
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034F1C
+ add r1, r0, #0x0
+ beq _02063846
+ add r0, r4, #0x0
+ bl FUN_02034FC0
+ cmp r0, #0x0
+ bne _02063846
+ add r0, r4, #0x0
+ ldr r1, [r4, #0x1c]
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ ldr r1, [r1, #0x0]
+ mov r2, #0x20
+ bl FUN_020299C0
+ mov r0, #0x1
+ pop {r4, pc}
+_02063846:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206384C
+FUN_0206384C: ; 0x0206384C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DC8
+ ldr r1, [r5, #0x1c]
+ ldr r6, [r0, #0x0]
+ ldr r4, [r1, #0x0]
+ cmp r6, r4
+ beq _02063882
+ ldr r0, [r5, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x20
+ add r5, #0x98
+ str r1, [sp, #0x0]
+ ldr r1, [r5, #0x0]
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_02029880
+ add sp, #0x4
+ mov r0, #0x1
+ pop {r3-r6, pc}
+_02063882:
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02063888
+FUN_02063888: ; 0x02063888
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ mov r1, #0x18
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020169D8
+ add r3, r0, #0x0
+ mov r2, #0x18
+ mov r1, #0x0
+_0206389C:
+ strb r1, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r2, r2, #0x1
+ bne _0206389C
+ str r5, [r0, #0x0]
+ str r4, [r0, #0x10]
+ strh r6, [r0, #0x8]
+ add r2, sp, #0x0
+ mov r1, #0x10
+ ldrsh r1, [r2, r1]
+ strh r1, [r0, #0xa]
+ mov r1, #0x14
+ ldrsh r1, [r2, r1]
+ strh r1, [r0, #0xc]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020638BC
+FUN_020638BC: ; 0x020638BC
+ push {r3-r6, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ beq _020638DA
+ cmp r0, #0x1
+ beq _020638F8
+ b _02063942
+_020638DA:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x38]
+ bl FUN_020553E8
+ add r3, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r2, [r4, #0x10]
+ mov r1, #0x1
+ bl MOD06_0224666C
+ str r0, [r4, #0x14]
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02063942
+_020638F8:
+ ldr r0, [r4, #0x14]
+ bl MOD06_022466A0
+ cmp r0, #0x0
+ beq _02063942
+ ldr r0, [r4, #0x14]
+ bl MOD06_022466AC
+ mov r1, #0xa
+ mov r2, #0xc
+ ldrh r0, [r4, #0x8]
+ ldrsh r1, [r4, r1]
+ ldrsh r2, [r4, r2]
+ bl FUN_02034F40
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ bne _02063920
+ bl ErrorHandling
+_02063920:
+ add r0, r6, #0x0
+ add r1, sp, #0x8
+ bl FUN_02034E90
+ ldr r0, [sp, #0x14]
+ mov r2, #0x1
+ str r0, [sp, #0x0]
+ str r2, [sp, #0x4]
+ ldr r1, [sp, #0x8]
+ ldr r3, [sp, #0x10]
+ add r0, r5, #0x0
+ sub r2, r2, #0x2
+ bl FUN_020492BC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_02063942:
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02063948
+FUN_02063948: ; 0x02063948
+ cmp r0, #0x0
+ bne _02063954
+ ldr r0, _0206395C ; =0x020F7CE4
+ lsl r1, r1, #0x3
+ ldr r0, [r0, r1]
+ bx lr
+_02063954:
+ ldr r0, _02063960 ; =0x020F7CE8
+ lsl r1, r1, #0x3
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+_0206395C: .word 0x020F7CE4
+_02063960: .word 0x020F7CE8
+
+ thumb_func_start FUN_02063964
+FUN_02063964: ; 0x02063964
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r5, [r4, #0x4]
+ ldr r1, [r5, #0x1c]
+ ldr r1, [r1, #0x0]
+ str r1, [r4, #0x0]
+ mov r1, #0x0
+ strh r1, [r4, #0xc]
+ add r1, sp, #0x8
+ bl FUN_02037024
+ ldr r0, [sp, #0x8]
+ str r0, [r4, #0x8]
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ beq _020639B6
+ bl FUN_02058458
+ cmp r0, #0x54
+ beq _0206399A
+ cmp r0, #0x55
+ beq _020639A4
+ cmp r0, #0x56
+ beq _020639AE
+ b _020639B6
+_0206399A:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x8
+ orr r0, r1
+ strh r0, [r4, #0xc]
+ b _020639B6
+_020639A4:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x20
+ orr r0, r1
+ strh r0, [r4, #0xc]
+ b _020639B6
+_020639AE:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x1
+ orr r0, r1
+ strh r0, [r4, #0xc]
+_020639B6:
+ ldr r0, [r5, #0x38]
+ bl FUN_02055320
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x38]
+ bl FUN_0205532C
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x4]
+ str r2, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204A6E0
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, sp, #0x4
+ add r2, sp, #0x0
+ bl FUN_020572B8
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0204A6E0
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x38]
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl MOD05_021E643C
+ cmp r0, #0x0
+ beq _020639FE
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x4
+ orr r0, r1
+ strh r0, [r4, #0xc]
+_020639FE:
+ ldr r0, [r5, #0x38]
+ bl FUN_020552F8
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl MOD05_021E69BC
+ cmp r0, #0x0
+ beq _02063A18
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x80
+ orr r0, r1
+ strh r0, [r4, #0xc]
+_02063A18:
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02054A48
+ cmp r0, #0x0
+ beq _02063A2C
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x40
+ orr r0, r1
+ strh r0, [r4, #0xc]
+_02063A2C:
+ ldr r0, [r5, #0xc]
+ bl FUN_02034E30
+ bl FUN_02034DEC
+ cmp r0, #0xe
+ beq _02063A42
+ cmp r0, #0x10
+ beq _02063A4E
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02063A42:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x10
+ add sp, #0xc
+ orr r0, r1
+ strh r0, [r4, #0xc]
+ pop {r4-r7, pc}
+_02063A4E:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ orr r0, r1
+ strh r0, [r4, #0xc]
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02063A5C
+FUN_02063A5C: ; 0x02063A5C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0x20
+ mov r1, #0x10
+ bl FUN_02016998
+ ldr r1, _02063A7C ; =0x19740205
+ str r1, [r0, #0x0]
+ ldr r1, [r4, #0x8]
+ str r1, [r0, #0x4]
+ ldr r2, [r5, #0x0]
+ ldr r1, [r5, #0x4]
+ str r2, [r0, #0x8]
+ str r1, [r0, #0xc]
+ pop {r3-r5, pc}
+ .balign 4
+_02063A7C: .word 0x19740205
+
+ thumb_func_start FUN_02063A80
+FUN_02063A80: ; 0x02063A80
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02063A98 ; =0x19740205
+ cmp r1, r0
+ beq _02063A90
+ bl ErrorHandling
+_02063A90:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+_02063A98: .word 0x19740205
+
+ thumb_func_start FUN_02063A9C
+FUN_02063A9C: ; 0x02063A9C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063AAE
+ mov r0, #0x1
+ pop {r4, pc}
+_02063AAE:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x1
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063AC2
+ mov r0, #0x2
+ pop {r4, pc}
+_02063AC2:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x1
+ tst r1, r0
+ beq _02063ACC
+ mov r0, #0x0
+_02063ACC:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063AD0
+FUN_02063AD0: ; 0x02063AD0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063B00 ; =FUN_02063B04
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063B00: .word FUN_02063B04
+
+ thumb_func_start FUN_02063B04
+FUN_02063B04: ; 0x02063B04
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063B3C ; =0x00002718
+ ldr r2, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063B3C: .word 0x00002718
+
+ thumb_func_start FUN_02063B40
+FUN_02063B40: ; 0x02063B40
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063B52
+ mov r0, #0x1
+ pop {r4, pc}
+_02063B52:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x2
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063B66
+ mov r0, #0x2
+ pop {r4, pc}
+_02063B66:
+ ldr r0, [r4, #0x0]
+ bl FUN_02034898
+ cmp r0, #0x0
+ bne _02063B74
+ mov r0, #0x1
+ pop {r4, pc}
+_02063B74:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _02063B88
+ mov r0, #0x3
+ pop {r4, pc}
+_02063B88:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x1
+ beq _02063BA8
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F244
+ cmp r0, #0x1
+ bne _02063BAC
+_02063BA8:
+ mov r0, #0x1
+ b _02063BAE
+_02063BAC:
+ mov r0, #0x0
+_02063BAE:
+ cmp r0, #0x1
+ bne _02063BB6
+ mov r0, #0x1
+ pop {r4, pc}
+_02063BB6:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063BBC
+FUN_02063BBC: ; 0x02063BBC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x4
+ bl FUN_02016998
+ ldrh r1, [r5, #0x4]
+ str r1, [r0, #0x0]
+ mov r1, #0x7f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0xb
+ sub r1, #0xbc
+ bl FUN_02016998
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ add r0, r6, #0x0
+ mov r2, #0x1
+ bl FUN_0205F7A0
+ mov r1, #0x7e
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r0, r6, #0x0
+ bl FUN_02037E90
+ ldr r1, _02063C10 ; =FUN_02036AB8
+ add r0, r4, #0x0
+ bl FUN_02035D04
+ pop {r4-r6, pc}
+ .balign 4
+_02063C10: .word FUN_02036AB8
+
+ thumb_func_start FUN_02063C14
+FUN_02063C14: ; 0x02063C14
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063C26
+ mov r0, #0x1
+ pop {r4, pc}
+_02063C26:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x4
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063C3A
+ mov r0, #0x2
+ pop {r4, pc}
+_02063C3A:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0x38]
+ bl FUN_020553C4
+ cmp r0, #0x2
+ bne _02063C4A
+ mov r0, #0x4
+ pop {r4, pc}
+_02063C4A:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x4
+ tst r0, r1
+ bne _02063C56
+ mov r0, #0x1
+ pop {r4, pc}
+_02063C56:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _02063C6A
+ mov r0, #0x3
+ pop {r4, pc}
+_02063C6A:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063C70
+FUN_02063C70: ; 0x02063C70
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063CA0 ; =FUN_02063CA4
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063CA0: .word FUN_02063CA4
+
+ thumb_func_start FUN_02063CA4
+FUN_02063CA4: ; 0x02063CA4
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063CDC ; =0x0000271C
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063CDC: .word 0x0000271C
+
+ thumb_func_start FUN_02063CE0
+FUN_02063CE0: ; 0x02063CE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063CF2
+ mov r0, #0x1
+ pop {r4, pc}
+_02063CF2:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x5
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063D06
+ mov r0, #0x2
+ pop {r4, pc}
+_02063D06:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x8
+ tst r0, r1
+ beq _02063D12
+ mov r0, #0x0
+ pop {r4, pc}
+_02063D12:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063D18
+FUN_02063D18: ; 0x02063D18
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063D48 ; =FUN_02063D4C
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063D48: .word FUN_02063D4C
+
+ thumb_func_start FUN_02063D4C
+FUN_02063D4C: ; 0x02063D4C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063D84 ; =0x0000271A
+ ldr r2, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063D84: .word 0x0000271A
+
+ thumb_func_start FUN_02063D88
+FUN_02063D88: ; 0x02063D88
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063D9A
+ mov r0, #0x1
+ pop {r4, pc}
+_02063D9A:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x3
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063DAE
+ mov r0, #0x2
+ pop {r4, pc}
+_02063DAE:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x10
+ tst r0, r1
+ beq _02063DBA
+ mov r0, #0x0
+ pop {r4, pc}
+_02063DBA:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063DC0
+FUN_02063DC0: ; 0x02063DC0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063DF0 ; =FUN_02063DF4
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063DF0: .word FUN_02063DF4
+
+ thumb_func_start FUN_02063DF4
+FUN_02063DF4: ; 0x02063DF4
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063E2C ; =0x0000271E
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063E2C: .word 0x0000271E
+
+ thumb_func_start FUN_02063E30
+FUN_02063E30: ; 0x02063E30
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063E42
+ mov r0, #0x1
+ pop {r4, pc}
+_02063E42:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x0
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063E56
+ mov r0, #0x2
+ pop {r4, pc}
+_02063E56:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x20
+ tst r0, r1
+ beq _02063E62
+ mov r0, #0x0
+ pop {r4, pc}
+_02063E62:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063E68
+FUN_02063E68: ; 0x02063E68
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063E98 ; =FUN_02063E9C
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063E98: .word FUN_02063E9C
+
+ thumb_func_start FUN_02063E9C
+FUN_02063E9C: ; 0x02063E9C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063ED4 ; =0x00002719
+ ldr r2, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063ED4: .word 0x00002719
+
+ thumb_func_start FUN_02063ED8
+FUN_02063ED8: ; 0x02063ED8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063EEA
+ mov r0, #0x1
+ pop {r4, pc}
+_02063EEA:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x7
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063EFE
+ mov r0, #0x2
+ pop {r4, pc}
+_02063EFE:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x40
+ tst r0, r1
+ beq _02063F0A
+ mov r0, #0x0
+ pop {r4, pc}
+_02063F0A:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063F10
+FUN_02063F10: ; 0x02063F10
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063F40 ; =FUN_02063F44
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063F40: .word FUN_02063F44
+
+ thumb_func_start FUN_02063F44
+FUN_02063F44: ; 0x02063F44
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02063F7C ; =0x0000271D
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02063F7C: .word 0x0000271D
+
+ thumb_func_start FUN_02063F80
+FUN_02063F80: ; 0x02063F80
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02063F92
+ mov r0, #0x1
+ pop {r4, pc}
+_02063F92:
+ ldr r0, [r1, #0xc]
+ bl FUN_020238F4
+ mov r1, #0x6
+ bl FUN_020239D0
+ cmp r0, #0x0
+ bne _02063FA6
+ mov r0, #0x2
+ pop {r4, pc}
+_02063FA6:
+ ldrh r1, [r4, #0xc]
+ mov r0, #0x80
+ tst r0, r1
+ bne _02063FB2
+ mov r0, #0x1
+ pop {r4, pc}
+_02063FB2:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _02063FC6
+ mov r0, #0x3
+ pop {r4, pc}
+_02063FC6:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02063FCC
+FUN_02063FCC: ; 0x02063FCC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _02063FFC ; =FUN_02064000
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_02063FFC: .word FUN_02064000
+
+ thumb_func_start FUN_02064000
+FUN_02064000: ; 0x02064000
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02064038 ; =0x0000271B
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02064038: .word 0x0000271B
+
+ thumb_func_start FUN_0206403C
+FUN_0206403C: ; 0x0206403C
+ ldr r1, [r0, #0x4]
+ ldr r1, [r1, #0x6c]
+ sub r1, r1, #0x2
+ cmp r1, #0x1
+ bhi _0206404A
+ mov r0, #0x1
+ bx lr
+_0206404A:
+ ldrh r1, [r0, #0xc]
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ tst r0, r1
+ beq _02064058
+ mov r0, #0x0
+ bx lr
+_02064058:
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_0206405C
+FUN_0206405C: ; 0x0206405C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x4]
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0206408C ; =FUN_02064090
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ .balign 4
+_0206408C: .word FUN_02064090
+
+ thumb_func_start FUN_02064090
+FUN_02064090: ; 0x02064090
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _020640C8 ; =0x0000271F
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_020640C8: .word 0x0000271F
+
+ thumb_func_start FUN_020640CC
+FUN_020640CC: ; 0x020640CC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _020640DE
+ mov r0, #0x1
+ pop {r4, pc}
+_020640DE:
+ ldr r0, [r4, #0x0]
+ bl FUN_020348E4
+ cmp r0, #0x0
+ bne _020640EC
+ mov r0, #0x1
+ pop {r4, pc}
+_020640EC:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _02064100
+ mov r0, #0x3
+ pop {r4, pc}
+_02064100:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F214
+ cmp r0, #0x1
+ beq _02064120
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F244
+ cmp r0, #0x1
+ bne _02064124
+_02064120:
+ mov r0, #0x1
+ b _02064126
+_02064124:
+ mov r0, #0x0
+_02064126:
+ cmp r0, #0x1
+ bne _0206412E
+ mov r0, #0x1
+ pop {r4, pc}
+_0206412E:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064134
+FUN_02064134: ; 0x02064134
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204649C
+ ldrh r1, [r5, #0x4]
+ ldr r2, [r6, #0xc]
+ mov r0, #0xb
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_0206439C
+ mov r1, #0x72
+ ldr r2, _02064170 ; =FUN_02064174
+ lsl r1, r1, #0x2
+ str r2, [r4, r1]
+ add r1, #0x30
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ nop
+_02064170: .word FUN_02064174
+
+ thumb_func_start FUN_02064174
+FUN_02064174: ; 0x02064174
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ add r0, r6, #0x0
+ mov r2, #0x4
+ bl MOD06_0224CB30
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r1, _020641A8 ; =0x0224CB55
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_020463EC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_020641A8: .word 0x0224CB55
+
+ thumb_func_start FUN_020641AC
+FUN_020641AC: ; 0x020641AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _020641BE
+ mov r0, #0x1
+ pop {r4, pc}
+_020641BE:
+ ldr r0, [r4, #0x0]
+ bl FUN_02034930
+ cmp r0, #0x1
+ bne _020641D2
+ ldr r0, [r4, #0x0]
+ bl FUN_0203487C
+ cmp r0, #0x1
+ beq _020641D6
+_020641D2:
+ mov r0, #0x1
+ pop {r4, pc}
+_020641D6:
+ ldr r0, [r4, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED3C
+ cmp r0, #0x1
+ bne _020641EA
+ mov r0, #0x3
+ pop {r4, pc}
+_020641EA:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020641F0
+FUN_020641F0: ; 0x020641F0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204649C
+ ldrh r1, [r5, #0x4]
+ ldr r2, [r6, #0xc]
+ mov r0, #0xb
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_0206439C
+ mov r1, #0x72
+ ldr r2, _0206422C ; =FUN_02064230
+ lsl r1, r1, #0x2
+ str r2, [r4, r1]
+ add r1, #0x30
+ str r0, [r4, r1]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r4-r6, pc}
+ nop
+_0206422C: .word FUN_02064230
+
+ thumb_func_start FUN_02064230
+FUN_02064230: ; 0x02064230
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ ldr r1, [r6, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0xb
+ bl MOD06_0224CA88
+ ldr r1, [r4, #0x1c]
+ add r7, r0, #0x0
+ ldr r1, [r1, #0x0]
+ mov r0, #0xa
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ mov r2, #0x4
+ bl FUN_0202914C
+ add r4, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x1
+ bl FUN_02028AD4
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ ldr r1, _02064280 ; =0x0224CAAD
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_020463EC
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_02064280: .word 0x0224CAAD
+
+ thumb_func_start FUN_02064284
+FUN_02064284: ; 0x02064284
+ push {r3, lr}
+ ldr r1, [r0, #0x4]
+ ldr r0, [r1, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _02064294
+ mov r0, #0x1
+ pop {r3, pc}
+_02064294:
+ ldr r0, [r1, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F244
+ cmp r0, #0x1
+ bne _020642A6
+ mov r0, #0x1
+ b _020642A8
+_020642A6:
+ mov r0, #0x0
+_020642A8:
+ cmp r0, #0x1
+ bne _020642B0
+ mov r0, #0x1
+ pop {r3, pc}
+_020642B0:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_020642B4
+FUN_020642B4: ; 0x020642B4
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_02046528
+ add r5, r0, #0x0
+ ldr r0, [r6, #0x0]
+ bl FUN_0204652C
+ ldrh r1, [r6, #0x4]
+ add r4, r0, #0x0
+ ldr r2, [r5, #0xc]
+ lsl r1, r1, #0x18
+ mov r0, #0xb
+ lsr r1, r1, #0x18
+ bl FUN_0206439C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0206430C ; =0x021F6361
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r6, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ ldr r1, [r5, #0x1c]
+ mov r0, #0xb
+ ldr r1, [r1, #0x0]
+ add r2, r0, #0x0
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_0202914C
+ add r5, #0x98
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_02028AD4
+ pop {r4-r6, pc}
+ .balign 4
+_0206430C: .word 0x021F6361
+
+ thumb_func_start FUN_02064310
+FUN_02064310: ; 0x02064310
+ ldr r0, [r0, #0x4]
+ ldr r0, [r0, #0x6c]
+ sub r0, r0, #0x2
+ cmp r0, #0x1
+ bhi _0206431E
+ mov r0, #0x1
+ bx lr
+_0206431E:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064324
+FUN_02064324: ; 0x02064324
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r6, r1, #0x0
+ bl FUN_02046528
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02063A5C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0204649C
+ mov r0, #0x72
+ ldr r1, _0206435C ; =FUN_02064360
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+ add r0, #0x30
+ str r5, [r4, r0]
+ mov r0, #0xa
+ strh r0, [r4, #0x2a]
+ pop {r3-r7, pc}
+ .balign 4
+_0206435C: .word FUN_02064360
+
+ thumb_func_start FUN_02064360
+FUN_02064360: ; 0x02064360
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r1, _02064398 ; =0x000022C4
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02038D10
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldrh r1, [r4, #0xc]
+ add r0, r6, #0x0
+ add r3, r2, #0x0
+ bl FUN_020395BC
+ add r0, r4, #0x0
+ bl FUN_02063A80
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02064398: .word 0x000022C4
+
+ thumb_func_start FUN_0206439C
+FUN_0206439C: ; 0x0206439C
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ mov r1, #0x8
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0206BB1C
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020643C0
+FUN_020643C0: ; 0x020643C0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ bl FUN_020645DC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0206460C
+ str r0, [r4, #0xc]
+ str r6, [r4, #0x0]
+ str r5, [r4, #0x8]
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020643E0
+FUN_020643E0: ; 0x020643E0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064630
+ add r0, r4, #0x0
+ bl FUN_02064600
+ pop {r4, pc}
+
+ thumb_func_start FUN_020643F0
+FUN_020643F0: ; 0x020643F0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064558
+ add r0, r4, #0x0
+ bl FUN_020643E0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02064400
+FUN_02064400: ; 0x02064400
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ add r7, r1, #0x0
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ mov r4, #0x0
+ bl FUN_02064698
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl FUN_0206469C
+ add r5, r0, #0x0
+_0206441C:
+ add r0, r5, #0x0
+ bl FUN_020646A0
+ cmp r0, #0x0
+ beq _0206442E
+ add r4, r4, #0x1
+ add r5, #0xc8
+ cmp r4, r6
+ blt _0206441C
+_0206442E:
+ cmp r4, r6
+ blt _02064438
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02064438:
+ add r0, r5, #0x0
+ bl FUN_020646AC
+ ldr r1, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02064750
+ ldr r1, [sp, #0x20]
+ add r0, r5, #0x0
+ bl FUN_02064758
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02064768
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0206476C
+ ldr r1, [r7, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0206473C
+ ldr r1, [r7, #0x4]
+ add r0, r5, #0x0
+ bl FUN_020646B8
+ ldr r1, [r7, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0206470C
+ ldr r1, [r7, #0xc]
+ add r0, r5, #0x0
+ bl FUN_020646D4
+ ldr r1, [r7, #0x10]
+ add r0, r5, #0x0
+ bl FUN_020646F0
+ ldr r1, [r7, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02064728
+ ldr r1, [r7, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02064730
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0x0
+ bl FUN_020645B0
+ add r4, r0, #0x0
+ bne _020644AE
+ add r0, r5, #0x0
+ bl FUN_02064640
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_020644AE:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02064760
+ add r0, r5, #0x0
+ bl FUN_020646C0
+ cmp r0, #0x0
+ bne _020644D2
+ add r0, r4, #0x0
+ bl FUN_0200CAB4
+ add r0, r5, #0x0
+ bl FUN_02064640
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_020644D2:
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x4]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x0]
+ str r1, [r0, #0x4]
+ add r0, r5, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020644E4
+FUN_020644E4: ; 0x020644E4
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ add r4, sp, #0x8
+ ldmia r5!, {r0-r1}
+ add r7, r4, #0x0
+ stmia r4!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r4!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ str r0, [r4, #0x0]
+ ldr r0, _02064518 ; =FUN_0206479C
+ str r0, [sp, #0x1c]
+ ldr r0, _0206451C ; =FUN_020647A0
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x38]
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x3c]
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ bl FUN_02064400
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_02064518: .word FUN_0206479C
+_0206451C: .word FUN_020647A0
+
+ thumb_func_start FUN_02064520
+FUN_02064520: ; 0x02064520
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _0206452A
+ bl ErrorHandling
+_0206452A:
+ add r0, r4, #0x0
+ bl FUN_020646A0
+ cmp r0, #0x0
+ beq _02064556
+ add r0, r4, #0x0
+ bl FUN_02064714
+ ldr r1, [r4, #0x14]
+ ldr r0, [r1, #0x4]
+ sub r0, r0, #0x1
+ str r0, [r1, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02064764
+ cmp r0, #0x0
+ beq _02064550
+ bl FUN_0200CAB4
+_02064550:
+ add r0, r4, #0x0
+ bl FUN_02064640
+_02064556:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02064558
+FUN_02064558: ; 0x02064558
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02064698
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0206469C
+ add r5, r0, #0x0
+_0206456A:
+ add r0, r5, #0x0
+ bl FUN_020646A0
+ cmp r0, #0x1
+ bne _0206457A
+ add r0, r5, #0x0
+ bl FUN_02064520
+_0206457A:
+ add r5, #0xc8
+ sub r4, r4, #0x1
+ bne _0206456A
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064584
+FUN_02064584: ; 0x02064584
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02064698
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0206469C
+ add r5, r0, #0x0
+_02064596:
+ add r0, r5, #0x0
+ bl FUN_020646A0
+ cmp r0, #0x1
+ bne _020645A6
+ add r0, r5, #0x0
+ bl FUN_020646F8
+_020645A6:
+ add r5, #0xc8
+ sub r4, r4, #0x1
+ bne _02064596
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020645B0
+FUN_020645B0: ; 0x020645B0
+ push {r4, lr}
+ add r3, r0, #0x0
+ add r2, r1, #0x0
+ ldr r0, _020645CC ; =FUN_020645D0
+ add r1, r3, #0x0
+ bl FUN_0200CA44
+ add r4, r0, #0x0
+ bne _020645C6
+ bl ErrorHandling
+_020645C6:
+ add r0, r4, #0x0
+ pop {r4, pc}
+ nop
+_020645CC: .word FUN_020645D0
+
+ thumb_func_start FUN_020645D0
+FUN_020645D0: ; 0x020645D0
+ ldr r3, _020645D8 ; =FUN_020646DC
+ add r0, r1, #0x0
+ bx r3
+ nop
+_020645D8: .word FUN_020646DC
+
+ thumb_func_start FUN_020645DC
+FUN_020645DC: ; 0x020645DC
+ push {r4, lr}
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _020645EC
+ bl ErrorHandling
+_020645EC:
+ add r2, r4, #0x0
+ mov r1, #0x10
+ mov r0, #0x0
+_020645F2:
+ strb r0, [r2, #0x0]
+ add r2, r2, #0x1
+ sub r1, r1, #0x1
+ bne _020645F2
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064600
+FUN_02064600: ; 0x02064600
+ ldr r3, _02064608 ; =FUN_02016A8C
+ add r1, r0, #0x0
+ ldr r0, [r1, #0x8]
+ bx r3
+ .balign 4
+_02064608: .word FUN_02016A8C
+
+ thumb_func_start FUN_0206460C
+FUN_0206460C: ; 0x0206460C
+ push {r3-r5, lr}
+ mov r2, #0xc8
+ add r5, r1, #0x0
+ mul r5, r2
+ add r1, r5, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _02064622
+ bl ErrorHandling
+_02064622:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02064630
+FUN_02064630: ; 0x02064630
+ ldr r3, _0206463C ; =FUN_02016A8C
+ add r1, r0, #0x0
+ ldr r0, [r1, #0x8]
+ ldr r1, [r1, #0xc]
+ bx r3
+ nop
+_0206463C: .word FUN_02016A8C
+
+ thumb_func_start FUN_02064640
+FUN_02064640: ; 0x02064640
+ push {r4, lr}
+ mov r1, #0x0
+ mov r2, #0xc8
+ add r4, r0, #0x0
+ bl memset
+ ldr r1, _02064680 ; =FUN_0206478C
+ add r0, r4, #0x0
+ bl FUN_020646B8
+ ldr r1, _02064684 ; =FUN_02064798
+ add r0, r4, #0x0
+ bl FUN_0206470C
+ ldr r1, _02064688 ; =FUN_02064790
+ add r0, r4, #0x0
+ bl FUN_020646D4
+ ldr r1, _0206468C ; =FUN_02064794
+ add r0, r4, #0x0
+ bl FUN_020646F0
+ ldr r1, _02064690 ; =FUN_0206479C
+ add r0, r4, #0x0
+ bl FUN_02064728
+ ldr r1, _02064694 ; =FUN_020647A0
+ add r0, r4, #0x0
+ bl FUN_02064730
+ pop {r4, pc}
+ nop
+_02064680: .word FUN_0206478C
+_02064684: .word FUN_02064798
+_02064688: .word FUN_02064790
+_0206468C: .word FUN_02064794
+_02064690: .word FUN_0206479C
+_02064694: .word FUN_020647A0
+
+ thumb_func_start FUN_02064698
+FUN_02064698: ; 0x02064698
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206469C
+FUN_0206469C: ; 0x0206469C
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_020646A0
+FUN_020646A0: ; 0x020646A0
+ ldr r1, [r0, #0x0]
+ mov r0, #0x1
+ tst r1, r0
+ bne _020646AA
+ mov r0, #0x0
+_020646AA:
+ bx lr
+
+ thumb_func_start FUN_020646AC
+FUN_020646AC: ; 0x020646AC
+ ldr r2, [r0, #0x0]
+ mov r1, #0x1
+ orr r1, r2
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020646B8
+FUN_020646B8: ; 0x020646B8
+ add r0, #0xb0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020646C0
+FUN_020646C0: ; 0x020646C0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064738
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r4, #0xb0
+ ldr r2, [r4, #0x0]
+ blx r2
+ pop {r4, pc}
+
+ thumb_func_start FUN_020646D4
+FUN_020646D4: ; 0x020646D4
+ add r0, #0xb4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020646DC
+FUN_020646DC: ; 0x020646DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064738
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r4, #0xb4
+ ldr r2, [r4, #0x0]
+ blx r2
+ pop {r4, pc}
+
+ thumb_func_start FUN_020646F0
+FUN_020646F0: ; 0x020646F0
+ add r0, #0xb8
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020646F8
+FUN_020646F8: ; 0x020646F8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064738
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r4, #0xb8
+ ldr r2, [r4, #0x0]
+ blx r2
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206470C
+FUN_0206470C: ; 0x0206470C
+ add r0, #0xbc
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064714
+FUN_02064714: ; 0x02064714
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02064738
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r4, #0xbc
+ ldr r2, [r4, #0x0]
+ blx r2
+ pop {r4, pc}
+
+ thumb_func_start FUN_02064728
+FUN_02064728: ; 0x02064728
+ add r0, #0xc0
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064730
+FUN_02064730: ; 0x02064730
+ add r0, #0xc4
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064738
+FUN_02064738: ; 0x02064738
+ add r0, #0x30
+ bx lr
+
+ thumb_func_start FUN_0206473C
+FUN_0206473C: ; 0x0206473C
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02064738
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl memset
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064750
+FUN_02064750: ; 0x02064750
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02064754
+FUN_02064754: ; 0x02064754
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02064758
+FUN_02064758: ; 0x02064758
+ str r1, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_0206475C
+FUN_0206475C: ; 0x0206475C
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_02064760
+FUN_02064760: ; 0x02064760
+ str r1, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02064764
+FUN_02064764: ; 0x02064764
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02064768
+FUN_02064768: ; 0x02064768
+ str r1, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_0206476C
+FUN_0206476C: ; 0x0206476C
+ add r3, r1, #0x0
+ add r2, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, #0x24
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ str r0, [r2, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206477C
+FUN_0206477C: ; 0x0206477C
+ add r2, r0, #0x0
+ add r2, #0x24
+ add r3, r1, #0x0
+ ldmia r2!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r2, #0x0]
+ str r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206478C
+FUN_0206478C: ; 0x0206478C
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_02064790
+FUN_02064790: ; 0x02064790
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064794
+FUN_02064794: ; 0x02064794
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02064798
+FUN_02064798: ; 0x02064798
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206479C
+FUN_0206479C: ; 0x0206479C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020647A0
+FUN_020647A0: ; 0x020647A0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020647A4
+FUN_020647A4: ; 0x020647A4
+ push {r3-r7, lr}
+ sub sp, #0x30
+ add r4, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ mov r1, #0x7
+ bl FUN_020254A0
+ ldrh r1, [r0, #0x2]
+ ldrh r0, [r0, #0x0]
+ ldr r3, _0206485C ; =0x020F7D70
+ mov r7, #0x18
+ add r2, r1, #0x0
+ mul r2, r7
+ add r6, r3, r2
+ lsl r0, r0, #0x2
+ ldr r5, [r6, r0]
+ ldr r0, [r6, #0x14]
+ cmp r0, #0x0
+ beq _0206480A
+ ldr r3, _02064860 ; =0x020F7D64
+ add r2, sp, #0x24
+ ldmia r3!, {r0-r1}
+ mov r12, r2
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ add r7, #0xea
+ str r0, [r2, #0x0]
+ str r5, [sp, #0x28]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x4c]
+ add r2, r7, #0x0
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, [r4, #0x2c]
+ mov r3, r12
+ bl MOD05_021E7FBC
+ add r0, r4, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, _02064864 ; =0x00000102
+ bl MOD05_021E7ED8
+ str r0, [sp, #0x14]
+ b _0206482C
+_0206480A:
+ ldr r0, _02064868 ; =0x020F7D4C
+ add r1, sp, #0xc
+ ldr r2, [r0, #0x8]
+ ldr r0, [r0, #0xc]
+ str r2, [sp, #0xc]
+ str r0, [sp, #0x10]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0x2
+ add r3, sp, #0x14
+ bl FUN_0204AA5C
+ cmp r0, #0x0
+ bne _0206482C
+ bl ErrorHandling
+_0206482C:
+ ldr r1, [sp, #0x14]
+ add r0, sp, #0x18
+ bl MOD05_021E7EA0
+ ldr r0, [sp, #0x14]
+ add r1, sp, #0x18
+ str r5, [sp, #0x1c]
+ bl MOD05_021E7EB0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ str r5, [sp, #0x4]
+ add r4, #0x9c
+ ldr r0, [r4, #0x0]
+ mov r3, #0x3
+ str r0, [sp, #0x8]
+ ldr r1, [r6, #0x8]
+ ldr r2, [r6, #0xc]
+ mov r0, #0x0
+ bl MOD05_021F44D8
+ add sp, #0x30
+ pop {r3-r7, pc}
+ nop
+_0206485C: .word 0x020F7D70
+_02064860: .word 0x020F7D64
+_02064864: .word 0x00000102
+_02064868: .word 0x020F7D4C
+
+ thumb_func_start FUN_0206486C
+FUN_0206486C: ; 0x0206486C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r5, r0, #0x0
+ mov r1, #0x7
+ bl FUN_02025490
+ add r0, r5, #0x0
+ mov r1, #0x7
+ bl FUN_020254A0
+ mov r3, #0x1
+ str r3, [r0, #0x4]
+ mov r2, #0x0
+ str r2, [r0, #0x8]
+ ldr r4, [r4, #0x1c]
+ ldr r5, _020649A8 ; =0x00000123
+ ldr r1, [r4, #0x0]
+ cmp r1, r5
+ bgt _020648C4
+ bge _020648D6
+ add r5, r1, #0x0
+ sub r5, #0xb0
+ cmp r5, #0x9
+ bhi _020649A0
+ add r5, r5, r5
+ add r5, pc
+ ldrh r5, [r5, #0x6]
+ lsl r5, r5, #0x10
+ asr r5, r5, #0x10
+ add pc, r5
+_020648B0: ; jump table (using 16-bit offset)
+ .short _02064910 - _020648B0 - 2; case 0
+ .short _020649A0 - _020648B0 - 2; case 1
+ .short _02064928 - _020648B0 - 2; case 2
+ .short _020649A0 - _020648B0 - 2; case 3
+ .short _02064940 - _020648B0 - 2; case 4
+ .short _020649A0 - _020648B0 - 2; case 5
+ .short _02064958 - _020648B0 - 2; case 6
+ .short _020649A0 - _020648B0 - 2; case 7
+ .short _02064970 - _020648B0 - 2; case 8
+ .short _02064988 - _020648B0 - 2; case 9
+_020648C4:
+ ldr r2, _020649AC ; =0x00000125
+ cmp r1, r2
+ bgt _020648CE
+ beq _020648E8
+ b _020649A0
+_020648CE:
+ add r2, r2, #0x1
+ cmp r1, r2
+ beq _020648FC
+ b _020649A0
+_020648D6:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x1a
+ bne _020648E0
+ strh r2, [r0, #0x0]
+ b _020648E2
+_020648E0:
+ strh r3, [r0, #0x0]
+_020648E2:
+ mov r1, #0x0
+ strh r1, [r0, #0x2]
+ pop {r3-r5, pc}
+_020648E8:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x30
+ bne _020648F2
+ mov r1, #0x0
+ b _020648F4
+_020648F2:
+ mov r1, #0x1
+_020648F4:
+ strh r1, [r0, #0x0]
+ mov r1, #0x1
+ strh r1, [r0, #0x2]
+ pop {r3-r5, pc}
+_020648FC:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _02064906
+ mov r1, #0x0
+ b _02064908
+_02064906:
+ mov r1, #0x1
+_02064908:
+ strh r1, [r0, #0x0]
+ mov r1, #0x2
+ strh r1, [r0, #0x2]
+ pop {r3-r5, pc}
+_02064910:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _0206491A
+ strh r2, [r0, #0x0]
+ b _0206491E
+_0206491A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206491E:
+ mov r1, #0x3
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064928:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _02064932
+ strh r2, [r0, #0x0]
+ b _02064936
+_02064932:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064936:
+ mov r1, #0x4
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064940:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _0206494A
+ strh r2, [r0, #0x0]
+ b _0206494E
+_0206494A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206494E:
+ mov r1, #0x5
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064958:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0xf
+ bne _02064962
+ strh r2, [r0, #0x0]
+ b _02064966
+_02064962:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064966:
+ mov r1, #0x6
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064970:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x17
+ bne _0206497A
+ strh r2, [r0, #0x0]
+ b _0206497E
+_0206497A:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_0206497E:
+ mov r1, #0x7
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_02064988:
+ ldr r1, [r4, #0xc]
+ cmp r1, #0x12
+ bne _02064992
+ strh r2, [r0, #0x0]
+ b _02064996
+_02064992:
+ strh r3, [r0, #0x0]
+ str r2, [r0, #0x4]
+_02064996:
+ mov r1, #0x8
+ strh r1, [r0, #0x2]
+ mov r1, #0x1
+ str r1, [r0, #0x8]
+ pop {r3-r5, pc}
+_020649A0:
+ bl ErrorHandling
+ pop {r3-r5, pc}
+ nop
+_020649A8: .word 0x00000123
+_020649AC: .word 0x00000125
+
+ thumb_func_start FUN_020649B0
+FUN_020649B0: ; 0x020649B0
+ push {r3, lr}
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ mov r1, #0x7
+ bl FUN_020254A0
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _020649CA
+ mov r0, #0x1
+ b _020649CC
+_020649CA:
+ mov r0, #0x0
+_020649CC:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020649D4
+FUN_020649D4: ; 0x020649D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ mov r1, #0x7
+ bl FUN_020254A0
+ add r4, r0, #0x0
+ ldrh r1, [r4, #0x2]
+ mov r0, #0x18
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, _02064A58 ; =0x020F7D80
+ ldr r0, [r0, r2]
+ cmp r0, #0x0
+ beq _020649FE
+ ldrh r0, [r4, #0x0]
+ cmp r0, #0x1
+ beq _02064A54
+_020649FE:
+ mov r0, #0xb
+ mov r1, #0x10
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ ldrh r1, [r4, #0x2]
+ mov r0, #0x18
+ add r3, r1, #0x0
+ ldr r1, _02064A5C ; =0x020F7D84
+ mul r3, r0
+ ldr r1, [r1, r3]
+ str r1, [r2, #0x8]
+ ldr r1, [r4, #0x8]
+ str r1, [r2, #0xc]
+ ldrh r1, [r4, #0x0]
+ cmp r1, #0x0
+ ldrh r1, [r4, #0x2]
+ bne _02064A3E
+ add r3, r1, #0x0
+ mul r3, r0
+ ldr r0, _02064A60 ; =0x020F7D74
+ ldr r1, _02064A64 ; =FUN_02064A70
+ ldr r0, [r0, r3]
+ str r0, [r2, #0x4]
+ ldr r0, [r5, #0x10]
+ bl FUN_0204640C
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ pop {r3-r5, pc}
+_02064A3E:
+ add r3, r1, #0x0
+ mul r3, r0
+ ldr r0, _02064A68 ; =0x020F7D70
+ ldr r1, _02064A6C ; =FUN_02064B70
+ ldr r0, [r0, r3]
+ str r0, [r2, #0x4]
+ ldr r0, [r5, #0x10]
+ bl FUN_0204640C
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_02064A54:
+ pop {r3-r5, pc}
+ nop
+_02064A58: .word 0x020F7D80
+_02064A5C: .word 0x020F7D84
+_02064A60: .word 0x020F7D74
+_02064A64: .word FUN_02064A70
+_02064A68: .word 0x020F7D70
+_02064A6C: .word FUN_02064B70
+
+ thumb_func_start FUN_02064A70
+FUN_02064A70: ; 0x02064A70
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _02064B5C
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02064A96: ; jump table (using 16-bit offset)
+ .short _02064A9E - _02064A96 - 2; case 0
+ .short _02064AB4 - _02064A96 - 2; case 1
+ .short _02064B2E - _02064A96 - 2; case 2
+ .short _02064B52 - _02064A96 - 2; case 3
+_02064A9E:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02055560
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C64
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064B5C
+_02064AB4:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _02064ACA
+ add r0, r5, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, _02064B64 ; =0x00000102
+ bl MOD05_021E7ED8
+ str r0, [sp, #0xc]
+ b _02064AEC
+_02064ACA:
+ ldr r0, _02064B68 ; =0x020F7D4C
+ add r1, sp, #0x4
+ ldr r2, [r0, #0x0]
+ ldr r0, [r0, #0x4]
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ add r3, sp, #0xc
+ bl FUN_0204AA5C
+ cmp r0, #0x0
+ bne _02064AEC
+ bl ErrorHandling
+_02064AEC:
+ ldr r1, [sp, #0xc]
+ add r0, sp, #0x10
+ bl MOD05_021E7EA0
+ ldr r0, [r4, #0xc]
+ cmp r0, #0x0
+ bne _02064AFE
+ mov r1, #0x1
+ b _02064B00
+_02064AFE:
+ mov r1, #0x2
+_02064B00:
+ ldr r0, [sp, #0x14]
+ lsl r1, r1, #0xc
+ add r1, r0, r1
+ str r1, [sp, #0x14]
+ ldr r0, [r4, #0x4]
+ cmp r1, r0
+ blt _02064B1C
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02064B1C:
+ ldr r0, [r5, #0x38]
+ ldr r1, [sp, #0x14]
+ bl FUN_02055540
+ ldr r0, [sp, #0xc]
+ add r1, sp, #0x10
+ bl MOD05_021E7EB0
+ b _02064B5C
+_02064B2E:
+ add r2, r5, #0x0
+ add r2, #0x9c
+ ldr r1, [r4, #0x4]
+ ldr r2, [r2, #0x0]
+ mov r0, #0x0
+ bl MOD05_021F4594
+ ldr r0, [r5, #0x38]
+ mov r1, #0x1
+ bl FUN_0205557C
+ ldr r0, _02064B6C ; =0x0000061A
+ bl FUN_020054C8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064B5C
+_02064B52:
+ bl FUN_02016A18
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_02064B5C:
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r5, pc}
+ nop
+_02064B64: .word 0x00000102
+_02064B68: .word 0x020F7D4C
+_02064B6C: .word 0x0000061A
+
+ thumb_func_start FUN_02064B70
+FUN_02064B70: ; 0x02064B70
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x3
+ bhi _02064C52
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02064B96: ; jump table (using 16-bit offset)
+ .short _02064B9E - _02064B96 - 2; case 0
+ .short _02064BB4 - _02064B96 - 2; case 1
+ .short _02064C24 - _02064B96 - 2; case 2
+ .short _02064C48 - _02064B96 - 2; case 3
+_02064B9E:
+ ldr r0, [r5, #0x38]
+ mov r1, #0x0
+ bl FUN_02055560
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C64
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064C52
+_02064BB4:
+ ldr r0, [r4, #0x8]
+ cmp r0, #0x0
+ beq _02064BCA
+ add r0, r5, #0x0
+ add r0, #0xa0
+ ldr r0, [r0, #0x0]
+ ldr r1, _02064C58 ; =0x00000102
+ bl MOD05_021E7ED8
+ str r0, [sp, #0xc]
+ b _02064BEC
+_02064BCA:
+ ldr r0, _02064C5C ; =0x020F7D4C
+ add r1, sp, #0x4
+ ldr r2, [r0, #0x10]
+ ldr r0, [r0, #0x14]
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ add r3, sp, #0xc
+ bl FUN_0204AA5C
+ cmp r0, #0x0
+ bne _02064BEC
+ bl ErrorHandling
+_02064BEC:
+ ldr r1, [sp, #0xc]
+ add r0, sp, #0x10
+ bl MOD05_021E7EA0
+ mov r0, #0x1
+ ldr r1, [sp, #0x14]
+ lsl r0, r0, #0xc
+ sub r1, r1, r0
+ str r1, [sp, #0x14]
+ ldr r0, [r4, #0x4]
+ cmp r1, r0
+ bgt _02064C12
+ str r0, [sp, #0x14]
+ ldr r0, [r4, #0xc]
+ bl FUN_02064C84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02064C12:
+ ldr r0, [r5, #0x38]
+ ldr r1, [sp, #0x14]
+ bl FUN_02055540
+ ldr r0, [sp, #0xc]
+ add r1, sp, #0x10
+ bl MOD05_021E7EB0
+ b _02064C52
+_02064C24:
+ add r2, r5, #0x0
+ add r2, #0x9c
+ ldr r1, [r4, #0x4]
+ ldr r2, [r2, #0x0]
+ mov r0, #0x0
+ bl MOD05_021F4594
+ ldr r0, [r5, #0x38]
+ mov r1, #0x1
+ bl FUN_0205557C
+ ldr r0, _02064C60 ; =0x0000061A
+ bl FUN_020054C8
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _02064C52
+_02064C48:
+ bl FUN_02016A18
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r5, pc}
+_02064C52:
+ mov r0, #0x0
+ add sp, #0x1c
+ pop {r4-r5, pc}
+ .balign 4
+_02064C58: .word 0x00000102
+_02064C5C: .word 0x020F7D4C
+_02064C60: .word 0x0000061A
+
+ thumb_func_start FUN_02064C64
+FUN_02064C64: ; 0x02064C64
+ push {r3, lr}
+ cmp r0, #0x0
+ bne _02064C72
+ ldr r0, _02064C7C ; =0x00000611
+ bl FUN_020054C8
+ pop {r3, pc}
+_02064C72:
+ ldr r0, _02064C80 ; =0x00000614
+ bl FUN_020054C8
+ pop {r3, pc}
+ nop
+_02064C7C: .word 0x00000611
+_02064C80: .word 0x00000614
+
+ thumb_func_start FUN_02064C84
+FUN_02064C84: ; 0x02064C84
+ push {r3, lr}
+ cmp r0, #0x0
+ bne _02064C94
+ ldr r0, _02064CA0 ; =0x00000611
+ mov r1, #0x0
+ bl FUN_020054F0
+ pop {r3, pc}
+_02064C94:
+ ldr r0, _02064CA4 ; =0x00000614
+ mov r1, #0x0
+ bl FUN_020054F0
+ pop {r3, pc}
+ nop
+_02064CA0: .word 0x00000611
+_02064CA4: .word 0x00000614
+
+ thumb_func_start FUN_02064CA8
+FUN_02064CA8: ; 0x02064CA8
+ push {r4, lr}
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ mov r1, #0x1
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020254A0
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02064CC8
+FUN_02064CC8: ; 0x02064CC8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ mov r1, #0x2
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_020254A0
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x1c]
+ ldr r0, [r0, #0xc]
+ cmp r0, #0x16
+ bne _02064D08
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ECEC
+ cmp r0, #0x0
+ beq _02064D02
+ mov r0, #0x0
+ strb r0, [r4, #0x0]
+ pop {r3-r5, pc}
+_02064D02:
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r5, pc}
+_02064D08:
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064D10
+FUN_02064D10: ; 0x02064D10
+ push {r4-r6, lr}
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ mov r1, #0x3
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_020254A0
+ ldr r5, _02064D48 ; =0x020F7E54
+ add r6, r0, #0x0
+ mov r4, #0x0
+_02064D30:
+ ldrb r1, [r5, #0x0]
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ add r2, r6, #0x0
+ bl FUN_02064DEC
+ add r4, r4, #0x1
+ add r5, r5, #0x1
+ cmp r4, #0x18
+ blt _02064D30
+ pop {r4-r6, pc}
+ nop
+_02064D48: .word 0x020F7E54
+
+ thumb_func_start FUN_02064D4C
+FUN_02064D4C: ; 0x02064D4C
+ push {r4-r6, lr}
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ mov r1, #0x4
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020254A0
+ ldr r5, _02064D84 ; =0x020F7E48
+ add r6, r0, #0x0
+ mov r4, #0x0
+_02064D6C:
+ ldrb r1, [r5, #0x0]
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ add r2, r6, #0x0
+ bl FUN_02064DEC
+ add r4, r4, #0x1
+ add r5, r5, #0x1
+ cmp r4, #0xc
+ blt _02064D6C
+ pop {r4-r6, pc}
+ nop
+_02064D84: .word 0x020F7E48
+
+ thumb_func_start FUN_02064D88
+FUN_02064D88: ; 0x02064D88
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r7, r0, #0x0
+ cmp r5, #0x3
+ blo _02064D96
+ bl ErrorHandling
+_02064D96:
+ add r0, r7, #0x0
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ mov r1, #0x5
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x5
+ bl FUN_020254A0
+ add r4, r0, #0x0
+ str r5, [r4, #0x4]
+ cmp r5, #0x0
+ beq _02064DC2
+ cmp r5, #0x1
+ beq _02064DCA
+ cmp r5, #0x2
+ beq _02064DD2
+ b _02064DDA
+_02064DC2:
+ mov r0, #0x2
+ str r0, [r4, #0x0]
+ mov r6, #0xe
+ b _02064DDE
+_02064DCA:
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ mov r6, #0x15
+ b _02064DDE
+_02064DD2:
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r6, #0x19
+ b _02064DDE
+_02064DDA:
+ bl ErrorHandling
+_02064DDE:
+ ldr r0, [r7, #0x1c]
+ ldr r0, [r0, #0xc]
+ cmp r0, r6
+ bne _02064DEA
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+_02064DEA:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02064DEC
+FUN_02064DEC: ; 0x02064DEC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ cmp r4, #0x1
+ bls _02064DFC
+ bl ErrorHandling
+_02064DFC:
+ mov r0, #0x0
+ mvn r0, r0
+ mov r1, #0x20
+ ldr r2, [r6, #0x0]
+ sub r1, r1, r5
+ add r3, r0, #0x0
+ lsr r3, r1
+ add r1, r2, #0x0
+ and r1, r3
+ add r3, r5, #0x1
+ lsl r0, r3
+ and r2, r0
+ add r0, r4, #0x0
+ lsl r0, r5
+ orr r0, r2
+ orr r0, r1
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02064E20
+FUN_02064E20: ; 0x02064E20
+ push {r4, lr}
+ bl FUN_020377AC
+ bl FUN_02024ED8
+ add r4, r0, #0x0
+ bl FUN_020254B4
+ cmp r0, #0x6
+ beq _02064E48
+ add r0, r4, #0x0
+ mov r1, #0x6
+ bl FUN_02025490
+ add r0, r4, #0x0
+ mov r1, #0x6
+ bl FUN_020254A0
+ mov r1, #0x2
+ strh r1, [r0, #0x0]
+_02064E48:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02064E4C
+FUN_02064E4C: ; 0x02064E4C
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_0200A8E0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ pop {r4, pc}
+
+ thumb_func_start FUN_02064E60
+FUN_02064E60: ; 0x02064E60
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r3, r1, #0x0
+ ldr r2, _02064E8C ; =0x0000017E
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02034824
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02064E4C
+ add r0, r4, #0x0
+ bl FUN_0200A8B8
+ pop {r4-r6, pc}
+ .balign 4
+_02064E8C: .word 0x0000017E
+
+ thumb_func_start FUN_02064E90
+FUN_02064E90: ; 0x02064E90
+ push {r3-r7, lr}
+ sub sp, #0xa0
+ str r0, [sp, #0x10]
+ ldr r6, [sp, #0xb8]
+ str r1, [sp, #0x14]
+ str r2, [sp, #0x18]
+ add r0, r6, #0x0
+ str r3, [sp, #0x1c]
+ ldr r5, [sp, #0xbc]
+ bl FUN_020377AC
+ str r0, [sp, #0x20]
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x20]
+ bl FUN_02029FC8
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x1c]
+ strb r0, [r5, #0x5]
+ add r0, r6, #0x0
+ bl FUN_02065078
+ str r0, [sp, #0x24]
+ add r0, r7, #0x0
+ bl FUN_02023A70
+ str r0, [sp, #0x0]
+ str r5, [sp, #0x4]
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x24]
+ ldr r3, [sp, #0x18]
+ mov r1, #0xa
+ bl FUN_02065154
+ add r0, r7, #0x0
+ bl FUN_020239C0
+ str r0, [sp, #0x28]
+ add r0, r7, #0x0
+ bl FUN_020239CC
+ str r0, [sp, #0x2c]
+ add r0, r7, #0x0
+ bl FUN_0202398C
+ str r0, [sp, #0x30]
+ add r0, r7, #0x0
+ bl FUN_02023A10
+ str r0, [sp, #0x34]
+ ldr r0, [r6, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024440
+ str r0, [sp, #0x38]
+ ldr r0, [r6, #0xc]
+ bl FUN_02024DA0
+ bl FUN_02024D64
+ str r0, [sp, #0x3c]
+ add r0, r4, #0x0
+ bl FUN_0202A1B8
+ ldr r1, [sp, #0x38]
+ ldr r2, [sp, #0x30]
+ str r1, [sp, #0x0]
+ ldr r1, [sp, #0x3c]
+ ldr r3, [sp, #0x34]
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r1, [sp, #0x2c]
+ ldr r0, [sp, #0x28]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ str r5, [sp, #0xc]
+ bl FUN_02065178
+ ldr r0, [sp, #0x20]
+ bl FUN_02023918
+ str r0, [sp, #0x40]
+ add r0, r6, #0x0
+ add r1, sp, #0x90
+ add r2, sp, #0x74
+ bl FUN_0204B2F0
+ add r0, r6, #0x0
+ add r1, sp, #0x80
+ add r2, sp, #0x74
+ bl FUN_0204B30C
+ ldr r0, [r6, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205ED0C
+ add r1, sp, #0x74
+ str r1, [sp, #0x0]
+ ldr r1, [sp, #0x14]
+ lsl r0, r0, #0x18
+ str r1, [sp, #0x4]
+ ldr r1, [sp, #0x40]
+ str r5, [sp, #0x8]
+ lsr r0, r0, #0x18
+ add r2, sp, #0x90
+ add r3, sp, #0x80
+ bl FUN_020651BC
+ ldr r0, [r6, #0xc]
+ bl FUN_02029ABC
+ str r0, [sp, #0x44]
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0202A150
+ str r0, [sp, #0x48]
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0202A150
+ str r0, [sp, #0x4c]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ bl FUN_0202A150
+ str r0, [sp, #0x50]
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_0202A150
+ str r0, [sp, #0x54]
+ add r0, r4, #0x0
+ mov r1, #0x40
+ bl FUN_0202A150
+ str r0, [sp, #0x58]
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl FUN_0202A150
+ ldr r1, [sp, #0x58]
+ add r1, r1, r0
+ ldr r0, [sp, #0x54]
+ add r1, r0, r1
+ ldr r0, [sp, #0x50]
+ add r1, r0, r1
+ ldr r0, [sp, #0x4c]
+ add r0, r0, r1
+ str r0, [sp, #0x5c]
+ add r0, r4, #0x0
+ mov r1, #0x15
+ bl FUN_0202A150
+ str r0, [sp, #0x60]
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_0202A150
+ str r0, [sp, #0x64]
+ add r0, r4, #0x0
+ mov r1, #0x16
+ bl FUN_0202A150
+ str r0, [sp, #0x68]
+ add r0, r4, #0x0
+ mov r1, #0x1b
+ bl FUN_0202A150
+ str r0, [sp, #0x6c]
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl FUN_0202A150
+ str r0, [sp, #0x70]
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_0202A150
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x44]
+ bl FUN_02029AC8
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x48]
+ ldr r0, [sp, #0x5c]
+ ldr r2, [sp, #0x60]
+ add r0, r1, r0
+ ldr r1, [sp, #0x64]
+ ldr r3, [sp, #0x68]
+ add r1, r2, r1
+ ldr r2, [sp, #0x6c]
+ str r5, [sp, #0x4]
+ add r2, r3, r2
+ ldr r3, [sp, #0x70]
+ add r3, r3, r4
+ bl FUN_02065260
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_020652AC
+ mov r3, #0x0
+ ldr r0, _0206504C ; =0x0000066C
+ add r2, r3, #0x0
+_02065034:
+ ldrb r1, [r5, r2]
+ add r2, r2, #0x1
+ eor r3, r1
+ cmp r2, r0
+ blo _02065034
+ ldr r0, _02065050 ; =0x00000668
+ mov r1, #0x0
+ strh r3, [r5, r0]
+ add r0, r0, #0x2
+ strh r1, [r5, r0]
+ add sp, #0xa0
+ pop {r3-r7, pc}
+ .balign 4
+_0206504C: .word 0x0000066C
+_02065050: .word 0x00000668
+
+ thumb_func_start FUN_02065054
+FUN_02065054: ; 0x02065054
+ push {r4, lr}
+ ldr r1, _0206506C ; =0x0000066C
+ bl FUN_02016998
+ ldr r2, _0206506C ; =0x0000066C
+ mov r1, #0x0
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r4, pc}
+ nop
+_0206506C: .word 0x0000066C
+
+ thumb_func_start FUN_02065070
+FUN_02065070: ; 0x02065070
+ ldr r3, _02065074 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02065074: .word FUN_02016A18
+
+ thumb_func_start FUN_02065078
+FUN_02065078: ; 0x02065078
+ push {r3-r7, lr}
+ bl FUN_020377AC
+ add r7, r0, #0x0
+ bl FUN_02029FC8
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_020462AC
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_02026CB4
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r4, #0x0
+ bl FUN_0205ED0C
+ cmp r0, #0x0
+ beq _020650A8
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_020650A8:
+ add r0, r7, #0x0
+ bl FUN_02024DA0
+ bl FUN_020244EC
+ cmp r0, #0x0
+ beq _020650BC
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_020650BC:
+ add r0, r6, #0x0
+ mov r1, #0x35
+ bl FUN_0202A150
+ cmp r0, #0x64
+ bhs _020650F8
+ add r0, r6, #0x0
+ mov r1, #0x37
+ bl FUN_0202A150
+ cmp r0, #0x64
+ bhs _020650F8
+ add r0, r6, #0x0
+ mov r1, #0x39
+ bl FUN_0202A150
+ cmp r0, #0x64
+ bhs _020650F8
+ add r0, r6, #0x0
+ mov r1, #0x3b
+ bl FUN_0202A150
+ cmp r0, #0x64
+ bhs _020650F8
+ add r0, r6, #0x0
+ mov r1, #0x3d
+ bl FUN_0202A150
+ cmp r0, #0x64
+ blo _020650FE
+_020650F8:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_020650FE:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ bne _0206513A
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ bne _0206513A
+ add r0, r5, #0x0
+ mov r1, #0x3
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ bne _0206513A
+ add r0, r5, #0x0
+ mov r1, #0x4
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ bne _0206513A
+ add r0, r5, #0x0
+ mov r1, #0x2
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ beq _02065140
+_0206513A:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02065140:
+ ldr r0, [sp, #0x0]
+ bl FUN_020268D4
+ cmp r0, #0x1
+ bne _02065150
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02065150:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02065154
+FUN_02065154: ; 0x02065154
+ push {r3-r6}
+ ldr r5, [sp, #0x14]
+ mov r6, #0x1
+ ldrb r4, [r5, #0x4]
+ bic r4, r6
+ mov r6, #0x1
+ and r0, r6
+ orr r0, r4
+ strb r0, [r5, #0x4]
+ strb r1, [r5, #0x0]
+ strb r2, [r5, #0x3]
+ add r0, sp, #0x0
+ ldrb r0, [r0, #0x10]
+ strb r0, [r5, #0x1]
+ strb r3, [r5, #0x2]
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02065178
+FUN_02065178: ; 0x02065178
+ push {r4-r6, lr}
+ ldr r4, [sp, #0x1c]
+ add r6, r1, #0x0
+ strh r0, [r4, #0x28]
+ ldrb r0, [r4, #0x4]
+ add r1, r2, #0x0
+ mov r2, #0x4
+ bic r0, r2
+ lsl r2, r6, #0x1f
+ lsr r2, r2, #0x1d
+ orr r0, r2
+ strb r0, [r4, #0x4]
+ add r0, r4, #0x0
+ add r0, #0x8
+ mov r2, #0x8
+ add r5, r3, #0x0
+ bl StringCopyN
+ ldr r0, [sp, #0x10]
+ str r5, [r4, #0x1c]
+ str r0, [r4, #0x20]
+ ldrb r0, [r4, #0x4]
+ mov r1, #0x8
+ bic r0, r1
+ ldr r1, [sp, #0x14]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x1c
+ orr r0, r1
+ strb r0, [r4, #0x4]
+ ldr r0, [sp, #0x18]
+ str r0, [r4, #0x24]
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020651BC
+FUN_020651BC: ; 0x020651BC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ ldr r4, [sp, #0x28]
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r0, r1, #0x0
+ add r5, r2, #0x0
+ add r6, r3, #0x0
+ ldr r7, [sp, #0x20]
+ bl FUN_02029EBC
+ strh r0, [r4, #0x2a]
+ ldr r0, [sp, #0x4]
+ bl FUN_02029EC0
+ add r1, r4, #0x0
+ add r1, #0x2e
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r5, #0x0]
+ add r0, #0x2f
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r5, #0x4]
+ add r0, #0x30
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r5, #0x8]
+ add r0, #0x31
+ strb r1, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _0206521E
+ add r0, r4, #0x0
+ ldr r1, [r6, #0x0]
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r6, #0x4]
+ add r0, #0x33
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ ldr r1, [r6, #0x8]
+ add r0, #0x34
+ strb r1, [r0, #0x0]
+ ldr r0, [r7, #0x0]
+ strh r0, [r4, #0x2c]
+ ldr r1, [r7, #0x4]
+ b _02065234
+_0206521E:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x32
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x33
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x34
+ strb r1, [r0, #0x0]
+ strh r1, [r4, #0x2c]
+_02065234:
+ add r0, r4, #0x0
+ add r0, #0x35
+ strb r1, [r0, #0x0]
+ ldrb r2, [r4, #0x4]
+ mov r0, #0x2
+ bic r2, r0
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x14]
+ lsl r1, r0, #0x1f
+ lsr r1, r1, #0x1e
+ orr r1, r2
+ strb r1, [r4, #0x4]
+ cmp r0, #0x0
+ beq _02065258
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ str r0, [r4, #0x18]
+ pop {r3-r7, pc}
+_02065258:
+ mov r0, #0x0
+ str r0, [r4, #0x18]
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02065260
+FUN_02065260: ; 0x02065260
+ push {r3-r5, lr}
+ ldr r4, [sp, #0x14]
+ ldr r5, _020652A0 ; =0x000F423F
+ str r0, [r4, #0x38]
+ cmp r0, r5
+ bls _0206526E
+ str r5, [r4, #0x38]
+_0206526E:
+ str r1, [r4, #0x3c]
+ str r2, [r4, #0x40]
+ ldr r1, [r4, #0x3c]
+ ldr r0, _020652A4 ; =0x0000270F
+ cmp r1, r0
+ bls _0206527C
+ str r0, [r4, #0x3c]
+_0206527C:
+ ldr r1, [r4, #0x40]
+ ldr r0, _020652A4 ; =0x0000270F
+ cmp r1, r0
+ bls _02065286
+ str r0, [r4, #0x40]
+_02065286:
+ ldr r0, _020652A8 ; =0x0001869F
+ str r3, [r4, #0x44]
+ cmp r3, r0
+ bls _02065290
+ str r0, [r4, #0x44]
+_02065290:
+ add r4, #0x68
+ mov r2, #0x6
+ ldr r0, [sp, #0x10]
+ add r1, r4, #0x0
+ lsl r2, r2, #0x8
+ bl MI_CpuCopy8
+ pop {r3-r5, pc}
+ .balign 4
+_020652A0: .word 0x000F423F
+_020652A4: .word 0x0000270F
+_020652A8: .word 0x0001869F
+
+ thumb_func_start FUN_020652AC
+FUN_020652AC: ; 0x020652AC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ ldr r0, [r1, #0xc]
+ add r5, r2, #0x0
+ bl FUN_02029ABC
+ bl FUN_02029ACC
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ mov r4, #0x0
+ add r5, #0x48
+ str r0, [sp, #0x8]
+ add r7, r0, #0x0
+_020652CA:
+ ldr r0, [sp, #0x0]
+ add r1, r4, #0x0
+ bl FUN_020239D0
+ cmp r0, #0x0
+ beq _020652E6
+ lsl r0, r4, #0x2
+ ldr r2, [r5, r0]
+ mov r1, #0x1
+ bic r2, r7
+ orr r1, r2
+ add r6, r5, r0
+ str r1, [r5, r0]
+ b _020652F2
+_020652E6:
+ lsl r2, r4, #0x2
+ ldr r1, [r5, r2]
+ ldr r0, [sp, #0x8]
+ add r6, r5, r2
+ bic r1, r0
+ str r1, [r5, r2]
+_020652F2:
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02029AD0
+ ldr r2, [r6, #0x0]
+ mov r1, #0x1
+ and r1, r2
+ lsl r0, r0, #0x1
+ orr r0, r1
+ str r0, [r6, #0x0]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x8
+ blo _020652CA
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02065314
+FUN_02065314: ; 0x02065314
+ push {r4-r6, lr}
+ ldr r0, [r0, #0xc]
+ add r5, r1, #0x0
+ bl FUN_02029ABC
+ bl FUN_02029ACC
+ add r6, r0, #0x0
+ mov r4, #0x0
+_02065326:
+ lsl r1, r4, #0x2
+ add r1, r5, r1
+ ldr r1, [r1, #0x48]
+ add r0, r4, #0x0
+ asr r1, r1, #0x1
+ add r2, r6, #0x0
+ bl FUN_02029AD8
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x8
+ blo _02065326
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02065344
+FUN_02065344: ; 0x02065344
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0x78]
+ bl FUN_02052E38
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0x10]
+ ldr r1, _0206536C ; =FUN_02065370
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_0206536C: .word FUN_02065370
+
+ thumb_func_start FUN_02065370
+FUN_02065370: ; 0x02065370
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0xa
+ bgt _0206539A
+ bge _020653BA
+ cmp r0, #0x1
+ bgt _020653E2
+ cmp r0, #0x0
+ blt _020653E2
+ beq _020653A0
+ cmp r0, #0x1
+ beq _020653AA
+ b _020653E2
+_0206539A:
+ cmp r0, #0xb
+ beq _020653C8
+ b _020653E2
+_020653A0:
+ ldr r0, [r4, #0x78]
+ bl FUN_02052ED0
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+_020653AA:
+ ldr r1, [r5, #0x4]
+ ldr r0, _020653E8 ; =0x0000066A
+ ldrh r0, [r1, r0]
+ cmp r0, #0x0
+ beq _020653E2
+ mov r0, #0xa
+ str r0, [r5, #0x0]
+ b _020653E2
+_020653BA:
+ ldr r1, [r5, #0x4]
+ add r0, r4, #0x0
+ bl FUN_02038680
+ mov r0, #0xb
+ str r0, [r5, #0x0]
+ b _020653E2
+_020653C8:
+ add r0, r4, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _020653E2
+ ldr r0, [r4, #0x78]
+ bl FUN_02052EAC
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020653E2:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_020653E8: .word 0x0000066A
+
+ thumb_func_start FUN_020653EC
+FUN_020653EC: ; 0x020653EC
+ push {r4-r6, lr}
+ mov r2, #0x5
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x3
+ mov r1, #0x2b
+ lsl r2, r2, #0xc
+ bl FUN_0201681C
+ mov r1, #0x6e
+ mov r0, #0x2b
+ lsl r1, r1, #0x2
+ bl FUN_02016998
+ mov r2, #0x6e
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r5, #0x0
+ str r6, [r4, #0x4]
+ bl FUN_020377AC
+ mov r1, #0x5b
+ lsl r1, r1, #0x2
+ str r5, [r4, r1]
+ mov r1, #0x2b
+ str r1, [r4, #0x0]
+ mov r1, #0x0
+ strb r1, [r4, #0x19]
+ mov r1, #0xff
+ add r6, r0, #0x0
+ strb r1, [r4, #0x1a]
+ bl LoadPlayerDataAddress
+ bl FUN_02024FF4
+ strb r0, [r4, #0x16]
+ add r0, r6, #0x0
+ bl LoadPlayerDataAddress
+ bl FUN_02025084
+ strh r0, [r4, #0x14]
+ add r0, r4, #0x0
+ ldr r2, [r4, #0x0]
+ add r0, #0x1c
+ mov r1, #0x14
+ bl FUN_02066010
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02066070
+ add r0, r4, #0x0
+ bl FUN_02066270
+ ldr r0, _02065470 ; =FUN_020654B0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_0200CA44
+ str r0, [r4, #0x8]
+ pop {r4-r6, pc}
+ .balign 4
+_02065470: .word FUN_020654B0
+
+ thumb_func_start FUN_02065474
+FUN_02065474: ; 0x02065474
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x8]
+ bl FUN_0200CAB4
+ ldr r0, [r4, #0x4]
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020662E4
+ add r0, r4, #0x0
+ add r0, #0x1c
+ mov r1, #0x14
+ bl FUN_02066044
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r4, #0x0]
+ bl FUN_020168D0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020654A4
+FUN_020654A4: ; 0x020654A4
+ ldr r3, _020654AC ; =FUN_02065474
+ add r0, r1, #0x0
+ bx r3
+ nop
+_020654AC: .word FUN_02065474
+
+ thumb_func_start FUN_020654B0
+FUN_020654B0: ; 0x020654B0
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02066334
+ add r0, r4, #0x0
+ bl FUN_02065AF4
+ ldr r1, _020654CC ; =FUN_020654D0
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ pop {r3-r5, pc}
+ .balign 4
+_020654CC: .word FUN_020654D0
+
+ thumb_func_start FUN_020654D0
+FUN_020654D0: ; 0x020654D0
+ push {r3-r5, lr}
+ mov r0, #0x16
+ add r5, r1, #0x0
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_02001204
+ add r4, r0, #0x0
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ cmp r0, #0x0
+ beq _020654EE
+ bl FUN_0205EC18
+_020654EE:
+ ldr r0, _02065544 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0206550A
+ ldr r1, _02065548 ; =FUN_02065658
+ ldr r2, _0206554C ; =FUN_020654A4
+ add r0, r5, #0x0
+ bl FUN_02065FE4
+ ldr r0, _02065550 ; =0x000005DC
+ bl FUN_020054C8
+ pop {r3-r5, pc}
+_0206550A:
+ mov r0, #0x1
+ tst r0, r1
+ beq _02065542
+ ldr r0, _02065550 ; =0x000005DC
+ bl FUN_020054C8
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r4, r1
+ beq _0206552A
+ add r0, r1, #0x1
+ cmp r4, r0
+ beq _0206552A
+ lsr r0, r1, #0x10
+ cmp r4, r0
+ bne _02065536
+_0206552A:
+ ldr r1, _02065548 ; =FUN_02065658
+ ldr r2, _0206554C ; =FUN_020654A4
+ add r0, r5, #0x0
+ bl FUN_02065FE4
+ pop {r3-r5, pc}
+_02065536:
+ ldr r1, _02065548 ; =FUN_02065658
+ ldr r2, _02065554 ; =FUN_02065558
+ add r0, r5, #0x0
+ strb r4, [r5, #0x18]
+ bl FUN_02065FE4
+_02065542:
+ pop {r3-r5, pc}
+ .balign 4
+_02065544: .word 0x021C48B8
+_02065548: .word FUN_02065658
+_0206554C: .word FUN_020654A4
+_02065550: .word 0x000005DC
+_02065554: .word FUN_02065558
+
+ thumb_func_start FUN_02065558
+FUN_02065558: ; 0x02065558
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x0
+ beq _0206556A
+ cmp r0, #0x1
+ beq _02065592
+ pop {r3-r5, pc}
+_0206556A:
+ add r0, r4, #0x0
+ bl FUN_02066334
+ mov r1, #0x0
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ bl FUN_02065DD8
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r1, #0x0
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ add r3, r1, #0x0
+ bl FUN_02066404
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+ pop {r3-r5, pc}
+_02065592:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ beq _020655A8
+ ldr r1, _020655AC ; =FUN_020655B0
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+_020655A8:
+ pop {r3-r5, pc}
+ nop
+_020655AC: .word FUN_020655B0
+
+ thumb_func_start FUN_020655B0
+FUN_020655B0: ; 0x020655B0
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ mov r0, #0x16
+ add r4, r1, #0x0
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02001204
+ add r5, r0, #0x0
+ ldr r0, _02065638 ; =0x021C48B8
+ mov r1, #0x2
+ ldr r0, [r0, #0x48]
+ tst r1, r0
+ beq _020655DE
+ ldr r1, _0206563C ; =FUN_02065674
+ ldr r2, _02065640 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ ldr r0, _02065644 ; =0x000005DC
+ bl FUN_020054C8
+ pop {r4-r6, pc}
+_020655DE:
+ mov r1, #0x1
+ tst r0, r1
+ beq _02065634
+ ldr r0, _02065644 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r5, #0x2
+ cmp r0, #0x5
+ bhi _0206562C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020655FC: ; jump table (using 16-bit offset)
+ .short _02065608 - _020655FC - 2; case 0
+ .short _02065608 - _020655FC - 2; case 1
+ .short _0206562C - _020655FC - 2; case 2
+ .short _02065614 - _020655FC - 2; case 3
+ .short _02065620 - _020655FC - 2; case 4
+ .short _02065608 - _020655FC - 2; case 5
+_02065608:
+ ldr r1, _0206563C ; =FUN_02065674
+ ldr r2, _02065640 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ pop {r4-r6, pc}
+_02065614:
+ ldr r1, _02065648 ; =FUN_02065710
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ pop {r4-r6, pc}
+_02065620:
+ ldr r1, _0206564C ; =FUN_02065894
+ ldr r2, _02065650 ; =FUN_02065938
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ pop {r4-r6, pc}
+_0206562C:
+ ldr r1, _02065654 ; =FUN_02065690
+ add r0, r6, #0x0
+ bl FUN_0201B6C4
+_02065634:
+ pop {r4-r6, pc}
+ nop
+_02065638: .word 0x021C48B8
+_0206563C: .word FUN_02065674
+_02065640: .word FUN_020654B0
+_02065644: .word 0x000005DC
+_02065648: .word FUN_02065710
+_0206564C: .word FUN_02065894
+_02065650: .word FUN_02065938
+_02065654: .word FUN_02065690
+
+ thumb_func_start FUN_02065658
+FUN_02065658: ; 0x02065658
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02065EF8
+ add r0, r4, #0x0
+ bl FUN_020663D4
+ ldr r1, [r4, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02065674
+FUN_02065674: ; 0x02065674
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02065F8C
+ add r0, r4, #0x0
+ bl FUN_020663D4
+ ldr r1, [r4, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02065690
+FUN_02065690: ; 0x02065690
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x3
+ bhi _02065704
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020656A8: ; jump table (using 16-bit offset)
+ .short _020656B0 - _020656A8 - 2; case 0
+ .short _020656C6 - _020656A8 - 2; case 1
+ .short _020656D2 - _020656A8 - 2; case 2
+ .short _020656DE - _020656A8 - 2; case 3
+_020656B0:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _0206570A
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066634
+ b _02065704
+_020656C6:
+ add r0, r4, #0x0
+ bl FUN_02066728
+ cmp r0, #0x0
+ bne _02065704
+ pop {r3-r5, pc}
+_020656D2:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _02065704
+ pop {r3-r5, pc}
+_020656DE:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _0206570A
+ add r0, r4, #0x0
+ bl FUN_02066334
+ add r0, r4, #0x0
+ bl FUN_02065AF4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ ldr r1, _0206570C ; =FUN_020654D0
+ add r0, r5, #0x0
+ bl FUN_0201B6C4
+ pop {r3-r5, pc}
+_02065704:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_0206570A:
+ pop {r3-r5, pc}
+ .balign 4
+_0206570C: .word FUN_020654D0
+
+ thumb_func_start FUN_02065710
+FUN_02065710: ; 0x02065710
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r1, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x5
+ bhi _020657DA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02065728: ; jump table (using 16-bit offset)
+ .short _02065734 - _02065728 - 2; case 0
+ .short _02065744 - _02065728 - 2; case 1
+ .short _02065756 - _02065728 - 2; case 2
+ .short _02065780 - _02065728 - 2; case 3
+ .short _02065798 - _02065728 - 2; case 4
+ .short _020657AA - _02065728 - 2; case 5
+_02065734:
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02066404
+ b _020657DA
+_02065744:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ beq _020657E0
+ add r0, r4, #0x0
+ bl FUN_02066520
+ b _020657DA
+_02065756:
+ add r0, r4, #0x0
+ bl FUN_0206654C
+ cmp r0, #0x0
+ blt _020657E0
+ beq _02065778
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02066404
+ mov r0, #0x4
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065778:
+ mov r0, #0x3
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065780:
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ ldr r1, _020657E4 ; =FUN_02065674
+ ldr r2, _020657E8 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_02065798:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ beq _020657E0
+ add r0, r4, #0x0
+ bl FUN_02066520
+ b _020657DA
+_020657AA:
+ add r0, r4, #0x0
+ bl FUN_0206654C
+ cmp r0, #0x0
+ blt _020657E0
+ beq _020657C2
+ ldr r1, _020657EC ; =FUN_020659B8
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ b _020657CC
+_020657C2:
+ ldr r1, _020657F0 ; =FUN_020657F4
+ ldr r2, _020657E4 ; =FUN_02065674
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+_020657CC:
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_020657DA:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_020657E0:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_020657E4: .word FUN_02065674
+_020657E8: .word FUN_020654B0
+_020657EC: .word FUN_020659B8
+_020657F0: .word FUN_020657F4
+
+ thumb_func_start FUN_020657F4
+FUN_020657F4: ; 0x020657F4
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r1, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x0
+ beq _0206580A
+ cmp r0, #0x1
+ beq _0206584E
+ cmp r0, #0x2
+ beq _0206585C
+ b _0206587E
+_0206580A:
+ ldr r0, [r4, #0xc]
+ cmp r0, #0x0
+ bne _02065820
+ add r0, r4, #0x0
+ bl FUN_02066334
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_02065DD8
+_02065820:
+ add r0, r4, #0x0
+ bl FUN_020661A0
+ cmp r0, #0x0
+ beq _0206583C
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r3, #0x0
+ bl FUN_02066404
+ b _0206587E
+_0206583C:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r1, #0x4
+ mov r3, #0x0
+ bl FUN_02066404
+ b _0206587E
+_0206584E:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ bne _0206587E
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0206585C:
+ ldr r0, _02065888 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02065884
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ ldr r1, _0206588C ; =FUN_02065674
+ ldr r2, _02065890 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_0206587E:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_02065884:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_02065888: .word 0x021C48B8
+_0206588C: .word FUN_02065674
+_02065890: .word FUN_020654B0
+
+ thumb_func_start FUN_02065894
+FUN_02065894: ; 0x02065894
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x3
+ bhi _0206592C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020658AA: ; jump table (using 16-bit offset)
+ .short _020658B2 - _020658AA - 2; case 0
+ .short _020658C8 - _020658AA - 2; case 1
+ .short _020658D6 - _020658AA - 2; case 2
+ .short _020658E2 - _020658AA - 2; case 3
+_020658B2:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065932
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066634
+ b _0206592C
+_020658C8:
+ add r0, r4, #0x0
+ mov r1, #0xe
+ bl FUN_02066664
+ cmp r0, #0x0
+ bne _0206592C
+ pop {r3-r5, pc}
+_020658D6:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _0206592C
+ pop {r3-r5, pc}
+_020658E2:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065932
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r0, #0x0
+ add r1, #0x22
+ ldrb r5, [r1, #0x0]
+ bl FUN_02016A18
+ cmp r5, #0x7
+ bne _02065912
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r3-r5, pc}
+_02065912:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020661F8
+ ldr r1, _02065934 ; =FUN_020654B0
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r3-r5, pc}
+_0206592C:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_02065932:
+ pop {r3-r5, pc}
+ .balign 4
+_02065934: .word FUN_020654B0
+
+ thumb_func_start FUN_02065938
+FUN_02065938: ; 0x02065938
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r1, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x0
+ beq _0206594E
+ cmp r0, #0x1
+ beq _02065970
+ cmp r0, #0x2
+ beq _0206597E
+ b _020659A0
+_0206594E:
+ add r0, r4, #0x0
+ bl FUN_02066334
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x2
+ bl FUN_02065DD8
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldrb r2, [r4, #0x16]
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r3, #0x0
+ bl FUN_02066404
+ b _020659A0
+_02065970:
+ add r0, r4, #0x0
+ bl FUN_020664F4
+ cmp r0, #0x0
+ bne _020659A0
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0206597E:
+ ldr r0, _020659AC ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020659A6
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ ldr r1, _020659B0 ; =FUN_02065674
+ ldr r2, _020659B4 ; =FUN_020654B0
+ add r0, r4, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ add sp, #0x4
+ strh r0, [r4, #0x10]
+ pop {r3-r4, pc}
+_020659A0:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_020659A6:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_020659AC: .word 0x021C48B8
+_020659B0: .word FUN_02065674
+_020659B4: .word FUN_020654B0
+
+ thumb_func_start FUN_020659B8
+FUN_020659B8: ; 0x020659B8
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ ldrh r0, [r4, #0x10]
+ cmp r0, #0x5
+ bls _020659C4
+ b _02065AE0
+_020659C4:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020659D0: ; jump table (using 16-bit offset)
+ .short _020659DC - _020659D0 - 2; case 0
+ .short _02065A24 - _020659D0 - 2; case 1
+ .short _02065A68 - _020659D0 - 2; case 2
+ .short _02065A86 - _020659D0 - 2; case 3
+ .short _02065AB8 - _020659D0 - 2; case 4
+ .short _02065AC4 - _020659D0 - 2; case 5
+_020659DC:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065AE6
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066634
+ mov r0, #0x1b
+ lsl r0, r0, #0x4
+ ldrb r2, [r4, #0x18]
+ mov r1, #0xc
+ ldr r0, [r4, r0]
+ mul r1, r2
+ add r1, r4, r1
+ ldrh r1, [r1, #0x22]
+ ldr r2, [r4, #0x0]
+ bl FUN_0206EEF8
+ cmp r0, #0x0
+ ldr r1, _02065AE8 ; =0x0000013B
+ beq _02065A1A
+ ldrb r2, [r4, r1]
+ mov r0, #0xc0
+ bic r2, r0
+ mov r0, #0x40
+ orr r0, r2
+ strb r0, [r4, r1]
+ b _02065AE0
+_02065A1A:
+ ldrb r2, [r4, r1]
+ mov r0, #0xc0
+ bic r2, r0
+ strb r2, [r4, r1]
+ b _02065AE0
+_02065A24:
+ add r0, r4, #0x0
+ mov r1, #0x9
+ bl FUN_02066664
+ cmp r0, #0x0
+ beq _02065AE6
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r0, #0x0
+ add r1, #0x22
+ ldrb r5, [r1, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x23
+ ldrb r6, [r1, #0x0]
+ bl FUN_02016A18
+ cmp r6, #0x6
+ bne _02065A4E
+ cmp r5, #0x7
+ bne _02065A58
+_02065A4E:
+ ldr r0, _02065AEC ; =FUN_020657F4
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
+_02065A58:
+ strb r5, [r4, #0x17]
+ ldrb r1, [r4, #0x18]
+ mov r0, #0xc
+ mov r2, #0x0
+ mul r0, r1
+ add r0, r4, r0
+ strb r2, [r0, #0x1d]
+ b _02065AE0
+_02065A68:
+ add r0, r4, #0x0
+ bl FUN_02066728
+ cmp r0, #0x0
+ beq _02065AE6
+ cmp r0, #0x1
+ bne _02065A80
+ ldr r0, _02065AEC ; =FUN_020657F4
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
+_02065A80:
+ ldr r0, _02065AF0 ; =FUN_020654B0
+ str r0, [r4, #0xc]
+ b _02065AE0
+_02065A86:
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02066664
+ cmp r0, #0x0
+ beq _02065AE6
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ ldr r2, _02065AE8 ; =0x0000013B
+ ldrb r1, [r4, #0x17]
+ ldrb r2, [r4, r2]
+ add r0, r4, #0x0
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x1e
+ bl FUN_020661F8
+ ldr r1, _02065AE8 ; =0x0000013B
+ mov r0, #0xc0
+ ldrb r2, [r4, r1]
+ bic r2, r0
+ strb r2, [r4, r1]
+ b _02065AE0
+_02065AB8:
+ add r0, r4, #0x0
+ bl FUN_020665C0
+ cmp r0, #0x0
+ bne _02065AE0
+ pop {r4-r6, pc}
+_02065AC4:
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02066578
+ cmp r0, #0x0
+ beq _02065AE6
+ ldr r1, [r4, #0xc]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02065FE4
+ mov r0, #0x0
+ strh r0, [r4, #0x10]
+ pop {r4-r6, pc}
+_02065AE0:
+ ldrh r0, [r4, #0x10]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x10]
+_02065AE6:
+ pop {r4-r6, pc}
+ .balign 4
+_02065AE8: .word 0x0000013B
+_02065AEC: .word FUN_020657F4
+_02065AF0: .word FUN_020654B0
+
+ thumb_func_start FUN_02065AF4
+FUN_02065AF4: ; 0x02065AF4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r6, #0x0
+ bl FUN_0205EB38
+ mov r1, #0x69
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ ldr r0, [r5, r1]
+ mov r1, #0xc8
+ mov r2, #0xa
+ mov r3, #0x8a
+ bl FUN_0205EC48
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, r6, #0x0
+ mov r2, #0x1
+ bl FUN_0205EC6C
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ add r2, r1, #0x0
+ bl FUN_0205EC6C
+ mov r1, #0x17
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r2, _02065CD8 ; =0x020F7E7C
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x17
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, #0x24
+ ldr r2, _02065CDC ; =0x020F7E84
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xff
+ bl FUN_02019620
+ ldrb r0, [r5, #0x1b]
+ ldr r1, [r5, #0x0]
+ add r0, r0, #0x1
+ bl FUN_02012838
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ add r7, r5, #0x0
+ str r0, [r5, r1]
+ add r4, r6, #0x0
+ add r7, #0x1c
+_02065B7E:
+ mov r0, #0xc
+ mul r0, r4
+ add r2, r7, r0
+ ldrb r0, [r2, #0x1]
+ cmp r0, #0x0
+ beq _02065B9E
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r1, [r2, #0x8]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, r0]
+ bl FUN_020128A0
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_02065B9E:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x14
+ blo _02065B7E
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ ldr r0, [r5, r1]
+ sub r1, #0x4c
+ ldr r1, [r5, r1]
+ ldr r2, _02065CE0 ; =0x0000FFFF
+ bl FUN_020128A0
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ mov r1, #0x5
+ lsr r6, r0, #0x18
+ lsl r1, r1, #0x6
+ ldr r0, _02065CE4 ; =0x020F7E8C
+ add r1, r5, r1
+ mov r2, #0x20
+ bl MI_CpuCopy8
+ mov r1, #0x5d
+ lsl r1, r1, #0x2
+ add r0, r1, #0x0
+ add r2, r5, r1
+ sub r0, #0x28
+ str r2, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x10
+ ldr r2, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x34
+ str r2, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x18
+ str r5, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x24
+ strh r6, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x1d
+ ldrb r2, [r5, r0]
+ mov r0, #0xf
+ bic r2, r0
+ mov r0, #0x6
+ orr r2, r0
+ add r0, r1, #0x0
+ sub r0, #0x1d
+ strb r2, [r5, r0]
+ add r0, r1, #0x0
+ ldr r2, _02065CE8 ; =FUN_02065D4C
+ sub r0, #0x30
+ str r2, [r5, r0]
+ add r0, r1, #0x0
+ ldr r2, _02065CEC ; =FUN_02065CFC
+ sub r0, #0x2c
+ str r2, [r5, r0]
+ add r0, r1, #0x0
+ sub r0, #0x39
+ ldrb r0, [r5, r0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ beq _02065C64
+ add r0, r1, #0x0
+ sub r0, #0x38
+ ldrh r0, [r5, r0]
+ cmp r0, #0x0
+ bne _02065C48
+ add r0, r1, #0x0
+ sub r0, #0x36
+ ldrh r2, [r5, r0]
+ cmp r2, #0x0
+ beq _02065C5A
+ sub r0, r6, #0x1
+ cmp r2, r0
+ blt _02065C5A
+ add r0, r1, #0x0
+ sub r0, #0x36
+ ldrh r0, [r5, r0]
+ sub r1, #0x36
+ sub r0, r0, #0x1
+ strh r0, [r5, r1]
+ b _02065C5A
+_02065C48:
+ add r0, r0, #0x7
+ cmp r0, r6
+ blt _02065C5A
+ add r0, r1, #0x0
+ sub r0, #0x38
+ ldrh r0, [r5, r0]
+ sub r1, #0x38
+ sub r0, r0, #0x1
+ strh r0, [r5, r1]
+_02065C5A:
+ ldr r1, _02065CF0 ; =0x0000013B
+ mov r0, #0x30
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ strb r2, [r5, r1]
+_02065C64:
+ mov r2, #0x5
+ lsl r2, r2, #0x6
+ sub r1, r2, #0x4
+ add r0, r5, r2
+ sub r2, r2, #0x2
+ ldr r3, [r5, #0x0]
+ ldrh r1, [r5, r1]
+ lsl r3, r3, #0x18
+ ldrh r2, [r5, r2]
+ lsr r3, r3, #0x18
+ bl FUN_020010A8
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ add r1, #0x14
+ add r0, r5, r1
+ ldr r2, _02065CF4 ; =0x000003D9
+ mov r1, #0x0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r2, #0x65
+ ldr r0, _02065CF8 ; =0x0001020F
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ lsl r2, r2, #0x2
+ add r0, r5, r2
+ str r1, [sp, #0xc]
+ sub r2, #0x78
+ ldr r2, [r5, r2]
+ mov r3, #0x2
+ bl FUN_0201BDE0
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ ldr r2, _02065CF4 ; =0x000003D9
+ add r0, r5, r0
+ mov r1, #0x0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ ldr r1, _02065CF0 ; =0x0000013B
+ mov r0, #0xf
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ strb r2, [r5, r1]
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_02065CD8: .word 0x020F7E7C
+_02065CDC: .word 0x020F7E84
+_02065CE0: .word 0x0000FFFF
+_02065CE4: .word 0x020F7E8C
+_02065CE8: .word FUN_02065D4C
+_02065CEC: .word FUN_02065CFC
+_02065CF0: .word 0x0000013B
+_02065CF4: .word 0x000003D9
+_02065CF8: .word 0x0001020F
+
+ thumb_func_start FUN_02065CFC
+FUN_02065CFC: ; 0x02065CFC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x13
+ add r5, r0, #0x0
+ bl FUN_02001470
+ ldr r1, _02065D48 ; =0x0000FFFF
+ cmp r4, r1
+ bne _02065D1C
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0xf
+ mov r3, #0x2
+ bl FUN_020013E8
+ pop {r3-r5, pc}
+_02065D1C:
+ mov r1, #0xc
+ mul r1, r4
+ add r0, r0, r1
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02065D38
+ add r0, r5, #0x0
+ mov r1, #0x3
+ mov r2, #0xf
+ mov r3, #0x4
+ bl FUN_020013E8
+ pop {r3-r5, pc}
+_02065D38:
+ add r0, r5, #0x0
+ mov r1, #0x7
+ mov r2, #0xf
+ mov r3, #0x8
+ bl FUN_020013E8
+ pop {r3-r5, pc}
+ nop
+_02065D48: .word 0x0000FFFF
+
+ thumb_func_start FUN_02065D4C
+FUN_02065D4C: ; 0x02065D4C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ mov r1, #0x13
+ add r4, r0, #0x0
+ add r6, r2, #0x0
+ bl FUN_02001470
+ add r1, sp, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_02001448
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02001470
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r6, #0x0
+ bne _02065D7E
+ ldr r0, _02065DD4 ; =0x000005DC
+ bl FUN_020054C8
+_02065D7E:
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x2]
+ cmp r0, #0x0
+ bne _02065D96
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r2, r1, #0x0
+ bl FUN_0205EC6C
+ b _02065DA4
+_02065D96:
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ mov r2, #0x1
+ bl FUN_0205EC6C
+_02065DA4:
+ add r0, sp, #0x0
+ ldrh r1, [r0, #0x2]
+ sub r0, r4, #0x7
+ cmp r1, r0
+ bge _02065DC0
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ add r2, r1, #0x0
+ bl FUN_0205EC6C
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02065DC0:
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0205EC6C
+ add sp, #0x4
+ pop {r3-r6, pc}
+ nop
+_02065DD4: .word 0x000005DC
+
+ thumb_func_start FUN_02065DD8
+FUN_02065DD8: ; 0x02065DD8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r1, [sp, #0x0]
+ add r5, r0, #0x0
+ str r2, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ mov r0, #0x4
+ bl FUN_02012838
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ add r0, #0xc
+ add r1, #0x10
+ ldr r0, [r5, r0]
+ ldr r2, _02065EC8 ; =0x020F7E74
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xff
+ bl FUN_02019620
+ mov r7, #0x43
+ ldr r6, _02065ECC ; =0x020F7EAC
+ mov r4, #0x0
+ lsl r7, r7, #0x2
+_02065E14:
+ lsl r2, r4, #0x3
+ add r3, r6, r2
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r7]
+ ldr r2, [r6, r2]
+ ldr r3, [r3, #0x4]
+ bl FUN_02012880
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ blo _02065E14
+ mov r1, #0x5
+ lsl r1, r1, #0x6
+ ldr r0, _02065ED0 ; =0x020F7E8C
+ add r1, r5, r1
+ mov r2, #0x20
+ bl MI_CpuCopy8
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r1, r0, #0x0
+ add r2, r5, r0
+ sub r1, #0x28
+ str r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r1, #0x10
+ ldr r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r1, #0x34
+ str r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r1, #0x18
+ str r5, [r5, r1]
+ add r1, r0, #0x0
+ mov r2, #0x4
+ sub r1, #0x24
+ strh r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r1, #0x22
+ strh r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r1, #0x1a
+ ldrh r2, [r5, r1]
+ ldr r1, _02065ED4 ; =0xFFFFFE7F
+ and r2, r1
+ add r1, r0, #0x0
+ sub r1, #0x1a
+ strh r2, [r5, r1]
+ add r1, r0, #0x0
+ sub r0, #0x34
+ ldr r2, _02065ED8 ; =FUN_02065EE4
+ sub r1, #0x30
+ str r2, [r5, r1]
+ ldr r3, [r5, #0x0]
+ ldr r1, [sp, #0x0]
+ lsl r3, r3, #0x18
+ ldr r2, [sp, #0x4]
+ add r0, r5, r0
+ lsr r3, r3, #0x18
+ bl FUN_020010A8
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ add r1, #0x14
+ add r0, r5, r1
+ ldr r2, _02065EDC ; =0x000003D9
+ mov r1, #0x0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ ldr r1, _02065EE0 ; =0x0000013B
+ mov r0, #0xf
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ mov r0, #0x1
+ orr r0, r2
+ strb r0, [r5, r1]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02065EC8: .word 0x020F7E74
+_02065ECC: .word 0x020F7EAC
+_02065ED0: .word 0x020F7E8C
+_02065ED4: .word 0xFFFFFE7F
+_02065ED8: .word FUN_02065EE4
+_02065EDC: .word 0x000003D9
+_02065EE0: .word 0x0000013B
+
+ thumb_func_start FUN_02065EE4
+FUN_02065EE4: ; 0x02065EE4
+ push {r3, lr}
+ cmp r2, #0x0
+ bne _02065EF0
+ ldr r0, _02065EF4 ; =0x000005DC
+ bl FUN_020054C8
+_02065EF0:
+ pop {r3, pc}
+ nop
+_02065EF4: .word 0x000005DC
+
+ thumb_func_start FUN_02065EF8
+FUN_02065EF8: ; 0x02065EF8
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ add r1, sp, #0x0
+ ldr r0, [r4, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_02001300
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02012870
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019570
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019570
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ add r0, sp, #0x0
+ mov r1, #0x4f
+ ldrh r2, [r0, #0x2]
+ lsl r1, r1, #0x2
+ strh r2, [r4, r1]
+ ldrh r2, [r0, #0x0]
+ add r0, r1, #0x2
+ add r1, #0x68
+ strh r2, [r4, r0]
+ ldr r0, [r4, r1]
+ cmp r0, #0x0
+ beq _02065F7C
+ bl FUN_0205EBEC
+ mov r0, #0x69
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r4, r0]
+_02065F7C:
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_02065F8C
+FUN_02065F8C: ; 0x02065F8C
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019570
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ add r1, sp, #0x0
+ ldr r0, [r4, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_02001300
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02012870
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ add r0, r4, #0x0
+ bl FUN_020664D8
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02065FE4
+FUN_02065FE4: ; 0x02065FE4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x8]
+ add r4, r2, #0x0
+ bl FUN_0201B6C4
+ mov r0, #0x0
+ strh r0, [r5, #0x10]
+ str r4, [r5, #0xc]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02065FF8
+FUN_02065FF8: ; 0x02065FF8
+ push {r3, lr}
+ strb r1, [r0, #0x0]
+ mov r1, #0x0
+ strb r1, [r0, #0x1]
+ strb r1, [r0, #0x2]
+ strb r1, [r0, #0x3]
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _0206600E
+ bl FUN_02021A4C
+_0206600E:
+ pop {r3, pc}
+
+ thumb_func_start FUN_02066010
+FUN_02066010: ; 0x02066010
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ mov r4, #0x0
+ cmp r6, #0x0
+ bls _02066040
+_0206601E:
+ mov r0, #0x8
+ add r1, r7, #0x0
+ bl FUN_020219F4
+ mov r1, #0xc
+ mul r1, r4
+ add r1, r5, r1
+ str r0, [r1, #0x8]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02065FF8
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, r6
+ blo _0206601E
+_02066040:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066044
+FUN_02066044: ; 0x02066044
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ ldr r4, _0206606C ; =0x00000000
+ beq _0206606A
+ mov r7, #0xc
+_02066050:
+ add r0, r4, #0x0
+ mul r0, r7
+ add r0, r5, r0
+ ldr r0, [r0, #0x8]
+ cmp r0, #0x0
+ beq _02066060
+ bl FUN_02021A20
+_02066060:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, r6
+ blo _02066050
+_0206606A:
+ pop {r3-r7, pc}
+ .balign 4
+_0206606C: .word 0x00000000
+
+ thumb_func_start FUN_02066070
+FUN_02066070: ; 0x02066070
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r1, #0x0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r5, r2, #0x0
+ bl FUN_02025838
+ mov r1, #0x6b
+ lsl r1, r1, #0x2
+ str r0, [sp, #0x4]
+ str r0, [r6, r1]
+ add r0, r4, #0x0
+ bl FUN_0206F158
+ mov r1, #0x1b
+ lsl r1, r1, #0x4
+ str r0, [r6, r1]
+ add r0, r5, #0x0
+ bl FUN_020256BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ str r0, [sp, #0x10]
+ add r0, #0x1b
+ str r0, [sp, #0x10]
+ add r0, r6, #0x0
+ str r0, [sp, #0x8]
+ add r0, #0x1c
+ mov r4, #0x0
+ str r0, [sp, #0x8]
+_020660AE:
+ ldr r0, [sp, #0x4]
+ mov r1, #0x0
+ add r2, r4, #0x0
+ add r3, r7, #0x0
+ bl FUN_020258D4
+ mov r0, #0xc
+ mul r0, r4
+ ldr r1, [sp, #0x8]
+ str r0, [sp, #0xc]
+ add r5, r1, r0
+ ldrb r1, [r6, #0x19]
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x8]
+ add r1, r4, #0x0
+ add r0, r0, r2
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02065FF8
+ ldr r1, [sp, #0x8]
+ ldr r0, [sp, #0xc]
+ strb r4, [r1, r0]
+ add r0, r7, #0x0
+ bl FUN_020256AC
+ cmp r0, #0x0
+ beq _02066134
+ mov r0, #0x1
+ strb r0, [r5, #0x1]
+ add r0, r7, #0x0
+ bl FUN_020257C8
+ strb r0, [r5, #0x4]
+ add r0, r7, #0x0
+ bl FUN_020257CC
+ strb r0, [r5, #0x5]
+ ldrb r0, [r5, #0x5]
+ bl FUN_0206EAD8
+ strh r0, [r5, #0x6]
+ add r0, r7, #0x0
+ bl FUN_020257C4
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x8]
+ bl FUN_02021E28
+ ldrb r0, [r6, #0x19]
+ strb r0, [r5, #0x2]
+ ldrb r1, [r5, #0x0]
+ ldr r0, [sp, #0x0]
+ strb r1, [r0, #0x3]
+ ldrb r0, [r5, #0x0]
+ strb r0, [r6, #0x19]
+ ldr r0, [sp, #0x10]
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x10]
+ strb r1, [r0, #0x0]
+ ldrb r0, [r6, #0x1a]
+ cmp r0, #0xff
+ bne _02066134
+ strb r4, [r6, #0x1a]
+_02066134:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x14
+ blo _020660AE
+ ldrb r1, [r6, #0x19]
+ ldrb r3, [r6, #0x1a]
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ add r1, r6, r2
+ strb r3, [r1, #0x1f]
+ ldrb r1, [r6, #0x1a]
+ ldrb r2, [r6, #0x19]
+ mul r0, r1
+ add r0, r6, r0
+ strb r2, [r0, #0x1e]
+ add r0, r7, #0x0
+ bl FUN_02016A18
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02066160
+FUN_02066160: ; 0x02066160
+ push {r3-r6}
+ add r2, r1, #0x0
+ mov r3, #0xc
+ add r1, r0, #0x0
+ mul r2, r3
+ add r1, #0x1c
+ add r1, r1, r2
+ ldrb r4, [r1, #0x2]
+ ldrb r6, [r1, #0x3]
+ add r5, r4, #0x0
+ mul r5, r3
+ add r4, r0, r5
+ strb r6, [r4, #0x1f]
+ ldrb r4, [r1, #0x2]
+ ldrb r1, [r1, #0x3]
+ mul r3, r1
+ add r1, r0, r3
+ strb r4, [r1, #0x1e]
+ add r1, r0, r2
+ mov r3, #0x0
+ strb r3, [r1, #0x1d]
+ ldr r2, _0206619C ; =0x0000013B
+ mov r1, #0x30
+ ldrb r3, [r0, r2]
+ bic r3, r1
+ mov r1, #0x10
+ orr r1, r3
+ strb r1, [r0, r2]
+ pop {r3-r6}
+ bx lr
+ .balign 4
+_0206619C: .word 0x0000013B
+
+ thumb_func_start FUN_020661A0
+FUN_020661A0: ; 0x020661A0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrb r1, [r5, #0x18]
+ add r2, r5, #0x0
+ mov r0, #0xc
+ add r2, #0x1c
+ mul r0, r1
+ add r4, r2, r0
+ mov r0, #0x1b
+ lsl r0, r0, #0x4
+ ldrh r1, [r4, #0x6]
+ ldr r0, [r5, r0]
+ ldr r3, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_0206ED24
+ add r6, r0, #0x0
+ beq _020661D4
+ mov r0, #0x1b
+ lsl r0, r0, #0x4
+ ldrh r1, [r4, #0x6]
+ ldr r0, [r5, r0]
+ ldr r3, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_0206ED38
+_020661D4:
+ mov r0, #0x6b
+ lsl r0, r0, #0x2
+ ldrb r2, [r5, #0x18]
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02025878
+ ldrb r1, [r5, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02066160
+ ldrb r1, [r5, #0x18]
+ add r0, r4, #0x0
+ bl FUN_02065FF8
+ add r0, r6, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020661F8
+FUN_020661F8: ; 0x020661F8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ ldrb r1, [r5, #0x18]
+ add r6, r2, #0x0
+ add r2, r5, #0x0
+ mov r0, #0xc
+ add r2, #0x1c
+ mul r0, r1
+ add r4, r2, r0
+ ldrb r0, [r4, #0x1]
+ cmp r0, #0x0
+ beq _0206626E
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_020377AC
+ bl FUN_0206BB1C
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ add r2, r0, #0x0
+ mov r0, #0x6b
+ lsl r0, r0, #0x2
+ ldrb r1, [r5, #0x18]
+ ldr r0, [r5, r0]
+ ldr r3, [r5, #0x0]
+ bl FUN_020856A0
+ cmp r6, #0x0
+ beq _0206625E
+ mov r0, #0x1b
+ lsl r0, r0, #0x4
+ ldrh r1, [r4, #0x6]
+ ldr r0, [r5, r0]
+ ldr r3, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_0206ED24
+ cmp r0, #0x0
+ beq _0206625E
+ mov r0, #0x1b
+ lsl r0, r0, #0x4
+ ldrh r1, [r4, #0x6]
+ ldr r0, [r5, r0]
+ ldr r3, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_0206ED38
+_0206625E:
+ ldrb r1, [r5, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02066160
+ ldrb r1, [r5, #0x18]
+ add r0, r4, #0x0
+ bl FUN_02065FF8
+_0206626E:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02066270
+FUN_02066270: ; 0x02066270
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r2, #0x5a
+ ldr r3, [r6, #0x0]
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ bl FUN_0200A86C
+ mov r1, #0x43
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ ldr r2, [r6, #0x0]
+ mov r0, #0x1
+ mov r1, #0x80
+ bl FUN_0200AA90
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ str r0, [r6, r1]
+ ldr r1, [r6, #0x0]
+ mov r0, #0x80
+ bl FUN_020219F4
+ mov r1, #0x45
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ sub r1, #0x8
+ ldr r0, [r6, r1]
+ mov r1, #0x4
+ bl FUN_0200A914
+ mov r1, #0x46
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ sub r1, #0xc
+ ldr r0, [r6, r1]
+ mov r1, #0x0
+ bl FUN_0200A914
+ mov r1, #0x47
+ lsl r1, r1, #0x2
+ str r0, [r6, r1]
+ mov r4, #0x0
+ add r5, r6, #0x0
+ add r7, r1, #0x4
+_020662CC:
+ mov r0, #0x43
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ add r1, r4, #0x6
+ bl FUN_0200A914
+ str r0, [r5, r7]
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x6
+ blt _020662CC
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020662E4
+FUN_020662E4: ; 0x020662E4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r7, #0x12
+ mov r4, #0x0
+ add r5, r6, #0x0
+ lsl r7, r7, #0x4
+_020662F0:
+ ldr r0, [r5, r7]
+ bl FUN_02021A20
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x6
+ blt _020662F0
+ mov r0, #0x47
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ bl FUN_02021A20
+ mov r0, #0x46
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ bl FUN_02021A20
+ mov r0, #0x45
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ bl FUN_02021A20
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ bl FUN_0200AB18
+ mov r0, #0x43
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ bl FUN_0200A8B8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066334
+FUN_02066334: ; 0x02066334
+ push {r3-r4, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020377A8
+ mov r1, #0x17
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ ldrh r0, [r4, #0x14]
+ ldr r2, _020663C8 ; =0x000003E2
+ mov r3, #0xa
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, [r4, r1]
+ mov r1, #0x3
+ bl FUN_0200CD68
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _020663CC ; =0x000003D9
+ str r0, [sp, #0x4]
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x3
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r1, #0x1a
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ lsl r1, r1, #0x4
+ bl FUN_02002ED0
+ mov r1, #0x6
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ lsl r1, r1, #0x6
+ bl FUN_02002EEC
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r0, _020663D0 ; =0x0000036D
+ mov r1, #0x17
+ lsl r1, r1, #0x4
+ str r0, [sp, #0x10]
+ ldr r0, [r4, r1]
+ add r1, #0x14
+ add r1, r4, r1
+ mov r2, #0x3
+ mov r3, #0x2
+ bl FUN_02019064
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add sp, #0x14
+ pop {r3-r4, pc}
+ .balign 4
+_020663C8: .word 0x000003E2
+_020663CC: .word 0x000003D9
+_020663D0: .word 0x0000036D
+
+ thumb_func_start FUN_020663D4
+FUN_020663D4: ; 0x020663D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019570
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ mov r2, #0x10
+ bl MI_CpuFill8
+ mov r0, #0x17
+ mov r1, #0x0
+ lsl r0, r0, #0x4
+ str r1, [r4, r0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02066404
+FUN_02066404: ; 0x02066404
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x28]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ cmp r0, #0x0
+ beq _02066426
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r2, _020664CC ; =0x000003E2
+ add r0, r5, r0
+ mov r1, #0x1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+_02066426:
+ mov r1, #0xd8
+ str r1, [sp, #0x0]
+ mov r0, #0x20
+ mov r2, #0x0
+ add r1, #0xac
+ str r0, [sp, #0x4]
+ add r0, r5, r1
+ mov r1, #0xff
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ mov r0, #0x1
+ bl FUN_02002B60
+ mov r0, #0x0
+ bl FUN_02002B7C
+ cmp r4, #0x0
+ bne _02066494
+ mov r0, #0x45
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02021A4C
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldrb r3, [r5, #0x18]
+ mov r2, #0xc
+ ldr r0, [r5, r0]
+ mul r2, r3
+ add r2, r5, r2
+ ldr r2, [r2, #0x24]
+ mov r1, #0x0
+ mov r3, #0x2
+ bl FUN_0200ABB4
+ mov r2, #0x11
+ lsl r2, r2, #0x4
+ lsl r3, r4, #0x2
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r3, r5, r3
+ add r2, #0x10
+ ldr r1, [r5, r1]
+ ldr r2, [r3, r2]
+ bl FUN_0200B7B8
+ mov r0, #0x45
+ lsl r0, r0, #0x2
+ ldr r2, [r5, r0]
+ b _0206649E
+_02066494:
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ mov r0, #0x12
+ lsl r0, r0, #0x4
+ ldr r2, [r1, r0]
+_0206649E:
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldr r0, _020664D0 ; =0x0001020F
+ str r6, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ str r3, [sp, #0xc]
+ bl FUN_0201BDE0
+ mov r1, #0x4e
+ lsl r1, r1, #0x2
+ strb r0, [r5, r1]
+ add r1, #0x4c
+ add r0, r5, r1
+ bl FUN_020191D0
+ ldr r0, _020664D4 ; =0x00000139
+ strb r7, [r5, r0]
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_020664CC: .word 0x000003E2
+_020664D0: .word 0x0001020F
+_020664D4: .word 0x00000139
+
+ thumb_func_start FUN_020664D8
+FUN_020664D8: ; 0x020664D8
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019570
+ pop {r4, pc}
+
+ thumb_func_start FUN_020664F4
+FUN_020664F4: ; 0x020664F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x4e
+ lsl r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ beq _0206650A
+ mov r0, #0x0
+ pop {r4, pc}
+_0206650A:
+ ldr r0, _0206651C ; =0x00000139
+ ldrb r0, [r4, r0]
+ cmp r0, #0x0
+ beq _02066518
+ add r0, r4, #0x0
+ bl FUN_020664D8
+_02066518:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_0206651C: .word 0x00000139
+
+ thumb_func_start FUN_02066520
+FUN_02066520: ; 0x02066520
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ ldr r1, _02066544 ; =0x020F7E6C
+ str r0, [sp, #0x0]
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ ldr r2, _02066548 ; =0x000003D9
+ mov r3, #0xb
+ bl FUN_02002198
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_02066544: .word 0x020F7E6C
+_02066548: .word 0x000003D9
+
+ thumb_func_start FUN_0206654C
+FUN_0206654C: ; 0x0206654C
+ push {r3, lr}
+ add r1, r0, #0x0
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ ldr r1, [r1, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206656A
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206656E
+ b _02066572
+_0206656A:
+ mov r0, #0x1
+ pop {r3, pc}
+_0206656E:
+ mov r0, #0x0
+ pop {r3, pc}
+_02066572:
+ add r0, r1, #0x1
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066578
+FUN_02066578: ; 0x02066578
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ ldrh r0, [r4, #0x12]
+ cmp r0, #0x0
+ beq _0206658A
+ cmp r0, #0x1
+ beq _020665A8
+ b _020665BA
+_0206658A:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r2, r1, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ ldrh r0, [r4, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x12]
+ b _020665BA
+_020665A8:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _020665BA
+ mov r0, #0x0
+ strh r0, [r4, #0x12]
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_020665BA:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_020665C0
+FUN_020665C0: ; 0x020665C0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldrh r0, [r4, #0x12]
+ cmp r0, #0x0
+ beq _020665D4
+ cmp r0, #0x1
+ beq _020665E6
+ cmp r0, #0x2
+ beq _02066614
+ b _0206662E
+_020665D4:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0204649C
+ ldrh r0, [r4, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x12]
+ b _0206662E
+_020665E6:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0206662E
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x5a
+ bl MOD06_0224C678
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x5a
+ bl MOD06_0224C6E8
+ ldrh r0, [r4, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x12]
+ b _0206662E
+_02066614:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x5a
+ ldr r0, [r0, #0x50]
+ bl MOD05_021DA58C
+ cmp r0, #0x0
+ beq _0206662E
+ mov r0, #0x0
+ strh r0, [r4, #0x12]
+ mov r0, #0x1
+ pop {r4, pc}
+_0206662E:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066634
+FUN_02066634: ; 0x02066634
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x5a
+ bl MOD05_021DAF98
+ cmp r4, #0x0
+ bne _02066652
+ add r0, r5, #0x0
+ bl FUN_02065EF8
+ b _02066658
+_02066652:
+ add r0, r5, #0x0
+ bl FUN_02065F8C
+_02066658:
+ add r0, r5, #0x0
+ bl FUN_020663D4
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066664
+FUN_02066664: ; 0x02066664
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x12]
+ add r6, r1, #0x0
+ cmp r0, #0x0
+ beq _02066676
+ cmp r0, #0x1
+ beq _02066708
+ b _0206671E
+_02066676:
+ ldr r0, [r5, #0x0]
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_020377AC
+ bl FUN_0206BB1C
+ str r0, [r4, #0x0]
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_020377AC
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_020377AC
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0xc]
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x20
+ strb r6, [r0, #0x0]
+ ldrb r1, [r5, #0x18]
+ mov r0, #0xc
+ mul r0, r1
+ add r0, r5, r0
+ ldrh r0, [r0, #0x22]
+ cmp r6, #0xb
+ strh r0, [r4, #0x24]
+ bne _020666EC
+ ldrb r1, [r5, #0x17]
+ add r0, r4, #0x0
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+_020666EC:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r1, _02066724 ; =0x020F96DC
+ add r2, r4, #0x0
+ bl FUN_020373D4
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ str r4, [r5, r0]
+ ldrh r0, [r5, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r5, #0x12]
+ b _0206671E
+_02066708:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _0206671E
+ mov r0, #0x0
+ strh r0, [r5, #0x12]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0206671E:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_02066724: .word 0x020F96DC
+
+ thumb_func_start FUN_02066728
+FUN_02066728: ; 0x02066728
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldrh r0, [r4, #0x12]
+ cmp r0, #0x0
+ beq _02066738
+ cmp r0, #0x1
+ beq _0206677A
+ b _020667D0
+_02066738:
+ ldrb r2, [r4, #0x18]
+ mov r0, #0xc
+ mul r0, r2
+ add r3, r4, r0
+ ldrb r0, [r3, #0x1d]
+ cmp r0, #0x0
+ beq _02066756
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r3, [r4, #0x0]
+ mov r1, #0x0
+ bl FUN_02037F58
+ b _0206676C
+_02066756:
+ ldr r0, [r4, #0x0]
+ add r3, #0x21
+ str r0, [sp, #0x0]
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldrb r2, [r4, #0x17]
+ ldrb r3, [r3, #0x0]
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02037F2C
+_0206676C:
+ mov r1, #0x6a
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldrh r0, [r4, #0x12]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x12]
+ b _020667D0
+_0206677A:
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0204647C
+ cmp r0, #0x0
+ bne _020667D0
+ mov r0, #0x6a
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020855E4
+ cmp r0, #0x0
+ beq _020667BC
+ ldrb r0, [r4, #0x18]
+ mov r2, #0xc
+ mov r3, #0x1
+ add r1, r0, #0x0
+ mul r1, r2
+ add r0, r4, r1
+ strb r3, [r0, #0x1d]
+ ldrb r3, [r4, #0x18]
+ mov r0, #0x6a
+ lsl r0, r0, #0x2
+ mul r2, r3
+ add r2, r4, r2
+ ldrb r2, [r2, #0x1c]
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020855E8
+ mov r5, #0x2
+ b _020667BE
+_020667BC:
+ mov r5, #0x1
+_020667BE:
+ mov r0, #0x6a
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0208562C
+ mov r0, #0x0
+ strh r0, [r4, #0x12]
+ add r0, r5, #0x0
+ pop {r3-r5, pc}
+_020667D0:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020667D4
+FUN_020667D4: ; 0x020667D4
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ cmp r1, #0x0
+ beq _020667F2
+ cmp r1, #0x1
+ beq _02066802
+ b _02066814
+_020667F2:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020653EC
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02066814
+_02066802:
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x0
+ bne _0206680C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0206680C:
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02066814:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02066818
+FUN_02066818: ; 0x02066818
+ push {r4, lr}
+ bl FUN_02046528
+ add r4, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [r2, #0x0]
+ str r0, [r2, #0x4]
+ ldr r0, [r4, #0x10]
+ ldr r1, _0206683C ; =FUN_020667D4
+ bl FUN_0204640C
+ pop {r4, pc}
+ nop
+_0206683C: .word FUN_020667D4
+
+ thumb_func_start FUN_02066840
+FUN_02066840: ; 0x02066840
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ str r1, [sp, #0x0]
+ add r7, r2, #0x0
+ bl FUN_020238F4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02029AFC
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0202A8D8
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ mov r2, #0xe4
+ bl MI_CpuFill8
+ add r0, r4, #0x0
+ bl FUN_0202398C
+ add r1, r7, #0x0
+ add r1, #0xa8
+ mov r2, #0x10
+ bl MI_CpuCopy8
+ add r0, r4, #0x0
+ bl FUN_020239BC
+ add r1, r7, #0x0
+ add r1, #0xbc
+ str r0, [r1, #0x0]
+ ldr r0, _02066970 ; =0x020ECAC0
+ ldrb r1, [r0, #0x0]
+ add r0, r7, #0x0
+ add r0, #0xb8
+ strb r1, [r0, #0x0]
+ ldr r0, _02066974 ; =0x020ECAC4
+ ldrb r1, [r0, #0x0]
+ add r0, r7, #0x0
+ add r0, #0xb9
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02029B38
+ add r1, r7, #0x0
+ add r1, #0xba
+ strb r0, [r1, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02029B3C
+ add r1, r7, #0x0
+ add r1, #0xbb
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020239CC
+ add r1, r7, #0x0
+ add r1, #0xc8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1f
+ ldrb r1, [r1, #0x0]
+ mov r2, #0x2
+ lsr r0, r0, #0x1e
+ bic r1, r2
+ orr r1, r0
+ add r0, r7, #0x0
+ add r0, #0xc8
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02023A28
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0xc8
+ ldrb r0, [r0, #0x0]
+ mov r2, #0x1
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bl FUN_020536D0
+ add r1, r7, #0x0
+ add r1, #0xc9
+ strb r0, [r1, #0x0]
+ add r0, r7, #0x0
+ mov r4, #0x0
+ str r0, [sp, #0x8]
+ add r0, #0xca
+ add r5, r4, #0x0
+ str r0, [sp, #0x8]
+_020668FC:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202A5F4
+ ldr r1, [sp, #0x8]
+ mov r2, #0x8
+ add r1, r1, r5
+ bl MI_CpuCopy8
+ add r4, r4, #0x1
+ add r5, #0x8
+ cmp r4, #0x3
+ blt _020668FC
+ add r0, r6, #0x0
+ mov r1, #0x3
+ bl FUN_0202A5F4
+ add r1, r7, #0x0
+ add r1, #0xc0
+ mov r2, #0x8
+ bl MI_CpuCopy8
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ bne _02066956
+ ldr r0, [sp, #0x4]
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_0202A578
+ add r1, r7, #0x0
+ add r1, #0xe2
+ strh r0, [r1, #0x0]
+ add r0, r7, #0x0
+ add r0, #0xe2
+ ldrh r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206696C
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x0]
+ add r2, r7, #0x0
+ bl FUN_0202A498
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02066956:
+ ldr r0, [sp, #0x4]
+ bl FUN_0202A520
+ add r1, r7, #0x0
+ add r1, #0xe2
+ strh r0, [r1, #0x0]
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x0]
+ add r2, r7, #0x0
+ bl FUN_0202A498
+_0206696C:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02066970: .word 0x020ECAC0
+_02066974: .word 0x020ECAC4
+
+ thumb_func_start FUN_02066978
+FUN_02066978: ; 0x02066978
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0xec
+ bl MIi_CpuClearFast
+ add r0, r4, #0x0
+ ldrh r2, [r4, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ add r0, r4, #0x0
+ ldr r2, [r4, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ pop {r4, pc}
+
+ thumb_func_start FUN_020669A0
+FUN_020669A0: ; 0x020669A0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x88
+ bl MIi_CpuClearFast
+ add r0, r4, #0x0
+ ldrh r2, [r4, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ pop {r4, pc}
+
+ thumb_func_start FUN_020669BC
+FUN_020669BC: ; 0x020669BC
+ mov r0, #0xec
+ bx lr
+
+ thumb_func_start FUN_020669C0
+FUN_020669C0: ; 0x020669C0
+ push {r4, lr}
+ mov r1, #0xec
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bl FUN_02066978
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020669D4
+FUN_020669D4: ; 0x020669D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ mov r4, #0x0
+ lsl r1, r0, #0x1f
+ lsr r1, r1, #0x1f
+ bne _02066A1A
+ lsl r0, r0, #0x1e
+ mov r4, #0x1
+ lsr r0, r0, #0x1f
+ beq _020669EE
+ bl ErrorHandling
+_020669EE:
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x1
+ bic r1, r0
+ mov r0, #0x1
+ orr r0, r1
+ strh r0, [r5, #0x4]
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x2
+ orr r0, r1
+ strh r0, [r5, #0x4]
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+_02066A1A:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066A20
+FUN_02066A20: ; 0x02066A20
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldrh r2, [r5, #0x4]
+ mov r4, #0x0
+ lsl r0, r2, #0x1f
+ lsr r0, r0, #0x1f
+ cmp r0, #0x1
+ bne _02066A68
+ cmp r1, #0x1
+ bne _02066A68
+ mov r0, #0x1
+ bic r2, r0
+ strh r2, [r5, #0x4]
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x2
+ mov r4, #0x1
+ bic r1, r0
+ strh r1, [r5, #0x4]
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_02066A68:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02066A6C
+FUN_02066A6C: ; 0x02066A6C
+ push {r4, lr}
+ add r2, r0, #0x0
+ ldrh r1, [r2, #0x4]
+ mov r4, #0x0
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1f
+ bne _02066A8E
+ mov r0, #0x2
+ orr r0, r1
+ strh r0, [r2, #0x4]
+ add r0, r2, #0x0
+ ldrh r2, [r2, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ mov r4, #0x1
+ bl FUN_0206A3D0
+_02066A8E:
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066A94
+FUN_02066A94: ; 0x02066A94
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldrh r2, [r5, #0x4]
+ mov r4, #0x0
+ lsl r0, r2, #0x1e
+ lsr r0, r0, #0x1f
+ cmp r0, #0x1
+ bne _02066AC8
+ cmp r1, #0x1
+ bne _02066AC8
+ mov r0, #0x2
+ bic r2, r0
+ add r0, r5, #0x0
+ strh r2, [r5, #0x4]
+ add r0, #0x8
+ mov r1, #0x80
+ mov r4, #0x1
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_02066AC8:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02066ACC
+FUN_02066ACC: ; 0x02066ACC
+ push {r0-r3}
+ push {r3-r6, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r3, #0x0
+ bl FUN_02066978
+ ldr r0, [sp, #0x50]
+ add r1, r4, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x54]
+ add r3, r6, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x58]
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #0x48]
+ add r0, r5, #0x0
+ bl FUN_02066B64
+ add r0, r5, #0x0
+ add r0, #0x88
+ mov r1, #0x64
+ mov r2, #0x0
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ add r2, sp, #0x48
+ bl FUN_02067830
+ mov r0, #0x0
+ bl FUN_020256BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa9
+ add r2, r4, #0x0
+ bl FUN_02067830
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ add r0, r5, #0x0
+ mov r1, #0xa1
+ add r2, sp, #0x10
+ bl FUN_02067830
+ mov r0, #0x0
+ add r1, sp, #0x14
+ mov r2, #0x18
+ bl MIi_CpuClearFast
+ add r0, r5, #0x0
+ mov r1, #0xaa
+ add r2, sp, #0x14
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ add sp, #0x2c
+ pop {r3-r6}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+
+ thumb_func_start FUN_02066B64
+FUN_02066B64: ; 0x02066B64
+ push {r0-r3}
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_020669A0
+ add r0, r5, #0x0
+ bl FUN_02066A6C
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x0
+ bne _02066B8E
+ bl rand_LC
+ add r4, r0, #0x0
+ bl rand_LC
+ lsl r0, r0, #0x10
+ orr r0, r4
+ str r0, [sp, #0x34]
+_02066B8E:
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r2, sp, #0x34
+ bl FUN_02067960
+ ldr r0, [sp, #0x38]
+ cmp r0, #0x2
+ bne _02066BD6
+ ldr r7, _02066D84 ; =0xFFFF0000
+ add r6, r7, #0x0
+_02066BA2:
+ bl rand_LC
+ add r4, r0, #0x0
+ bl rand_LC
+ ldr r1, [sp, #0x34]
+ lsl r0, r0, #0x10
+ add r3, r4, #0x0
+ orr r3, r0
+ lsl r0, r1, #0x10
+ lsr r2, r0, #0x10
+ add r0, r1, #0x0
+ and r0, r7
+ lsr r1, r0, #0x10
+ add r0, r3, #0x0
+ str r3, [sp, #0x3c]
+ and r0, r6
+ lsl r3, r3, #0x10
+ lsr r0, r0, #0x10
+ lsr r3, r3, #0x10
+ eor r0, r3
+ eor r0, r1
+ eor r0, r2
+ cmp r0, #0x8
+ blo _02066BA2
+ b _02066BDE
+_02066BD6:
+ cmp r0, #0x1
+ beq _02066BDE
+ mov r0, #0x0
+ str r0, [sp, #0x3c]
+_02066BDE:
+ add r0, r5, #0x0
+ mov r1, #0x7
+ add r2, sp, #0x3c
+ bl FUN_02067960
+ ldr r2, _02066D88 ; =0x020ECAC4
+ add r0, r5, #0x0
+ mov r1, #0xc
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x5
+ add r2, sp, #0x24
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067960
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x28]
+ bl FUN_02068758
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x8
+ add r2, sp, #0x8
+ bl FUN_02067960
+ ldr r0, [sp, #0x24]
+ mov r1, #0x14
+ bl FUN_02068678
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x8
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x9b
+ add r2, sp, #0x28
+ bl FUN_02067960
+ ldr r2, _02066D8C ; =0x020ECAC0
+ add r0, r5, #0x0
+ mov r1, #0x79
+ bl FUN_02067960
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x9a
+ add r2, sp, #0x8
+ bl FUN_02067960
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x20
+ bge _02066C94
+ add r0, r5, #0x0
+ mov r1, #0x46
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x47
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x48
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x49
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x4a
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x4b
+ add r2, sp, #0x2c
+ bl FUN_02067960
+ b _02066D18
+_02066C94:
+ bl rand_LC
+ mov r1, #0x1f
+ str r0, [sp, #0x8]
+ and r0, r1
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x46
+ add r2, sp, #0x4
+ bl FUN_02067960
+ mov r0, #0x3e
+ ldr r1, [sp, #0x8]
+ lsl r0, r0, #0x4
+ and r0, r1
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x47
+ add r2, sp, #0x4
+ bl FUN_02067960
+ mov r0, #0x1f
+ ldr r1, [sp, #0x8]
+ lsl r0, r0, #0xa
+ and r0, r1
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x48
+ add r2, sp, #0x4
+ bl FUN_02067960
+ bl rand_LC
+ mov r1, #0x1f
+ str r0, [sp, #0x8]
+ and r0, r1
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x49
+ add r2, sp, #0x4
+ bl FUN_02067960
+ mov r0, #0x3e
+ ldr r1, [sp, #0x8]
+ lsl r0, r0, #0x4
+ and r0, r1
+ lsr r0, r0, #0x5
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x4a
+ add r2, sp, #0x4
+ bl FUN_02067960
+ mov r0, #0x1f
+ ldr r1, [sp, #0x8]
+ lsl r0, r0, #0xa
+ and r0, r1
+ lsr r0, r0, #0xa
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x4b
+ add r2, sp, #0x4
+ bl FUN_02067960
+_02066D18:
+ ldr r0, [sp, #0x24]
+ mov r1, #0x18
+ bl FUN_02068678
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x24]
+ mov r1, #0x19
+ bl FUN_02068678
+ str r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _02066D50
+ ldr r1, [sp, #0x34]
+ mov r0, #0x1
+ tst r0, r1
+ beq _02066D44
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x4
+ bl FUN_02067960
+ b _02066D5A
+_02066D44:
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x8
+ bl FUN_02067960
+ b _02066D5A
+_02066D50:
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x8
+ bl FUN_02067960
+_02066D5A:
+ add r0, r5, #0x0
+ bl FUN_020689E8
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x6f
+ add r2, sp, #0x8
+ bl FUN_02067960
+ add r0, r5, #0x0
+ bl FUN_020695F4
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02066A94
+ add sp, #0xc
+ pop {r4-r7}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .balign 4
+_02066D84: .word 0xFFFF0000
+_02066D88: .word 0x020ECAC4
+_02066D8C: .word 0x020ECAC0
+
+ thumb_func_start FUN_02066D90
+FUN_02066D90: ; 0x02066D90
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r2, [sp, #0x10]
+ str r3, [sp, #0x14]
+ ldr r4, [sp, #0x30]
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+_02066D9E:
+ bl rand_LC
+ add r5, r0, #0x0
+ bl rand_LC
+ lsl r0, r0, #0x10
+ orr r5, r0
+ add r0, r5, #0x0
+ bl FUN_02068884
+ cmp r4, r0
+ bne _02066D9E
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r5, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #0x10]
+ ldr r3, [sp, #0x14]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_02066ACC
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02066DD4
+FUN_02066DD4: ; 0x02066DD4
+ push {r4-r7, lr}
+ sub sp, #0x24
+ str r1, [sp, #0x14]
+ str r2, [sp, #0x18]
+ str r3, [sp, #0x1c]
+ str r0, [sp, #0x10]
+ add r0, sp, #0x28
+ ldrb r0, [r0, #0x18]
+ ldr r6, [sp, #0x38]
+ ldr r7, [sp, #0x3c]
+ cmp r0, #0x0
+ beq _02066E4C
+ cmp r0, #0x1d
+ bhs _02066E4C
+ sub r0, r0, #0x1
+ str r0, [sp, #0x20]
+_02066DF4:
+ bl rand_LC
+ add r4, r0, #0x0
+ bl rand_LC
+ lsl r0, r0, #0x10
+ orr r4, r0
+ mov r3, #0x3
+ lsl r3, r3, #0x10
+ and r3, r4
+ mov r0, #0x3
+ add r2, r4, #0x0
+ and r2, r0
+ lsl r0, r0, #0x8
+ and r0, r4
+ lsr r1, r0, #0x6
+ mov r0, #0x3
+ lsl r0, r0, #0x18
+ and r0, r4
+ lsr r0, r0, #0x12
+ lsr r3, r3, #0xc
+ orr r0, r3
+ orr r0, r1
+ orr r0, r2
+ mov r1, #0x1c
+ bl _u32_div_f
+ lsl r0, r1, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0x0
+ bl FUN_02068884
+ cmp r7, r0
+ bne _02066DF4
+ ldr r0, [sp, #0x14]
+ add r1, r4, #0x0
+ bl FUN_02068A20
+ cmp r6, r0
+ bne _02066DF4
+ ldr r0, [sp, #0x20]
+ cmp r5, r0
+ bne _02066DF4
+ b _02066E58
+_02066E4C:
+ ldr r0, [sp, #0x14]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_02066E74
+ add r4, r0, #0x0
+_02066E58:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r4, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0x14]
+ ldr r2, [sp, #0x18]
+ ldr r3, [sp, #0x1c]
+ bl FUN_02066ACC
+ add sp, #0x24
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02066E74
+FUN_02066E74: ; 0x02066E74
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ mov r1, #0x12
+ add r4, r2, #0x0
+ bl FUN_02068678
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ beq _02066EA0
+ cmp r0, #0xfe
+ beq _02066EA0
+ cmp r0, #0xff
+ beq _02066EA0
+ cmp r5, #0x0
+ bne _02066EA0
+ mov r1, #0x19
+ bl _s32_div_f
+ add r1, r0, #0x1
+ mov r0, #0x19
+ mul r0, r1
+ add r4, r0, r4
+_02066EA0:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02066EA4
+FUN_02066EA4: ; 0x02066EA4
+ push {r0-r3}
+ push {r4, lr}
+ sub sp, #0x10
+ mov r3, #0x1
+ str r3, [sp, #0x0]
+ ldr r3, [sp, #0x28]
+ add r4, r0, #0x0
+ str r3, [sp, #0x4]
+ mov r3, #0x0
+ str r3, [sp, #0x8]
+ str r3, [sp, #0xc]
+ bl FUN_02066ACC
+ add r0, r4, #0x0
+ mov r1, #0xae
+ add r2, sp, #0x24
+ bl FUN_02067830
+ add r0, r4, #0x0
+ bl FUN_02066ED8
+ add sp, #0x10
+ pop {r4}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+
+ thumb_func_start FUN_02066ED8
+FUN_02066ED8: ; 0x02066ED8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020669D4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020687C0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066F04
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02066A20
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02066F04
+FUN_02066F04: ; 0x02066F04
+ push {r3-r7, lr}
+ sub sp, #0x58
+ add r5, r0, #0x0
+ bl FUN_020669D4
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x2c]
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x54]
+ add r0, r5, #0x0
+ mov r1, #0x46
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x30]
+ add r0, r5, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x34]
+ add r0, r5, #0x0
+ mov r1, #0x47
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x28]
+ add r0, r5, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x14]
+ add r0, r5, #0x0
+ mov r1, #0x48
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x24]
+ add r0, r5, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x10]
+ add r0, r5, #0x0
+ mov r1, #0x49
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x20]
+ add r0, r5, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ mov r1, #0x4a
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x1c]
+ add r0, r5, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x4b
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x38]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r6, r0, #0x0
+ ldr r1, [sp, #0x38]
+ add r0, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206A380
+ mov r0, #0x49
+ lsl r0, r0, #0x2
+ cmp r7, r0
+ bne _02066FFC
+ mov r0, #0x1
+ b _0206701E
+_02066FFC:
+ ldr r0, [sp, #0x34]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x34]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x0]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x30]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r4, r0
+ add r0, #0xa
+_0206701E:
+ str r0, [sp, #0x50]
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ add r2, sp, #0x50
+ bl FUN_02067830
+ ldr r0, [sp, #0x14]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x14]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x1]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x28]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r0, #0x5
+ str r0, [sp, #0x4c]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x4c]
+ mov r2, #0x1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02068894
+ str r0, [sp, #0x4c]
+ add r0, r5, #0x0
+ mov r1, #0xa4
+ add r2, sp, #0x4c
+ bl FUN_02067830
+ ldr r0, [sp, #0x10]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x2]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x24]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r0, #0x5
+ str r0, [sp, #0x48]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x48]
+ mov r2, #0x2
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02068894
+ str r0, [sp, #0x48]
+ add r0, r5, #0x0
+ mov r1, #0xa5
+ add r2, sp, #0x48
+ bl FUN_02067830
+ ldr r0, [sp, #0xc]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x3]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x20]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r0, #0x5
+ str r0, [sp, #0x44]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x44]
+ mov r2, #0x3
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02068894
+ str r0, [sp, #0x44]
+ add r0, r5, #0x0
+ mov r1, #0xa6
+ add r2, sp, #0x44
+ bl FUN_02067830
+ ldr r0, [sp, #0x8]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x8]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x4]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x1c]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r0, #0x5
+ str r0, [sp, #0x40]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x40]
+ mov r2, #0x4
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02068894
+ str r0, [sp, #0x40]
+ add r0, r5, #0x0
+ mov r1, #0xa7
+ add r2, sp, #0x40
+ bl FUN_02067830
+ ldr r0, [sp, #0x4]
+ asr r0, r0, #0x1
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x4]
+ add r1, r0, r1
+ asr r0, r1, #0x2
+ ldrb r1, [r6, #0x5]
+ lsl r2, r1, #0x1
+ ldr r1, [sp, #0x18]
+ add r1, r1, r2
+ add r0, r0, r1
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r0, #0x5
+ str r0, [sp, #0x3c]
+ add r0, r5, #0x0
+ bl FUN_02068854
+ ldr r1, [sp, #0x3c]
+ mov r2, #0x5
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02068894
+ str r0, [sp, #0x3c]
+ add r0, r5, #0x0
+ mov r1, #0xa8
+ add r2, sp, #0x3c
+ bl FUN_02067830
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ ldr r1, [sp, #0x54]
+ cmp r1, #0x0
+ bne _0206717C
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x0
+ bne _020671A0
+_0206717C:
+ mov r0, #0x49
+ lsl r0, r0, #0x2
+ cmp r7, r0
+ bne _0206718A
+ mov r0, #0x1
+ str r0, [sp, #0x54]
+ b _020671A0
+_0206718A:
+ cmp r1, #0x0
+ bne _02067194
+ ldr r0, [sp, #0x50]
+ str r0, [sp, #0x54]
+ b _020671A0
+_02067194:
+ ldr r1, [sp, #0x50]
+ ldr r0, [sp, #0x2c]
+ ldr r2, [sp, #0x54]
+ sub r0, r1, r0
+ add r0, r2, r0
+ str r0, [sp, #0x54]
+_020671A0:
+ ldr r0, [sp, #0x54]
+ cmp r0, #0x0
+ beq _020671B0
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ add r2, sp, #0x54
+ bl FUN_02067830
+_020671B0:
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02066A20
+ add sp, #0x58
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020671BC
+FUN_020671BC: ; 0x020671BC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02067204
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ ldrh r1, [r5, #0x6]
+ cmp r0, r1
+ beq _02067204
+ cmp r0, r1
+ beq _020671FC
+ bl ErrorHandling
+_020671FC:
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x4
+ orr r0, r1
+ strh r0, [r5, #0x4]
+_02067204:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02067234
+ add r4, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02067230
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_02067230:
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02067234
+FUN_02067234: ; 0x02067234
+ push {r3, lr}
+ add r3, r1, #0x0
+ sub r3, #0x9f
+ cmp r3, #0xb
+ bhi _020672B6
+ add r3, r3, r3
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_0206724A: ; jump table (using 16-bit offset)
+ .short _02067262 - _0206724A - 2; case 0
+ .short _02067268 - _0206724A - 2; case 1
+ .short _0206726E - _0206724A - 2; case 2
+ .short _02067274 - _0206724A - 2; case 3
+ .short _0206727A - _0206724A - 2; case 4
+ .short _02067280 - _0206724A - 2; case 5
+ .short _02067286 - _0206724A - 2; case 6
+ .short _0206728C - _0206724A - 2; case 7
+ .short _02067292 - _0206724A - 2; case 8
+ .short _02067298 - _0206724A - 2; case 9
+ .short _0206729E - _0206724A - 2; case 10
+ .short _020672AA - _0206724A - 2; case 11
+_02067262:
+ add r0, #0x88
+ ldr r0, [r0, #0x0]
+ pop {r3, pc}
+_02067268:
+ add r0, #0x8c
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_0206726E:
+ add r0, #0x8d
+ ldrb r0, [r0, #0x0]
+ pop {r3, pc}
+_02067274:
+ add r0, #0x8e
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206727A:
+ add r0, #0x90
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067280:
+ add r0, #0x92
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067286:
+ add r0, #0x94
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206728C:
+ add r0, #0x96
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067292:
+ add r0, #0x98
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_02067298:
+ add r0, #0x9a
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206729E:
+ add r0, #0x9c
+ add r1, r2, #0x0
+ bl FUN_020256D0
+ mov r0, #0x1
+ pop {r3, pc}
+_020672AA:
+ add r0, #0xd4
+ add r1, r2, #0x0
+ bl FUN_02029C74
+ mov r0, #0x1
+ pop {r3, pc}
+_020672B6:
+ bl FUN_0206731C
+ pop {r3, pc}
+
+ thumb_func_start FUN_020672BC
+FUN_020672BC: ; 0x020672BC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bne _020672F8
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ ldrh r1, [r5, #0x6]
+ cmp r0, r1
+ beq _020672F8
+ cmp r0, r1
+ beq _020672F0
+ bl ErrorHandling
+_020672F0:
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x4
+ orr r0, r1
+ strh r0, [r5, #0x4]
+_020672F8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206731C
+ add r4, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bne _02067318
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_02067318:
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206731C
+FUN_0206731C: ; 0x0206731C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r1, [sp, #0x4]
+ add r1, r0, #0x0
+ mov r4, #0x0
+ str r2, [sp, #0x8]
+ ldr r1, [r1, #0x0]
+ str r0, [sp, #0x0]
+ add r2, r4, #0x0
+ bl FUN_0206A418
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x1
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x2
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x3
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x4]
+ cmp r0, #0xb2
+ bls _02067366
+ b _020674D8
+_02067366:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02067372: ; jump table (using 16-bit offset)
+ .short _020674DC - _02067372 - 2; case 0
+ .short _020674E2 - _02067372 - 2; case 1
+ .short _020674EC - _02067372 - 2; case 2
+ .short _020674F6 - _02067372 - 2; case 3
+ .short _02067500 - _02067372 - 2; case 4
+ .short _0206754C - _02067372 - 2; case 5
+ .short _0206755E - _02067372 - 2; case 6
+ .short _02067562 - _02067372 - 2; case 7
+ .short _02067566 - _02067372 - 2; case 8
+ .short _0206756A - _02067372 - 2; case 9
+ .short _0206756E - _02067372 - 2; case 10
+ .short _02067572 - _02067372 - 2; case 11
+ .short _02067576 - _02067372 - 2; case 12
+ .short _0206757A - _02067372 - 2; case 13
+ .short _0206757E - _02067372 - 2; case 14
+ .short _02067582 - _02067372 - 2; case 15
+ .short _02067586 - _02067372 - 2; case 16
+ .short _0206758A - _02067372 - 2; case 17
+ .short _0206758E - _02067372 - 2; case 18
+ .short _02067592 - _02067372 - 2; case 19
+ .short _02067596 - _02067372 - 2; case 20
+ .short _0206759A - _02067372 - 2; case 21
+ .short _0206759E - _02067372 - 2; case 22
+ .short _020675A2 - _02067372 - 2; case 23
+ .short _020675A6 - _02067372 - 2; case 24
+ .short _020675AA - _02067372 - 2; case 25
+ .short _020675AA - _02067372 - 2; case 26
+ .short _020675AA - _02067372 - 2; case 27
+ .short _020675AA - _02067372 - 2; case 28
+ .short _020675AA - _02067372 - 2; case 29
+ .short _020675AA - _02067372 - 2; case 30
+ .short _020675AA - _02067372 - 2; case 31
+ .short _020675AA - _02067372 - 2; case 32
+ .short _020675AA - _02067372 - 2; case 33
+ .short _020675AA - _02067372 - 2; case 34
+ .short _020675AA - _02067372 - 2; case 35
+ .short _020675AA - _02067372 - 2; case 36
+ .short _020675AA - _02067372 - 2; case 37
+ .short _020675AA - _02067372 - 2; case 38
+ .short _020675AA - _02067372 - 2; case 39
+ .short _020675AA - _02067372 - 2; case 40
+ .short _020675AA - _02067372 - 2; case 41
+ .short _020675AA - _02067372 - 2; case 42
+ .short _020675AA - _02067372 - 2; case 43
+ .short _020675AA - _02067372 - 2; case 44
+ .short _020675AA - _02067372 - 2; case 45
+ .short _020675AA - _02067372 - 2; case 46
+ .short _020675AA - _02067372 - 2; case 47
+ .short _020675AA - _02067372 - 2; case 48
+ .short _020675AA - _02067372 - 2; case 49
+ .short _020675AA - _02067372 - 2; case 50
+ .short _020675AA - _02067372 - 2; case 51
+ .short _020675AA - _02067372 - 2; case 52
+ .short _020675AA - _02067372 - 2; case 53
+ .short _020675D0 - _02067372 - 2; case 54
+ .short _020675D0 - _02067372 - 2; case 55
+ .short _020675D0 - _02067372 - 2; case 56
+ .short _020675D0 - _02067372 - 2; case 57
+ .short _020675DC - _02067372 - 2; case 58
+ .short _020675DC - _02067372 - 2; case 59
+ .short _020675DC - _02067372 - 2; case 60
+ .short _020675DC - _02067372 - 2; case 61
+ .short _020675E8 - _02067372 - 2; case 62
+ .short _020675E8 - _02067372 - 2; case 63
+ .short _020675E8 - _02067372 - 2; case 64
+ .short _020675E8 - _02067372 - 2; case 65
+ .short _020675F4 - _02067372 - 2; case 66
+ .short _020675F4 - _02067372 - 2; case 67
+ .short _020675F4 - _02067372 - 2; case 68
+ .short _020675F4 - _02067372 - 2; case 69
+ .short _0206760C - _02067372 - 2; case 70
+ .short _02067614 - _02067372 - 2; case 71
+ .short _0206761C - _02067372 - 2; case 72
+ .short _02067624 - _02067372 - 2; case 73
+ .short _0206762C - _02067372 - 2; case 74
+ .short _02067634 - _02067372 - 2; case 75
+ .short _0206763C - _02067372 - 2; case 76
+ .short _0206764E - _02067372 - 2; case 77
+ .short _02067654 - _02067372 - 2; case 78
+ .short _02067654 - _02067372 - 2; case 79
+ .short _02067654 - _02067372 - 2; case 80
+ .short _02067654 - _02067372 - 2; case 81
+ .short _02067654 - _02067372 - 2; case 82
+ .short _02067654 - _02067372 - 2; case 83
+ .short _02067654 - _02067372 - 2; case 84
+ .short _02067654 - _02067372 - 2; case 85
+ .short _02067654 - _02067372 - 2; case 86
+ .short _02067654 - _02067372 - 2; case 87
+ .short _02067654 - _02067372 - 2; case 88
+ .short _02067654 - _02067372 - 2; case 89
+ .short _02067654 - _02067372 - 2; case 90
+ .short _02067654 - _02067372 - 2; case 91
+ .short _02067654 - _02067372 - 2; case 92
+ .short _02067654 - _02067372 - 2; case 93
+ .short _02067654 - _02067372 - 2; case 94
+ .short _02067654 - _02067372 - 2; case 95
+ .short _02067654 - _02067372 - 2; case 96
+ .short _02067654 - _02067372 - 2; case 97
+ .short _02067654 - _02067372 - 2; case 98
+ .short _02067654 - _02067372 - 2; case 99
+ .short _02067654 - _02067372 - 2; case 100
+ .short _02067654 - _02067372 - 2; case 101
+ .short _02067654 - _02067372 - 2; case 102
+ .short _02067654 - _02067372 - 2; case 103
+ .short _02067654 - _02067372 - 2; case 104
+ .short _02067654 - _02067372 - 2; case 105
+ .short _02067654 - _02067372 - 2; case 106
+ .short _02067654 - _02067372 - 2; case 107
+ .short _02067654 - _02067372 - 2; case 108
+ .short _02067654 - _02067372 - 2; case 109
+ .short _0206767C - _02067372 - 2; case 110
+ .short _02067684 - _02067372 - 2; case 111
+ .short _0206768C - _02067372 - 2; case 112
+ .short _02067694 - _02067372 - 2; case 113
+ .short _02067698 - _02067372 - 2; case 114
+ .short _020674D8 - _02067372 - 2; case 115
+ .short _0206769C - _02067372 - 2; case 116
+ .short _020674D8 - _02067372 - 2; case 117
+ .short _020676D0 - _02067372 - 2; case 118
+ .short _020676CC - _02067372 - 2; case 119
+ .short _020676FE - _02067372 - 2; case 120
+ .short _02067702 - _02067372 - 2; case 121
+ .short _02067706 - _02067372 - 2; case 122
+ .short _02067706 - _02067372 - 2; case 123
+ .short _02067706 - _02067372 - 2; case 124
+ .short _02067706 - _02067372 - 2; case 125
+ .short _02067706 - _02067372 - 2; case 126
+ .short _02067706 - _02067372 - 2; case 127
+ .short _02067706 - _02067372 - 2; case 128
+ .short _02067706 - _02067372 - 2; case 129
+ .short _02067706 - _02067372 - 2; case 130
+ .short _02067706 - _02067372 - 2; case 131
+ .short _02067706 - _02067372 - 2; case 132
+ .short _02067706 - _02067372 - 2; case 133
+ .short _02067706 - _02067372 - 2; case 134
+ .short _02067706 - _02067372 - 2; case 135
+ .short _02067706 - _02067372 - 2; case 136
+ .short _02067706 - _02067372 - 2; case 137
+ .short _02067706 - _02067372 - 2; case 138
+ .short _02067706 - _02067372 - 2; case 139
+ .short _02067706 - _02067372 - 2; case 140
+ .short _02067706 - _02067372 - 2; case 141
+ .short _02067706 - _02067372 - 2; case 142
+ .short _0206772C - _02067372 - 2; case 143
+ .short _02067746 - _02067372 - 2; case 144
+ .short _0206774E - _02067372 - 2; case 145
+ .short _02067752 - _02067372 - 2; case 146
+ .short _02067756 - _02067372 - 2; case 147
+ .short _0206775A - _02067372 - 2; case 148
+ .short _0206775E - _02067372 - 2; case 149
+ .short _02067762 - _02067372 - 2; case 150
+ .short _02067766 - _02067372 - 2; case 151
+ .short _0206776A - _02067372 - 2; case 152
+ .short _0206776E - _02067372 - 2; case 153
+ .short _02067772 - _02067372 - 2; case 154
+ .short _02067776 - _02067372 - 2; case 155
+ .short _0206777E - _02067372 - 2; case 156
+ .short _02067786 - _02067372 - 2; case 157
+ .short _0206778A - _02067372 - 2; case 158
+ .short _020674D8 - _02067372 - 2; case 159
+ .short _02067540 - _02067372 - 2; case 160
+ .short _020674D8 - _02067372 - 2; case 161
+ .short _020674D8 - _02067372 - 2; case 162
+ .short _020674D8 - _02067372 - 2; case 163
+ .short _020674D8 - _02067372 - 2; case 164
+ .short _020674D8 - _02067372 - 2; case 165
+ .short _020674D8 - _02067372 - 2; case 166
+ .short _020674D8 - _02067372 - 2; case 167
+ .short _020674D8 - _02067372 - 2; case 168
+ .short _020674D8 - _02067372 - 2; case 169
+ .short _020674D8 - _02067372 - 2; case 170
+ .short _02067506 - _02067372 - 2; case 171
+ .short _02067510 - _02067372 - 2; case 172
+ .short _02067522 - _02067372 - 2; case 173
+ .short _0206778E - _02067372 - 2; case 174
+ .short _020677C0 - _02067372 - 2; case 175
+ .short _020677D8 - _02067372 - 2; case 176
+ .short _020677D8 - _02067372 - 2; case 177
+ .short _02067810 - _02067372 - 2; case 178
+_020674D8:
+ mov r4, #0x0
+ b _0206781A
+_020674DC:
+ ldr r0, [sp, #0x0]
+ ldr r4, [r0, #0x0]
+ b _0206781A
+_020674E2:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1f
+ lsr r4, r0, #0x1f
+ b _0206781A
+_020674EC:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1e
+ lsr r4, r0, #0x1f
+ b _0206781A
+_020674F6:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067500:
+ ldr r0, [sp, #0x0]
+ ldrh r4, [r0, #0x6]
+ b _0206781A
+_02067506:
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _0206753A
+ mov r4, #0x1
+ b _0206781A
+_02067510:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ bne _0206753A
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067522:
+ ldrh r4, [r5, #0x0]
+ cmp r4, #0x0
+ beq _0206753A
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r0, r0, #0x1f
+ bne _0206753C
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bne _0206753C
+_0206753A:
+ b _0206781A
+_0206753C:
+ ldr r4, _02067820 ; =0x000001EE
+ b _0206781A
+_02067540:
+ ldrh r0, [r5, #0x0]
+ ldr r1, [r5, #0x8]
+ bl FUN_02068800
+ add r4, r0, #0x0
+ b _0206781A
+_0206754C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _0206755A
+ ldr r4, _02067820 ; =0x000001EE
+ b _0206781A
+_0206755A:
+ ldrh r4, [r5, #0x0]
+ b _0206781A
+_0206755E:
+ ldrh r4, [r5, #0x2]
+ b _0206781A
+_02067562:
+ ldr r4, [r5, #0x4]
+ b _0206781A
+_02067566:
+ ldr r4, [r5, #0x8]
+ b _0206781A
+_0206756A:
+ ldrb r4, [r5, #0xc]
+ b _0206781A
+_0206756E:
+ ldrb r4, [r5, #0xd]
+ b _0206781A
+_02067572:
+ ldrb r4, [r5, #0xe]
+ b _0206781A
+_02067576:
+ ldrb r4, [r5, #0xf]
+ b _0206781A
+_0206757A:
+ ldrb r4, [r5, #0x10]
+ b _0206781A
+_0206757E:
+ ldrb r4, [r5, #0x11]
+ b _0206781A
+_02067582:
+ ldrb r4, [r5, #0x12]
+ b _0206781A
+_02067586:
+ ldrb r4, [r5, #0x13]
+ b _0206781A
+_0206758A:
+ ldrb r4, [r5, #0x14]
+ b _0206781A
+_0206758E:
+ ldrb r4, [r5, #0x15]
+ b _0206781A
+_02067592:
+ ldrb r4, [r5, #0x16]
+ b _0206781A
+_02067596:
+ ldrb r4, [r5, #0x17]
+ b _0206781A
+_0206759A:
+ ldrb r4, [r5, #0x18]
+ b _0206781A
+_0206759E:
+ ldrb r4, [r5, #0x19]
+ b _0206781A
+_020675A2:
+ ldrb r4, [r5, #0x1a]
+ b _0206781A
+_020675A6:
+ ldrb r4, [r5, #0x1b]
+ b _0206781A
+_020675AA:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x19
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ ldr r2, [r5, #0x1c]
+ add r3, r4, #0x0
+ and r3, r1
+ and r2, r0
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r3
+ eor r0, r2
+ orr r0, r1
+ beq _02067676
+ mov r4, #0x1
+ b _0206781A
+_020675D0:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x36
+ str r0, [sp, #0x4]
+ lsl r0, r0, #0x1
+ ldrh r4, [r6, r0]
+ b _0206781A
+_020675DC:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x3a
+ str r0, [sp, #0x4]
+ add r0, r6, r0
+ ldrb r4, [r0, #0x8]
+ b _0206781A
+_020675E8:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x3e
+ str r0, [sp, #0x4]
+ add r0, r6, r0
+ ldrb r4, [r0, #0xc]
+ b _0206781A
+_020675F4:
+ ldr r0, [sp, #0x4]
+ sub r0, #0x42
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x4]
+ lsl r0, r0, #0x1
+ add r1, r6, r1
+ ldrh r0, [r6, r0]
+ ldrb r1, [r1, #0xc]
+ bl FUN_0206AB30
+ add r4, r0, #0x0
+ b _0206781A
+_0206760C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1b
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067614:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x16
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206761C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x11
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067624:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0xc
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206762C:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x7
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067634:
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x2
+ lsr r4, r0, #0x1b
+ b _0206781A
+_0206763C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1f
+ bne _02067676
+ ldr r0, [r6, #0x10]
+ lsl r0, r0, #0x1
+ lsr r4, r0, #0x1f
+ b _0206781A
+_0206764E:
+ ldr r0, [r6, #0x10]
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067654:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x4e
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ ldr r2, [r6, #0x14]
+ add r3, r4, #0x0
+ and r3, r1
+ and r2, r0
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r3
+ eor r0, r2
+ orr r0, r1
+ bne _02067678
+_02067676:
+ b _0206781A
+_02067678:
+ mov r4, #0x1
+ b _0206781A
+_0206767C:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x1f
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067684:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x1d
+ lsr r4, r0, #0x1e
+ b _0206781A
+_0206768C:
+ ldrb r0, [r6, #0x18]
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x1b
+ b _0206781A
+_02067694:
+ ldrb r4, [r6, #0x19]
+ b _0206781A
+_02067698:
+ ldrh r4, [r6, #0x1a]
+ b _0206781A
+_0206769C:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _020676B2
+ ldr r0, _02067824 ; =0x000001EF
+ ldr r2, [sp, #0x8]
+ add r1, r4, #0x0
+ bl FUN_0200A99C
+ b _0206781A
+_020676B2:
+ ldr r1, [sp, #0x8]
+_020676B4:
+ ldrh r0, [r7, #0x0]
+ add r4, r4, #0x1
+ add r7, r7, #0x2
+ strh r0, [r1, #0x0]
+ add r1, r1, #0x2
+ cmp r4, #0xa
+ blo _020676B4
+ ldr r2, _02067828 ; =0x0000FFFF
+ ldr r0, [sp, #0x8]
+ lsl r1, r4, #0x1
+ strh r2, [r0, r1]
+ b _0206781A
+_020676CC:
+ ldr r0, [r6, #0x10]
+ lsr r4, r0, #0x1f
+_020676D0:
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x4]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ beq _020676F4
+ ldr r0, _02067824 ; =0x000001EF
+ mov r1, #0x0
+ bl FUN_0200AA50
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x8]
+ add r1, r5, #0x0
+ bl FUN_02021A74
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ b _0206781A
+_020676F4:
+ ldr r0, [sp, #0x8]
+ add r1, r7, #0x0
+ bl FUN_02021E28
+ b _0206781A
+_020676FE:
+ ldrb r4, [r7, #0x16]
+ b _0206781A
+_02067702:
+ ldrb r4, [r7, #0x17]
+ b _0206781A
+_02067706:
+ ldr r2, [sp, #0x4]
+ mov r0, #0x1
+ sub r2, #0x7a
+ add r1, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ ldr r3, [r7, #0x18]
+ ldr r2, [r7, #0x1c]
+ and r3, r0
+ and r2, r1
+ mov r1, #0x0
+ mov r0, #0x0
+ eor r1, r2
+ eor r0, r3
+ orr r0, r1
+ beq _0206781A
+ mov r4, #0x1
+ b _0206781A
+_0206772C:
+ ldr r2, [sp, #0x8]
+_0206772E:
+ ldrh r0, [r1, #0x0]
+ add r4, r4, #0x1
+ add r1, r1, #0x2
+ strh r0, [r2, #0x0]
+ add r2, r2, #0x2
+ cmp r4, #0x7
+ blo _0206772E
+ ldr r2, _02067828 ; =0x0000FFFF
+ ldr r0, [sp, #0x8]
+ lsl r1, r4, #0x1
+ strh r2, [r0, r1]
+ b _0206781A
+_02067746:
+ ldr r0, [sp, #0x8]
+ bl FUN_02021E28
+ b _0206781A
+_0206774E:
+ ldrb r4, [r1, #0x10]
+ b _0206781A
+_02067752:
+ ldrb r4, [r1, #0x11]
+ b _0206781A
+_02067756:
+ ldrb r4, [r1, #0x12]
+ b _0206781A
+_0206775A:
+ ldrb r4, [r1, #0x13]
+ b _0206781A
+_0206775E:
+ ldrb r4, [r1, #0x14]
+ b _0206781A
+_02067762:
+ ldrb r4, [r1, #0x15]
+ b _0206781A
+_02067766:
+ ldrh r4, [r1, #0x16]
+ b _0206781A
+_0206776A:
+ ldrh r4, [r1, #0x18]
+ b _0206781A
+_0206776E:
+ ldrb r4, [r1, #0x1a]
+ b _0206781A
+_02067772:
+ ldrb r4, [r1, #0x1b]
+ b _0206781A
+_02067776:
+ ldrb r0, [r1, #0x1c]
+ lsl r0, r0, #0x19
+ lsr r4, r0, #0x19
+ b _0206781A
+_0206777E:
+ ldrb r0, [r1, #0x1c]
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x1f
+ b _0206781A
+_02067786:
+ ldrb r4, [r1, #0x1d]
+ b _0206781A
+_0206778A:
+ ldrh r4, [r1, #0x1e]
+ b _0206781A
+_0206778E:
+ ldr r4, [r6, #0x10]
+ lsl r0, r4, #0x2
+ lsr r0, r0, #0x1b
+ lsl r5, r0, #0x19
+ lsl r0, r4, #0x7
+ lsr r0, r0, #0x1b
+ lsl r3, r0, #0x14
+ lsl r0, r4, #0xc
+ lsr r0, r0, #0x1b
+ lsl r2, r0, #0xf
+ lsl r0, r4, #0x11
+ lsr r0, r0, #0x1b
+ lsl r1, r0, #0xa
+ lsl r0, r4, #0x1b
+ lsl r4, r4, #0x16
+ lsr r4, r4, #0x1b
+ lsr r0, r0, #0x1b
+ lsl r4, r4, #0x5
+ orr r0, r4
+ orr r0, r1
+ orr r0, r2
+ orr r0, r3
+ add r4, r5, #0x0
+ orr r4, r0
+ b _0206781A
+_020677C0:
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x1d
+ beq _020677CA
+ cmp r0, #0x20
+ bne _020677D4
+_020677CA:
+ ldr r0, [r6, #0x10]
+ lsr r0, r0, #0x1f
+ bne _020677D4
+ mov r4, #0x0
+ b _0206781A
+_020677D4:
+ mov r4, #0x1
+ b _0206781A
+_020677D8:
+ ldrh r0, [r5, #0x0]
+ ldr r1, _0206782C ; =0x000001ED
+ cmp r0, r1
+ bne _020677FC
+ ldrb r1, [r5, #0xd]
+ cmp r1, #0x79
+ bne _020677FC
+ ldrh r0, [r5, #0x2]
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069F24
+ add r4, r0, #0x0
+ b _0206781A
+_020677FC:
+ ldrb r1, [r6, #0x18]
+ ldr r2, [sp, #0x4]
+ lsl r1, r1, #0x18
+ sub r2, #0xaa
+ lsr r1, r1, #0x1b
+ str r2, [sp, #0x4]
+ bl FUN_02068654
+ add r4, r0, #0x0
+ b _0206781A
+_02067810:
+ ldrh r0, [r5, #0x0]
+ ldr r2, [sp, #0x8]
+ add r1, r4, #0x0
+ bl FUN_0200A99C
+_0206781A:
+ add r0, r4, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02067820: .word 0x000001EE
+_02067824: .word 0x000001EF
+_02067828: .word 0x0000FFFF
+_0206782C: .word 0x000001ED
+
+ thumb_func_start FUN_02067830
+FUN_02067830: ; 0x02067830
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02067886
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ ldrh r1, [r5, #0x6]
+ cmp r0, r1
+ beq _02067886
+ cmp r0, r1
+ beq _02067870
+ bl ErrorHandling
+_02067870:
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x4
+ orr r0, r1
+ strh r0, [r5, #0x4]
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ pop {r4-r6, pc}
+_02067886:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020678C0
+ ldrh r0, [r5, #0x4]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _020678BC
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_020678BC:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020678C0
+FUN_020678C0: ; 0x020678C0
+ push {r3, lr}
+ add r3, r0, #0x0
+ add r0, r1, #0x0
+ sub r0, #0x9f
+ cmp r0, #0xb
+ bhi _02067958
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020678D8: ; jump table (using 16-bit offset)
+ .short _020678F0 - _020678D8 - 2; case 0
+ .short _020678F8 - _020678D8 - 2; case 1
+ .short _02067900 - _020678D8 - 2; case 2
+ .short _02067908 - _020678D8 - 2; case 3
+ .short _02067910 - _020678D8 - 2; case 4
+ .short _02067918 - _020678D8 - 2; case 5
+ .short _02067920 - _020678D8 - 2; case 6
+ .short _02067928 - _020678D8 - 2; case 7
+ .short _02067930 - _020678D8 - 2; case 8
+ .short _02067938 - _020678D8 - 2; case 9
+ .short _02067940 - _020678D8 - 2; case 10
+ .short _0206794C - _020678D8 - 2; case 11
+_020678F0:
+ ldr r0, [r2, #0x0]
+ add r3, #0x88
+ str r0, [r3, #0x0]
+ pop {r3, pc}
+_020678F8:
+ ldrb r0, [r2, #0x0]
+ add r3, #0x8c
+ strb r0, [r3, #0x0]
+ pop {r3, pc}
+_02067900:
+ ldrb r0, [r2, #0x0]
+ add r3, #0x8d
+ strb r0, [r3, #0x0]
+ pop {r3, pc}
+_02067908:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x8e
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067910:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x90
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067918:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x92
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067920:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x94
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067928:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x96
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067930:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x98
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067938:
+ ldrh r0, [r2, #0x0]
+ add r3, #0x9a
+ strh r0, [r3, #0x0]
+ pop {r3, pc}
+_02067940:
+ add r3, #0x9c
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ bl FUN_020256D0
+ pop {r3, pc}
+_0206794C:
+ add r3, #0xd4
+ add r0, r2, #0x0
+ add r1, r3, #0x0
+ bl FUN_02029C74
+ pop {r3, pc}
+_02067958:
+ add r0, r3, #0x0
+ bl FUN_020679D8
+ pop {r3, pc}
+
+ thumb_func_start FUN_02067960
+FUN_02067960: ; 0x02067960
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bne _020679AA
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ ldrh r1, [r5, #0x6]
+ cmp r0, r1
+ beq _020679AA
+ cmp r0, r1
+ beq _02067994
+ bl ErrorHandling
+_02067994:
+ ldrh r1, [r5, #0x4]
+ mov r0, #0x4
+ orr r0, r1
+ strh r0, [r5, #0x4]
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ pop {r4-r6, pc}
+_020679AA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020679D8
+ ldrh r0, [r5, #0x4]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bne _020679D4
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_020679D4:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020679D8
+FUN_020679D8: ; 0x020679D8
+ push {r4-r7, lr}
+ sub sp, #0x4c
+ str r1, [sp, #0x4]
+ add r1, r0, #0x0
+ add r4, r2, #0x0
+ ldr r1, [r1, #0x0]
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ bl FUN_0206A418
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x1
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x2
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x3
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x4]
+ cmp r0, #0xb2
+ bls _02067A20
+ b _02067FF6
+_02067A20:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02067A2C: ; jump table (using 16-bit offset)
+ .short _02067B92 - _02067A2C - 2; case 0
+ .short _02067B9C - _02067A2C - 2; case 1
+ .short _02067BBA - _02067A2C - 2; case 2
+ .short _02067BD6 - _02067A2C - 2; case 3
+ .short _02067BEE - _02067A2C - 2; case 4
+ .short _02067BF8 - _02067A2C - 2; case 5
+ .short _02067C00 - _02067A2C - 2; case 6
+ .short _02067C08 - _02067A2C - 2; case 7
+ .short _02067C10 - _02067A2C - 2; case 8
+ .short _02067C18 - _02067A2C - 2; case 9
+ .short _02067C20 - _02067A2C - 2; case 10
+ .short _02067C28 - _02067A2C - 2; case 11
+ .short _02067C30 - _02067A2C - 2; case 12
+ .short _02067C38 - _02067A2C - 2; case 13
+ .short _02067C40 - _02067A2C - 2; case 14
+ .short _02067C48 - _02067A2C - 2; case 15
+ .short _02067C50 - _02067A2C - 2; case 16
+ .short _02067C58 - _02067A2C - 2; case 17
+ .short _02067C60 - _02067A2C - 2; case 18
+ .short _02067C68 - _02067A2C - 2; case 19
+ .short _02067C70 - _02067A2C - 2; case 20
+ .short _02067C78 - _02067A2C - 2; case 21
+ .short _02067C80 - _02067A2C - 2; case 22
+ .short _02067C88 - _02067A2C - 2; case 23
+ .short _02067C90 - _02067A2C - 2; case 24
+ .short _02067C98 - _02067A2C - 2; case 25
+ .short _02067C98 - _02067A2C - 2; case 26
+ .short _02067C98 - _02067A2C - 2; case 27
+ .short _02067C98 - _02067A2C - 2; case 28
+ .short _02067C98 - _02067A2C - 2; case 29
+ .short _02067C98 - _02067A2C - 2; case 30
+ .short _02067C98 - _02067A2C - 2; case 31
+ .short _02067C98 - _02067A2C - 2; case 32
+ .short _02067C98 - _02067A2C - 2; case 33
+ .short _02067C98 - _02067A2C - 2; case 34
+ .short _02067C98 - _02067A2C - 2; case 35
+ .short _02067C98 - _02067A2C - 2; case 36
+ .short _02067C98 - _02067A2C - 2; case 37
+ .short _02067C98 - _02067A2C - 2; case 38
+ .short _02067C98 - _02067A2C - 2; case 39
+ .short _02067C98 - _02067A2C - 2; case 40
+ .short _02067C98 - _02067A2C - 2; case 41
+ .short _02067C98 - _02067A2C - 2; case 42
+ .short _02067C98 - _02067A2C - 2; case 43
+ .short _02067C98 - _02067A2C - 2; case 44
+ .short _02067C98 - _02067A2C - 2; case 45
+ .short _02067C98 - _02067A2C - 2; case 46
+ .short _02067C98 - _02067A2C - 2; case 47
+ .short _02067C98 - _02067A2C - 2; case 48
+ .short _02067C98 - _02067A2C - 2; case 49
+ .short _02067C98 - _02067A2C - 2; case 50
+ .short _02067C98 - _02067A2C - 2; case 51
+ .short _02067C98 - _02067A2C - 2; case 52
+ .short _02067C98 - _02067A2C - 2; case 53
+ .short _02067CC6 - _02067A2C - 2; case 54
+ .short _02067CC6 - _02067A2C - 2; case 55
+ .short _02067CC6 - _02067A2C - 2; case 56
+ .short _02067CC6 - _02067A2C - 2; case 57
+ .short _02067CD6 - _02067A2C - 2; case 58
+ .short _02067CD6 - _02067A2C - 2; case 59
+ .short _02067CD6 - _02067A2C - 2; case 60
+ .short _02067CD6 - _02067A2C - 2; case 61
+ .short _02067CE6 - _02067A2C - 2; case 62
+ .short _02067CE6 - _02067A2C - 2; case 63
+ .short _02067CE6 - _02067A2C - 2; case 64
+ .short _02067CE6 - _02067A2C - 2; case 65
+ .short _02067FF6 - _02067A2C - 2; case 66
+ .short _02067FF6 - _02067A2C - 2; case 67
+ .short _02067FF6 - _02067A2C - 2; case 68
+ .short _02067FF6 - _02067A2C - 2; case 69
+ .short _02067CF6 - _02067A2C - 2; case 70
+ .short _02067D0A - _02067A2C - 2; case 71
+ .short _02067D1E - _02067A2C - 2; case 72
+ .short _02067D32 - _02067A2C - 2; case 73
+ .short _02067D46 - _02067A2C - 2; case 74
+ .short _02067D5A - _02067A2C - 2; case 75
+ .short _02067D6E - _02067A2C - 2; case 76
+ .short _02067D82 - _02067A2C - 2; case 77
+ .short _02067D94 - _02067A2C - 2; case 78
+ .short _02067D94 - _02067A2C - 2; case 79
+ .short _02067D94 - _02067A2C - 2; case 80
+ .short _02067D94 - _02067A2C - 2; case 81
+ .short _02067D94 - _02067A2C - 2; case 82
+ .short _02067D94 - _02067A2C - 2; case 83
+ .short _02067D94 - _02067A2C - 2; case 84
+ .short _02067D94 - _02067A2C - 2; case 85
+ .short _02067D94 - _02067A2C - 2; case 86
+ .short _02067D94 - _02067A2C - 2; case 87
+ .short _02067D94 - _02067A2C - 2; case 88
+ .short _02067D94 - _02067A2C - 2; case 89
+ .short _02067D94 - _02067A2C - 2; case 90
+ .short _02067D94 - _02067A2C - 2; case 91
+ .short _02067D94 - _02067A2C - 2; case 92
+ .short _02067D94 - _02067A2C - 2; case 93
+ .short _02067D94 - _02067A2C - 2; case 94
+ .short _02067D94 - _02067A2C - 2; case 95
+ .short _02067D94 - _02067A2C - 2; case 96
+ .short _02067D94 - _02067A2C - 2; case 97
+ .short _02067D94 - _02067A2C - 2; case 98
+ .short _02067D94 - _02067A2C - 2; case 99
+ .short _02067D94 - _02067A2C - 2; case 100
+ .short _02067D94 - _02067A2C - 2; case 101
+ .short _02067D94 - _02067A2C - 2; case 102
+ .short _02067D94 - _02067A2C - 2; case 103
+ .short _02067D94 - _02067A2C - 2; case 104
+ .short _02067D94 - _02067A2C - 2; case 105
+ .short _02067D94 - _02067A2C - 2; case 106
+ .short _02067D94 - _02067A2C - 2; case 107
+ .short _02067D94 - _02067A2C - 2; case 108
+ .short _02067D94 - _02067A2C - 2; case 109
+ .short _02067DC2 - _02067A2C - 2; case 110
+ .short _02067DD6 - _02067A2C - 2; case 111
+ .short _02067DEA - _02067A2C - 2; case 112
+ .short _02067DFE - _02067A2C - 2; case 113
+ .short _02067E06 - _02067A2C - 2; case 114
+ .short _02067FF6 - _02067A2C - 2; case 115
+ .short _02067E2C - _02067A2C - 2; case 116
+ .short _02067E0E - _02067A2C - 2; case 117
+ .short _02067E6C - _02067A2C - 2; case 118
+ .short _02067E40 - _02067A2C - 2; case 119
+ .short _02067E7A - _02067A2C - 2; case 120
+ .short _02067E82 - _02067A2C - 2; case 121
+ .short _02067E8A - _02067A2C - 2; case 122
+ .short _02067E8A - _02067A2C - 2; case 123
+ .short _02067E8A - _02067A2C - 2; case 124
+ .short _02067E8A - _02067A2C - 2; case 125
+ .short _02067E8A - _02067A2C - 2; case 126
+ .short _02067E8A - _02067A2C - 2; case 127
+ .short _02067E8A - _02067A2C - 2; case 128
+ .short _02067E8A - _02067A2C - 2; case 129
+ .short _02067E8A - _02067A2C - 2; case 130
+ .short _02067E8A - _02067A2C - 2; case 131
+ .short _02067E8A - _02067A2C - 2; case 132
+ .short _02067E8A - _02067A2C - 2; case 133
+ .short _02067E8A - _02067A2C - 2; case 134
+ .short _02067E8A - _02067A2C - 2; case 135
+ .short _02067E8A - _02067A2C - 2; case 136
+ .short _02067E8A - _02067A2C - 2; case 137
+ .short _02067E8A - _02067A2C - 2; case 138
+ .short _02067E8A - _02067A2C - 2; case 139
+ .short _02067E8A - _02067A2C - 2; case 140
+ .short _02067E8A - _02067A2C - 2; case 141
+ .short _02067E8A - _02067A2C - 2; case 142
+ .short _02067ECE - _02067A2C - 2; case 143
+ .short _02067EE2 - _02067A2C - 2; case 144
+ .short _02067EEE - _02067A2C - 2; case 145
+ .short _02067EF6 - _02067A2C - 2; case 146
+ .short _02067EFE - _02067A2C - 2; case 147
+ .short _02067F06 - _02067A2C - 2; case 148
+ .short _02067F0E - _02067A2C - 2; case 149
+ .short _02067F16 - _02067A2C - 2; case 150
+ .short _02067F1E - _02067A2C - 2; case 151
+ .short _02067F26 - _02067A2C - 2; case 152
+ .short _02067F2E - _02067A2C - 2; case 153
+ .short _02067F36 - _02067A2C - 2; case 154
+ .short _02067F3E - _02067A2C - 2; case 155
+ .short _02067F52 - _02067A2C - 2; case 156
+ .short _02067F66 - _02067A2C - 2; case 157
+ .short _02067F6E - _02067A2C - 2; case 158
+ .short _02067FF6 - _02067A2C - 2; case 159
+ .short _02067FF6 - _02067A2C - 2; case 160
+ .short _02067FF6 - _02067A2C - 2; case 161
+ .short _02067FF6 - _02067A2C - 2; case 162
+ .short _02067FF6 - _02067A2C - 2; case 163
+ .short _02067FF6 - _02067A2C - 2; case 164
+ .short _02067FF6 - _02067A2C - 2; case 165
+ .short _02067FF6 - _02067A2C - 2; case 166
+ .short _02067FF6 - _02067A2C - 2; case 167
+ .short _02067FF6 - _02067A2C - 2; case 168
+ .short _02067FF6 - _02067A2C - 2; case 169
+ .short _02067FF6 - _02067A2C - 2; case 170
+ .short _02067FF6 - _02067A2C - 2; case 171
+ .short _02067FF6 - _02067A2C - 2; case 172
+ .short _02067FF6 - _02067A2C - 2; case 173
+ .short _02067F76 - _02067A2C - 2; case 174
+ .short _02067FF6 - _02067A2C - 2; case 175
+ .short _02067FF6 - _02067A2C - 2; case 176
+ .short _02067FF6 - _02067A2C - 2; case 177
+ .short _02067FDE - _02067A2C - 2; case 178
+_02067B92:
+ ldr r0, [sp, #0x0]
+ ldr r1, [r4, #0x0]
+ add sp, #0x4c
+ str r1, [r0, #0x0]
+ pop {r4-r7, pc}
+_02067B9C:
+ bl ErrorHandling
+ ldr r0, [sp, #0x0]
+ ldrb r1, [r4, #0x0]
+ ldrh r2, [r0, #0x4]
+ mov r0, #0x1
+ bic r2, r0
+ mov r0, #0x1
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BBA:
+ bl ErrorHandling
+ ldr r0, [sp, #0x0]
+ ldrh r1, [r0, #0x4]
+ mov r0, #0x2
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1e
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BD6:
+ ldr r0, [sp, #0x0]
+ ldrh r1, [r0, #0x4]
+ mov r0, #0x4
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1d
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x4]
+ pop {r4-r7, pc}
+_02067BEE:
+ ldrh r1, [r4, #0x0]
+ ldr r0, [sp, #0x0]
+ add sp, #0x4c
+ strh r1, [r0, #0x6]
+ pop {r4-r7, pc}
+_02067BF8:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r7, #0x0]
+ pop {r4-r7, pc}
+_02067C00:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r7, #0x2]
+ pop {r4-r7, pc}
+_02067C08:
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ str r0, [r7, #0x4]
+ pop {r4-r7, pc}
+_02067C10:
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ str r0, [r7, #0x8]
+ pop {r4-r7, pc}
+_02067C18:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xc]
+ pop {r4-r7, pc}
+_02067C20:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xd]
+ pop {r4-r7, pc}
+_02067C28:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xe]
+ pop {r4-r7, pc}
+_02067C30:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0xf]
+ pop {r4-r7, pc}
+_02067C38:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x10]
+ pop {r4-r7, pc}
+_02067C40:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x11]
+ pop {r4-r7, pc}
+_02067C48:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x12]
+ pop {r4-r7, pc}
+_02067C50:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x13]
+ pop {r4-r7, pc}
+_02067C58:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x14]
+ pop {r4-r7, pc}
+_02067C60:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x15]
+ pop {r4-r7, pc}
+_02067C68:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x16]
+ pop {r4-r7, pc}
+_02067C70:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x17]
+ pop {r4-r7, pc}
+_02067C78:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x18]
+ pop {r4-r7, pc}
+_02067C80:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x19]
+ pop {r4-r7, pc}
+_02067C88:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x1a]
+ pop {r4-r7, pc}
+_02067C90:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r7, #0x1b]
+ pop {r4-r7, pc}
+_02067C98:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x19
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ cmp r4, #0x0
+ beq _02067CB6
+ ldr r1, [r7, #0x1c]
+ add sp, #0x4c
+ orr r0, r1
+ str r0, [r7, #0x1c]
+ pop {r4-r7, pc}
+_02067CB6:
+ mov r1, #0x0
+ sub r1, r1, #0x1
+ ldr r2, [r7, #0x1c]
+ eor r0, r1
+ and r0, r2
+ add sp, #0x4c
+ str r0, [r7, #0x1c]
+ pop {r4-r7, pc}
+_02067CC6:
+ ldr r0, [sp, #0x4]
+ ldrh r1, [r4, #0x0]
+ sub r0, #0x36
+ str r0, [sp, #0x4]
+ lsl r0, r0, #0x1
+ add sp, #0x4c
+ strh r1, [r5, r0]
+ pop {r4-r7, pc}
+_02067CD6:
+ ldr r0, [sp, #0x4]
+ ldrb r1, [r4, #0x0]
+ sub r0, #0x3a
+ str r0, [sp, #0x4]
+ add r0, r5, r0
+ strb r1, [r0, #0x8]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067CE6:
+ ldr r0, [sp, #0x4]
+ ldrb r1, [r4, #0x0]
+ sub r0, #0x3e
+ str r0, [sp, #0x4]
+ add r0, r5, r0
+ strb r1, [r0, #0xc]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067CF6:
+ ldr r2, [r5, #0x10]
+ mov r0, #0x1f
+ bic r2, r0
+ ldrb r1, [r4, #0x0]
+ mov r0, #0x1f
+ add sp, #0x4c
+ and r0, r1
+ orr r0, r2
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D0A:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02067FFC ; =0xFFFFFC1F
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D1E:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068000 ; =0xFFFF83FF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D32:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068004 ; =0xFFF07FFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D46:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068008 ; =0xFE0FFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x7
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D5A:
+ ldr r1, [r5, #0x10]
+ ldr r0, _0206800C ; =0xC1FFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D6E:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068010 ; =0xBFFFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D82:
+ ldr r1, [r5, #0x10]
+ ldr r0, _02068014 ; =0x7FFFFFFF
+ add sp, #0x4c
+ and r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067D94:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x4e
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ cmp r4, #0x0
+ beq _02067DB2
+ ldr r1, [r5, #0x14]
+ add sp, #0x4c
+ orr r0, r1
+ str r0, [r5, #0x14]
+ pop {r4-r7, pc}
+_02067DB2:
+ mov r1, #0x0
+ sub r1, r1, #0x1
+ ldr r2, [r5, #0x14]
+ eor r0, r1
+ and r0, r2
+ add sp, #0x4c
+ str r0, [r5, #0x14]
+ pop {r4-r7, pc}
+_02067DC2:
+ ldrb r2, [r5, #0x18]
+ ldrb r1, [r4, #0x0]
+ mov r0, #0x1
+ bic r2, r0
+ mov r0, #0x1
+ and r0, r1
+ orr r0, r2
+ add sp, #0x4c
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DD6:
+ ldrb r1, [r5, #0x18]
+ mov r0, #0x6
+ add sp, #0x4c
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1d
+ orr r0, r1
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DEA:
+ ldrb r1, [r5, #0x18]
+ mov r0, #0xf8
+ add sp, #0x4c
+ bic r1, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x18
+ orr r0, r1
+ strb r0, [r5, #0x18]
+ pop {r4-r7, pc}
+_02067DFE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r5, #0x19]
+ pop {r4-r7, pc}
+_02067E06:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r5, #0x1a]
+ pop {r4-r7, pc}
+_02067E0E:
+ ldrh r0, [r7, #0x0]
+ mov r1, #0x0
+ add r2, sp, #0x34
+ bl FUN_0200A99C
+ add r0, sp, #0x34
+ add r1, r4, #0x0
+ bl StringNotEqual
+ ldr r2, [r5, #0x10]
+ ldr r1, _02068014 ; =0x7FFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r5, #0x10]
+_02067E2C:
+ mov r1, #0x0
+_02067E2E:
+ ldrh r0, [r4, #0x0]
+ add r1, r1, #0x1
+ add r4, r4, #0x2
+ strh r0, [r6, #0x0]
+ add r6, r6, #0x2
+ cmp r1, #0xb
+ blo _02067E2E
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067E40:
+ ldrh r0, [r7, #0x0]
+ add r2, sp, #0x1c
+ mov r1, #0x0
+ add r2, #0x2
+ bl FUN_0200A99C
+ add r0, r4, #0x0
+ add r1, sp, #0x8
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, sp, #0x1c
+ add r0, #0x2
+ add r1, sp, #0x8
+ bl StringNotEqual
+ ldr r2, [r5, #0x10]
+ ldr r1, _02068014 ; =0x7FFFFFFF
+ lsl r0, r0, #0x1f
+ and r1, r2
+ orr r0, r1
+ str r0, [r5, #0x10]
+_02067E6C:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067E7A:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r6, #0x16]
+ pop {r4-r7, pc}
+_02067E82:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r6, #0x17]
+ pop {r4-r7, pc}
+_02067E8A:
+ ldrb r4, [r4, #0x0]
+ ldr r2, [sp, #0x4]
+ mov r1, #0x0
+ sub r2, #0x7a
+ add r0, r4, #0x0
+ str r2, [sp, #0x4]
+ bl _ll_shl
+ cmp r4, #0x0
+ beq _02067EB2
+ add r4, r6, #0x0
+ add r4, #0x18
+ ldr r3, [r6, #0x18]
+ ldr r2, [r4, #0x4]
+ orr r0, r3
+ orr r1, r2
+ str r0, [r6, #0x18]
+ add sp, #0x4c
+ str r1, [r4, #0x4]
+ pop {r4-r7, pc}
+_02067EB2:
+ add r4, r6, #0x0
+ mov r5, #0x0
+ mvn r5, r5
+ add r4, #0x18
+ ldr r3, [r6, #0x18]
+ eor r0, r5
+ ldr r2, [r4, #0x4]
+ eor r1, r5
+ and r0, r3
+ and r1, r2
+ str r0, [r6, #0x18]
+ add sp, #0x4c
+ str r1, [r4, #0x4]
+ pop {r4-r7, pc}
+_02067ECE:
+ mov r2, #0x0
+_02067ED0:
+ ldrh r0, [r4, #0x0]
+ add r2, r2, #0x1
+ add r4, r4, #0x2
+ strh r0, [r1, #0x0]
+ add r1, r1, #0x2
+ cmp r2, #0x8
+ blo _02067ED0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067EE2:
+ add r0, r4, #0x0
+ mov r2, #0x8
+ bl FUN_02021EF0
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067EEE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x10]
+ pop {r4-r7, pc}
+_02067EF6:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x11]
+ pop {r4-r7, pc}
+_02067EFE:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x12]
+ pop {r4-r7, pc}
+_02067F06:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x13]
+ pop {r4-r7, pc}
+_02067F0E:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x14]
+ pop {r4-r7, pc}
+_02067F16:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x15]
+ pop {r4-r7, pc}
+_02067F1E:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x16]
+ pop {r4-r7, pc}
+_02067F26:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x18]
+ pop {r4-r7, pc}
+_02067F2E:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1a]
+ pop {r4-r7, pc}
+_02067F36:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1b]
+ pop {r4-r7, pc}
+_02067F3E:
+ ldrb r3, [r1, #0x1c]
+ ldrb r2, [r4, #0x0]
+ mov r0, #0x7f
+ bic r3, r0
+ mov r0, #0x7f
+ and r0, r2
+ orr r0, r3
+ strb r0, [r1, #0x1c]
+ add sp, #0x4c
+ pop {r4-r7, pc}
+_02067F52:
+ ldrb r2, [r1, #0x1c]
+ mov r0, #0x80
+ add sp, #0x4c
+ bic r2, r0
+ ldrb r0, [r4, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x18
+ orr r0, r2
+ strb r0, [r1, #0x1c]
+ pop {r4-r7, pc}
+_02067F66:
+ ldrb r0, [r4, #0x0]
+ add sp, #0x4c
+ strb r0, [r1, #0x1d]
+ pop {r4-r7, pc}
+_02067F6E:
+ ldrh r0, [r4, #0x0]
+ add sp, #0x4c
+ strh r0, [r1, #0x1e]
+ pop {r4-r7, pc}
+_02067F76:
+ ldr r2, [r5, #0x10]
+ mov r0, #0x1f
+ bic r2, r0
+ ldr r1, [r4, #0x0]
+ mov r0, #0x1f
+ and r1, r0
+ and r0, r1
+ add r1, r2, #0x0
+ orr r1, r0
+ ldr r0, _02067FFC ; =0xFFFFFC1F
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ add sp, #0x4c
+ lsr r0, r0, #0x5
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x16
+ orr r1, r0
+ ldr r0, _02068000 ; =0xFFFF83FF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0xa
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x11
+ orr r1, r0
+ ldr r0, _02068004 ; =0xFFF07FFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0xf
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0xc
+ orr r1, r0
+ ldr r0, _02068008 ; =0xFE0FFFFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0x14
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x7
+ orr r1, r0
+ ldr r0, _0206800C ; =0xC1FFFFFF
+ str r1, [r5, #0x10]
+ and r1, r0
+ ldr r0, [r4, #0x0]
+ lsr r0, r0, #0x19
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02067FDE:
+ ldrh r0, [r7, #0x0]
+ mov r1, #0x0
+ bl FUN_0200AA50
+ add r4, r0, #0x0
+ add r1, r6, #0x0
+ mov r2, #0xb
+ bl FUN_02021EF0
+ add r0, r4, #0x0
+ bl FUN_02021A20
+_02067FF6:
+ add sp, #0x4c
+ pop {r4-r7, pc}
+ nop
+_02067FFC: .word 0xFFFFFC1F
+_02068000: .word 0xFFFF83FF
+_02068004: .word 0xFFF07FFF
+_02068008: .word 0xFE0FFFFF
+_0206800C: .word 0xC1FFFFFF
+_02068010: .word 0xBFFFFFFF
+_02068014: .word 0x7FFFFFFF
+
+ thumb_func_start FUN_02068018
+FUN_02068018: ; 0x02068018
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldrh r0, [r5, #0x4]
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _02068066
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ ldrh r1, [r5, #0x6]
+ cmp r0, r1
+ beq _02068066
+ cmp r0, r1
+ beq _02068058
+ bl ErrorHandling
+_02068058:
+ ldrh r2, [r5, #0x6]
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ pop {r4-r6, pc}
+_02068066:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020680A0
+ ldrh r0, [r5, #0x4]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bne _0206809C
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+_0206809C:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020680A0
+FUN_020680A0: ; 0x020680A0
+ push {r3, lr}
+ add r3, r1, #0x0
+ sub r3, #0x9f
+ cmp r3, #0xa
+ bhi _020680F8
+ add r3, r3, r3
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_020680B6: ; jump table (using 16-bit offset)
+ .short _020680F2 - _020680B6 - 2; case 0
+ .short _020680F2 - _020680B6 - 2; case 1
+ .short _020680F2 - _020680B6 - 2; case 2
+ .short _020680CC - _020680B6 - 2; case 3
+ .short _020680F2 - _020680B6 - 2; case 4
+ .short _020680F2 - _020680B6 - 2; case 5
+ .short _020680F2 - _020680B6 - 2; case 6
+ .short _020680F2 - _020680B6 - 2; case 7
+ .short _020680F2 - _020680B6 - 2; case 8
+ .short _020680F2 - _020680B6 - 2; case 9
+ .short _020680F2 - _020680B6 - 2; case 10
+_020680CC:
+ add r1, r0, #0x0
+ add r1, #0x90
+ ldrh r3, [r1, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x8e
+ ldrh r1, [r1, #0x0]
+ add r1, r1, r2
+ cmp r1, r3
+ ble _020680E4
+ add r0, #0x8e
+ strh r3, [r0, #0x0]
+ pop {r3, pc}
+_020680E4:
+ add r1, r0, #0x0
+ add r1, #0x8e
+ ldrh r1, [r1, #0x0]
+ add r0, #0x8e
+ add r1, r1, r2
+ strh r1, [r0, #0x0]
+ pop {r3, pc}
+_020680F2:
+ bl ErrorHandling
+ pop {r3, pc}
+_020680F8:
+ bl FUN_02068100
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068100
+FUN_02068100: ; 0x02068100
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r1, #0x0
+ add r1, r0, #0x0
+ add r6, r2, #0x0
+ ldr r1, [r1, #0x0]
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ bl FUN_0206A418
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x1
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r2, #0x2
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ ldr r0, [sp, #0x0]
+ mov r2, #0x3
+ add r1, r0, #0x0
+ ldr r1, [r1, #0x0]
+ bl FUN_0206A418
+ cmp r7, #0xb2
+ bls _02068142
+ b _02068500
+_02068142:
+ add r0, r7, r7
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206814E: ; jump table (using 16-bit offset)
+ .short _02068500 - _0206814E - 2; case 0
+ .short _02068500 - _0206814E - 2; case 1
+ .short _02068500 - _0206814E - 2; case 2
+ .short _02068500 - _0206814E - 2; case 3
+ .short _02068500 - _0206814E - 2; case 4
+ .short _02068500 - _0206814E - 2; case 5
+ .short _02068500 - _0206814E - 2; case 6
+ .short _02068500 - _0206814E - 2; case 7
+ .short _020682B4 - _0206814E - 2; case 8
+ .short _020682D8 - _0206814E - 2; case 9
+ .short _02068500 - _0206814E - 2; case 10
+ .short _02068500 - _0206814E - 2; case 11
+ .short _02068500 - _0206814E - 2; case 12
+ .short _020682EE - _0206814E - 2; case 13
+ .short _020682F8 - _0206814E - 2; case 14
+ .short _02068302 - _0206814E - 2; case 15
+ .short _0206830C - _0206814E - 2; case 16
+ .short _02068316 - _0206814E - 2; case 17
+ .short _02068320 - _0206814E - 2; case 18
+ .short _0206832A - _0206814E - 2; case 19
+ .short _02068340 - _0206814E - 2; case 20
+ .short _02068356 - _0206814E - 2; case 21
+ .short _0206836C - _0206814E - 2; case 22
+ .short _02068382 - _0206814E - 2; case 23
+ .short _02068398 - _0206814E - 2; case 24
+ .short _02068500 - _0206814E - 2; case 25
+ .short _02068500 - _0206814E - 2; case 26
+ .short _02068500 - _0206814E - 2; case 27
+ .short _02068500 - _0206814E - 2; case 28
+ .short _02068500 - _0206814E - 2; case 29
+ .short _02068500 - _0206814E - 2; case 30
+ .short _02068500 - _0206814E - 2; case 31
+ .short _02068500 - _0206814E - 2; case 32
+ .short _02068500 - _0206814E - 2; case 33
+ .short _02068500 - _0206814E - 2; case 34
+ .short _02068500 - _0206814E - 2; case 35
+ .short _02068500 - _0206814E - 2; case 36
+ .short _02068500 - _0206814E - 2; case 37
+ .short _02068500 - _0206814E - 2; case 38
+ .short _02068500 - _0206814E - 2; case 39
+ .short _02068500 - _0206814E - 2; case 40
+ .short _02068500 - _0206814E - 2; case 41
+ .short _02068500 - _0206814E - 2; case 42
+ .short _02068500 - _0206814E - 2; case 43
+ .short _02068500 - _0206814E - 2; case 44
+ .short _02068500 - _0206814E - 2; case 45
+ .short _02068500 - _0206814E - 2; case 46
+ .short _02068500 - _0206814E - 2; case 47
+ .short _02068500 - _0206814E - 2; case 48
+ .short _02068500 - _0206814E - 2; case 49
+ .short _02068500 - _0206814E - 2; case 50
+ .short _02068500 - _0206814E - 2; case 51
+ .short _02068500 - _0206814E - 2; case 52
+ .short _02068500 - _0206814E - 2; case 53
+ .short _02068500 - _0206814E - 2; case 54
+ .short _02068500 - _0206814E - 2; case 55
+ .short _02068500 - _0206814E - 2; case 56
+ .short _02068500 - _0206814E - 2; case 57
+ .short _020683AE - _0206814E - 2; case 58
+ .short _020683AE - _0206814E - 2; case 59
+ .short _020683AE - _0206814E - 2; case 60
+ .short _020683AE - _0206814E - 2; case 61
+ .short _020683EA - _0206814E - 2; case 62
+ .short _020683EA - _0206814E - 2; case 63
+ .short _020683EA - _0206814E - 2; case 64
+ .short _020683EA - _0206814E - 2; case 65
+ .short _02068504 - _0206814E - 2; case 66
+ .short _02068504 - _0206814E - 2; case 67
+ .short _02068504 - _0206814E - 2; case 68
+ .short _02068504 - _0206814E - 2; case 69
+ .short _02068404 - _0206814E - 2; case 70
+ .short _0206842E - _0206814E - 2; case 71
+ .short _02068458 - _0206814E - 2; case 72
+ .short _02068482 - _0206814E - 2; case 73
+ .short _020684AC - _0206814E - 2; case 74
+ .short _020684D6 - _0206814E - 2; case 75
+ .short _02068500 - _0206814E - 2; case 76
+ .short _02068500 - _0206814E - 2; case 77
+ .short _02068500 - _0206814E - 2; case 78
+ .short _02068500 - _0206814E - 2; case 79
+ .short _02068500 - _0206814E - 2; case 80
+ .short _02068500 - _0206814E - 2; case 81
+ .short _02068500 - _0206814E - 2; case 82
+ .short _02068500 - _0206814E - 2; case 83
+ .short _02068500 - _0206814E - 2; case 84
+ .short _02068500 - _0206814E - 2; case 85
+ .short _02068500 - _0206814E - 2; case 86
+ .short _02068500 - _0206814E - 2; case 87
+ .short _02068500 - _0206814E - 2; case 88
+ .short _02068500 - _0206814E - 2; case 89
+ .short _02068500 - _0206814E - 2; case 90
+ .short _02068500 - _0206814E - 2; case 91
+ .short _02068500 - _0206814E - 2; case 92
+ .short _02068500 - _0206814E - 2; case 93
+ .short _02068500 - _0206814E - 2; case 94
+ .short _02068500 - _0206814E - 2; case 95
+ .short _02068500 - _0206814E - 2; case 96
+ .short _02068500 - _0206814E - 2; case 97
+ .short _02068500 - _0206814E - 2; case 98
+ .short _02068500 - _0206814E - 2; case 99
+ .short _02068500 - _0206814E - 2; case 100
+ .short _02068500 - _0206814E - 2; case 101
+ .short _02068500 - _0206814E - 2; case 102
+ .short _02068500 - _0206814E - 2; case 103
+ .short _02068500 - _0206814E - 2; case 104
+ .short _02068500 - _0206814E - 2; case 105
+ .short _02068500 - _0206814E - 2; case 106
+ .short _02068500 - _0206814E - 2; case 107
+ .short _02068500 - _0206814E - 2; case 108
+ .short _02068500 - _0206814E - 2; case 109
+ .short _02068500 - _0206814E - 2; case 110
+ .short _02068500 - _0206814E - 2; case 111
+ .short _02068500 - _0206814E - 2; case 112
+ .short _02068500 - _0206814E - 2; case 113
+ .short _02068500 - _0206814E - 2; case 114
+ .short _02068500 - _0206814E - 2; case 115
+ .short _02068500 - _0206814E - 2; case 116
+ .short _02068500 - _0206814E - 2; case 117
+ .short _02068500 - _0206814E - 2; case 118
+ .short _02068500 - _0206814E - 2; case 119
+ .short _02068500 - _0206814E - 2; case 120
+ .short _02068500 - _0206814E - 2; case 121
+ .short _02068500 - _0206814E - 2; case 122
+ .short _02068500 - _0206814E - 2; case 123
+ .short _02068500 - _0206814E - 2; case 124
+ .short _02068500 - _0206814E - 2; case 125
+ .short _02068500 - _0206814E - 2; case 126
+ .short _02068500 - _0206814E - 2; case 127
+ .short _02068500 - _0206814E - 2; case 128
+ .short _02068500 - _0206814E - 2; case 129
+ .short _02068500 - _0206814E - 2; case 130
+ .short _02068500 - _0206814E - 2; case 131
+ .short _02068500 - _0206814E - 2; case 132
+ .short _02068500 - _0206814E - 2; case 133
+ .short _02068500 - _0206814E - 2; case 134
+ .short _02068500 - _0206814E - 2; case 135
+ .short _02068500 - _0206814E - 2; case 136
+ .short _02068500 - _0206814E - 2; case 137
+ .short _02068500 - _0206814E - 2; case 138
+ .short _02068500 - _0206814E - 2; case 139
+ .short _02068500 - _0206814E - 2; case 140
+ .short _02068500 - _0206814E - 2; case 141
+ .short _02068500 - _0206814E - 2; case 142
+ .short _02068500 - _0206814E - 2; case 143
+ .short _02068500 - _0206814E - 2; case 144
+ .short _02068500 - _0206814E - 2; case 145
+ .short _02068500 - _0206814E - 2; case 146
+ .short _02068500 - _0206814E - 2; case 147
+ .short _02068500 - _0206814E - 2; case 148
+ .short _02068500 - _0206814E - 2; case 149
+ .short _02068500 - _0206814E - 2; case 150
+ .short _02068500 - _0206814E - 2; case 151
+ .short _02068500 - _0206814E - 2; case 152
+ .short _02068500 - _0206814E - 2; case 153
+ .short _02068500 - _0206814E - 2; case 154
+ .short _02068500 - _0206814E - 2; case 155
+ .short _02068500 - _0206814E - 2; case 156
+ .short _02068500 - _0206814E - 2; case 157
+ .short _02068500 - _0206814E - 2; case 158
+ .short _02068500 - _0206814E - 2; case 159
+ .short _02068500 - _0206814E - 2; case 160
+ .short _02068500 - _0206814E - 2; case 161
+ .short _02068500 - _0206814E - 2; case 162
+ .short _02068500 - _0206814E - 2; case 163
+ .short _02068500 - _0206814E - 2; case 164
+ .short _02068500 - _0206814E - 2; case 165
+ .short _02068500 - _0206814E - 2; case 166
+ .short _02068500 - _0206814E - 2; case 167
+ .short _02068500 - _0206814E - 2; case 168
+ .short _02068500 - _0206814E - 2; case 169
+ .short _02068500 - _0206814E - 2; case 170
+ .short _02068500 - _0206814E - 2; case 171
+ .short _02068500 - _0206814E - 2; case 172
+ .short _02068500 - _0206814E - 2; case 173
+ .short _02068500 - _0206814E - 2; case 174
+ .short _02068500 - _0206814E - 2; case 175
+ .short _02068500 - _0206814E - 2; case 176
+ .short _02068500 - _0206814E - 2; case 177
+ .short _02068500 - _0206814E - 2; case 178
+_020682B4:
+ ldrh r0, [r4, #0x0]
+ mov r1, #0x64
+ bl FUN_02068758
+ ldr r1, [r4, #0x8]
+ add r1, r1, r6
+ cmp r1, r0
+ bls _020682D2
+ ldrh r0, [r4, #0x0]
+ mov r1, #0x64
+ bl FUN_02068758
+ add sp, #0xc
+ str r0, [r4, #0x8]
+ pop {r4-r7, pc}
+_020682D2:
+ add sp, #0xc
+ str r1, [r4, #0x8]
+ pop {r4-r7, pc}
+_020682D8:
+ ldrb r0, [r4, #0xc]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _020682E8
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0xc]
+ pop {r4-r7, pc}
+_020682E8:
+ add sp, #0xc
+ strb r0, [r4, #0xc]
+ pop {r4-r7, pc}
+_020682EE:
+ ldrb r0, [r4, #0x10]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x10]
+ pop {r4-r7, pc}
+_020682F8:
+ ldrb r0, [r4, #0x11]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x11]
+ pop {r4-r7, pc}
+_02068302:
+ ldrb r0, [r4, #0x12]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x12]
+ pop {r4-r7, pc}
+_0206830C:
+ ldrb r0, [r4, #0x13]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x13]
+ pop {r4-r7, pc}
+_02068316:
+ ldrb r0, [r4, #0x14]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x14]
+ pop {r4-r7, pc}
+_02068320:
+ ldrb r0, [r4, #0x15]
+ add sp, #0xc
+ add r0, r0, r6
+ strb r0, [r4, #0x15]
+ pop {r4-r7, pc}
+_0206832A:
+ ldrb r0, [r4, #0x16]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _0206833A
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x16]
+ pop {r4-r7, pc}
+_0206833A:
+ add sp, #0xc
+ strb r0, [r4, #0x16]
+ pop {r4-r7, pc}
+_02068340:
+ ldrb r0, [r4, #0x17]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068350
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x17]
+ pop {r4-r7, pc}
+_02068350:
+ add sp, #0xc
+ strb r0, [r4, #0x17]
+ pop {r4-r7, pc}
+_02068356:
+ ldrb r0, [r4, #0x18]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068366
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x18]
+ pop {r4-r7, pc}
+_02068366:
+ add sp, #0xc
+ strb r0, [r4, #0x18]
+ pop {r4-r7, pc}
+_0206836C:
+ ldrb r0, [r4, #0x19]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _0206837C
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x19]
+ pop {r4-r7, pc}
+_0206837C:
+ add sp, #0xc
+ strb r0, [r4, #0x19]
+ pop {r4-r7, pc}
+_02068382:
+ ldrb r0, [r4, #0x1a]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _02068392
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x1a]
+ pop {r4-r7, pc}
+_02068392:
+ add sp, #0xc
+ strb r0, [r4, #0x1a]
+ pop {r4-r7, pc}
+_02068398:
+ ldrb r0, [r4, #0x1b]
+ add r0, r0, r6
+ cmp r0, #0xff
+ ble _020683A8
+ mov r0, #0xff
+ add sp, #0xc
+ strb r0, [r4, #0x1b]
+ pop {r4-r7, pc}
+_020683A8:
+ add sp, #0xc
+ strb r0, [r4, #0x1b]
+ pop {r4-r7, pc}
+_020683AE:
+ add r0, r5, #0x0
+ str r0, [sp, #0x4]
+ add r0, #0xc
+ str r0, [sp, #0x4]
+ sub r7, #0x3a
+ ldr r1, [sp, #0x4]
+ lsl r0, r7, #0x1
+ str r0, [sp, #0x8]
+ add r4, r5, #0x0
+ ldrh r0, [r5, r0]
+ ldrb r1, [r1, r7]
+ add r4, #0x8
+ bl FUN_0206AB30
+ ldrb r1, [r4, r7]
+ add r1, r6, r1
+ cmp r1, r0
+ ble _020683E4
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ ldrh r0, [r5, r0]
+ ldrb r1, [r1, r7]
+ bl FUN_0206AB30
+ add sp, #0xc
+ strb r0, [r4, r7]
+ pop {r4-r7, pc}
+_020683E4:
+ add sp, #0xc
+ strb r1, [r4, r7]
+ pop {r4-r7, pc}
+_020683EA:
+ add r5, #0xc
+ sub r7, #0x3e
+ ldrb r0, [r5, r7]
+ add r0, r6, r0
+ cmp r0, #0x3
+ ble _020683FE
+ mov r0, #0x3
+ add sp, #0xc
+ strb r0, [r5, r7]
+ pop {r4-r7, pc}
+_020683FE:
+ add sp, #0xc
+ strb r0, [r5, r7]
+ pop {r4-r7, pc}
+_02068404:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x1b
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ bls _0206841E
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #0x1f
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206841E:
+ mov r0, #0x1f
+ bic r1, r0
+ mov r0, #0x1f
+ and r0, r2
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206842E:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x16
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068508 ; =0xFFFFFC1F
+ bls _0206844A
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0x4
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206844A:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x16
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068458:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x11
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _0206850C ; =0xFFFF83FF
+ bls _02068474
+ and r1, r0
+ mov r0, #0x1f
+ lsl r0, r0, #0xa
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068474:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x11
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068482:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0xc
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068510 ; =0xFFF07FFF
+ bls _0206849E
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0xe
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_0206849E:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0xc
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684AC:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x7
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068514 ; =0xFE0FFFFF
+ bls _020684C8
+ and r1, r0
+ mov r0, #0x1f
+ lsl r0, r0, #0x14
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684C8:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x7
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684D6:
+ ldr r1, [r5, #0x10]
+ lsl r0, r1, #0x2
+ lsr r0, r0, #0x1b
+ add r2, r0, r6
+ cmp r2, #0x1f
+ ldr r0, _02068518 ; =0xC1FFFFFF
+ bls _020684F2
+ and r1, r0
+ mov r0, #0x3e
+ lsl r0, r0, #0x18
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_020684F2:
+ and r1, r0
+ lsl r0, r2, #0x1b
+ lsr r0, r0, #0x2
+ orr r0, r1
+ add sp, #0xc
+ str r0, [r5, #0x10]
+ pop {r4-r7, pc}
+_02068500:
+ bl ErrorHandling
+_02068504:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02068508: .word 0xFFFFFC1F
+_0206850C: .word 0xFFFF83FF
+_02068510: .word 0xFFF07FFF
+_02068514: .word 0xFE0FFFFF
+_02068518: .word 0xC1FFFFFF
+
+ thumb_func_start FUN_0206851C
+FUN_0206851C: ; 0x0206851C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206A370
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068538
+FUN_02068538: ; 0x02068538
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ add r6, r1, #0x0
+ cmp r4, #0x0
+ bne _02068546
+ bl ErrorHandling
+_02068546:
+ cmp r6, #0x20
+ bhi _0206863A
+ add r0, r6, r6
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02068556: ; jump table (using 16-bit offset)
+ .short _02068598 - _02068556 - 2; case 0
+ .short _0206859C - _02068556 - 2; case 1
+ .short _020685A0 - _02068556 - 2; case 2
+ .short _020685A4 - _02068556 - 2; case 3
+ .short _020685A8 - _02068556 - 2; case 4
+ .short _020685AC - _02068556 - 2; case 5
+ .short _020685B0 - _02068556 - 2; case 6
+ .short _020685B4 - _02068556 - 2; case 7
+ .short _020685B8 - _02068556 - 2; case 8
+ .short _020685BC - _02068556 - 2; case 9
+ .short _020685C0 - _02068556 - 2; case 10
+ .short _020685C8 - _02068556 - 2; case 11
+ .short _020685D0 - _02068556 - 2; case 12
+ .short _020685D8 - _02068556 - 2; case 13
+ .short _020685E0 - _02068556 - 2; case 14
+ .short _020685E8 - _02068556 - 2; case 15
+ .short _020685F0 - _02068556 - 2; case 16
+ .short _020685F4 - _02068556 - 2; case 17
+ .short _020685F8 - _02068556 - 2; case 18
+ .short _020685FC - _02068556 - 2; case 19
+ .short _02068600 - _02068556 - 2; case 20
+ .short _02068604 - _02068556 - 2; case 21
+ .short _02068608 - _02068556 - 2; case 22
+ .short _0206860C - _02068556 - 2; case 23
+ .short _02068610 - _02068556 - 2; case 24
+ .short _02068614 - _02068556 - 2; case 25
+ .short _02068618 - _02068556 - 2; case 26
+ .short _0206861C - _02068556 - 2; case 27
+ .short _02068624 - _02068556 - 2; case 28
+ .short _0206862C - _02068556 - 2; case 29
+ .short _02068630 - _02068556 - 2; case 30
+ .short _02068634 - _02068556 - 2; case 31
+ .short _02068638 - _02068556 - 2; case 32
+_02068598:
+ ldrb r5, [r4, #0x0]
+ b _0206863A
+_0206859C:
+ ldrb r5, [r4, #0x1]
+ b _0206863A
+_020685A0:
+ ldrb r5, [r4, #0x2]
+ b _0206863A
+_020685A4:
+ ldrb r5, [r4, #0x3]
+ b _0206863A
+_020685A8:
+ ldrb r5, [r4, #0x4]
+ b _0206863A
+_020685AC:
+ ldrb r5, [r4, #0x5]
+ b _0206863A
+_020685B0:
+ ldrb r5, [r4, #0x6]
+ b _0206863A
+_020685B4:
+ ldrb r5, [r4, #0x7]
+ b _0206863A
+_020685B8:
+ ldrb r5, [r4, #0x8]
+ b _0206863A
+_020685BC:
+ ldrb r5, [r4, #0x9]
+ b _0206863A
+_020685C0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1e
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685C8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1c
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685D0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x1a
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685D8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685E0:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x16
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685E8:
+ ldrh r0, [r4, #0xa]
+ lsl r0, r0, #0x14
+ lsr r5, r0, #0x1e
+ b _0206863A
+_020685F0:
+ ldrh r5, [r4, #0xc]
+ b _0206863A
+_020685F4:
+ ldrh r5, [r4, #0xe]
+ b _0206863A
+_020685F8:
+ ldrb r5, [r4, #0x10]
+ b _0206863A
+_020685FC:
+ ldrb r5, [r4, #0x11]
+ b _0206863A
+_02068600:
+ ldrb r5, [r4, #0x12]
+ b _0206863A
+_02068604:
+ ldrb r5, [r4, #0x13]
+ b _0206863A
+_02068608:
+ ldrb r5, [r4, #0x14]
+ b _0206863A
+_0206860C:
+ ldrb r5, [r4, #0x15]
+ b _0206863A
+_02068610:
+ ldrb r5, [r4, #0x16]
+ b _0206863A
+_02068614:
+ ldrb r5, [r4, #0x17]
+ b _0206863A
+_02068618:
+ ldrb r5, [r4, #0x18]
+ b _0206863A
+_0206861C:
+ ldrb r0, [r4, #0x19]
+ lsl r0, r0, #0x19
+ lsr r5, r0, #0x19
+ b _0206863A
+_02068624:
+ ldrb r0, [r4, #0x19]
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x1f
+ b _0206863A
+_0206862C:
+ ldr r5, [r4, #0x1c]
+ b _0206863A
+_02068630:
+ ldr r5, [r4, #0x20]
+ b _0206863A
+_02068634:
+ ldr r5, [r4, #0x24]
+ b _0206863A
+_02068638:
+ ldr r5, [r4, #0x28]
+_0206863A:
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068640
+FUN_02068640: ; 0x02068640
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _0206864A
+ bl ErrorHandling
+_0206864A:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068654
+FUN_02068654: ; 0x02068654
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ bl FUN_0206A8FC
+ mov r1, #0x0
+ bl FUN_0206851C
+ add r5, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_02068538
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02068640
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068678
+FUN_02068678: ; 0x02068678
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ bl FUN_0206851C
+ add r5, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_02068538
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02068640
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068698
+FUN_02068698: ; 0x02068698
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_020669D4
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_02068758
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r7, #0x1
+ bl FUN_02068758
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02066A20
+ sub r1, r7, r4
+ mov r0, #0x64
+ mul r0, r1
+ sub r1, r6, r4
+ bl _u32_div_f
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020686F8
+FUN_020686F8: ; 0x020686F8
+ ldr r3, _020686FC ; =FUN_02068700
+ bx r3
+ .balign 4
+_020686FC: .word FUN_02068700
+
+ thumb_func_start FUN_02068700
+FUN_02068700: ; 0x02068700
+ push {r4-r6, lr}
+ mov r1, #0x5
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r4, #0x0
+ bl FUN_020687C8
+ add r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02068758
+ sub r0, r0, r4
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02068734
+FUN_02068734: ; 0x02068734
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02068758
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068758
+FUN_02068758: ; 0x02068758
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x15
+ bl FUN_02068678
+ add r1, r4, #0x0
+ bl FUN_02068788
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206876C
+FUN_0206876C: ; 0x0206876C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x8
+ blt _0206877A
+ bl ErrorHandling
+_0206877A:
+ add r0, r4, #0x0
+ mov r1, #0x3
+ add r2, r5, #0x0
+ bl LoadFromNARC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068788
+FUN_02068788: ; 0x02068788
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ cmp r6, #0x8
+ blt _02068796
+ bl ErrorHandling
+_02068796:
+ cmp r5, #0x65
+ ble _0206879E
+ bl ErrorHandling
+_0206879E:
+ mov r1, #0x65
+ mov r0, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206876C
+ lsl r0, r5, #0x2
+ ldr r5, [r4, r0]
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020687C0
+FUN_020687C0: ; 0x020687C0
+ ldr r3, _020687C4 ; =FUN_020687C8
+ bx r3
+ .balign 4
+_020687C4: .word FUN_020687C8
+
+ thumb_func_start FUN_020687C8
+FUN_020687C8: ; 0x020687C8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02066A94
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ add r1, r7, #0x0
+ bl FUN_02068800
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068800
+FUN_02068800: ; 0x02068800
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0206851C
+ add r6, r0, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02068824
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02068640
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068824
+FUN_02068824: ; 0x02068824
+ push {r4, lr}
+ mov r1, #0x15
+ add r4, r2, #0x0
+ bl FUN_02068538
+ ldr r1, _0206884C ; =0x021C5AC0
+ bl FUN_0206876C
+ ldr r2, _02068850 ; =0x021C5AC4
+ mov r1, #0x1
+_02068838:
+ ldr r0, [r2, #0x0]
+ cmp r0, r4
+ bhi _02068846
+ add r1, r1, #0x1
+ add r2, r2, #0x4
+ cmp r1, #0x65
+ blt _02068838
+_02068846:
+ sub r0, r1, #0x1
+ pop {r4, pc}
+ nop
+_0206884C: .word 0x021C5AC0
+_02068850: .word 0x021C5AC4
+
+ thumb_func_start FUN_02068854
+FUN_02068854: ; 0x02068854
+ ldr r3, _02068858 ; =FUN_0206885C
+ bx r3
+ .balign 4
+_02068858: .word FUN_0206885C
+
+ thumb_func_start FUN_0206885C
+FUN_0206885C: ; 0x0206885C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ mov r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02066A94
+ add r0, r6, #0x0
+ bl FUN_02068884
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068884
+FUN_02068884: ; 0x02068884
+ push {r3, lr}
+ mov r1, #0x19
+ bl _u32_div_f
+ lsl r0, r1, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068894
+FUN_02068894: ; 0x02068894
+ push {r3, lr}
+ cmp r2, #0x1
+ blo _0206889E
+ cmp r2, #0x5
+ bls _020688A2
+_0206889E:
+ add r0, r1, #0x0
+ pop {r3, pc}
+_020688A2:
+ lsl r3, r0, #0x2
+ add r3, r0, r3
+ ldr r0, _020688E4 ; =0x020F7F93
+ sub r2, r2, #0x1
+ add r0, r0, r3
+ ldrsb r2, [r2, r0]
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r2, r0
+ beq _020688CE
+ cmp r2, #0x1
+ bne _020688E0
+ mov r0, #0x6e
+ mul r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x64
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ b _020688E0
+_020688CE:
+ mov r0, #0x5a
+ mul r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x64
+ bl _s32_div_f
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+_020688E0:
+ add r0, r1, #0x0
+ pop {r3, pc}
+ .balign 4
+_020688E4: .word 0x020F7F93
+
+ thumb_func_start FUN_020688E8
+FUN_020688E8: ; 0x020688E8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ str r2, [sp, #0x0]
+ cmp r6, #0x5
+ bne _02068900
+ bl rand_LC
+ mov r1, #0x1
+ tst r0, r1
+ bne _020689D4
+_02068900:
+ add r0, r5, #0x0
+ mov r1, #0xad
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ beq _020689D4
+ ldr r0, _020689D8 ; =0x000001EE
+ cmp r1, r0
+ beq _020689D4
+ add r0, r5, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x18
+ mov r4, #0x0
+ lsr r7, r0, #0x18
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, r4, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x4
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ ldrsh r1, [r1, r0]
+ cmp r1, #0x64
+ blt _0206894E
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_0206894E:
+ cmp r1, #0xc8
+ blt _02068958
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02068958:
+ lsl r0, r6, #0x1
+ add r1, r6, r0
+ ldr r0, _020689DC ; =0x020F7ED4
+ add r0, r0, r1
+ ldrsb r4, [r4, r0]
+ cmp r4, #0x0
+ ble _0206897A
+ add r0, r5, #0x0
+ mov r1, #0x9a
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0xb
+ bne _0206897A
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+_0206897A:
+ cmp r4, #0x0
+ ble _02068994
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x0]
+ cmp r1, r0
+ bne _02068994
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+_02068994:
+ cmp r4, #0x0
+ ble _020689AA
+ cmp r7, #0x34
+ bne _020689AA
+ mov r0, #0x96
+ mul r0, r4
+ mov r1, #0x64
+ bl _s32_div_f
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+_020689AA:
+ add r0, sp, #0x4
+ mov r1, #0x0
+ ldrsh r2, [r0, r1]
+ add r2, r2, r4
+ strh r2, [r0, #0x0]
+ ldrsh r2, [r0, r1]
+ cmp r2, #0x0
+ bge _020689BC
+ strh r1, [r0, #0x0]
+_020689BC:
+ add r1, sp, #0x4
+ mov r0, #0x0
+ ldrsh r0, [r1, r0]
+ cmp r0, #0xff
+ ble _020689CA
+ mov r0, #0xff
+ strh r0, [r1, #0x0]
+_020689CA:
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x4
+ bl FUN_02067830
+_020689D4:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020689D8: .word 0x000001EE
+_020689DC: .word 0x020F7ED4
+
+ thumb_func_start FUN_020689E0
+FUN_020689E0: ; 0x020689E0
+ ldr r3, _020689E4 ; =FUN_020689E8
+ bx r3
+ .balign 4
+_020689E4: .word FUN_020689E8
+
+ thumb_func_start FUN_020689E8
+FUN_020689E8: ; 0x020689E8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ mov r1, #0x0
+ lsr r4, r0, #0x10
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02066A94
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_02068A20
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068A20
+FUN_02068A20: ; 0x02068A20
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ mov r1, #0x0
+ bl FUN_0206851C
+ add r6, r0, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02068A44
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02068640
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068A44
+FUN_02068A44: ; 0x02068A44
+ push {r4, lr}
+ mov r1, #0x12
+ add r4, r2, #0x0
+ bl FUN_02068538
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ beq _02068A5E
+ cmp r1, #0xfe
+ beq _02068A62
+ cmp r1, #0xff
+ beq _02068A66
+ b _02068A6A
+_02068A5E:
+ mov r0, #0x0
+ pop {r4, pc}
+_02068A62:
+ mov r0, #0x1
+ pop {r4, pc}
+_02068A66:
+ mov r0, #0x2
+ pop {r4, pc}
+_02068A6A:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ cmp r1, r0
+ bls _02068A76
+ mov r0, #0x1
+ b _02068A78
+_02068A76:
+ mov r0, #0x0
+_02068A78:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068A80
+FUN_02068A80: ; 0x02068A80
+ ldr r3, _02068A84 ; =FUN_02068A88
+ bx r3
+ .balign 4
+_02068A84: .word FUN_02068A88
+
+ thumb_func_start FUN_02068A88
+FUN_02068A88: ; 0x02068A88
+ push {r3-r5, lr}
+ mov r1, #0x7
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020672BC
+ mov r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02068AAC
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02068AAC
+FUN_02068AAC: ; 0x02068AAC
+ ldr r3, _02068AD4 ; =0xFFFF0000
+ lsl r2, r1, #0x10
+ and r1, r3
+ and r3, r0
+ lsl r0, r0, #0x10
+ lsr r3, r3, #0x10
+ lsr r0, r0, #0x10
+ lsr r1, r1, #0x10
+ eor r0, r3
+ lsr r2, r2, #0x10
+ eor r0, r1
+ eor r0, r2
+ cmp r0, #0x8
+ bhs _02068ACC
+ mov r0, #0x1
+ b _02068ACE
+_02068ACC:
+ mov r0, #0x0
+_02068ACE:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+ .balign 4
+_02068AD4: .word 0xFFFF0000
+
+ thumb_func_start FUN_02068AD8
+FUN_02068AD8: ; 0x02068AD8
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, _02068B64 ; =0xFFFF0000
+ and r0, r7
+ lsr r1, r0, #0x10
+ lsl r0, r7, #0x10
+ lsr r0, r0, #0x10
+ eor r0, r1
+ lsr r7, r0, #0x3
+ bl rand_LC
+ mov r1, #0x7
+ and r0, r1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ bl rand_LC
+ mov r1, #0x7
+ and r0, r1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ mov r4, #0x0
+_02068B04:
+ add r0, r4, #0x0
+ bl FUN_0206A92C
+ tst r0, r7
+ beq _02068B34
+ bl rand_LC
+ mov r1, #0x1
+ tst r0, r1
+ beq _02068B26
+ add r0, r4, #0x3
+ bl FUN_0206A92C
+ orr r0, r6
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ b _02068B56
+_02068B26:
+ add r0, r4, #0x3
+ bl FUN_0206A92C
+ orr r0, r5
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ b _02068B56
+_02068B34:
+ bl rand_LC
+ mov r1, #0x1
+ tst r0, r1
+ beq _02068B56
+ add r0, r4, #0x3
+ bl FUN_0206A92C
+ orr r0, r6
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r4, #0x3
+ bl FUN_0206A92C
+ orr r0, r5
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_02068B56:
+ add r4, r4, #0x1
+ cmp r4, #0xd
+ blt _02068B04
+ lsl r0, r5, #0x10
+ orr r0, r6
+ pop {r3-r7, pc}
+ nop
+_02068B64: .word 0xFFFF0000
+
+ thumb_func_start FUN_02068B68
+FUN_02068B68: ; 0x02068B68
+ ldr r3, _02068B6C ; =FUN_02068B70
+ bx r3
+ .balign 4
+_02068B6C: .word FUN_02068B70
+
+ thumb_func_start FUN_02068B70
+FUN_02068B70: ; 0x02068B70
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r5, r1, #0x0
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ str r2, [sp, #0x10]
+ bl FUN_02066A6C
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0xad
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r5, #0x0
+ bl FUN_020689E8
+ str r0, [sp, #0x14]
+ add r0, r5, #0x0
+ bl FUN_02068A88
+ mov r1, #0x0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ ldr r0, _02068BF8 ; =0x000001EE
+ cmp r4, r0
+ bne _02068BCA
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ ldr r1, _02068BFC ; =0x000001EA
+ cmp r0, r1
+ bne _02068BC6
+ mov r0, #0x1
+ b _02068BD8
+_02068BC6:
+ mov r0, #0x0
+ b _02068BD8
+_02068BCA:
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+_02068BD8:
+ str r7, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r6, [sp, #0x8]
+ ldr r0, [sp, #0xc]
+ ldr r2, [sp, #0x14]
+ ldr r3, [sp, #0x10]
+ add r1, r4, #0x0
+ bl FUN_02068C00
+ ldr r1, [sp, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02066A94
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ nop
+_02068BF8: .word 0x000001EE
+_02068BFC: .word 0x000001EA
+
+ thumb_func_start FUN_02068C00
+FUN_02068C00: ; 0x02068C00
+ push {r4-r7}
+ add r7, r2, #0x0
+ add r5, r3, #0x0
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ ldr r3, [sp, #0x10]
+ ldr r2, [sp, #0x14]
+ mov r1, #0x0
+ strh r1, [r4, #0x6]
+ strb r1, [r4, #0x8]
+ str r1, [r4, #0xc]
+ ldr r1, _02068E0C ; =0x000001A5
+ cmp r0, r1
+ bgt _02068C68
+ bge _02068D1E
+ add r6, r1, #0x0
+ sub r6, #0x46
+ cmp r0, r6
+ bgt _02068C36
+ sub r1, #0x46
+ cmp r0, r1
+ blt _02068C2E
+ b _02068D58
+_02068C2E:
+ cmp r0, #0xc9
+ bne _02068C34
+ b _02068D90
+_02068C34:
+ b _02068DD4
+_02068C36:
+ add r6, r1, #0x0
+ sub r6, #0x23
+ cmp r0, r6
+ bgt _02068C48
+ sub r1, #0x23
+ cmp r0, r1
+ bne _02068C46
+ b _02068D76
+_02068C46:
+ b _02068DD4
+_02068C48:
+ add r6, r1, #0x0
+ sub r6, #0x8
+ cmp r0, r6
+ bgt _02068C66
+ add r6, r1, #0x0
+ sub r6, #0x9
+ cmp r0, r6
+ blt _02068C66
+ add r6, r1, #0x0
+ sub r6, #0x9
+ cmp r0, r6
+ beq _02068CAA
+ sub r1, #0x8
+ cmp r0, r1
+ beq _02068CC8
+_02068C66:
+ b _02068DD4
+_02068C68:
+ add r6, r1, #0x0
+ add r6, #0x48
+ cmp r0, r6
+ bgt _02068C8E
+ add r6, r1, #0x0
+ add r6, #0x48
+ cmp r0, r6
+ bge _02068D3A
+ add r6, r1, #0x2
+ cmp r0, r6
+ bgt _02068C8C
+ add r6, r1, #0x1
+ cmp r0, r6
+ blt _02068C8C
+ beq _02068CE6
+ add r1, r1, #0x2
+ cmp r0, r1
+ beq _02068D02
+_02068C8C:
+ b _02068DD4
+_02068C8E:
+ add r6, r1, #0x0
+ add r6, #0x49
+ cmp r0, r6
+ bgt _02068CA0
+ add r1, #0x49
+ cmp r0, r1
+ bne _02068C9E
+ b _02068DAC
+_02068C9E:
+ b _02068DD4
+_02068CA0:
+ add r1, #0x4a
+ cmp r0, r1
+ bne _02068CA8
+ b _02068DC4
+_02068CA8:
+ b _02068DD4
+_02068CAA:
+ cmp r2, #0x2
+ bls _02068CB0
+ mov r2, #0x0
+_02068CB0:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ lsr r0, r5, #0x1
+ lsl r1, r2, #0x1
+ add r0, #0x48
+ add r0, r0, r1
+ add r3, #0x92
+ strh r0, [r4, #0x2]
+ add r0, r3, r1
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068CC8:
+ cmp r2, #0x2
+ bls _02068CCE
+ mov r2, #0x0
+_02068CCE:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ lsr r0, r5, #0x1
+ lsl r1, r2, #0x1
+ add r0, #0x4e
+ add r0, r0, r1
+ add r3, #0x98
+ strh r0, [r4, #0x2]
+ add r0, r3, r1
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068CE6:
+ cmp r2, #0x1
+ bls _02068CEC
+ mov r2, #0x0
+_02068CEC:
+ mov r0, #0x75
+ add r5, #0x54
+ strh r0, [r4, #0x0]
+ add r0, r5, r2
+ strh r0, [r4, #0x2]
+ add r3, #0x9e
+ lsl r0, r2, #0x1
+ add r0, r3, r0
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D02:
+ cmp r2, #0x1
+ bls _02068D08
+ mov r2, #0x0
+_02068D08:
+ mov r0, #0x75
+ add r5, #0x58
+ strh r0, [r4, #0x0]
+ add r0, r5, r2
+ strh r0, [r4, #0x2]
+ add r3, #0xa2
+ lsl r0, r2, #0x1
+ add r0, r3, r0
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D1E:
+ cmp r2, #0x1
+ bls _02068D24
+ mov r2, #0x0
+_02068D24:
+ mov r0, #0x75
+ add r5, #0x5c
+ strh r0, [r4, #0x0]
+ add r0, r5, r2
+ strh r0, [r4, #0x2]
+ lsl r0, r3, #0x1
+ add r0, #0xa6
+ add r0, r2, r0
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D3A:
+ cmp r2, #0x11
+ bls _02068D40
+ mov r2, #0x0
+_02068D40:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ lsr r0, r5, #0x1
+ lsl r1, r2, #0x1
+ add r0, #0x60
+ add r0, r0, r1
+ add r3, #0xaa
+ strh r0, [r4, #0x2]
+ add r0, r3, r1
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D58:
+ cmp r2, #0x3
+ bls _02068D5E
+ mov r2, #0x0
+_02068D5E:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ lsl r0, r5, #0x1
+ add r0, #0x40
+ add r0, r2, r0
+ strh r0, [r4, #0x2]
+ lsl r0, r3, #0x2
+ add r0, #0x8a
+ add r0, r2, r0
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D76:
+ cmp r2, #0x3
+ bls _02068D7C
+ mov r2, #0x0
+_02068D7C:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ lsr r1, r5, #0x1
+ lsl r0, r2, #0x1
+ add r0, r1, r0
+ strh r0, [r4, #0x2]
+ add r3, #0x86
+ strh r3, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068D90:
+ cmp r2, #0x1c
+ blo _02068D96
+ mov r2, #0x0
+_02068D96:
+ mov r0, #0x75
+ lsr r1, r5, #0x1
+ strh r0, [r4, #0x0]
+ add r1, #0x8
+ lsl r0, r2, #0x1
+ add r0, r1, r0
+ strh r0, [r4, #0x2]
+ add r3, #0x88
+ strh r3, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068DAC:
+ cmp r2, #0x1
+ bls _02068DB2
+ mov r2, #0x0
+_02068DB2:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ add r0, r2, #0x0
+ add r0, #0x84
+ strh r0, [r4, #0x2]
+ add r2, #0xce
+ strh r2, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068DC4:
+ mov r0, #0x75
+ strh r0, [r4, #0x0]
+ mov r0, #0x84
+ strh r0, [r4, #0x2]
+ mov r0, #0xce
+ strh r0, [r4, #0x4]
+ pop {r4-r7}
+ bx lr
+_02068DD4:
+ mov r1, #0x4
+ strh r1, [r4, #0x0]
+ cmp r7, #0x1
+ beq _02068DE0
+ mov r2, #0x1
+ b _02068DE2
+_02068DE0:
+ mov r2, #0x0
+_02068DE2:
+ mov r1, #0x6
+ mul r1, r0
+ add r6, r5, r1
+ add r2, r6, r2
+ add r1, r1, #0x4
+ strh r2, [r4, #0x2]
+ add r1, r3, r1
+ strh r1, [r4, #0x4]
+ ldr r1, _02068E10 ; =0x00000147
+ cmp r0, r1
+ bne _02068E06
+ cmp r5, #0x2
+ bne _02068E06
+ strh r1, [r4, #0x6]
+ mov r0, #0x0
+ strb r0, [r4, #0x8]
+ ldr r0, [sp, #0x18]
+ str r0, [r4, #0xc]
+_02068E06:
+ pop {r4-r7}
+ bx lr
+ nop
+_02068E0C: .word 0x000001A5
+_02068E10: .word 0x00000147
+
+ thumb_func_start FUN_02068E14
+FUN_02068E14: ; 0x02068E14
+ ldr r3, _02068E18 ; =FUN_02068E1C
+ bx r3
+ .balign 4
+_02068E18: .word FUN_02068E1C
+
+ thumb_func_start FUN_02068E1C
+FUN_02068E1C: ; 0x02068E1C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r7, r1, #0x0
+ mov r1, #0xad
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r5, #0x0
+ bl FUN_020689E8
+ mov r1, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ ldr r0, _02068E80 ; =0x000001EE
+ cmp r4, r0
+ bne _02068E62
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ ldr r1, _02068E84 ; =0x000001EA
+ cmp r0, r1
+ bne _02068E5E
+ mov r3, #0x1
+ b _02068E70
+_02068E5E:
+ mov r3, #0x0
+ b _02068E70
+_02068E62:
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+_02068E70:
+ str r6, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add r0, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_02068E88
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02068E80: .word 0x000001EE
+_02068E84: .word 0x000001EA
+
+ thumb_func_start FUN_02068E88
+FUN_02068E88: ; 0x02068E88
+ push {r3-r5, lr}
+ ldr r4, _02068FDC ; =0x000001A5
+ cmp r0, r4
+ bgt _02068ED6
+ bge _02068F54
+ add r5, r4, #0x0
+ sub r5, #0x46
+ cmp r0, r5
+ bgt _02068EA6
+ sub r4, #0x46
+ cmp r0, r4
+ bge _02068F74
+ cmp r0, #0xc9
+ beq _02068F94
+ b _02068FB8
+_02068EA6:
+ add r5, r4, #0x0
+ sub r5, #0x23
+ cmp r0, r5
+ bgt _02068EB6
+ sub r4, #0x23
+ cmp r0, r4
+ beq _02068F84
+ b _02068FB8
+_02068EB6:
+ add r5, r4, #0x0
+ sub r5, #0x8
+ cmp r0, r5
+ bgt _02068FB8
+ add r5, r4, #0x0
+ sub r5, #0x9
+ cmp r0, r5
+ blt _02068FB8
+ add r5, r4, #0x0
+ sub r5, #0x9
+ cmp r0, r5
+ beq _02068F14
+ sub r4, #0x8
+ cmp r0, r4
+ beq _02068F26
+ b _02068FB8
+_02068ED6:
+ add r5, r4, #0x0
+ add r5, #0x48
+ cmp r0, r5
+ bgt _02068EFC
+ add r5, r4, #0x0
+ add r5, #0x48
+ cmp r0, r5
+ bge _02068F62
+ add r5, r4, #0x2
+ cmp r0, r5
+ bgt _02068FB8
+ add r5, r4, #0x1
+ cmp r0, r5
+ blt _02068FB8
+ beq _02068F38
+ add r4, r4, #0x2
+ cmp r0, r4
+ beq _02068F46
+ b _02068FB8
+_02068EFC:
+ add r5, r4, #0x0
+ add r5, #0x49
+ cmp r0, r5
+ bgt _02068F0C
+ add r4, #0x49
+ cmp r0, r4
+ beq _02068FA6
+ b _02068FB8
+_02068F0C:
+ add r4, #0x4a
+ cmp r0, r4
+ beq _02068FB2
+ b _02068FB8
+_02068F14:
+ cmp r3, #0x2
+ bls _02068F1A
+ mov r3, #0x0
+_02068F1A:
+ lsr r1, r2, #0x1
+ add r1, #0x48
+ lsl r0, r3, #0x1
+ mov r4, #0x79
+ add r3, r1, r0
+ b _02068FCA
+_02068F26:
+ cmp r3, #0x2
+ bls _02068F2C
+ mov r3, #0x0
+_02068F2C:
+ lsr r1, r2, #0x1
+ add r1, #0x4e
+ lsl r0, r3, #0x1
+ mov r4, #0x79
+ add r3, r1, r0
+ b _02068FCA
+_02068F38:
+ cmp r3, #0x1
+ bls _02068F3E
+ mov r3, #0x0
+_02068F3E:
+ add r2, #0x54
+ mov r4, #0x79
+ add r3, r2, r3
+ b _02068FCA
+_02068F46:
+ cmp r3, #0x1
+ bls _02068F4C
+ mov r3, #0x0
+_02068F4C:
+ add r2, #0x58
+ mov r4, #0x79
+ add r3, r2, r3
+ b _02068FCA
+_02068F54:
+ cmp r3, #0x1
+ bls _02068F5A
+ mov r3, #0x0
+_02068F5A:
+ add r2, #0x5c
+ mov r4, #0x79
+ add r3, r2, r3
+ b _02068FCA
+_02068F62:
+ cmp r3, #0x11
+ bls _02068F68
+ mov r3, #0x0
+_02068F68:
+ lsr r1, r2, #0x1
+ add r1, #0x60
+ lsl r0, r3, #0x1
+ mov r4, #0x79
+ add r3, r1, r0
+ b _02068FCA
+_02068F74:
+ cmp r3, #0x3
+ bls _02068F7A
+ mov r3, #0x0
+_02068F7A:
+ lsl r0, r2, #0x1
+ add r0, #0x40
+ mov r4, #0x79
+ add r3, r3, r0
+ b _02068FCA
+_02068F84:
+ cmp r3, #0x3
+ bls _02068F8A
+ mov r3, #0x0
+_02068F8A:
+ lsr r1, r2, #0x1
+ lsl r0, r3, #0x1
+ mov r4, #0x79
+ add r3, r1, r0
+ b _02068FCA
+_02068F94:
+ cmp r3, #0x1c
+ blo _02068F9A
+ mov r3, #0x0
+_02068F9A:
+ lsr r1, r2, #0x1
+ add r1, #0x8
+ lsl r0, r3, #0x1
+ mov r4, #0x79
+ add r3, r1, r0
+ b _02068FCA
+_02068FA6:
+ cmp r3, #0x1
+ bls _02068FAC
+ mov r3, #0x0
+_02068FAC:
+ mov r4, #0x79
+ add r3, #0x84
+ b _02068FCA
+_02068FB2:
+ mov r4, #0x79
+ mov r3, #0x84
+ b _02068FCA
+_02068FB8:
+ mov r4, #0x5
+ cmp r1, #0x1
+ beq _02068FC2
+ mov r1, #0x1
+ b _02068FC4
+_02068FC2:
+ mov r1, #0x0
+_02068FC4:
+ lsl r0, r0, #0x2
+ add r0, r2, r0
+ add r3, r0, r1
+_02068FCA:
+ add r0, sp, #0x0
+ add r1, r4, #0x0
+ add r2, r3, #0x0
+ bl LoadFromNARC
+ add r0, sp, #0x0
+ ldrb r0, [r0, #0x0]
+ pop {r3-r5, pc}
+ nop
+_02068FDC: .word 0x000001A5
+
+ thumb_func_start FUN_02068FE0
+FUN_02068FE0: ; 0x02068FE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r2, #0x2
+ bne _02068FEE
+ mov r0, #0x3c
+ strh r0, [r4, #0x0]
+ b _02068FFC
+_02068FEE:
+ mov r0, #0x6
+ strh r0, [r4, #0x0]
+ add r0, r1, #0x0
+ bl FUN_0206AA30
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+_02068FFC:
+ lsl r0, r1, #0x1
+ strh r0, [r4, #0x2]
+ add r0, r0, #0x1
+ strh r0, [r4, #0x4]
+ mov r0, #0x0
+ strh r0, [r4, #0x6]
+ strb r0, [r4, #0x8]
+ str r0, [r4, #0xc]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069010
+FUN_02069010: ; 0x02069010
+ push {r3-r5, lr}
+ sub sp, #0x20
+ add r5, r1, #0x0
+ mov r3, #0x1c
+ add r4, r0, #0x0
+ str r3, [sp, #0x0]
+ add r0, sp, #0x4
+ mov r1, #0x72
+ mov r2, #0x0
+ mul r3, r5
+ bl FUN_02006548
+ add r0, sp, #0xc
+ add r1, r4, #0x0
+ mov r2, #0x14
+ bl MI_CpuCopy8
+ add sp, #0x20
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069038
+FUN_02069038: ; 0x02069038
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r4, r0, #0x0
+ add r6, r2, #0x0
+ add r5, r3, #0x0
+ mov r3, #0x1c
+ add r0, sp, #0x8
+ add r7, r1, #0x0
+ str r3, [sp, #0x0]
+ add r0, #0x2
+ mov r1, #0x72
+ mov r2, #0x0
+ mul r3, r6
+ bl FUN_02006548
+ cmp r5, #0x2
+ bne _0206906C
+ add r1, sp, #0x4
+ mov r0, #0x6
+ ldrsb r0, [r1, r0]
+ strh r0, [r1, #0x0]
+ ldrb r0, [r1, #0x7]
+ strh r0, [r1, #0x2]
+ ldr r0, [sp, #0x44]
+ strb r0, [r1, #0x4]
+ b _02069096
+_0206906C:
+ ldr r0, [sp, #0x40]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02014C3C
+ add r5, r0, #0x0
+ cmp r5, #0x3
+ blt _02069080
+ bl ErrorHandling
+_02069080:
+ lsl r2, r5, #0x1
+ add r0, sp, #0xc
+ ldrsb r1, [r0, r2]
+ add r0, sp, #0x4
+ strh r1, [r0, #0x0]
+ add r1, sp, #0xc
+ add r1, #0x1
+ ldrb r1, [r1, r2]
+ strh r1, [r0, #0x2]
+ ldr r1, [sp, #0x44]
+ strb r1, [r0, #0x4]
+_02069096:
+ ldr r3, [sp, #0x48]
+ add r0, r4, #0x0
+ lsl r3, r3, #0x18
+ add r1, r7, #0x0
+ add r2, sp, #0x4
+ lsr r3, r3, #0x18
+ bl FUN_02014C54
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020690AC
+FUN_020690AC: ; 0x020690AC
+ mov r2, #0x3c
+ strh r2, [r0, #0x0]
+ lsl r1, r1, #0x1
+ strh r1, [r0, #0x2]
+ add r1, r1, #0x1
+ strh r1, [r0, #0x4]
+ mov r1, #0x0
+ strh r1, [r0, #0x6]
+ strb r1, [r0, #0x8]
+ str r1, [r0, #0xc]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020690C4
+FUN_020690C4: ; 0x020690C4
+ mov r0, #0xec
+ bx lr
+
+ thumb_func_start FUN_020690C8
+FUN_020690C8: ; 0x020690C8
+ mov r0, #0x88
+ bx lr
+
+ thumb_func_start FUN_020690CC
+FUN_020690CC: ; 0x020690CC
+ ldr r3, _020690D0 ; =FUN_020690D4
+ bx r3
+ .balign 4
+_020690D0: .word FUN_020690D4
+
+ thumb_func_start FUN_020690D4
+FUN_020690D4: ; 0x020690D4
+ push {r3, lr}
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+
+ thumb_func_start FUN_020690E4
+FUN_020690E4: ; 0x020690E4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020690E8
+FUN_020690E8: ; 0x020690E8
+ push {r3-r5, lr}
+ sub sp, #0x8
+ mov r1, #0x5
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ add r0, r4, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x1
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x15
+ bl FUN_02068678
+ mov r1, #0x64
+ add r5, r0, #0x0
+ bl FUN_02068788
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bls _02069138
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r2, sp, #0x4
+ bl FUN_02067830
+_02069138:
+ add r0, sp, #0x0
+ ldrb r1, [r0, #0x0]
+ cmp r1, #0x64
+ bls _02069146
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02069146:
+ add r0, r5, #0x0
+ bl FUN_02068788
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ blo _02069162
+ add r0, r4, #0x0
+ mov r1, #0xa0
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02069162:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02069168
+FUN_02069168: ; 0x02069168
+ push {r4-r7, lr}
+ sub sp, #0x44
+ add r7, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r6, #0x0
+ add r4, r2, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x5
+ add r2, r6, #0x0
+ str r3, [sp, #0x4]
+ ldr r5, [sp, #0x58]
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x2c]
+ add r0, r7, #0x0
+ mov r1, #0x6
+ add r2, r6, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ add r1, r6, #0x0
+ str r0, [sp, #0x28]
+ add r0, r7, #0x0
+ add r2, r1, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x30]
+ add r0, r7, #0x0
+ mov r1, #0x14
+ add r2, r6, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x10]
+ ldr r1, _020694A0 ; =0xFFFF0000
+ ldr r0, [sp, #0x30]
+ add r2, r6, #0x0
+ and r0, r1
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x28]
+ mov r1, #0x1
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r0, [sp, #0x2c]
+ cmp r0, #0x40
+ beq _020691E4
+ cmp r1, #0x3f
+ bne _020691E4
+ cmp r4, #0x3
+ beq _020691E4
+ add sp, #0x44
+ add r0, r6, #0x0
+ pop {r4-r7, pc}
+_020691E4:
+ cmp r5, #0x0
+ bne _020691EA
+ add r5, sp, #0x40
+_020691EA:
+ mov r0, #0x0
+ mov r1, #0x2a
+ bl FUN_02016998
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #0x18]
+ bl FUN_0206A394
+ cmp r4, #0x3
+ bls _02069202
+ b _0206954A
+_02069202:
+ add r0, r4, r4
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206920E: ; jump table (using 16-bit offset)
+ .short _02069216 - _0206920E - 2; case 0
+ .short _02069486 - _0206920E - 2; case 1
+ .short _020694BE - _0206920E - 2; case 2
+ .short _020694BE - _0206920E - 2; case 3
+_02069216:
+ add r0, r7, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x14]
+ add r0, r7, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x20]
+ mov r0, #0x0
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x1c]
+ mov r1, #0xa
+ ldr r4, [sp, #0x18]
+ bl _s32_div_f
+ str r1, [sp, #0x8]
+_02069246:
+ ldrh r0, [r4, #0x0]
+ cmp r0, #0x1a
+ bls _0206924E
+ b _02069472
+_0206924E:
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206925A: ; jump table (using 16-bit offset)
+ .short _02069472 - _0206925A - 2; case 0
+ .short _02069290 - _0206925A - 2; case 1
+ .short _0206929E - _0206925A - 2; case 2
+ .short _020692B4 - _0206925A - 2; case 3
+ .short _020692CA - _0206925A - 2; case 4
+ .short _02069472 - _0206925A - 2; case 5
+ .short _02069472 - _0206925A - 2; case 6
+ .short _02069472 - _0206925A - 2; case 7
+ .short _020692DA - _0206925A - 2; case 8
+ .short _02069306 - _0206925A - 2; case 9
+ .short _02069332 - _0206925A - 2; case 10
+ .short _0206935E - _0206925A - 2; case 11
+ .short _02069376 - _0206925A - 2; case 12
+ .short _0206938C - _0206925A - 2; case 13
+ .short _0206939C - _0206925A - 2; case 14
+ .short _020693A2 - _0206925A - 2; case 15
+ .short _02069472 - _0206925A - 2; case 16
+ .short _02069472 - _0206925A - 2; case 17
+ .short _020693B2 - _0206925A - 2; case 18
+ .short _020693CA - _0206925A - 2; case 19
+ .short _020693E2 - _0206925A - 2; case 20
+ .short _020693F6 - _0206925A - 2; case 21
+ .short _0206940E - _0206925A - 2; case 22
+ .short _0206942C - _0206925A - 2; case 23
+ .short _0206944A - _0206925A - 2; case 24
+ .short _02069458 - _0206925A - 2; case 25
+ .short _02069466 - _0206925A - 2; case 26
+_02069290:
+ ldr r0, [sp, #0x20]
+ cmp r0, #0xdc
+ blo _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _02069472
+_0206929E:
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _0206936C
+ ldr r0, [sp, #0x20]
+ cmp r0, #0xdc
+ blo _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02069472
+_020692B4:
+ bl FUN_0201277C
+ cmp r0, #0x1
+ bne _0206936C
+ ldr r0, [sp, #0x20]
+ cmp r0, #0xdc
+ blo _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02069472
+_020692CA:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02069472
+_020692DA:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x34]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x34]
+ cmp r1, r0
+ bls _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x8
+ str r0, [r5, #0x0]
+ b _02069472
+_02069306:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x38]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x38]
+ cmp r1, r0
+ bne _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x9
+ str r0, [r5, #0x0]
+ b _02069472
+_02069332:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ add r0, r7, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x3c]
+ add r0, r7, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x3c]
+ cmp r1, r0
+ bhs _0206936C
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xa
+ str r0, [r5, #0x0]
+ b _02069472
+_0206935E:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _0206936C
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x5
+ blt _0206936E
+_0206936C:
+ b _02069472
+_0206936E:
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xb
+ str r0, [r5, #0x0]
+ b _02069472
+_02069376:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x5
+ blt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xc
+ str r0, [r5, #0x0]
+ b _02069472
+_0206938C:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xd
+ str r0, [r5, #0x0]
+ b _02069472
+_0206939C:
+ mov r0, #0xe
+ str r0, [r5, #0x0]
+ b _02069472
+_020693A2:
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x10]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0xf
+ str r0, [r5, #0x0]
+ b _02069472
+_020693B2:
+ bl FUN_0201277C
+ cmp r0, #0x0
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x12
+ str r0, [r5, #0x0]
+ b _02069472
+_020693CA:
+ bl FUN_0201277C
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x13
+ str r0, [r5, #0x0]
+ b _02069472
+_020693E2:
+ ldrh r1, [r4, #0x2]
+ add r0, r7, #0x0
+ bl FUN_02069A38
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x14
+ str r0, [r5, #0x0]
+ b _02069472
+_020693F6:
+ ldr r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _02069472
+ ldrh r1, [r4, #0x2]
+ bl FUN_0206BAE4
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x15
+ str r0, [r5, #0x0]
+ b _02069472
+_0206940E:
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x16
+ str r0, [r5, #0x0]
+ b _02069472
+_0206942C:
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _02069472
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x14]
+ cmp r1, r0
+ bgt _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x17
+ str r0, [r5, #0x0]
+ b _02069472
+_0206944A:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x18
+ str r0, [r5, #0x0]
+ b _02069472
+_02069458:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x19
+ str r0, [r5, #0x0]
+ b _02069472
+_02069466:
+ ldr r1, [sp, #0x4]
+ cmp r1, r0
+ bne _02069472
+ ldrh r6, [r4, #0x4]
+ mov r0, #0x1a
+ str r0, [r5, #0x0]
+_02069472:
+ cmp r6, #0x0
+ bne _0206954A
+ ldr r0, [sp, #0x24]
+ add r4, r4, #0x6
+ add r0, r0, #0x1
+ str r0, [sp, #0x24]
+ cmp r0, #0x7
+ bge _02069484
+ b _02069246
+_02069484:
+ b _0206954A
+_02069486:
+ ldr r3, [sp, #0x18]
+ mov r4, #0x0
+ mov r7, #0x6
+ mov r2, #0x5
+_0206948E:
+ ldrh r0, [r3, #0x0]
+ cmp r0, #0x5
+ beq _0206949A
+ cmp r0, #0x6
+ beq _020694A4
+ b _020694B0
+_0206949A:
+ ldrh r6, [r3, #0x4]
+ str r2, [r5, #0x0]
+ b _020694B0
+ .balign 4
+_020694A0: .word 0xFFFF0000
+_020694A4:
+ ldrh r1, [r3, #0x2]
+ ldr r0, [sp, #0x28]
+ cmp r0, r1
+ bne _020694B0
+ ldrh r6, [r3, #0x4]
+ str r7, [r5, #0x0]
+_020694B0:
+ cmp r6, #0x0
+ bne _0206954A
+ add r4, r4, #0x1
+ add r3, r3, #0x6
+ cmp r4, #0x7
+ blt _0206948E
+ b _0206954A
+_020694BE:
+ mov r0, #0x0
+ ldr r4, [sp, #0x18]
+ str r0, [sp, #0xc]
+_020694C4:
+ ldrh r2, [r4, #0x0]
+ cmp r2, #0x7
+ bne _020694E4
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _020694E4
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_020694E4:
+ cmp r2, #0x10
+ bne _02069510
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069510
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _02069510
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_02069510:
+ ldrh r0, [r4, #0x0]
+ cmp r0, #0x11
+ bne _0206953E
+ add r0, r7, #0x0
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _0206953E
+ ldrh r1, [r4, #0x2]
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _0206953E
+ ldr r0, [sp, #0xc]
+ mov r1, #0x6
+ mul r1, r0
+ ldr r0, [sp, #0x18]
+ add r0, r0, r1
+ ldrh r6, [r0, #0x4]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ b _0206954A
+_0206953E:
+ ldr r0, [sp, #0xc]
+ add r4, r4, #0x6
+ add r0, r0, #0x1
+ str r0, [sp, #0xc]
+ cmp r0, #0x7
+ blt _020694C4
+_0206954A:
+ ldr r0, [sp, #0x18]
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ add sp, #0x44
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069558
+FUN_02069558: ; 0x02069558
+ push {r3-r4, lr}
+ sub sp, #0x4c
+ add r4, r0, #0x0
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strh r1, [r0, #0x0]
+ ldr r0, _020695A0 ; =0x000001EE
+ cmp r4, r0
+ blo _0206956E
+ bl ErrorHandling
+_0206956E:
+ add r0, sp, #0x4
+ bl FS_InitFile
+ ldr r1, _020695A4 ; =0x02105FC8
+ add r0, sp, #0x4
+ bl FS_OpenFile
+ add r0, sp, #0x4
+ lsl r1, r4, #0x1
+ mov r2, #0x0
+ bl FS_SeekFile
+ add r0, sp, #0x4
+ add r1, sp, #0x0
+ mov r2, #0x2
+ bl FS_ReadFile
+ add r0, sp, #0x4
+ bl FS_CloseFile
+ add r0, sp, #0x0
+ ldrh r0, [r0, #0x0]
+ add sp, #0x4c
+ pop {r3-r4, pc}
+ nop
+_020695A0: .word 0x000001EE
+_020695A4: .word 0x02105FC8
+
+ thumb_func_start FUN_020695A8
+FUN_020695A8: ; 0x020695A8
+ push {r3, lr}
+ cmp r0, #0xb9
+ bgt _020695CC
+ cmp r0, #0xb7
+ blt _020695BA
+ beq _020695EC
+ cmp r0, #0xb9
+ beq _020695EC
+ b _020695E8
+_020695BA:
+ cmp r0, #0x7a
+ bgt _020695C6
+ bge _020695EC
+ cmp r0, #0x71
+ beq _020695EC
+ b _020695E8
+_020695C6:
+ cmp r0, #0x8f
+ beq _020695EC
+ b _020695E8
+_020695CC:
+ cmp r0, #0xe2
+ bgt _020695D8
+ bge _020695EC
+ cmp r0, #0xca
+ beq _020695EC
+ b _020695E8
+_020695D8:
+ ldr r1, _020695F0 ; =0x0000013B
+ cmp r0, r1
+ bgt _020695E2
+ beq _020695EC
+ b _020695E8
+_020695E2:
+ add r1, #0x2b
+ cmp r0, r1
+ beq _020695EC
+_020695E8:
+ bl FUN_02069558
+_020695EC:
+ pop {r3, pc}
+ nop
+_020695F0: .word 0x0000013B
+
+ thumb_func_start FUN_020695F4
+FUN_020695F4: ; 0x020695F4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x2c
+ bl FUN_02016998
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02066A6C
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020687C8
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r2, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_02069F9C
+ ldr r0, [sp, #0x0]
+ ldrh r1, [r0, #0x0]
+ ldr r0, _02069690 ; =0x0000FFFF
+ cmp r1, r0
+ beq _0206967C
+ ldr r4, [sp, #0x0]
+ lsl r7, r6, #0x9
+_02069648:
+ ldrh r1, [r4, #0x0]
+ mov r0, #0xfe
+ lsl r0, r0, #0x8
+ and r0, r1
+ cmp r0, r7
+ bgt _0206967C
+ ldr r0, _02069694 ; =0x000001FF
+ and r0, r1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020696A8
+ ldr r1, _02069690 ; =0x0000FFFF
+ cmp r0, r1
+ bne _02069672
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02069718
+_02069672:
+ add r4, r4, #0x2
+ ldrh r1, [r4, #0x0]
+ ldr r0, _02069690 ; =0x0000FFFF
+ cmp r1, r0
+ bne _02069648
+_0206967C:
+ ldr r0, [sp, #0x0]
+ bl FUN_02016A18
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02066A94
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02069690: .word 0x0000FFFF
+_02069694: .word 0x000001FF
+
+ thumb_func_start FUN_02069698
+FUN_02069698: ; 0x02069698
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020690E4
+ add r1, r4, #0x0
+ bl FUN_020696A8
+ pop {r4, pc}
+
+ thumb_func_start FUN_020696A8
+FUN_020696A8: ; 0x020696A8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ ldr r1, _02069700 ; =0x0000FFFF
+ add r6, r0, #0x0
+ str r1, [sp, #0x4]
+ bl FUN_02066A6C
+ mov r4, #0x0
+ str r0, [sp, #0x0]
+ add r7, r4, #0x0
+_020696BE:
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x36
+ add r2, r7, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bne _020696E0
+ lsl r2, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_020697D4
+ str r5, [sp, #0x4]
+ b _020696F0
+_020696E0:
+ cmp r0, r5
+ bne _020696EA
+ ldr r0, _02069704 ; =0x0000FFFE
+ str r0, [sp, #0x4]
+ b _020696F0
+_020696EA:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _020696BE
+_020696F0:
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02066A94
+ ldr r0, [sp, #0x4]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02069700: .word 0x0000FFFF
+_02069704: .word 0x0000FFFE
+
+ thumb_func_start FUN_02069708
+FUN_02069708: ; 0x02069708
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_020690E4
+ add r1, r4, #0x0
+ bl FUN_02069718
+ pop {r4, pc}
+
+ thumb_func_start FUN_02069718
+FUN_02069718: ; 0x02069718
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02066A6C
+ str r0, [sp, #0xc]
+ add r0, sp, #0x18
+ mov r4, #0x0
+ str r0, [sp, #0x4]
+ add r7, sp, #0x14
+ add r6, sp, #0x10
+_02069730:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x37
+ mov r2, #0x0
+ bl FUN_020672BC
+ ldr r1, [sp, #0x4]
+ mov r2, #0x0
+ strh r0, [r1, #0x0]
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3b
+ bl FUN_020672BC
+ add r1, r4, #0x0
+ strb r0, [r7, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x3f
+ mov r2, #0x0
+ bl FUN_020672BC
+ strb r0, [r6, #0x0]
+ ldr r0, [sp, #0x4]
+ add r4, r4, #0x1
+ add r0, r0, #0x2
+ str r0, [sp, #0x4]
+ add r7, r7, #0x1
+ add r6, r6, #0x1
+ cmp r4, #0x3
+ blt _02069730
+ ldr r0, [sp, #0x0]
+ add r1, sp, #0x10
+ strh r0, [r1, #0xe]
+ ldr r0, [sp, #0x0]
+ mov r1, #0x5
+ bl FUN_0206AB18
+ add r1, sp, #0x10
+ strb r0, [r1, #0x7]
+ mov r4, #0x0
+ add r0, sp, #0x18
+ strb r4, [r1, #0x3]
+ str r0, [sp, #0x8]
+ add r7, sp, #0x14
+ add r6, sp, #0x10
+_0206978A:
+ add r1, r4, #0x0
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, #0x36
+ bl FUN_02067960
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ add r2, r7, #0x0
+ bl FUN_02067960
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3e
+ add r2, r6, #0x0
+ bl FUN_02067960
+ ldr r0, [sp, #0x8]
+ add r4, r4, #0x1
+ add r0, r0, #0x2
+ str r0, [sp, #0x8]
+ add r7, r7, #0x1
+ add r6, r6, #0x1
+ cmp r4, #0x4
+ blt _0206978A
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02066A94
+ add sp, #0x20
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020697CC
+FUN_020697CC: ; 0x020697CC
+ ldr r3, _020697D0 ; =FUN_020697D4
+ bx r3
+ .balign 4
+_020697D0: .word FUN_020697D4
+
+ thumb_func_start FUN_020697D4
+FUN_020697D4: ; 0x020697D4
+ push {r0-r3}
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ add r1, r4, #0x0
+ add r1, #0x36
+ add r2, sp, #0x14
+ add r5, r0, #0x0
+ bl FUN_02067960
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3e
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ add r0, sp, #0x10
+ ldrh r0, [r0, #0x4]
+ bl FUN_0206AB30
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ add r4, #0x3a
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, sp, #0x0
+ bl FUN_02067960
+ pop {r3-r5}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .balign 4
+
+ thumb_func_start FUN_02069818
+FUN_02069818: ; 0x02069818
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x0
+ mov r1, #0x2c
+ str r2, [sp, #0x0]
+ str r0, [sp, #0x8]
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ add r0, r7, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ add r0, r7, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0xc]
+ add r2, r4, #0x0
+ bl FUN_02069F9C
+ ldr r0, [r5, #0x0]
+ lsl r0, r0, #0x1
+ ldrh r2, [r4, r0]
+ ldr r0, _020698D8 ; =0x0000FFFF
+ cmp r2, r0
+ bne _0206987A
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206987A:
+ mov r0, #0xfe
+ lsl r0, r0, #0x8
+ add r3, r2, #0x0
+ and r3, r0
+ lsl r6, r6, #0x9
+ cmp r6, r3
+ beq _020698AC
+ ldr r1, _020698D8 ; =0x0000FFFF
+_0206988A:
+ ldr r2, [r5, #0x0]
+ add r2, r2, #0x1
+ str r2, [r5, #0x0]
+ lsl r2, r2, #0x1
+ ldrh r2, [r4, r2]
+ cmp r2, r1
+ bne _020698A4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_020698A4:
+ add r3, r2, #0x0
+ and r3, r0
+ cmp r6, r3
+ bne _0206988A
+_020698AC:
+ cmp r6, r3
+ bne _020698CC
+ ldr r0, _020698DC ; =0x000001FF
+ add r1, r2, #0x0
+ and r1, r0
+ ldr r0, [sp, #0x0]
+ strh r1, [r0, #0x0]
+ ldr r0, [r5, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ ldrh r1, [r1, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02069698
+ str r0, [sp, #0x8]
+_020698CC:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x8]
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_020698D8: .word 0x0000FFFF
+_020698DC: .word 0x000001FF
+
+ thumb_func_start FUN_020698E0
+FUN_020698E0: ; 0x020698E0
+ ldr r3, _020698E4 ; =FUN_020698E8
+ bx r3
+ .balign 4
+_020698E4: .word FUN_020698E8
+
+ thumb_func_start FUN_020698E8
+FUN_020698E8: ; 0x020698E8
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strh r0, [r1, #0x4]
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strb r0, [r1, #0x2]
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3e
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ add r1, r6, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strh r0, [r1, #0x6]
+ add r1, r6, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strb r0, [r1, #0x3]
+ add r1, r6, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3e
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, sp, #0x0
+ strb r0, [r1, #0x1]
+ add r1, r4, #0x0
+ add r2, sp, #0x4
+ add r0, r5, #0x0
+ add r1, #0x36
+ add r2, #0x2
+ bl FUN_02067960
+ add r1, r4, #0x0
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ add r2, #0x3
+ bl FUN_02067960
+ add r4, #0x3e
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, #0x1
+ bl FUN_02067960
+ add r1, r6, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ add r2, sp, #0x4
+ bl FUN_02067960
+ add r1, r6, #0x0
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ add r2, #0x2
+ bl FUN_02067960
+ add r6, #0x3e
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020699A4
+FUN_020699A4: ; 0x020699A4
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0x3
+ bhs _02069A0A
+ mov r7, #0x0
+ add r6, sp, #0x0
+_020699B2:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x37
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ add r1, r4, #0x0
+ strh r0, [r6, #0x2]
+ add r0, r5, #0x0
+ add r1, #0x3b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r4, #0x0
+ strb r0, [r6, #0x1]
+ add r0, r5, #0x0
+ add r1, #0x3f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r4, #0x0
+ add r2, sp, #0x0
+ strb r0, [r6, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x36
+ add r2, #0x2
+ bl FUN_02067830
+ add r1, r4, #0x0
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ add r2, #0x1
+ bl FUN_02067830
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3e
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r4, r4, #0x1
+ cmp r4, #0x3
+ blo _020699B2
+_02069A0A:
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strh r1, [r0, #0x2]
+ strb r1, [r0, #0x1]
+ strb r1, [r0, #0x0]
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x39
+ add r2, #0x2
+ bl FUN_02067830
+ add r2, sp, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x3d
+ add r2, #0x1
+ bl FUN_02067830
+ add r0, r5, #0x0
+ mov r1, #0x41
+ add r2, sp, #0x0
+ bl FUN_02067830
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02069A38
+FUN_02069A38: ; 0x02069A38
+ push {r3-r7, lr}
+ mov r4, #0x0
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ add r7, r4, #0x0
+_02069A42:
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x36
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ beq _02069A58
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _02069A42
+_02069A58:
+ cmp r4, #0x4
+ beq _02069A60
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02069A60:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02069A64
+FUN_02069A64: ; 0x02069A64
+ push {r4-r5, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r3, r4, #0x0
+ mov r2, #0x11
+_02069A74:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02069A74
+ ldrh r1, [r4, #0x4]
+ lsl r0, r1, #0x1e
+ lsr r0, r0, #0x1f
+ beq _02069A8E
+ mov r0, #0x1
+ bic r1, r0
+ mov r0, #0x1
+ orr r0, r1
+ strh r0, [r4, #0x4]
+_02069A8E:
+ add r0, r4, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r4, #0x0
+ mov r1, #0xa2
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r4, #0x0
+ mov r1, #0xa3
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ bl FUN_020256BC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0xa9
+ add r2, r5, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ mov r1, #0xa1
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ add r1, sp, #0x4
+ mov r2, #0x18
+ bl MIi_CpuClearFast
+ add r0, r4, #0x0
+ mov r1, #0xaa
+ add r2, sp, #0x4
+ bl FUN_02067830
+ add r0, r4, #0x0
+ bl FUN_02066ED8
+ add sp, #0x1c
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_02069AEC
+FUN_02069AEC: ; 0x02069AEC
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ bl FUN_0206B9AC
+ add r7, r0, #0x0
+ mov r6, #0x1
+ mov r5, #0x0
+ cmp r7, #0x0
+ ble _02069B3C
+_02069AFE:
+ ldr r0, [sp, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069B36
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069B36
+ add r0, r4, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r6
+ bls _02069B36
+ add r6, r0, #0x0
+_02069B36:
+ add r5, r5, #0x1
+ cmp r5, r7
+ blt _02069AFE
+_02069B3C:
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02069B40
+FUN_02069B40: ; 0x02069B40
+ push {r3, lr}
+ sub sp, #0x8
+ add r3, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, sp, #0x4
+ mov r1, #0x6d
+ mov r2, #0x0
+ lsl r3, r3, #0x1
+ bl FUN_02006548
+ add r0, sp, #0x4
+ ldrh r0, [r0, #0x0]
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069B60
+FUN_02069B60: ; 0x02069B60
+ push {r3, lr}
+ sub sp, #0x8
+ add r3, r0, #0x0
+ mov r2, #0x0
+ add r0, sp, #0x4
+ strh r2, [r0, #0x0]
+ cmp r3, #0x97
+ bhi _02069B7E
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, sp, #0x4
+ mov r1, #0x91
+ lsl r3, r3, #0x1
+ bl FUN_02006548
+_02069B7E:
+ add r0, sp, #0x4
+ ldrh r0, [r0, #0x0]
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069B88
+FUN_02069B88: ; 0x02069B88
+ push {r3-r4}
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r2, #0x1d
+_02069B90:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02069B90
+ ldr r0, [r4, #0x0]
+ str r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_02069BA0
+FUN_02069BA0: ; 0x02069BA0
+ push {r3-r4}
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r2, #0x11
+_02069BA8:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02069BA8
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_02069BB4
+FUN_02069BB4: ; 0x02069BB4
+ push {r3-r4}
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r2, #0x11
+_02069BBC:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02069BBC
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_02069BC8
+FUN_02069BC8: ; 0x02069BC8
+ ldr r3, _02069BCC ; =FUN_02069BD0
+ bx r3
+ .balign 4
+_02069BCC: .word FUN_02069BD0
+
+ thumb_func_start FUN_02069BD0
+FUN_02069BD0: ; 0x02069BD0
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r1, r4, #0x0
+ bl FUN_02069BE4
+ pop {r4, pc}
+
+ thumb_func_start FUN_02069BE4
+FUN_02069BE4: ; 0x02069BE4
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02068884
+ lsl r1, r0, #0x2
+ add r1, r0, r1
+ ldr r0, _02069BF8 ; =0x020F7F16
+ add r0, r0, r1
+ ldrsb r0, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+_02069BF8: .word 0x020F7F16
+
+ thumb_func_start FUN_02069BFC
+FUN_02069BFC: ; 0x02069BFC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r7, r1, #0x0
+ mov r0, #0x0
+ mov r1, #0x2c
+ add r5, r2, #0x0
+ bl FUN_02016998
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02069F9C
+ ldrh r1, [r6, #0x0]
+ ldr r0, _02069C44 ; =0x0000FFFF
+ mov r4, #0x0
+ cmp r1, r0
+ beq _02069C3A
+ ldr r1, _02069C48 ; =0x000001FF
+ ldr r2, _02069C44 ; =0x0000FFFF
+ add r0, r6, #0x0
+_02069C28:
+ ldrh r3, [r0, #0x0]
+ add r0, r0, #0x2
+ add r4, r4, #0x1
+ and r3, r1
+ strh r3, [r5, #0x0]
+ ldrh r3, [r0, #0x0]
+ add r5, r5, #0x2
+ cmp r3, r2
+ bne _02069C28
+_02069C3A:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02069C44: .word 0x0000FFFF
+_02069C48: .word 0x000001FF
+
+ thumb_func_start FUN_02069C4C
+FUN_02069C4C: ; 0x02069C4C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_0206B9AC
+ add r6, r0, #0x0
+ bl rand_LC
+ mov r1, #0x1
+ lsl r1, r1, #0xe
+ cmp r0, r1
+ beq _02069C70
+ lsl r1, r1, #0x1
+ cmp r0, r1
+ beq _02069C70
+ mov r1, #0x3
+ lsl r1, r1, #0xe
+ cmp r0, r1
+ bne _02069CF2
+_02069C70:
+ bl rand_LC
+ add r1, r6, #0x0
+ bl _s32_div_f
+ add r0, r5, #0x0
+ add r7, r1, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069C70
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02069C70
+ add r0, r7, #0x0
+ bl FUN_0206A92C
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_02069CF4
+ cmp r0, #0x0
+ bne _02069CF2
+ add r5, sp, #0x0
+ mov r6, #0x7
+_02069CB8:
+ bl rand_LC
+ strb r0, [r5, #0x0]
+ ldrb r2, [r5, #0x0]
+ add r1, r2, #0x0
+ and r1, r6
+ beq _02069CB8
+ mov r0, #0xf0
+ tst r0, r2
+ beq _02069CD0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+_02069CD0:
+ add r1, sp, #0x0
+ ldrb r2, [r1, #0x0]
+ lsl r0, r2, #0x4
+ orr r0, r2
+ strb r0, [r1, #0x0]
+ ldrb r2, [r1, #0x0]
+ mov r0, #0xf3
+ and r0, r2
+ strb r0, [r1, #0x0]
+ ldrb r0, [r1, #0x0]
+ add r2, sp, #0x0
+ add r0, r0, #0x1
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x99
+ bl FUN_02067830
+_02069CF2:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02069CF4
+FUN_02069CF4: ; 0x02069CF4
+ push {r3-r7, lr}
+ mov r6, #0x0
+ add r5, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r4, #0x1
+ add r7, r6, #0x0
+ cmp r5, #0x0
+ beq _02069D32
+_02069D04:
+ mov r0, #0x1
+ tst r0, r5
+ beq _02069D26
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x99
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069D26
+ add r0, r7, #0x0
+ orr r0, r4
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+_02069D26:
+ lsl r0, r5, #0x17
+ add r6, r6, #0x1
+ lsl r4, r4, #0x1
+ lsr r5, r0, #0x18
+ bne _02069D04
+ b _02069D4A
+_02069D32:
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x99
+ add r2, r6, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069D4A
+ add r0, r7, #0x1
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+_02069D4A:
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069D50
+FUN_02069D50: ; 0x02069D50
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ add r5, r1, #0x0
+ bl FUN_0206B9AC
+ mov r6, #0x0
+ str r0, [sp, #0x4]
+ cmp r0, #0x0
+ ble _02069DC2
+ add r4, sp, #0x8
+_02069D66:
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r7, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069DBA
+ add r0, r7, #0x0
+ mov r1, #0x99
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r4, #0x0]
+ ldrb r1, [r4, #0x0]
+ mov r0, #0xf
+ and r0, r1
+ beq _02069DBA
+ cmp r0, r5
+ blt _02069D98
+ cmp r5, #0x4
+ ble _02069DA2
+_02069D98:
+ ldrb r1, [r4, #0x0]
+ mov r0, #0xf0
+ and r0, r1
+ strb r0, [r4, #0x0]
+ b _02069DA6
+_02069DA2:
+ sub r0, r1, r5
+ strb r0, [r4, #0x0]
+_02069DA6:
+ ldrb r0, [r4, #0x0]
+ cmp r0, #0x0
+ bne _02069DB0
+ mov r0, #0x10
+ strb r0, [r4, #0x0]
+_02069DB0:
+ add r0, r7, #0x0
+ mov r1, #0x99
+ add r2, sp, #0x8
+ bl FUN_02067830
+_02069DBA:
+ ldr r0, [sp, #0x4]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _02069D66
+_02069DC2:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069DC8
+FUN_02069DC8: ; 0x02069DC8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_0206B9AC
+ add r7, r0, #0x0
+ bl rand_LC
+ mov r1, #0x3
+ bl _s32_div_f
+ cmp r1, #0x0
+ bne _02069E70
+ mov r4, #0x0
+ cmp r7, #0x0
+ ble _02069E70
+ sub r0, r7, #0x1
+ str r0, [sp, #0x0]
+_02069DEC:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02069E6A
+ add r0, r6, #0x0
+ mov r1, #0x99
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x4
+ strb r0, [r1, #0x0]
+ add r0, r1, #0x0
+ ldrb r1, [r0, #0x0]
+ mov r0, #0xf
+ tst r0, r1
+ beq _02069E6A
+ cmp r4, #0x0
+ beq _02069E40
+ add r0, r5, #0x0
+ sub r1, r4, #0x1
+ bl FUN_0206B9B0
+ mov r1, #0x99
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ mov r1, #0xf0
+ tst r0, r1
+ bne _02069E40
+ add r0, r6, #0x0
+ mov r1, #0x99
+ add r2, sp, #0x4
+ bl FUN_02067830
+_02069E40:
+ ldr r0, [sp, #0x0]
+ cmp r4, r0
+ bge _02069E6A
+ add r0, r5, #0x0
+ add r1, r4, #0x1
+ bl FUN_0206B9B0
+ mov r1, #0x99
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ mov r1, #0xf0
+ tst r0, r1
+ bne _02069E6A
+ add r0, r6, #0x0
+ mov r1, #0x99
+ add r2, sp, #0x4
+ bl FUN_02067830
+ add r4, r4, #0x1
+_02069E6A:
+ add r4, r4, #0x1
+ cmp r4, r7
+ blt _02069DEC
+_02069E70:
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02069E74
+FUN_02069E74: ; 0x02069E74
+ ldr r3, _02069E78 ; =FUN_02069E7C
+ bx r3
+ .balign 4
+_02069E78: .word FUN_02069E7C
+
+ thumb_func_start FUN_02069E7C
+FUN_02069E7C: ; 0x02069E7C
+ push {r3, lr}
+ mov r1, #0x99
+ mov r2, #0x0
+ bl FUN_020672BC
+ mov r1, #0xf
+ tst r0, r1
+ beq _02069E90
+ mov r0, #0x1
+ pop {r3, pc}
+_02069E90:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02069E94
+FUN_02069E94: ; 0x02069E94
+ ldr r3, _02069E98 ; =FUN_02069E9C
+ bx r3
+ .balign 4
+_02069E98: .word FUN_02069E9C
+
+ thumb_func_start FUN_02069E9C
+FUN_02069E9C: ; 0x02069E9C
+ push {r3, lr}
+ mov r1, #0x99
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0xf
+ tst r0, r1
+ beq _02069EB4
+ mov r0, #0x0
+ pop {r3, pc}
+_02069EB4:
+ mov r0, #0xf0
+ tst r0, r1
+ beq _02069EBE
+ mov r0, #0x1
+ pop {r3, pc}
+_02069EBE:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02069EC4
+FUN_02069EC4: ; 0x02069EC4
+ ldr r3, _02069EC8 ; =FUN_02069ECC
+ bx r3
+ .balign 4
+_02069EC8: .word FUN_02069ECC
+
+ thumb_func_start FUN_02069ECC
+FUN_02069ECC: ; 0x02069ECC
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020672BC
+ ldr r1, _02069F20 ; =0x000001ED
+ cmp r4, r1
+ bne _02069F1C
+ cmp r6, #0x79
+ bne _02069F1C
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0206E7B8
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069F24
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x70
+ add r2, sp, #0x0
+ bl FUN_02067960
+_02069F1C:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02069F20: .word 0x000001ED
+
+ thumb_func_start FUN_02069F24
+FUN_02069F24: ; 0x02069F24
+ sub r0, #0x7d
+ cmp r0, #0xf
+ bhi _02069F96
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02069F36: ; jump table (using 16-bit offset)
+ .short _02069F56 - _02069F36 - 2; case 0
+ .short _02069F5A - _02069F36 - 2; case 1
+ .short _02069F5E - _02069F36 - 2; case 2
+ .short _02069F62 - _02069F36 - 2; case 3
+ .short _02069F66 - _02069F36 - 2; case 4
+ .short _02069F6A - _02069F36 - 2; case 5
+ .short _02069F6E - _02069F36 - 2; case 6
+ .short _02069F72 - _02069F36 - 2; case 7
+ .short _02069F76 - _02069F36 - 2; case 8
+ .short _02069F7A - _02069F36 - 2; case 9
+ .short _02069F7E - _02069F36 - 2; case 10
+ .short _02069F82 - _02069F36 - 2; case 11
+ .short _02069F86 - _02069F36 - 2; case 12
+ .short _02069F8A - _02069F36 - 2; case 13
+ .short _02069F8E - _02069F36 - 2; case 14
+ .short _02069F92 - _02069F36 - 2; case 15
+_02069F56:
+ mov r0, #0xa
+ bx lr
+_02069F5A:
+ mov r0, #0xb
+ bx lr
+_02069F5E:
+ mov r0, #0xd
+ bx lr
+_02069F62:
+ mov r0, #0xc
+ bx lr
+_02069F66:
+ mov r0, #0xf
+ bx lr
+_02069F6A:
+ mov r0, #0x1
+ bx lr
+_02069F6E:
+ mov r0, #0x3
+ bx lr
+_02069F72:
+ mov r0, #0x4
+ bx lr
+_02069F76:
+ mov r0, #0x2
+ bx lr
+_02069F7A:
+ mov r0, #0xe
+ bx lr
+_02069F7E:
+ mov r0, #0x6
+ bx lr
+_02069F82:
+ mov r0, #0x5
+ bx lr
+_02069F86:
+ mov r0, #0x7
+ bx lr
+_02069F8A:
+ mov r0, #0x10
+ bx lr
+_02069F8E:
+ mov r0, #0x11
+ bx lr
+_02069F92:
+ mov r0, #0x8
+ bx lr
+_02069F96:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02069F9C
+FUN_02069F9C: ; 0x02069F9C
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_0206A8FC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x21
+ bl LoadFromNARC
+ pop {r4, pc}
+
+ thumb_func_start FUN_02069FB0
+FUN_02069FB0: ; 0x02069FB0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, _0206A010 ; =0x000001B9
+ add r4, r2, #0x0
+ add r5, r1, #0x0
+ add r6, r3, #0x0
+ cmp r4, r0
+ bne _02069FFC
+ add r0, r5, #0x0
+ bl FUN_02005F14
+ cmp r0, #0x0
+ bne _02069FE2
+ mov r0, #0x1
+ bl FUN_02005E80
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #0x18]
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020056AC
+ pop {r3-r7, pc}
+_02069FE2:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x0
+ beq _02069FEE
+ mov r0, #0x1
+ bl FUN_02005E80
+_02069FEE:
+ ldr r2, [sp, #0x18]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ add r3, r6, #0x0
+ bl FUN_02005E90
+ pop {r3-r7, pc}
+_02069FFC:
+ ldr r0, [sp, #0x20]
+ ldr r3, [sp, #0x18]
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020056AC
+ pop {r3-r7, pc}
+ nop
+_0206A010: .word 0x000001B9
+
+ thumb_func_start FUN_0206A014
+FUN_0206A014: ; 0x0206A014
+ push {r3-r6, lr}
+ sub sp, #0xc
+ ldr r6, [sp, #0x20]
+ add r5, r0, #0x0
+ str r6, [sp, #0x0]
+ ldr r6, [sp, #0x24]
+ add r4, r2, #0x0
+ str r6, [sp, #0x4]
+ bl FUN_0206A054
+ cmp r4, #0xe
+ bne _0206A050
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ add r2, sp, #0x8
+ bl FUN_02067830
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x8
+ bl FUN_02067830
+_0206A050:
+ add sp, #0xc
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_0206A054
+FUN_0206A054: ; 0x0206A054
+ push {r0-r3}
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r2, [sp, #0x24]
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ mov r2, #0x0
+ bl FUN_020808AC
+ ldr r2, _0206A090 ; =0x020ECAC0
+ add r0, r4, #0x0
+ mov r1, #0x79
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x9a
+ add r2, sp, #0x18
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x9d
+ add r2, sp, #0x20
+ bl FUN_02067960
+ add sp, #0x4
+ pop {r3-r4}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ nop
+_0206A090: .word 0x020ECAC0
+
+ thumb_func_start FUN_0206A094
+FUN_0206A094: ; 0x0206A094
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ mov r0, #0x81
+ add r7, r2, #0x0
+ tst r0, r1
+ bne _0206A12E
+ bl rand_LC
+ mov r1, #0x64
+ bl _s32_div_f
+ add r4, r1, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r2, #0x10
+ bl FUN_02068654
+ add r1, sp, #0x4
+ strh r0, [r1, #0x2]
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r2, #0x11
+ bl FUN_02068654
+ add r1, sp, #0x4
+ strh r0, [r1, #0x0]
+ ldrh r2, [r1, #0x2]
+ ldrh r0, [r1, #0x0]
+ cmp r2, r0
+ bne _0206A104
+ cmp r2, #0x0
+ beq _0206A104
+ add r2, sp, #0x4
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, #0x2
+ bl FUN_02067830
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0206A104:
+ ldr r0, _0206A134 ; =0x020F7ECC
+ lsl r1, r7, #0x2
+ ldrh r0, [r0, r1]
+ cmp r4, r0
+ blo _0206A12E
+ ldr r0, _0206A138 ; =0x020F7ECE
+ ldrh r0, [r0, r1]
+ cmp r4, r0
+ add r2, sp, #0x4
+ bhs _0206A126
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, #0x2
+ bl FUN_02067830
+ add sp, #0x8
+ pop {r3-r7, pc}
+_0206A126:
+ add r0, r5, #0x0
+ mov r1, #0x6
+ bl FUN_02067830
+_0206A12E:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0206A134: .word 0x020F7ECC
+_0206A138: .word 0x020F7ECE
+
+ thumb_func_start FUN_0206A13C
+FUN_0206A13C: ; 0x0206A13C
+ ldr r3, _0206A140 ; =FUN_0206A144
+ bx r3
+ .balign 4
+_0206A140: .word FUN_0206A144
+
+ thumb_func_start FUN_0206A144
+FUN_0206A144: ; 0x0206A144
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ mov r1, #0xad
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206A16C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206A16C
+FUN_0206A16C: ; 0x0206A16C
+ push {r4, lr}
+ ldr r3, _0206A1C0 ; =0x000001EE
+ cmp r0, r3
+ bne _0206A178
+ mov r0, #0x0
+ pop {r4, pc}
+_0206A178:
+ cmp r2, #0x20
+ bhs _0206A186
+ mov r3, #0x1
+ add r4, r3, #0x0
+ lsl r4, r2
+ mov r2, #0x1d
+ b _0206A1B0
+_0206A186:
+ cmp r2, #0x40
+ bhs _0206A196
+ mov r3, #0x1
+ sub r2, #0x20
+ add r4, r3, #0x0
+ lsl r4, r2
+ mov r2, #0x1e
+ b _0206A1B0
+_0206A196:
+ cmp r2, #0x60
+ bhs _0206A1A6
+ mov r3, #0x1
+ sub r2, #0x40
+ add r4, r3, #0x0
+ lsl r4, r2
+ mov r2, #0x1f
+ b _0206A1B0
+_0206A1A6:
+ mov r3, #0x1
+ sub r2, #0x60
+ add r4, r3, #0x0
+ lsl r4, r2
+ mov r2, #0x20
+_0206A1B0:
+ bl FUN_02068654
+ tst r0, r4
+ beq _0206A1BC
+ mov r0, #0x1
+ pop {r4, pc}
+_0206A1BC:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0206A1C0: .word 0x000001EE
+
+ thumb_func_start FUN_0206A1C4
+FUN_0206A1C4: ; 0x0206A1C4
+ ldr r3, _0206A1C8 ; =FUN_0206A1CC
+ bx r3
+ .balign 4
+_0206A1C8: .word FUN_0206A1CC
+
+ thumb_func_start FUN_0206A1CC
+FUN_0206A1CC: ; 0x0206A1CC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ mov r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r1, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_02068678
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_02068678
+ str r0, [sp, #0x0]
+ cmp r0, #0x0
+ beq _0206A226
+ mov r0, #0x1
+ tst r0, r6
+ beq _0206A21A
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x0
+ bl FUN_02067960
+ b _0206A230
+_0206A21A:
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x4
+ bl FUN_02067960
+ b _0206A230
+_0206A226:
+ add r0, r5, #0x0
+ mov r1, #0xa
+ add r2, sp, #0x4
+ bl FUN_02067960
+_0206A230:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02066A94
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206A23C
+FUN_0206A23C: ; 0x0206A23C
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_020669C0
+ str r0, [sp, #0x4]
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02069B88
+ ldr r0, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ mov r2, #0x0
+ bl FUN_0206A418
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ mov r2, #0x1
+ bl FUN_0206A418
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ mov r2, #0x2
+ bl FUN_0206A418
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ mov r2, #0x3
+ bl FUN_0206A418
+ str r0, [sp, #0x8]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x0
+ bl FUN_0206A418
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl FUN_0206A418
+ str r0, [sp, #0x10]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x2
+ bl FUN_0206A418
+ str r0, [sp, #0x14]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x3
+ bl FUN_0206A418
+ ldr r2, [sp, #0x4]
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x4]
+ ldrh r2, [r2, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3D0
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3D0
+ ldr r0, [sp, #0x0]
+ str r0, [r5, #0x0]
+ ldr r2, [sp, #0xc]
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0xc]
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0xc]
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0xc]
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0xc]
+ ldr r2, [sp, #0x10]
+ ldmia r6!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x10]
+ ldmia r6!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x10]
+ ldmia r6!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x10]
+ ldmia r6!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x10]
+ ldr r2, [sp, #0x14]
+ ldmia r7!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x14]
+ ldmia r7!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x14]
+ ldmia r7!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x14]
+ ldmia r7!, {r0-r1}
+ stmia r2!, {r0-r1}
+ str r2, [sp, #0x14]
+ mov r0, #0x10
+_0206A32E:
+ ldr r1, [sp, #0x8]
+ ldrh r2, [r1, #0x0]
+ add r1, r1, #0x2
+ str r1, [sp, #0x8]
+ ldr r1, [sp, #0x18]
+ strh r2, [r1, #0x0]
+ add r1, r1, #0x2
+ str r1, [sp, #0x18]
+ sub r0, r0, #0x1
+ bne _0206A32E
+ add r0, r5, #0x0
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3F8
+ strh r0, [r5, #0x6]
+ add r0, r5, #0x0
+ ldrh r2, [r5, #0x6]
+ add r0, #0x8
+ mov r1, #0x80
+ bl FUN_0206A3A4
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x0]
+ add r0, #0x88
+ mov r1, #0x64
+ bl FUN_0206A3A4
+ ldr r0, [sp, #0x4]
+ bl FUN_02016A18
+ add sp, #0x1c
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206A370
+FUN_0206A370: ; 0x0206A370
+ ldr r3, _0206A37C ; =LoadFromNARC
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x2
+ bx r3
+ nop
+_0206A37C: .word LoadFromNARC
+
+ thumb_func_start FUN_0206A380
+FUN_0206A380: ; 0x0206A380
+ push {r4, lr}
+ add r4, r2, #0x0
+ bl FUN_0206A8FC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl LoadFromNARC
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206A394
+FUN_0206A394: ; 0x0206A394
+ ldr r3, _0206A3A0 ; =LoadFromNARC
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x22
+ bx r3
+ nop
+_0206A3A0: .word LoadFromNARC
+
+ thumb_func_start FUN_0206A3A4
+FUN_0206A3A4: ; 0x0206A3A4
+ push {r0-r3}
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+ lsr r6, r1, #0x1
+ beq _0206A3C6
+ add r7, sp, #0x20
+_0206A3B2:
+ add r0, r7, #0x0
+ bl FUN_0206A3D8
+ ldrh r1, [r5, #0x0]
+ add r4, r4, #0x1
+ eor r0, r1
+ strh r0, [r5, #0x0]
+ add r5, r5, #0x2
+ cmp r4, r6
+ blo _0206A3B2
+_0206A3C6:
+ pop {r3-r7}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .balign 4
+
+ thumb_func_start FUN_0206A3D0
+FUN_0206A3D0: ; 0x0206A3D0
+ ldr r3, _0206A3D4 ; =FUN_0206A3A4
+ bx r3
+ .balign 4
+_0206A3D4: .word FUN_0206A3A4
+
+ thumb_func_start FUN_0206A3D8
+FUN_0206A3D8: ; 0x0206A3D8
+ ldr r2, [r0, #0x0]
+ ldr r1, _0206A3F0 ; =0x41C64E6D
+ add r3, r2, #0x0
+ mul r3, r1
+ ldr r1, _0206A3F4 ; =0x00006073
+ add r1, r3, r1
+ str r1, [r0, #0x0]
+ lsr r0, r1, #0x10
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bx lr
+ nop
+_0206A3F0: .word 0x41C64E6D
+_0206A3F4: .word 0x00006073
+
+ thumb_func_start FUN_0206A3F8
+FUN_0206A3F8: ; 0x0206A3F8
+ push {r3-r4}
+ mov r3, #0x0
+ add r2, r3, #0x0
+ lsr r4, r1, #0x1
+ beq _0206A412
+_0206A402:
+ ldrh r1, [r0, #0x0]
+ add r2, r2, #0x1
+ add r0, r0, #0x2
+ add r1, r3, r1
+ lsl r1, r1, #0x10
+ lsr r3, r1, #0x10
+ cmp r2, r4
+ blo _0206A402
+_0206A412:
+ add r0, r3, #0x0
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0206A418
+FUN_0206A418: ; 0x0206A418
+ push {r3, lr}
+ mov r3, #0x3e
+ lsl r3, r3, #0xc
+ and r3, r1
+ lsr r3, r3, #0xd
+ cmp r3, #0x1f
+ bhi _0206A478
+ add r3, r3, r3
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_0206A432: ; jump table (using 16-bit offset)
+ .short _0206A472 - _0206A432 - 2; case 0
+ .short _0206A4A4 - _0206A432 - 2; case 1
+ .short _0206A4D4 - _0206A432 - 2; case 2
+ .short _0206A504 - _0206A432 - 2; case 3
+ .short _0206A534 - _0206A432 - 2; case 4
+ .short _0206A564 - _0206A432 - 2; case 5
+ .short _0206A594 - _0206A432 - 2; case 6
+ .short _0206A5C6 - _0206A432 - 2; case 7
+ .short _0206A5F6 - _0206A432 - 2; case 8
+ .short _0206A626 - _0206A432 - 2; case 9
+ .short _0206A656 - _0206A432 - 2; case 10
+ .short _0206A686 - _0206A432 - 2; case 11
+ .short _0206A6B6 - _0206A432 - 2; case 12
+ .short _0206A6E8 - _0206A432 - 2; case 13
+ .short _0206A718 - _0206A432 - 2; case 14
+ .short _0206A748 - _0206A432 - 2; case 15
+ .short _0206A778 - _0206A432 - 2; case 16
+ .short _0206A7A8 - _0206A432 - 2; case 17
+ .short _0206A7D8 - _0206A432 - 2; case 18
+ .short _0206A80A - _0206A432 - 2; case 19
+ .short _0206A83A - _0206A432 - 2; case 20
+ .short _0206A86A - _0206A432 - 2; case 21
+ .short _0206A89A - _0206A432 - 2; case 22
+ .short _0206A8CA - _0206A432 - 2; case 23
+ .short _0206A472 - _0206A432 - 2; case 24
+ .short _0206A4A4 - _0206A432 - 2; case 25
+ .short _0206A4D4 - _0206A432 - 2; case 26
+ .short _0206A504 - _0206A432 - 2; case 27
+ .short _0206A534 - _0206A432 - 2; case 28
+ .short _0206A564 - _0206A432 - 2; case 29
+ .short _0206A594 - _0206A432 - 2; case 30
+ .short _0206A5C6 - _0206A432 - 2; case 31
+_0206A472:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A47A
+_0206A478:
+ b _0206A8F8
+_0206A47A:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A486: ; jump table (using 16-bit offset)
+ .short _0206A48E - _0206A486 - 2; case 0
+ .short _0206A492 - _0206A486 - 2; case 1
+ .short _0206A498 - _0206A486 - 2; case 2
+ .short _0206A49E - _0206A486 - 2; case 3
+_0206A48E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A492:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A498:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A49E:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A4A4:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A4B6: ; jump table (using 16-bit offset)
+ .short _0206A4BE - _0206A4B6 - 2; case 0
+ .short _0206A4C2 - _0206A4B6 - 2; case 1
+ .short _0206A4C8 - _0206A4B6 - 2; case 2
+ .short _0206A4CE - _0206A4B6 - 2; case 3
+_0206A4BE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A4C2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A4C8:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A4CE:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A4D4:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A4E6: ; jump table (using 16-bit offset)
+ .short _0206A4EE - _0206A4E6 - 2; case 0
+ .short _0206A4F2 - _0206A4E6 - 2; case 1
+ .short _0206A4F8 - _0206A4E6 - 2; case 2
+ .short _0206A4FE - _0206A4E6 - 2; case 3
+_0206A4EE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A4F2:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A4F8:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A4FE:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A504:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A516: ; jump table (using 16-bit offset)
+ .short _0206A51E - _0206A516 - 2; case 0
+ .short _0206A522 - _0206A516 - 2; case 1
+ .short _0206A528 - _0206A516 - 2; case 2
+ .short _0206A52E - _0206A516 - 2; case 3
+_0206A51E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A522:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A528:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A52E:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A534:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A546: ; jump table (using 16-bit offset)
+ .short _0206A54E - _0206A546 - 2; case 0
+ .short _0206A552 - _0206A546 - 2; case 1
+ .short _0206A558 - _0206A546 - 2; case 2
+ .short _0206A55E - _0206A546 - 2; case 3
+_0206A54E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A552:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A558:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A55E:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A564:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A59A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A576: ; jump table (using 16-bit offset)
+ .short _0206A57E - _0206A576 - 2; case 0
+ .short _0206A582 - _0206A576 - 2; case 1
+ .short _0206A588 - _0206A576 - 2; case 2
+ .short _0206A58E - _0206A576 - 2; case 3
+_0206A57E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A582:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A588:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A58E:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A594:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A59C
+_0206A59A:
+ b _0206A8F8
+_0206A59C:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A5A8: ; jump table (using 16-bit offset)
+ .short _0206A5B0 - _0206A5A8 - 2; case 0
+ .short _0206A5B6 - _0206A5A8 - 2; case 1
+ .short _0206A5BA - _0206A5A8 - 2; case 2
+ .short _0206A5C0 - _0206A5A8 - 2; case 3
+_0206A5B0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A5B6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A5BA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A5C0:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A5C6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A5D8: ; jump table (using 16-bit offset)
+ .short _0206A5E0 - _0206A5D8 - 2; case 0
+ .short _0206A5E6 - _0206A5D8 - 2; case 1
+ .short _0206A5EA - _0206A5D8 - 2; case 2
+ .short _0206A5F0 - _0206A5D8 - 2; case 3
+_0206A5E0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A5E6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A5EA:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A5F0:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A5F6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A608: ; jump table (using 16-bit offset)
+ .short _0206A610 - _0206A608 - 2; case 0
+ .short _0206A616 - _0206A608 - 2; case 1
+ .short _0206A61A - _0206A608 - 2; case 2
+ .short _0206A620 - _0206A608 - 2; case 3
+_0206A610:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A616:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A61A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A620:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A626:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A638: ; jump table (using 16-bit offset)
+ .short _0206A640 - _0206A638 - 2; case 0
+ .short _0206A646 - _0206A638 - 2; case 1
+ .short _0206A64A - _0206A638 - 2; case 2
+ .short _0206A650 - _0206A638 - 2; case 3
+_0206A640:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A646:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A64A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A650:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A656:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A668: ; jump table (using 16-bit offset)
+ .short _0206A670 - _0206A668 - 2; case 0
+ .short _0206A676 - _0206A668 - 2; case 1
+ .short _0206A67A - _0206A668 - 2; case 2
+ .short _0206A680 - _0206A668 - 2; case 3
+_0206A670:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A676:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A67A:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A680:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A686:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A6BC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A698: ; jump table (using 16-bit offset)
+ .short _0206A6A0 - _0206A698 - 2; case 0
+ .short _0206A6A6 - _0206A698 - 2; case 1
+ .short _0206A6AA - _0206A698 - 2; case 2
+ .short _0206A6B0 - _0206A698 - 2; case 3
+_0206A6A0:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A6A6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A6AA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A6B0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A6B6:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A6BE
+_0206A6BC:
+ b _0206A8F8
+_0206A6BE:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A6CA: ; jump table (using 16-bit offset)
+ .short _0206A6D2 - _0206A6CA - 2; case 0
+ .short _0206A6D8 - _0206A6CA - 2; case 1
+ .short _0206A6DE - _0206A6CA - 2; case 2
+ .short _0206A6E2 - _0206A6CA - 2; case 3
+_0206A6D2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A6D8:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A6DE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A6E2:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A6E8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A6FA: ; jump table (using 16-bit offset)
+ .short _0206A702 - _0206A6FA - 2; case 0
+ .short _0206A708 - _0206A6FA - 2; case 1
+ .short _0206A70E - _0206A6FA - 2; case 2
+ .short _0206A712 - _0206A6FA - 2; case 3
+_0206A702:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A708:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A70E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A712:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A718:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A72A: ; jump table (using 16-bit offset)
+ .short _0206A732 - _0206A72A - 2; case 0
+ .short _0206A738 - _0206A72A - 2; case 1
+ .short _0206A73E - _0206A72A - 2; case 2
+ .short _0206A742 - _0206A72A - 2; case 3
+_0206A732:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A738:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A73E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A742:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A748:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A75A: ; jump table (using 16-bit offset)
+ .short _0206A762 - _0206A75A - 2; case 0
+ .short _0206A768 - _0206A75A - 2; case 1
+ .short _0206A76E - _0206A75A - 2; case 2
+ .short _0206A772 - _0206A75A - 2; case 3
+_0206A762:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A768:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A76E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A772:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A778:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A78A: ; jump table (using 16-bit offset)
+ .short _0206A792 - _0206A78A - 2; case 0
+ .short _0206A798 - _0206A78A - 2; case 1
+ .short _0206A79E - _0206A78A - 2; case 2
+ .short _0206A7A2 - _0206A78A - 2; case 3
+_0206A792:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A798:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A79E:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A7A2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7A8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A7DE
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A7BA: ; jump table (using 16-bit offset)
+ .short _0206A7C2 - _0206A7BA - 2; case 0
+ .short _0206A7C8 - _0206A7BA - 2; case 1
+ .short _0206A7CE - _0206A7BA - 2; case 2
+ .short _0206A7D2 - _0206A7BA - 2; case 3
+_0206A7C2:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A7C8:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A7CE:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A7D2:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7D8:
+ add r0, #0x8
+ cmp r2, #0x3
+ bls _0206A7E0
+_0206A7DE:
+ b _0206A8F8
+_0206A7E0:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A7EC: ; jump table (using 16-bit offset)
+ .short _0206A7F4 - _0206A7EC - 2; case 0
+ .short _0206A7FA - _0206A7EC - 2; case 1
+ .short _0206A800 - _0206A7EC - 2; case 2
+ .short _0206A806 - _0206A7EC - 2; case 3
+_0206A7F4:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A7FA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A800:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A806:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A80A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A81C: ; jump table (using 16-bit offset)
+ .short _0206A824 - _0206A81C - 2; case 0
+ .short _0206A82A - _0206A81C - 2; case 1
+ .short _0206A830 - _0206A81C - 2; case 2
+ .short _0206A836 - _0206A81C - 2; case 3
+_0206A824:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A82A:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A830:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A836:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A83A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A84C: ; jump table (using 16-bit offset)
+ .short _0206A854 - _0206A84C - 2; case 0
+ .short _0206A85A - _0206A84C - 2; case 1
+ .short _0206A860 - _0206A84C - 2; case 2
+ .short _0206A866 - _0206A84C - 2; case 3
+_0206A854:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A85A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A860:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A866:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A86A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A87C: ; jump table (using 16-bit offset)
+ .short _0206A884 - _0206A87C - 2; case 0
+ .short _0206A88A - _0206A87C - 2; case 1
+ .short _0206A890 - _0206A87C - 2; case 2
+ .short _0206A896 - _0206A87C - 2; case 3
+_0206A884:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A88A:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A890:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A896:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A89A:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A8AC: ; jump table (using 16-bit offset)
+ .short _0206A8B4 - _0206A8AC - 2; case 0
+ .short _0206A8BA - _0206A8AC - 2; case 1
+ .short _0206A8C0 - _0206A8AC - 2; case 2
+ .short _0206A8C6 - _0206A8AC - 2; case 3
+_0206A8B4:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A8BA:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A8C0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A8C6:
+ add r1, r0, #0x0
+ b _0206A8F8
+_0206A8CA:
+ add r0, #0x8
+ cmp r2, #0x3
+ bhi _0206A8F8
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206A8DC: ; jump table (using 16-bit offset)
+ .short _0206A8E4 - _0206A8DC - 2; case 0
+ .short _0206A8EA - _0206A8DC - 2; case 1
+ .short _0206A8F0 - _0206A8DC - 2; case 2
+ .short _0206A8F6 - _0206A8DC - 2; case 3
+_0206A8E4:
+ add r1, r0, #0x0
+ add r1, #0x60
+ b _0206A8F8
+_0206A8EA:
+ add r1, r0, #0x0
+ add r1, #0x40
+ b _0206A8F8
+_0206A8F0:
+ add r1, r0, #0x0
+ add r1, #0x20
+ b _0206A8F8
+_0206A8F6:
+ add r1, r0, #0x0
+_0206A8F8:
+ add r0, r1, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206A8FC
+FUN_0206A8FC: ; 0x0206A8FC
+ ldr r3, _0206A928 ; =0x00000182
+ cmp r0, r3
+ beq _0206A90C
+ add r2, r3, #0x0
+ add r2, #0x1b
+ cmp r0, r2
+ beq _0206A91A
+ bx lr
+_0206A90C:
+ cmp r1, #0x0
+ beq _0206A926
+ cmp r1, #0x3
+ bgt _0206A926
+ add r3, #0x6d
+ add r0, r1, r3
+ bx lr
+_0206A91A:
+ cmp r1, #0x0
+ beq _0206A926
+ cmp r1, #0x2
+ bgt _0206A926
+ add r3, #0x70
+ add r0, r1, r3
+_0206A926:
+ bx lr
+ .balign 4
+_0206A928: .word 0x00000182
+
+ thumb_func_start FUN_0206A92C
+FUN_0206A92C: ; 0x0206A92C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r4, #0x1
+ cmp r5, #0x20
+ blt _0206A93A
+ bl ErrorHandling
+_0206A93A:
+ mov r0, #0x0
+ cmp r5, #0x0
+ ble _0206A948
+_0206A940:
+ add r0, r0, #0x1
+ lsl r4, r4, #0x1
+ cmp r0, r5
+ blt _0206A940
+_0206A948:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206A94C
+FUN_0206A94C: ; 0x0206A94C
+ mov r3, #0x1
+ mov r2, #0x0
+_0206A950:
+ add r1, r0, #0x0
+ tst r1, r3
+ bne _0206A95E
+ add r2, r2, #0x1
+ lsl r3, r3, #0x1
+ cmp r2, #0x20
+ blt _0206A950
+_0206A95E:
+ add r0, r2, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206A964
+FUN_0206A964: ; 0x0206A964
+ ldr r3, _0206A980 ; =0x020F7EF2
+ mov r2, #0x0
+_0206A968:
+ ldrh r1, [r3, #0x0]
+ cmp r0, r1
+ bne _0206A972
+ mov r0, #0x1
+ bx lr
+_0206A972:
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0x12
+ blo _0206A968
+ mov r0, #0x0
+ bx lr
+ nop
+_0206A980: .word 0x020F7EF2
+
+ thumb_func_start FUN_0206A984
+FUN_0206A984: ; 0x0206A984
+ cmp r0, #0x12
+ blo _0206A98A
+ mov r0, #0x0
+_0206A98A:
+ lsl r1, r0, #0x1
+ ldr r0, _0206A994 ; =0x020F7EF2
+ ldrh r0, [r0, r1]
+ bx lr
+ nop
+_0206A994: .word 0x020F7EF2
+
+ thumb_func_start FUN_0206A998
+FUN_0206A998: ; 0x0206A998
+ push {r3, lr}
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_0206A964
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206A9AC
+FUN_0206A9AC: ; 0x0206A9AC
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r6, r2, #0x0
+ bl FUN_020239BC
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_020239CC
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x9c
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020239A0
+ add r7, r0, #0x0
+ mov r0, #0x8
+ add r1, r6, #0x0
+ bl FUN_020219F4
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x90
+ add r2, r6, #0x0
+ mov r4, #0x0
+ bl FUN_020672BC
+ ldr r1, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ cmp r1, r0
+ bne _0206AA1C
+ ldr r1, [sp, #0x8]
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ bne _0206AA1C
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_02021CE0
+ cmp r0, #0x0
+ bne _0206AA1C
+ mov r4, #0x1
+_0206AA1C:
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206AA30
+FUN_0206AA30: ; 0x0206AA30
+ push {r3, lr}
+ cmp r0, #0x3f
+ bgt _0206AA48
+ bge _0206AA6C
+ cmp r0, #0x1
+ bgt _0206AA74
+ cmp r0, #0x0
+ blt _0206AA74
+ beq _0206AA82
+ cmp r0, #0x1
+ beq _0206AA82
+ b _0206AA74
+_0206AA48:
+ cmp r0, #0x5a
+ bgt _0206AA50
+ beq _0206AA70
+ b _0206AA74
+_0206AA50:
+ add r1, r0, #0x0
+ sub r1, #0x5b
+ cmp r1, #0x3
+ bhi _0206AA74
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206AA64: ; jump table (using 16-bit offset)
+ .short _0206AA70 - _0206AA64 - 2; case 0
+ .short _0206AA70 - _0206AA64 - 2; case 1
+ .short _0206AA70 - _0206AA64 - 2; case 2
+ .short _0206AA70 - _0206AA64 - 2; case 3
+_0206AA6C:
+ mov r0, #0x2
+ pop {r3, pc}
+_0206AA70:
+ sub r0, #0x57
+ pop {r3, pc}
+_0206AA74:
+ bl FUN_0206AE00
+ cmp r0, #0x1
+ bne _0206AA80
+ mov r0, #0x1
+ pop {r3, pc}
+_0206AA80:
+ mov r0, #0x0
+_0206AA82:
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206AA84
+FUN_0206AA84: ; 0x0206AA84
+ push {r3-r4, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ add r1, sp, #0x0
+ add r1, #0x1
+ mov r2, #0x18
+ bl MIi_CpuClearFast
+ add r0, r4, #0x0
+ mov r1, #0xa1
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r2, sp, #0x0
+ add r0, r4, #0x0
+ mov r1, #0xaa
+ add r2, #0x1
+ bl FUN_02067830
+ add sp, #0x1c
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0206AAB4
+FUN_0206AAB4: ; 0x0206AAB4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ mov r4, #0x0
+ str r0, [sp, #0x0]
+ add r7, r4, #0x0
+ add r6, sp, #0x4
+_0206AAC6:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ add r2, r7, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0206AAF0
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x42
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r1, r4, #0x0
+ strb r0, [r6, #0x0]
+ add r0, r5, #0x0
+ add r1, #0x3a
+ add r2, sp, #0x4
+ bl FUN_02067960
+_0206AAF0:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _0206AAC6
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02066A94
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206AB04
+FUN_0206AB04: ; 0x0206AB04
+ push {r3, lr}
+ mov r1, #0x75
+ lsl r1, r1, #0x6
+ mov r2, #0x0
+ str r1, [sp, #0x0]
+ mov r1, #0x9
+ add r3, r2, #0x0
+ bl FUN_02006548
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206AB18
+FUN_0206AB18: ; 0x0206AB18
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ add r1, sp, #0x0
+ bl FUN_0206ABB4
+ add r0, sp, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206AB58
+ add sp, #0x10
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206AB30
+FUN_0206AB30: ; 0x0206AB30
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ cmp r5, #0x3
+ bls _0206AB3A
+ mov r5, #0x3
+_0206AB3A:
+ mov r1, #0x5
+ bl FUN_0206AB18
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ mov r0, #0x14
+ mul r0, r4
+ mul r0, r5
+ mov r1, #0x64
+ bl _s32_div_f
+ add r0, r4, r0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206AB58
+FUN_0206AB58: ; 0x0206AB58
+ cmp r1, #0xb
+ bhi _0206ABB0
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206AB68: ; jump table (using 16-bit offset)
+ .short _0206AB80 - _0206AB68 - 2; case 0
+ .short _0206AB84 - _0206AB68 - 2; case 1
+ .short _0206AB88 - _0206AB68 - 2; case 2
+ .short _0206AB8C - _0206AB68 - 2; case 3
+ .short _0206AB90 - _0206AB68 - 2; case 4
+ .short _0206AB94 - _0206AB68 - 2; case 5
+ .short _0206AB98 - _0206AB68 - 2; case 6
+ .short _0206AB9C - _0206AB68 - 2; case 7
+ .short _0206ABA0 - _0206AB68 - 2; case 8
+ .short _0206ABA6 - _0206AB68 - 2; case 9
+ .short _0206ABAA - _0206AB68 - 2; case 10
+ .short _0206ABAE - _0206AB68 - 2; case 11
+_0206AB80:
+ ldrh r0, [r0, #0x0]
+ bx lr
+_0206AB84:
+ ldrb r0, [r0, #0x2]
+ bx lr
+_0206AB88:
+ ldrb r0, [r0, #0x3]
+ bx lr
+_0206AB8C:
+ ldrb r0, [r0, #0x4]
+ bx lr
+_0206AB90:
+ ldrb r0, [r0, #0x5]
+ bx lr
+_0206AB94:
+ ldrb r0, [r0, #0x6]
+ bx lr
+_0206AB98:
+ ldrb r0, [r0, #0x7]
+ bx lr
+_0206AB9C:
+ ldrh r0, [r0, #0x8]
+ bx lr
+_0206ABA0:
+ mov r1, #0xa
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206ABA6:
+ ldrb r0, [r0, #0xb]
+ bx lr
+_0206ABAA:
+ ldrb r0, [r0, #0xc]
+ bx lr
+_0206ABAE:
+ ldrb r0, [r0, #0xd]
+_0206ABB0:
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206ABB4
+FUN_0206ABB4: ; 0x0206ABB4
+ ldr r3, _0206ABC0 ; =LoadFromNARC
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x9
+ bx r3
+ nop
+_0206ABC0: .word LoadFromNARC
+
+ thumb_func_start FUN_0206ABC4
+FUN_0206ABC4: ; 0x0206ABC4
+ push {r3-r7, lr}
+ sub sp, #0x48
+ str r2, [sp, #0x4]
+ ldr r2, _0206AC70 ; =0x0000022F
+ str r0, [sp, #0x0]
+ add r4, r1, #0x0
+ ldr r3, [sp, #0x4]
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ bl FUN_02024EC0
+ bl FUN_02024EE8
+ ldr r4, [sp, #0x0]
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r5, r4, #0x0
+ mov r7, #0x0
+ str r0, [sp, #0x8]
+ add r5, #0x3c
+_0206ABF4:
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _0206AC48
+ add r1, sp, #0x14
+ bl FUN_0206ADE0
+ ldr r3, [sp, #0x8]
+ add r6, sp, #0x14
+ add r3, #0x28
+ mov r2, #0x6
+_0206AC08:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206AC08
+ ldr r0, [r6, #0x0]
+ str r0, [r3, #0x0]
+ add r0, sp, #0x14
+ ldrb r0, [r0, #0x1]
+ cmp r0, #0x3f
+ bne _0206AC26
+ ldr r1, [sp, #0xc]
+ add r0, r5, #0x0
+ bl StringCopy
+ b _0206AC3E
+_0206AC26:
+ ldr r0, [sp, #0x10]
+ ldr r1, [r4, #0x18]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x8
+ bl FUN_02021EF0
+ add r0, r6, #0x0
+ bl FUN_02021A20
+_0206AC3E:
+ ldr r0, [sp, #0x0]
+ ldr r2, [sp, #0x4]
+ add r1, r7, #0x0
+ bl FUN_0206AE0C
+_0206AC48:
+ ldr r0, [sp, #0x8]
+ add r7, r7, #0x1
+ add r0, #0x34
+ add r4, r4, #0x4
+ add r5, #0x34
+ str r0, [sp, #0x8]
+ cmp r7, #0x4
+ blt _0206ABF4
+ ldr r0, [sp, #0x0]
+ ldr r1, [r0, #0x0]
+ ldr r0, [sp, #0x24]
+ orr r1, r0
+ ldr r0, [sp, #0x0]
+ str r1, [r0, #0x0]
+ ldr r0, [sp, #0x10]
+ bl FUN_0200A8B8
+ add sp, #0x48
+ pop {r3-r7, pc}
+ nop
+_0206AC70: .word 0x0000022F
+
+ thumb_func_start FUN_0206AC74
+FUN_0206AC74: ; 0x0206AC74
+ push {r4-r5, lr}
+ sub sp, #0x34
+ add r5, r1, #0x0
+ add r1, sp, #0x0
+ bl FUN_0206ADE0
+ cmp r5, #0x9
+ bhi _0206ACCC
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206AC90: ; jump table (using 16-bit offset)
+ .short _0206ACA4 - _0206AC90 - 2; case 0
+ .short _0206ACAA - _0206AC90 - 2; case 1
+ .short _0206ACB0 - _0206AC90 - 2; case 2
+ .short _0206ACB6 - _0206AC90 - 2; case 3
+ .short _0206ACBC - _0206AC90 - 2; case 4
+ .short _0206ACBC - _0206AC90 - 2; case 5
+ .short _0206ACBC - _0206AC90 - 2; case 6
+ .short _0206ACBC - _0206AC90 - 2; case 7
+ .short _0206ACC6 - _0206AC90 - 2; case 8
+ .short _0206ACCA - _0206AC90 - 2; case 9
+_0206ACA4:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x0]
+ b _0206ACCC
+_0206ACAA:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x1]
+ b _0206ACCC
+_0206ACB0:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x2]
+ b _0206ACCC
+_0206ACB6:
+ add r0, sp, #0x0
+ ldrb r4, [r0, #0x3]
+ b _0206ACCC
+_0206ACBC:
+ sub r0, r5, #0x4
+ lsl r1, r0, #0x1
+ add r0, sp, #0x4
+ ldrh r4, [r0, r1]
+ b _0206ACCC
+_0206ACC6:
+ ldr r4, [sp, #0xc]
+ b _0206ACCC
+_0206ACCA:
+ ldr r4, [sp, #0x10]
+_0206ACCC:
+ add r0, r4, #0x0
+ add sp, #0x34
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206ACD4
+FUN_0206ACD4: ; 0x0206ACD4
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ add r7, r1, #0x0
+ ldr r1, [sp, #0x4]
+ mov r0, #0x3b
+ add r4, r2, #0x0
+ bl LoadFromNARC_7
+ add r6, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, sp, #0xc
+ mov r1, #0x89
+ mov r2, #0x0
+ lsl r3, r5, #0x1
+ bl FUN_02006548
+ mov r0, #0x3b
+ add r1, r4, #0x0
+ bl FUN_02006670
+ add r4, sp, #0xc
+ ldrh r2, [r4, #0x0]
+ str r0, [sp, #0x8]
+ cmp r2, r6
+ beq _0206AD40
+_0206AD0E:
+ add r0, sp, #0xc
+ add r0, #0x2
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+ mov r3, #0x4
+ bl FUN_02006814
+ ldrh r1, [r4, #0x2]
+ cmp r1, r5
+ bne _0206AD30
+ ldrh r0, [r4, #0x4]
+ cmp r0, r7
+ bne _0206AD30
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ b _0206AD40
+_0206AD30:
+ cmp r1, r5
+ bne _0206AD40
+ ldrh r0, [r4, #0x0]
+ add r0, r0, #0x4
+ strh r0, [r4, #0x0]
+ ldrh r2, [r4, #0x0]
+ cmp r2, r6
+ bne _0206AD0E
+_0206AD40:
+ ldr r0, [sp, #0x8]
+ bl FUN_020066F4
+ ldr r0, [sp, #0x4]
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206AD4C
+FUN_0206AD4C: ; 0x0206AD4C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ mov r0, #0x3b
+ mov r1, #0x0
+ str r2, [sp, #0x4]
+ str r3, [sp, #0x8]
+ bl LoadFromNARC_7
+ add r5, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, sp, #0x10
+ mov r1, #0x89
+ mov r2, #0x0
+ lsl r3, r6, #0x1
+ bl FUN_02006548
+ ldr r1, [sp, #0x8]
+ mov r0, #0x3b
+ bl FUN_02006670
+ add r4, sp, #0x10
+ ldrh r2, [r4, #0x0]
+ str r0, [sp, #0xc]
+ cmp r2, r5
+ beq _0206ADC2
+_0206AD84:
+ add r0, sp, #0x10
+ add r0, #0x2
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0xc]
+ mov r1, #0x0
+ mov r3, #0x4
+ bl FUN_02006814
+ ldrh r0, [r4, #0x2]
+ cmp r0, r6
+ bne _0206ADB6
+ ldrh r0, [r4, #0x4]
+ cmp r0, r7
+ bne _0206ADB6
+ ldr r0, [sp, #0x4]
+ add r2, sp, #0x10
+ str r0, [sp, #0x0]
+ ldrh r2, [r2, #0x0]
+ ldr r1, _0206ADDC ; =0x0000022E
+ ldr r3, [sp, #0x8]
+ mov r0, #0x1a
+ lsr r2, r2, #0x2
+ bl FUN_0200A648
+ b _0206ADC2
+_0206ADB6:
+ ldrh r0, [r4, #0x0]
+ add r0, r0, #0x4
+ strh r0, [r4, #0x0]
+ ldrh r2, [r4, #0x0]
+ cmp r2, r5
+ bne _0206AD84
+_0206ADC2:
+ ldr r0, [sp, #0xc]
+ bl FUN_020066F4
+ add r0, sp, #0x10
+ ldrh r0, [r0, #0x0]
+ cmp r0, r5
+ bne _0206ADD6
+ ldr r0, [sp, #0x4]
+ bl FUN_02021A4C
+_0206ADD6:
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_0206ADDC: .word 0x0000022E
+
+ thumb_func_start FUN_0206ADE0
+FUN_0206ADE0: ; 0x0206ADE0
+ ldr r3, _0206ADEC ; =LoadFromNARC
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x39
+ bx r3
+ nop
+_0206ADEC: .word LoadFromNARC
+
+ thumb_func_start FUN_0206ADF0
+FUN_0206ADF0: ; 0x0206ADF0
+ ldr r3, _0206ADFC ; =LoadFromNARC
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x3a
+ bx r3
+ nop
+_0206ADFC: .word LoadFromNARC
+
+ thumb_func_start FUN_0206AE00
+FUN_0206AE00: ; 0x0206AE00
+ ldr r1, _0206AE08 ; =0x020F8010
+ ldrb r0, [r1, r0]
+ bx lr
+ nop
+_0206AE08: .word 0x020F8010
+
+ thumb_func_start FUN_0206AE0C
+FUN_0206AE0C: ; 0x0206AE0C
+ push {r3-r7, lr}
+ sub sp, #0x50
+ add r7, r1, #0x0
+ add r4, r0, #0x0
+ add r5, r2, #0x0
+ bl getseed_LC
+ lsl r6, r7, #0x2
+ str r0, [sp, #0x44]
+ add r0, r4, r6
+ ldr r0, [r0, #0x4]
+ mov r1, #0x6
+ bl FUN_0206B8CC
+ add r0, r5, #0x0
+ mov r1, #0x60
+ bl FUN_02016998
+ str r0, [sp, #0x4c]
+ add r0, r5, #0x0
+ bl FUN_020669C0
+ str r0, [sp, #0x40]
+ add r0, r4, r6
+ ldr r0, [r0, #0x18]
+ ldr r1, [sp, #0x4c]
+ bl FUN_0206ADF0
+ mov r0, #0x34
+ add r5, r7, #0x0
+ mul r5, r0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ bl FUN_0206AE00
+ cmp r0, #0x1
+ bne _0206AE5E
+ mov r0, #0x78
+ str r0, [sp, #0x10]
+ b _0206AE62
+_0206AE5E:
+ mov r0, #0x88
+ str r0, [sp, #0x10]
+_0206AE62:
+ add r0, r4, r5
+ add r0, #0x28
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ bhi _0206AF26
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206AE78: ; jump table (using 16-bit offset)
+ .short _0206AE80 - _0206AE78 - 2; case 0
+ .short _0206AF28 - _0206AE78 - 2; case 1
+ .short _0206AFE8 - _0206AE78 - 2; case 2
+ .short _0206B08C - _0206AE78 - 2; case 3
+_0206AE80:
+ mov r0, #0x0
+ str r0, [sp, #0x48]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206AF26
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x28]
+ add r0, r4, r6
+ str r0, [sp, #0x24]
+_0206AE96:
+ ldr r0, [sp, #0x24]
+ ldr r2, [sp, #0x28]
+ ldr r1, [r0, #0x18]
+ ldr r0, [sp, #0x28]
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldrh r0, [r0, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r7, r1, r0
+ add r0, r7, #0x0
+ bl seedr_LC
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206AECE
+_0206AEBC:
+ bl rand_LC
+ add r7, r0, #0x0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206AEBC
+_0206AECE:
+ ldr r0, [sp, #0x10]
+ lsl r1, r7, #0x8
+ add r6, r1, r0
+ ldr r0, [sp, #0x28]
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ bl _s32_div_f
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x28]
+ ldr r2, [sp, #0x28]
+ ldrh r1, [r1, #0x4]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x28]
+ add r0, r0, #0x6
+ str r0, [sp, #0x28]
+ ldr r0, [sp, #0x48]
+ add r0, r0, #0x1
+ str r0, [sp, #0x48]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x48]
+ cmp r0, r1
+ blt _0206AE96
+_0206AF26:
+ b _0206B156
+_0206AF28:
+ mov r0, #0x0
+ str r0, [sp, #0x18]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206AFE6
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x30]
+ add r0, r4, r6
+ str r0, [sp, #0x2c]
+_0206AF3E:
+ ldr r0, [sp, #0x2c]
+ ldr r2, [sp, #0x30]
+ ldr r1, [r0, #0x18]
+ ldr r0, [sp, #0x30]
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldrh r0, [r0, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r7, r1, r0
+ add r0, r7, #0x0
+ bl seedr_LC
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206AF76
+_0206AF64:
+ bl rand_LC
+ add r7, r0, #0x0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206AF64
+_0206AF76:
+ ldr r0, [sp, #0x10]
+ lsl r1, r7, #0x8
+ add r6, r1, r0
+ ldr r0, [sp, #0x30]
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ bl _s32_div_f
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x30]
+ ldr r2, [sp, #0x30]
+ ldrh r1, [r1, #0x4]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r7, [sp, #0x30]
+ mov r6, #0x0
+_0206AFB0:
+ ldrh r1, [r7, #0x6]
+ lsl r2, r6, #0x18
+ ldr r0, [sp, #0x40]
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ add r6, r6, #0x1
+ add r7, r7, #0x2
+ cmp r6, #0x4
+ blt _0206AFB0
+ ldr r0, [sp, #0x2c]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x30]
+ add r0, #0xe
+ str r0, [sp, #0x30]
+ ldr r0, [sp, #0x18]
+ add r0, r0, #0x1
+ str r0, [sp, #0x18]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x18]
+ cmp r0, r1
+ blt _0206AF3E
+_0206AFE6:
+ b _0206B156
+_0206AFE8:
+ mov r0, #0x0
+ str r0, [sp, #0x1c]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206B08A
+ add r0, r4, r6
+ ldr r7, [sp, #0x4c]
+ str r0, [sp, #0x34]
+_0206AFFC:
+ ldr r0, [sp, #0x34]
+ ldrh r3, [r7, #0x0]
+ ldrh r2, [r7, #0x2]
+ ldr r1, [r0, #0x18]
+ ldrh r0, [r7, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r0, r1, r0
+ str r0, [sp, #0x14]
+ bl seedr_LC
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206B030
+_0206B01E:
+ bl rand_LC
+ str r0, [sp, #0x14]
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206B01E
+_0206B030:
+ ldr r0, [sp, #0x14]
+ lsl r1, r0, #0x8
+ ldr r0, [sp, #0x10]
+ add r6, r1, r0
+ ldrh r1, [r7, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ bl _s32_div_f
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldrh r1, [r7, #0x4]
+ ldrh r2, [r7, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r0, [sp, #0x40]
+ mov r1, #0x6
+ add r2, r7, #0x6
+ bl FUN_02067830
+ ldr r0, [sp, #0x34]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x1c]
+ add r7, #0x8
+ add r0, r0, #0x1
+ str r0, [sp, #0x1c]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x1c]
+ cmp r0, r1
+ blt _0206AFFC
+_0206B08A:
+ b _0206B156
+_0206B08C:
+ mov r0, #0x0
+ str r0, [sp, #0x20]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _0206B156
+ ldr r0, [sp, #0x4c]
+ str r0, [sp, #0x3c]
+ add r0, r4, r6
+ str r0, [sp, #0x38]
+_0206B0A2:
+ ldr r0, [sp, #0x38]
+ ldr r2, [sp, #0x3c]
+ ldr r1, [r0, #0x18]
+ ldr r0, [sp, #0x3c]
+ ldrh r3, [r2, #0x0]
+ ldrh r2, [r2, #0x2]
+ ldrh r0, [r0, #0x4]
+ add r2, r3, r2
+ add r0, r0, r2
+ add r7, r1, r0
+ add r0, r7, #0x0
+ bl seedr_LC
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ ble _0206B0DA
+_0206B0C8:
+ bl rand_LC
+ add r7, r0, #0x0
+ add r0, r4, r5
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ add r6, r6, #0x1
+ cmp r6, r0
+ blt _0206B0C8
+_0206B0DA:
+ ldr r0, [sp, #0x10]
+ lsl r1, r7, #0x8
+ add r6, r1, r0
+ ldr r0, [sp, #0x3c]
+ ldrh r1, [r0, #0x0]
+ mov r0, #0x1f
+ mul r0, r1
+ mov r1, #0xff
+ bl _s32_div_f
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ lsl r3, r3, #0x18
+ str r6, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [sp, #0x3c]
+ ldr r2, [sp, #0x3c]
+ ldrh r1, [r1, #0x4]
+ ldrh r2, [r2, #0x2]
+ ldr r0, [sp, #0x40]
+ lsr r3, r3, #0x18
+ bl FUN_02066ACC
+ ldr r2, [sp, #0x3c]
+ ldr r0, [sp, #0x40]
+ mov r1, #0x6
+ add r2, r2, #0x6
+ bl FUN_02067830
+ ldr r7, [sp, #0x3c]
+ mov r6, #0x0
+_0206B120:
+ ldrh r1, [r7, #0x8]
+ lsl r2, r6, #0x18
+ ldr r0, [sp, #0x40]
+ lsr r2, r2, #0x18
+ bl FUN_020697CC
+ add r6, r6, #0x1
+ add r7, r7, #0x2
+ cmp r6, #0x4
+ blt _0206B120
+ ldr r0, [sp, #0x38]
+ ldr r1, [sp, #0x40]
+ ldr r0, [r0, #0x4]
+ bl FUN_0206B900
+ ldr r0, [sp, #0x3c]
+ add r0, #0x10
+ str r0, [sp, #0x3c]
+ ldr r0, [sp, #0x20]
+ add r0, r0, #0x1
+ str r0, [sp, #0x20]
+ add r0, r4, r5
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x20]
+ cmp r0, r1
+ blt _0206B0A2
+_0206B156:
+ ldr r0, [sp, #0x4c]
+ bl FUN_02016A18
+ ldr r0, [sp, #0x40]
+ bl FUN_02016A18
+ ldr r0, [sp, #0x44]
+ bl seedr_LC
+ add sp, #0x50
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B16C
+FUN_0206B16C: ; 0x0206B16C
+ push {r3, lr}
+ bl FUN_0206B180
+ bl FUN_02022830
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206B178
+FUN_0206B178: ; 0x0206B178
+ ldr r0, _0206B17C ; =0x000121C8
+ bx lr
+ .balign 4
+_0206B17C: .word 0x000121C8
+
+ thumb_func_start FUN_0206B180
+FUN_0206B180: ; 0x0206B180
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ mov r7, #0x0
+ add r6, r0, #0x4
+_0206B188:
+ mov r4, #0x0
+ add r5, r6, #0x0
+_0206B18C:
+ add r0, r5, #0x0
+ bl FUN_020669A0
+ add r4, r4, #0x1
+ add r5, #0x88
+ cmp r4, #0x1e
+ blo _0206B18C
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ add r7, r7, #0x1
+ add r6, r6, r0
+ cmp r7, #0x12
+ blo _0206B188
+ mov r3, #0x0
+ ldr r1, _0206B200 ; =0x000121B4
+ add r4, r3, #0x0
+ add r2, r3, #0x0
+_0206B1AE:
+ ldr r0, [sp, #0x0]
+ add r0, r0, r3
+ strb r4, [r0, r1]
+ add r4, r4, #0x1
+ cmp r4, #0x10
+ blo _0206B1BC
+ add r4, r2, #0x0
+_0206B1BC:
+ add r3, r3, #0x1
+ cmp r3, #0x12
+ blo _0206B1AE
+ ldr r1, _0206B204 ; =0x000121C6
+ ldr r0, [sp, #0x0]
+ mov r3, #0x0
+ strb r3, [r0, r1]
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xe
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ beq _0206B1F8
+ ldr r1, _0206B208 ; =0x00011EE4
+ ldr r0, [sp, #0x0]
+ mov r5, #0x0
+ add r4, r0, r1
+_0206B1E0:
+ add r0, r6, #0x0
+ add r1, r5, #0x6
+ add r2, r4, #0x0
+ bl FUN_0200A968
+ add r5, r5, #0x1
+ add r4, #0x28
+ cmp r5, #0x12
+ blo _0206B1E0
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+_0206B1F8:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+_0206B200: .word 0x000121B4
+_0206B204: .word 0x000121C6
+_0206B208: .word 0x00011EE4
+
+ thumb_func_start FUN_0206B20C
+FUN_0206B20C: ; 0x0206B20C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r4, [r5, #0x0]
+ add r6, r1, #0x0
+ mov r7, #0x0
+_0206B216:
+ add r0, r6, #0x0
+ bl FUN_0206AAB4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206B244
+ cmp r0, #0x0
+ beq _0206B232
+ bl FUN_02022830
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206B232:
+ add r4, r4, #0x1
+ cmp r4, #0x12
+ blo _0206B23A
+ add r4, r7, #0x0
+_0206B23A:
+ ldr r0, [r5, #0x0]
+ cmp r4, r0
+ bne _0206B216
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B244
+FUN_0206B244: ; 0x0206B244
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, r0, #0x0
+ add r0, r2, #0x0
+ add r5, r1, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_0206AAB4
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r5, r0
+ bne _0206B25E
+ ldr r5, [r6, #0x0]
+_0206B25E:
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ add r1, r6, #0x4
+ mul r0, r5
+ mov r4, #0x0
+ add r5, r1, r0
+ str r5, [sp, #0x4]
+ mov r6, #0x5
+ add r7, r4, #0x0
+_0206B270:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _0206B2A0
+ mov r0, #0x88
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x4]
+ mov r3, #0x11
+ add r4, r0, r1
+_0206B28A:
+ ldr r2, [sp, #0x0]
+ sub r3, r3, #0x1
+ ldmia r2!, {r0-r1}
+ str r2, [sp, #0x0]
+ stmia r4!, {r0-r1}
+ bne _0206B28A
+ bl FUN_02022830
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206B2A0:
+ add r4, r4, #0x1
+ add r5, #0x88
+ cmp r4, #0x1e
+ blo _0206B270
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B2B0
+FUN_0206B2B0: ; 0x0206B2B0
+ push {r3-r7, lr}
+ add r7, r3, #0x0
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0206AAB4
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _0206B2CA
+ ldr r4, [r5, #0x0]
+_0206B2CA:
+ cmp r4, #0x12
+ bhs _0206B2F4
+ cmp r6, #0x1e
+ bhs _0206B2F4
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x88
+ mul r0, r6
+ add r0, r1, r0
+ add r3, r0, #0x4
+ mov r2, #0x11
+_0206B2E4:
+ ldmia r7!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206B2E4
+ bl FUN_02022830
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206B2F4:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B2FC
+FUN_0206B2FC: ; 0x0206B2FC
+ push {r3, lr}
+ mov r3, #0x0
+ mvn r3, r3
+ cmp r1, r3
+ bne _0206B308
+ ldr r1, [r0, #0x0]
+_0206B308:
+ cmp r2, #0x1e
+ bhs _0206B32A
+ cmp r1, #0x12
+ bhs _0206B32A
+ add r3, r0, #0x4
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ mul r0, r1
+ add r1, r3, r0
+ mov r0, #0x88
+ mul r0, r2
+ add r0, r1, r0
+ bl FUN_020669A0
+ bl FUN_02022830
+ pop {r3, pc}
+_0206B32A:
+ bl ErrorHandling
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206B330
+FUN_0206B330: ; 0x0206B330
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206B334
+FUN_0206B334: ; 0x0206B334
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r0, [sp, #0x0]
+ ldr r6, [r0, #0x0]
+ add r0, r0, #0x4
+ mov r7, #0xab
+ str r0, [sp, #0x4]
+_0206B342:
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ add r1, r6, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x4]
+ mov r4, #0x0
+ add r5, r0, r1
+_0206B350:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _0206B364
+ add sp, #0x8
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_0206B364:
+ add r4, r4, #0x1
+ add r5, #0x88
+ cmp r4, #0x1e
+ blt _0206B350
+ add r6, r6, #0x1
+ cmp r6, #0x12
+ blt _0206B374
+ mov r6, #0x0
+_0206B374:
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r6, r0
+ bne _0206B342
+ mov r0, #0x12
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B384
+FUN_0206B384: ; 0x0206B384
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r1, #0x0
+ ldr r2, [r6, #0x0]
+ mvn r1, r1
+ cmp r2, r1
+ bne _0206B398
+ ldr r1, [r0, #0x0]
+ str r1, [r6, #0x0]
+_0206B398:
+ ldr r1, [sp, #0x0]
+ ldr r4, [r6, #0x0]
+ ldr r5, [r1, #0x0]
+ add r7, r0, #0x4
+ b _0206B3C8
+_0206B3A2:
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ mul r0, r4
+ add r1, r7, r0
+ mov r0, #0x88
+ mul r0, r5
+ add r0, r1, r0
+ mov r1, #0xab
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _0206B3C6
+ ldr r0, [sp, #0x0]
+ str r4, [r6, #0x0]
+ str r5, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206B3C6:
+ add r5, r5, #0x1
+_0206B3C8:
+ cmp r5, #0x1e
+ blt _0206B3A2
+ add r4, r4, #0x1
+ cmp r4, #0x12
+ blt _0206B3D4
+ mov r4, #0x0
+_0206B3D4:
+ ldr r0, [r6, #0x0]
+ cmp r4, r0
+ beq _0206B3DE
+ mov r5, #0x0
+ b _0206B3C8
+_0206B3DE:
+ mov r0, #0x12
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B3E4
+FUN_0206B3E4: ; 0x0206B3E4
+ push {r3-r7, lr}
+ sub sp, #0x8
+ mov r6, #0x0
+ add r0, r0, #0x4
+ str r6, [sp, #0x4]
+ str r0, [sp, #0x0]
+ mov r7, #0xab
+_0206B3F2:
+ ldr r5, [sp, #0x0]
+ mov r4, #0x0
+_0206B3F6:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0206B406
+ add r6, r6, #0x1
+_0206B406:
+ add r4, r4, #0x1
+ add r5, #0x88
+ cmp r4, #0x1e
+ blt _0206B3F6
+ mov r0, #0xff
+ ldr r1, [sp, #0x0]
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
+ cmp r0, #0x12
+ blt _0206B3F2
+ add r0, r6, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B428
+FUN_0206B428: ; 0x0206B428
+ push {r3, lr}
+ cmp r1, #0x12
+ bhs _0206B436
+ str r1, [r0, #0x0]
+ bl FUN_02022830
+ pop {r3, pc}
+_0206B436:
+ bl ErrorHandling
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206B43C
+FUN_0206B43C: ; 0x0206B43C
+ push {r3, lr}
+ cmp r1, #0x12
+ bhs _0206B44A
+ add r1, r0, r1
+ ldr r0, _0206B454 ; =0x000121B4
+ ldrb r0, [r1, r0]
+ pop {r3, pc}
+_0206B44A:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_0206B454: .word 0x000121B4
+
+ thumb_func_start FUN_0206B458
+FUN_0206B458: ; 0x0206B458
+ push {r3, lr}
+ mov r3, #0x0
+ mvn r3, r3
+ cmp r1, r3
+ bne _0206B464
+ ldr r1, [r0, #0x0]
+_0206B464:
+ cmp r1, #0x12
+ bhs _0206B478
+ cmp r2, #0x18
+ bhs _0206B478
+ add r1, r0, r1
+ ldr r0, _0206B480 ; =0x000121B4
+ strb r2, [r1, r0]
+ bl FUN_02022830
+ pop {r3, pc}
+_0206B478:
+ bl ErrorHandling
+ pop {r3, pc}
+ nop
+_0206B480: .word 0x000121B4
+
+ thumb_func_start FUN_0206B484
+FUN_0206B484: ; 0x0206B484
+ push {r3, lr}
+ add r3, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0206B492
+ ldr r1, [r3, #0x0]
+_0206B492:
+ cmp r1, #0x12
+ bhs _0206B4A8
+ add r0, r2, #0x0
+ ldr r2, _0206B4B0 ; =0x00011EE4
+ add r3, r3, r2
+ mov r2, #0x28
+ mul r2, r1
+ add r1, r3, r2
+ bl FUN_02021E28
+ pop {r3, pc}
+_0206B4A8:
+ bl ErrorHandling
+ pop {r3, pc}
+ nop
+_0206B4B0: .word 0x00011EE4
+
+ thumb_func_start FUN_0206B4B4
+FUN_0206B4B4: ; 0x0206B4B4
+ push {r3, lr}
+ add r3, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0206B4C2
+ ldr r1, [r3, #0x0]
+_0206B4C2:
+ cmp r1, #0x12
+ bhs _0206B4DC
+ add r0, r2, #0x0
+ ldr r2, _0206B4E0 ; =0x00011EE4
+ add r3, r3, r2
+ mov r2, #0x28
+ mul r2, r1
+ add r1, r3, r2
+ mov r2, #0x14
+ bl FUN_02021EF0
+ bl FUN_02022830
+_0206B4DC:
+ pop {r3, pc}
+ nop
+_0206B4E0: .word 0x00011EE4
+
+ thumb_func_start FUN_0206B4E4
+FUN_0206B4E4: ; 0x0206B4E4
+ push {r3-r7, lr}
+ mov r2, #0x0
+ mvn r2, r2
+ cmp r1, r2
+ bne _0206B4F0
+ ldr r1, [r0, #0x0]
+_0206B4F0:
+ cmp r1, #0x12
+ bhs _0206B520
+ add r2, r0, #0x4
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ mov r4, #0x0
+ mul r0, r1
+ add r6, r4, #0x0
+ add r5, r2, r0
+ mov r7, #0xab
+_0206B504:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0206B514
+ add r4, r4, #0x1
+_0206B514:
+ add r6, r6, #0x1
+ add r5, #0x88
+ cmp r6, #0x1e
+ blt _0206B504
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_0206B520:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B528
+FUN_0206B528: ; 0x0206B528
+ push {r3-r7, lr}
+ mov r2, #0x0
+ mvn r2, r2
+ cmp r1, r2
+ bne _0206B534
+ ldr r1, [r0, #0x0]
+_0206B534:
+ cmp r1, #0x12
+ bhs _0206B572
+ add r2, r0, #0x4
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ mov r4, #0x0
+ mul r0, r1
+ add r6, r4, #0x0
+ add r5, r2, r0
+ mov r7, #0xab
+_0206B548:
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0206B566
+ add r0, r5, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _0206B566
+ add r4, r4, #0x1
+_0206B566:
+ add r6, r6, #0x1
+ add r5, #0x88
+ cmp r6, #0x1e
+ blt _0206B548
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+_0206B572:
+ bl ErrorHandling
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B57C
+FUN_0206B57C: ; 0x0206B57C
+ push {r4-r6, lr}
+ mov r5, #0x0
+ add r6, r0, #0x0
+ add r4, r5, #0x0
+_0206B584:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206B528
+ add r5, r5, #0x1
+ add r4, r4, r0
+ cmp r5, #0x12
+ blo _0206B584
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206B598
+FUN_0206B598: ; 0x0206B598
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ cmp r4, #0x12
+ blo _0206B5B2
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _0206B5B2
+ bl ErrorHandling
+_0206B5B2:
+ cmp r6, #0x1e
+ blo _0206B5BA
+ bl ErrorHandling
+_0206B5BA:
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _0206B5C4
+ ldr r4, [r5, #0x0]
+_0206B5C4:
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ add r1, r5, #0x4
+ mul r0, r4
+ add r1, r1, r0
+ mov r0, #0x88
+ mul r0, r6
+ add r0, r1, r0
+ ldr r2, [sp, #0x18]
+ add r1, r7, #0x0
+ bl FUN_02067960
+ bl FUN_02022830
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B5E4
+FUN_0206B5E4: ; 0x0206B5E4
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ cmp r4, #0x12
+ blo _0206B5FC
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _0206B5FC
+ bl ErrorHandling
+_0206B5FC:
+ cmp r6, #0x1e
+ blo _0206B604
+ bl ErrorHandling
+_0206B604:
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _0206B60E
+ ldr r4, [r5, #0x0]
+_0206B60E:
+ mov r0, #0xff
+ lsl r0, r0, #0x4
+ add r1, r5, #0x4
+ mul r0, r4
+ add r1, r1, r0
+ mov r0, #0x88
+ mul r0, r6
+ add r0, r1, r0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206B620
+FUN_0206B620: ; 0x0206B620
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0x8
+ blo _0206B62E
+ bl ErrorHandling
+_0206B62E:
+ ldr r0, _0206B640 ; =0x000121C6
+ mov r1, #0x1
+ ldrb r2, [r5, r0]
+ lsl r1, r4
+ orr r1, r2
+ strb r1, [r5, r0]
+ bl FUN_02022830
+ pop {r3-r5, pc}
+ .balign 4
+_0206B640: .word 0x000121C6
+
+ thumb_func_start FUN_0206B644
+FUN_0206B644: ; 0x0206B644
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0x8
+ blo _0206B652
+ bl ErrorHandling
+_0206B652:
+ ldr r0, _0206B664 ; =0x000121C6
+ ldrb r2, [r5, r0]
+ mov r0, #0x1
+ add r1, r0, #0x0
+ lsl r1, r4
+ tst r1, r2
+ bne _0206B662
+ mov r0, #0x0
+_0206B662:
+ pop {r3-r5, pc}
+ .balign 4
+_0206B664: .word 0x000121C6
+
+ thumb_func_start FUN_0206B668
+FUN_0206B668: ; 0x0206B668
+ push {r4-r6, lr}
+ mov r4, #0x0
+ add r6, r0, #0x0
+ add r5, r4, #0x0
+_0206B670:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206B644
+ cmp r0, #0x0
+ beq _0206B67E
+ add r5, r5, #0x1
+_0206B67E:
+ add r4, r4, #0x1
+ cmp r4, #0x8
+ blo _0206B670
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206B688
+FUN_0206B688: ; 0x0206B688
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0206B754
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0206B6D4
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02066A94
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206B6C8
+FUN_0206B6C8: ; 0x0206B6C8
+ push {r3, lr}
+ bl FUN_020690E4
+ bl FUN_0206B688
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206B6D4
+FUN_0206B6D4: ; 0x0206B6D4
+ cmp r1, #0x1
+ bne _0206B6E8
+ ldr r1, _0206B748 ; =0x000001EA
+ cmp r0, r1
+ bne _0206B6E2
+ add r1, #0xc
+ b _0206B6E4
+_0206B6E2:
+ add r1, #0xb
+_0206B6E4:
+ add r0, r1, #0x0
+ bx lr
+_0206B6E8:
+ cmp r2, #0x0
+ beq _0206B73A
+ ldr r3, _0206B74C ; =0x00000182
+ cmp r0, r3
+ bne _0206B6F8
+ add r3, #0x74
+ add r0, r2, r3
+ bx lr
+_0206B6F8:
+ cmp r0, #0xc9
+ bne _0206B702
+ add r3, #0x78
+ add r0, r2, r3
+ bx lr
+_0206B702:
+ add r1, r3, #0x0
+ add r1, #0x1a
+ cmp r0, r1
+ bne _0206B710
+ add r3, #0x93
+ add r0, r2, r3
+ bx lr
+_0206B710:
+ add r1, r3, #0x0
+ add r1, #0x1b
+ cmp r0, r1
+ bne _0206B71E
+ add r3, #0x95
+ add r0, r2, r3
+ bx lr
+_0206B71E:
+ add r1, r3, #0x0
+ add r1, #0x24
+ cmp r0, r1
+ bne _0206B72C
+ add r3, #0x97
+ add r0, r2, r3
+ bx lr
+_0206B72C:
+ add r1, r3, #0x0
+ add r1, #0x25
+ cmp r0, r1
+ bne _0206B73A
+ add r3, #0x98
+ add r0, r2, r3
+ bx lr
+_0206B73A:
+ ldr r1, _0206B750 ; =0x000001ED
+ cmp r0, r1
+ bls _0206B742
+ mov r0, #0x0
+_0206B742:
+ add r0, r0, #0x7
+ bx lr
+ nop
+_0206B748: .word 0x000001EA
+_0206B74C: .word 0x00000182
+_0206B750: .word 0x000001ED
+
+ thumb_func_start FUN_0206B754
+FUN_0206B754: ; 0x0206B754
+ push {r4, lr}
+ mov r1, #0xad
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020672BC
+ ldr r2, _0206B7B8 ; =0x0000019D
+ cmp r0, r2
+ bhi _0206B784
+ sub r1, r2, #0x1
+ cmp r0, r1
+ blo _0206B774
+ beq _0206B7A4
+ cmp r0, r2
+ beq _0206B7A4
+ b _0206B7B4
+_0206B774:
+ cmp r0, #0xc9
+ bhi _0206B77C
+ beq _0206B79C
+ b _0206B7B4
+_0206B77C:
+ sub r2, #0x1b
+ cmp r0, r2
+ beq _0206B7A4
+ b _0206B7B4
+_0206B784:
+ add r1, r2, #0x0
+ add r1, #0x9
+ cmp r0, r1
+ bhi _0206B794
+ add r2, #0x9
+ cmp r0, r2
+ beq _0206B7A4
+ b _0206B7B4
+_0206B794:
+ add r2, #0xa
+ cmp r0, r2
+ beq _0206B7A4
+ b _0206B7B4
+_0206B79C:
+ add r0, r4, #0x0
+ bl FUN_020690D4
+ pop {r4, pc}
+_0206B7A4:
+ add r0, r4, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020672BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ pop {r4, pc}
+_0206B7B4:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0206B7B8: .word 0x0000019D
+
+ thumb_func_start FUN_0206B7BC
+FUN_0206B7BC: ; 0x0206B7BC
+ cmp r2, #0x1
+ bne _0206B7CE
+ ldr r1, _0206B830 ; =0x000001EA
+ cmp r0, r1
+ bne _0206B7CA
+ add r0, r1, #0x5
+ b _0206B82A
+_0206B7CA:
+ add r0, r1, #0x4
+ b _0206B82A
+_0206B7CE:
+ ldr r3, _0206B834 ; =0x000001ED
+ cmp r0, r3
+ bls _0206B7D8
+ mov r0, #0x0
+ b _0206B82A
+_0206B7D8:
+ cmp r1, #0x0
+ beq _0206B82A
+ add r2, r3, #0x0
+ sub r2, #0x6b
+ cmp r0, r2
+ bne _0206B7EA
+ add r0, r3, #0x2
+ add r0, r1, r0
+ b _0206B82A
+_0206B7EA:
+ cmp r0, #0xc9
+ bne _0206B7F4
+ add r0, r3, #0x5
+ add r0, r1, r0
+ b _0206B82A
+_0206B7F4:
+ add r2, r3, #0x0
+ sub r2, #0x51
+ cmp r0, r2
+ bne _0206B802
+ add r3, #0x21
+ add r0, r1, r3
+ b _0206B82A
+_0206B802:
+ add r2, r3, #0x0
+ sub r2, #0x50
+ cmp r0, r2
+ bne _0206B810
+ add r3, #0x23
+ add r0, r1, r3
+ b _0206B82A
+_0206B810:
+ add r2, r3, #0x0
+ sub r2, #0x47
+ cmp r0, r2
+ bne _0206B81E
+ add r3, #0x25
+ add r0, r1, r3
+ b _0206B82A
+_0206B81E:
+ add r2, r3, #0x0
+ sub r2, #0x46
+ cmp r0, r2
+ bne _0206B82A
+ add r3, #0x26
+ add r0, r1, r3
+_0206B82A:
+ ldr r1, _0206B838 ; =0x020F8074
+ ldrb r0, [r1, r0]
+ bx lr
+ .balign 4
+_0206B830: .word 0x000001EA
+_0206B834: .word 0x000001ED
+_0206B838: .word 0x020F8074
+
+ thumb_func_start FUN_0206B83C
+FUN_0206B83C: ; 0x0206B83C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02066A6C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0206B754
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02066A94
+ ldr r2, [sp, #0x0]
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_0206B7BC
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B87C
+FUN_0206B87C: ; 0x0206B87C
+ push {r3, lr}
+ bl FUN_020690E4
+ bl FUN_0206B83C
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206B888
+FUN_0206B888: ; 0x0206B888
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0206B88C
+FUN_0206B88C: ; 0x0206B88C
+ mov r0, #0x2
+ bx lr
+
+ thumb_func_start FUN_0206B890
+FUN_0206B890: ; 0x0206B890
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_0206B894
+FUN_0206B894: ; 0x0206B894
+ mov r0, #0x6
+ bx lr
+
+ thumb_func_start FUN_0206B898
+FUN_0206B898: ; 0x0206B898
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_0206B89C
+FUN_0206B89C: ; 0x0206B89C
+ mov r0, #0x3
+ bx lr
+
+ thumb_func_start FUN_0206B8A0
+FUN_0206B8A0: ; 0x0206B8A0
+ mov r0, #0x5
+ bx lr
+
+ thumb_func_start FUN_0206B8A4
+FUN_0206B8A4: ; 0x0206B8A4
+ mov r0, #0x59
+ lsl r0, r0, #0x4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206B8AC
+FUN_0206B8AC: ; 0x0206B8AC
+ push {r4, lr}
+ mov r1, #0x59
+ lsl r1, r1, #0x4
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bl FUN_0206B8C0
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206B8C0
+FUN_0206B8C0: ; 0x0206B8C0
+ ldr r3, _0206B8C8 ; =FUN_0206B8CC
+ mov r1, #0x6
+ bx r3
+ nop
+_0206B8C8: .word FUN_0206B8CC
+
+ thumb_func_start FUN_0206B8CC
+FUN_0206B8CC: ; 0x0206B8CC
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ cmp r6, #0x6
+ ble _0206B8DA
+ bl ErrorHandling
+_0206B8DA:
+ mov r2, #0x59
+ add r0, r5, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ bl memset
+ mov r4, #0x0
+ str r4, [r5, #0x4]
+ str r6, [r5, #0x0]
+ add r5, #0x8
+_0206B8EE:
+ add r0, r5, #0x0
+ bl FUN_02066978
+ add r4, r4, #0x1
+ add r5, #0xec
+ cmp r4, #0x6
+ blt _0206B8EE
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B900
+FUN_0206B900: ; 0x0206B900
+ push {r4-r5}
+ add r3, r0, #0x0
+ add r2, r1, #0x0
+ ldr r1, [r3, #0x4]
+ ldr r0, [r3, #0x0]
+ cmp r1, r0
+ blt _0206B914
+ mov r0, #0x0
+ pop {r4-r5}
+ bx lr
+_0206B914:
+ mov r0, #0xec
+ mul r0, r1
+ add r5, r3, r0
+ add r5, #0x8
+ mov r4, #0x1d
+_0206B91E:
+ ldmia r2!, {r0-r1}
+ stmia r5!, {r0-r1}
+ sub r4, r4, #0x1
+ bne _0206B91E
+ ldr r0, [r2, #0x0]
+ str r0, [r5, #0x0]
+ ldr r0, [r3, #0x4]
+ add r0, r0, #0x1
+ str r0, [r3, #0x4]
+ mov r0, #0x1
+ pop {r4-r5}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206B938
+FUN_0206B938: ; 0x0206B938
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r4, r1, #0x0
+ bpl _0206B944
+ bl ErrorHandling
+_0206B944:
+ ldr r0, [r7, #0x4]
+ cmp r4, r0
+ blt _0206B94E
+ bl ErrorHandling
+_0206B94E:
+ ldr r0, [r7, #0x0]
+ cmp r4, r0
+ blt _0206B958
+ bl ErrorHandling
+_0206B958:
+ ldr r0, [r7, #0x4]
+ cmp r0, #0x0
+ bgt _0206B962
+ bl ErrorHandling
+_0206B962:
+ ldr r0, [r7, #0x4]
+ sub r0, r0, #0x1
+ cmp r4, r0
+ bge _0206B992
+ mov r0, #0xec
+ mul r0, r4
+ add r6, r7, r0
+_0206B970:
+ add r5, r6, #0x0
+ add r3, r6, #0x0
+ add r5, #0xf4
+ add r3, #0x8
+ mov r2, #0x1d
+_0206B97A:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206B97A
+ ldr r0, [r5, #0x0]
+ add r4, r4, #0x1
+ str r0, [r3, #0x0]
+ ldr r0, [r7, #0x4]
+ add r6, #0xec
+ sub r0, r0, #0x1
+ cmp r4, r0
+ blt _0206B970
+_0206B992:
+ add r1, r7, #0x0
+ mov r0, #0xec
+ add r1, #0x8
+ mul r0, r4
+ add r0, r1, r0
+ bl FUN_02066978
+ ldr r0, [r7, #0x4]
+ sub r0, r0, #0x1
+ str r0, [r7, #0x4]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B9AC
+FUN_0206B9AC: ; 0x0206B9AC
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0206B9B0
+FUN_0206B9B0: ; 0x0206B9B0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bpl _0206B9BC
+ bl ErrorHandling
+_0206B9BC:
+ ldr r0, [r5, #0x4]
+ cmp r4, r0
+ blt _0206B9C6
+ bl ErrorHandling
+_0206B9C6:
+ ldr r0, [r5, #0x0]
+ cmp r4, r0
+ blt _0206B9D0
+ bl ErrorHandling
+_0206B9D0:
+ mov r0, #0xec
+ add r5, #0x8
+ mul r0, r4
+ add r0, r5, r0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206B9DC
+FUN_0206B9DC: ; 0x0206B9DC
+ push {r3-r7, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ cmp r4, #0x0
+ bge _0206B9EC
+ bl ErrorHandling
+_0206B9EC:
+ ldr r0, [r5, #0x4]
+ cmp r4, r0
+ blt _0206B9F6
+ bl ErrorHandling
+_0206B9F6:
+ ldr r0, [r5, #0x0]
+ cmp r4, r0
+ blt _0206BA00
+ bl ErrorHandling
+_0206BA00:
+ add r1, r5, #0x0
+ mov r0, #0xec
+ add r1, #0x8
+ mul r0, r4
+ add r4, r1, r0
+ add r0, r4, #0x0
+ mov r1, #0xab
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0xab
+ mov r2, #0x0
+ bl FUN_020671BC
+ sub r2, r7, r0
+ mov r3, #0x1d
+_0206BA24:
+ ldmia r6!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r3, r3, #0x1
+ bne _0206BA24
+ ldr r0, [r6, #0x0]
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0x4]
+ add r0, r0, r2
+ str r0, [r5, #0x4]
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206BA38
+FUN_0206BA38: ; 0x0206BA38
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ add r6, r2, #0x0
+ cmp r5, #0x0
+ bge _0206BA48
+ bl ErrorHandling
+_0206BA48:
+ ldr r0, [r4, #0x4]
+ cmp r5, r0
+ blt _0206BA52
+ bl ErrorHandling
+_0206BA52:
+ ldr r0, [r4, #0x0]
+ cmp r5, r0
+ blt _0206BA5C
+ bl ErrorHandling
+_0206BA5C:
+ cmp r6, #0x0
+ bge _0206BA64
+ bl ErrorHandling
+_0206BA64:
+ ldr r0, [r4, #0x4]
+ cmp r6, r0
+ blt _0206BA6E
+ bl ErrorHandling
+_0206BA6E:
+ ldr r0, [r4, #0x0]
+ cmp r6, r0
+ blt _0206BA78
+ bl ErrorHandling
+_0206BA78:
+ mov r0, #0x0
+ mov r1, #0xec
+ bl FUN_02016998
+ mov r12, r0
+ add r1, r4, #0x0
+ mov r0, #0xec
+ add r1, #0x8
+ mul r0, r5
+ add r3, r1, r0
+ add r5, r3, #0x0
+ mov r2, r12
+ mov r7, #0x1d
+_0206BA92:
+ ldmia r5!, {r0-r1}
+ stmia r2!, {r0-r1}
+ sub r7, r7, #0x1
+ bne _0206BA92
+ ldr r0, [r5, #0x0]
+ add r4, #0x8
+ str r0, [r2, #0x0]
+ mov r0, #0xec
+ mul r0, r6
+ add r2, r4, r0
+ add r5, r2, #0x0
+ mov r4, #0x1d
+_0206BAAA:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r4, r4, #0x1
+ bne _0206BAAA
+ ldr r0, [r5, #0x0]
+ mov r4, r12
+ str r0, [r3, #0x0]
+ mov r3, #0x1d
+_0206BABA:
+ ldmia r4!, {r0-r1}
+ stmia r2!, {r0-r1}
+ sub r3, r3, #0x1
+ bne _0206BABA
+ ldr r0, [r4, #0x0]
+ str r0, [r2, #0x0]
+ mov r0, r12
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206BAD0
+FUN_0206BAD0: ; 0x0206BAD0
+ push {r3-r4}
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r2, #0xb2
+_0206BAD8:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206BAD8
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0206BAE4
+FUN_0206BAE4: ; 0x0206BAE4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, [r6, #0x4]
+ add r7, r1, #0x0
+ mov r4, #0x0
+ cmp r0, #0x0
+ ble _0206BB0E
+ add r5, r6, #0x0
+ add r5, #0x8
+_0206BAF6:
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r7, r0
+ beq _0206BB0E
+ ldr r0, [r6, #0x4]
+ add r4, r4, #0x1
+ add r5, #0xec
+ cmp r4, r0
+ blt _0206BAF6
+_0206BB0E:
+ ldr r0, [r6, #0x4]
+ cmp r4, r0
+ beq _0206BB18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206BB18:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206BB1C
+FUN_0206BB1C: ; 0x0206BB1C
+ ldr r3, _0206BB24 ; =FUN_02022610
+ mov r1, #0x2
+ bx r3
+ nop
+_0206BB24: .word FUN_02022610
+
+ thumb_func_start FUN_0206BB28
+FUN_0206BB28: ; 0x0206BB28
+ push {r3, lr}
+ bl FUN_02024DA0
+ bl FUN_0206BB34
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206BB34
+FUN_0206BB34: ; 0x0206BB34
+ push {r3, lr}
+ bl FUN_02024CA4
+ cmp r0, #0x1
+ bne _0206BB42
+ mov r0, #0x1
+ pop {r3, pc}
+_0206BB42:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206BB48
+FUN_0206BB48: ; 0x0206BB48
+ push {r3, lr}
+ cmp r0, #0x0
+ bne _0206BB58
+ lsl r0, r1, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069B40
+ add r1, r0, #0x0
+_0206BB58:
+ add r0, r1, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206BB5C
+FUN_0206BB5C: ; 0x0206BB5C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02087A6C
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r4, r0, #0x0
+ bl FUN_02087A98
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206BB74
+FUN_0206BB74: ; 0x0206BB74
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02087B0C
+ add r0, r4, #0x0
+ bl FUN_02087A84
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206BB84
+FUN_0206BB84: ; 0x0206BB84
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ add r0, r7, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ cmp r4, #0x0
+ bne _0206BBA2
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206BBA2:
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02023B0C
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, r5
+ bls _0206BBBE
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BBBE:
+ add r0, r7, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0206BBD0
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BBD0:
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ bne _0206BBEA
+ add r0, r6, #0x0
+ bl FUN_020695A8
+ cmp r6, r0
+ beq _0206BBEA
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BBEA:
+ add r0, r4, #0x0
+ mov r1, #0x5
+ bl FUN_02023B0C
+ add r5, r0, #0x0
+ beq _0206BC14
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02087B58
+ cmp r5, #0x0
+ ble _0206BC0A
+ cmp r0, r5
+ bge _0206BC14
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BC0A:
+ neg r1, r5
+ cmp r0, r1
+ ble _0206BC14
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BC14:
+ add r0, r4, #0x0
+ mov r1, #0x7
+ bl FUN_02023B0C
+ mov r1, #0xa
+ add r5, r0, #0x0
+ mul r5, r1
+ beq _0206BC42
+ ldr r0, [sp, #0x0]
+ add r1, r6, #0x0
+ bl FUN_02087B78
+ cmp r5, #0x0
+ ble _0206BC38
+ cmp r0, r5
+ bge _0206BC42
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BC38:
+ neg r1, r5
+ cmp r0, r1
+ ble _0206BC42
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BC42:
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ bne _0206BC5C
+ add r0, r7, #0x0
+ bl FUN_0206A998
+ cmp r0, #0x0
+ beq _0206BC5C
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206BC5C:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206BC60
+FUN_0206BC60: ; 0x0206BC60
+ push {r3-r7, lr}
+ sub sp, #0x30
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ str r2, [sp, #0x8]
+ str r3, [sp, #0xc]
+ cmp r0, #0x0
+ bne _0206BC7E
+ ldr r0, [sp, #0x14]
+ add sp, #0x30
+ pop {r3-r7, pc}
+_0206BC7E:
+ ldr r1, [sp, #0x14]
+ add r2, sp, #0x24
+ add r3, sp, #0x18
+ mov r0, #0x0
+_0206BC86:
+ ldr r4, [sp, #0xc]
+ strh r0, [r2, #0x0]
+ strh r0, [r3, #0x0]
+ ldrb r4, [r4, r1]
+ cmp r4, #0x0
+ beq _0206BC98
+ ldr r4, [sp, #0x14]
+ add r4, r4, #0x1
+ str r4, [sp, #0x14]
+_0206BC98:
+ add r1, r1, #0x1
+ add r2, r2, #0x2
+ add r3, r3, #0x2
+ cmp r1, #0x6
+ blt _0206BC86
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ bl FUN_02023B0C
+ ldr r1, [sp, #0x14]
+ cmp r1, r0
+ beq _0206BCB6
+ add sp, #0x30
+ mov r0, #0x4
+ pop {r3-r7, pc}
+_0206BCB6:
+ mov r5, #0x0
+ add r7, sp, #0x24
+ add r6, sp, #0x18
+_0206BCBC:
+ ldr r0, [sp, #0xc]
+ ldrb r1, [r0, r5]
+ cmp r1, #0x0
+ beq _0206BD0A
+ ldr r0, [sp, #0x4]
+ sub r1, r1, #0x1
+ bl FUN_0206B9B0
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ ldr r2, [sp, #0x8]
+ add r1, r4, #0x0
+ bl FUN_0206BB84
+ cmp r0, #0x0
+ bne _0206BCE2
+ add sp, #0x30
+ mov r0, #0x5
+ pop {r3-r7, pc}
+_0206BCE2:
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r7, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r6, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x10]
+ add r0, r1, r0
+ str r0, [sp, #0x10]
+_0206BD0A:
+ add r5, r5, #0x1
+ add r7, r7, #0x2
+ add r6, r6, #0x2
+ cmp r5, #0x6
+ blt _0206BCBC
+ ldr r0, [sp, #0x0]
+ mov r1, #0x3
+ bl FUN_02023B0C
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ ble _0206BD2C
+ cmp r0, #0x0
+ beq _0206BD2C
+ add sp, #0x30
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0206BD2C:
+ ldr r0, [sp, #0x0]
+ mov r1, #0xa
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ bne _0206BD70
+ ldr r0, [sp, #0x14]
+ cmp r0, #0x1
+ ble _0206BD70
+ add r4, sp, #0x24
+ mov r0, #0x0
+ add r2, r4, #0x0
+_0206BD44:
+ add r3, r0, #0x1
+ cmp r3, #0x6
+ bge _0206BD68
+ ldrh r6, [r4, #0x0]
+ lsl r1, r3, #0x1
+ add r5, r2, r1
+_0206BD50:
+ ldrh r1, [r5, #0x0]
+ cmp r6, r1
+ bne _0206BD60
+ cmp r6, #0x0
+ beq _0206BD60
+ add sp, #0x30
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_0206BD60:
+ add r3, r3, #0x1
+ add r5, r5, #0x2
+ cmp r3, #0x6
+ blt _0206BD50
+_0206BD68:
+ add r0, r0, #0x1
+ add r4, r4, #0x2
+ cmp r0, #0x5
+ blt _0206BD44
+_0206BD70:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x9
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ bne _0206BDC0
+ ldr r0, [sp, #0x14]
+ cmp r0, #0x1
+ ble _0206BDC0
+ add r2, sp, #0x18
+ mov r5, #0x0
+ add r7, sp, #0x24
+ mov r12, r2
+_0206BD8A:
+ add r6, r5, #0x1
+ cmp r6, #0x6
+ bge _0206BDB6
+ lsl r1, r6, #0x1
+ mov r0, r12
+ add r3, r0, r1
+ ldrh r4, [r2, #0x0]
+ ldrh r0, [r7, #0x0]
+_0206BD9A:
+ ldrh r1, [r3, #0x0]
+ cmp r4, r1
+ bne _0206BDAE
+ cmp r0, #0x0
+ beq _0206BDAE
+ cmp r4, #0x0
+ beq _0206BDAE
+ add sp, #0x30
+ mov r0, #0x3
+ pop {r3-r7, pc}
+_0206BDAE:
+ add r6, r6, #0x1
+ add r3, r3, #0x2
+ cmp r6, #0x6
+ blt _0206BD9A
+_0206BDB6:
+ add r5, r5, #0x1
+ add r2, r2, #0x2
+ add r7, r7, #0x2
+ cmp r5, #0x5
+ blt _0206BD8A
+_0206BDC0:
+ mov r0, #0x0
+ add sp, #0x30
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206BDC8
+FUN_0206BDC8: ; 0x0206BDC8
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x30]
+ str r1, [sp, #0x10]
+ lsl r0, r0, #0x1
+ ldr r1, [sp, #0xc]
+ str r0, [sp, #0x18]
+ ldrh r0, [r1, r0]
+ add r6, r2, #0x0
+ str r3, [sp, #0x14]
+ ldr r5, [sp, #0x38]
+ ldr r7, [sp, #0x34]
+ cmp r0, #0x0
+ beq _0206BE12
+ ldr r0, [sp, #0x18]
+ ldrh r0, [r6, r0]
+ cmp r0, #0x0
+ bne _0206BE12
+ ldr r1, [sp, #0x10]
+ ldr r0, [sp, #0x18]
+ ldrh r1, [r1, r0]
+ add r0, r3, #0x0
+ sub r0, r0, r1
+ str r0, [sp, #0x14]
+ bpl _0206BE02
+ add sp, #0x1c
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206BE02:
+ sub r7, r7, #0x1
+ bne _0206BE0C
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0206BE0C:
+ ldr r0, [sp, #0x18]
+ mov r1, #0x1
+ strh r1, [r6, r0]
+_0206BE12:
+ ldr r0, [sp, #0x30]
+ add r4, r0, #0x1
+ cmp r4, r5
+ bge _0206BE3C
+_0206BE1A:
+ str r4, [sp, #0x0]
+ str r7, [sp, #0x4]
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x10]
+ ldr r3, [sp, #0x14]
+ add r2, r6, #0x0
+ str r5, [sp, #0x8]
+ bl FUN_0206BDC8
+ cmp r0, #0x0
+ beq _0206BE36
+ add sp, #0x1c
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_0206BE36:
+ add r4, r4, #0x1
+ cmp r4, r5
+ blt _0206BE1A
+_0206BE3C:
+ ldr r1, [sp, #0x18]
+ mov r0, #0x0
+ strh r0, [r6, r1]
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206BE48
+FUN_0206BE48: ; 0x0206BE48
+ push {r4-r7, lr}
+ sub sp, #0x54
+ str r0, [sp, #0xc]
+ add r0, r1, #0x0
+ str r1, [sp, #0x10]
+ str r2, [sp, #0x14]
+ bl FUN_0206B9AC
+ str r0, [sp, #0x20]
+ add r6, r0, #0x0
+ add r0, sp, #0x30
+ mov r1, #0x0
+ mov r2, #0xc
+ bl MI_CpuFill8
+ ldr r0, [sp, #0x20]
+ mov r7, #0x0
+ cmp r0, #0x0
+ ble _0206BEB2
+ add r4, sp, #0x48
+ add r5, sp, #0x3c
+_0206BE72:
+ ldr r0, [sp, #0x10]
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ str r0, [sp, #0x24]
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r4, #0x0]
+ ldr r0, [sp, #0x24]
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x0]
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x24]
+ ldr r2, [sp, #0x14]
+ bl FUN_0206BB84
+ cmp r0, #0x0
+ bne _0206BEA6
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ sub r6, r6, #0x1
+_0206BEA6:
+ ldr r0, [sp, #0x20]
+ add r7, r7, #0x1
+ add r4, r4, #0x2
+ add r5, r5, #0x2
+ cmp r7, r0
+ blt _0206BE72
+_0206BEB2:
+ ldr r0, [sp, #0xc]
+ mov r1, #0xa
+ bl FUN_02023B0C
+ cmp r0, #0x0
+ bne _0206BF32
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x1
+ ble _0206BF32
+ mov r0, #0x0
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x20]
+ sub r0, r0, #0x1
+ str r0, [sp, #0x28]
+ cmp r0, #0x0
+ ble _0206BF32
+ add r0, sp, #0x3c
+ add r3, sp, #0x48
+ str r0, [sp, #0x1c]
+ str r3, [sp, #0x2c]
+ mov r12, r0
+_0206BEDC:
+ ldr r0, [sp, #0x18]
+ add r2, r0, #0x1
+ ldr r0, [sp, #0x20]
+ cmp r2, r0
+ bge _0206BF1E
+ ldr r1, [sp, #0x2c]
+ lsl r0, r2, #0x1
+ add r4, r1, r0
+ mov r1, r12
+ add r5, r1, r0
+ ldr r0, [sp, #0x1c]
+ ldrh r7, [r0, #0x0]
+_0206BEF4:
+ ldrh r1, [r3, #0x0]
+ ldrh r0, [r4, #0x0]
+ cmp r1, r0
+ bne _0206BF12
+ cmp r1, #0x0
+ beq _0206BF12
+ ldrh r0, [r5, #0x0]
+ cmp r7, r0
+ bls _0206BF0C
+ mov r0, #0x0
+ strh r0, [r3, #0x0]
+ b _0206BF10
+_0206BF0C:
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_0206BF10:
+ sub r6, r6, #0x1
+_0206BF12:
+ ldr r0, [sp, #0x20]
+ add r2, r2, #0x1
+ add r4, r4, #0x2
+ add r5, r5, #0x2
+ cmp r2, r0
+ blt _0206BEF4
+_0206BF1E:
+ ldr r0, [sp, #0x1c]
+ add r3, r3, #0x2
+ add r0, r0, #0x2
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x18]
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x28]
+ str r1, [sp, #0x18]
+ cmp r1, r0
+ blt _0206BEDC
+_0206BF32:
+ ldr r0, [sp, #0xc]
+ mov r1, #0x1
+ bl FUN_02023B0C
+ add r7, r0, #0x0
+ cmp r6, r7
+ bge _0206BF46
+ add sp, #0x54
+ mov r0, #0x4
+ pop {r4-r7, pc}
+_0206BF46:
+ ldr r0, [sp, #0xc]
+ mov r1, #0x3
+ bl FUN_02023B0C
+ add r5, r0, #0x0
+ bne _0206BF58
+ add sp, #0x54
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206BF58:
+ ldr r0, [sp, #0x20]
+ mov r4, #0x0
+ cmp r0, #0x0
+ ble _0206BF88
+ add r6, sp, #0x48
+_0206BF62:
+ str r4, [sp, #0x0]
+ ldr r0, [sp, #0x20]
+ str r7, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, sp, #0x3c
+ add r2, sp, #0x30
+ add r3, r5, #0x0
+ bl FUN_0206BDC8
+ cmp r0, #0x0
+ beq _0206BF80
+ add sp, #0x54
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206BF80:
+ ldr r0, [sp, #0x20]
+ add r4, r4, #0x1
+ cmp r4, r0
+ blt _0206BF62
+_0206BF88:
+ mov r0, #0x1
+ add sp, #0x54
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206BF90
+FUN_0206BF90: ; 0x0206BF90
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r0, #0x5
+ mov r1, #0x8
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x5
+ mov r1, #0x8
+ bl FUN_02016998
+ add r6, r0, #0x0
+ ldr r0, _0206BFE4 ; =0x020F828C
+ mov r1, #0xc
+ add r2, r5, #0x0
+ bl FUN_0202D8D0
+ str r5, [r4, #0x0]
+ mov r0, #0x0
+ strb r0, [r4, #0x4]
+ str r5, [r6, #0x0]
+ strb r0, [r6, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x4
+ bl MOD11_02231344
+ add r0, r5, #0x0
+ add r1, r6, #0x4
+ bl MOD11_02231350
+ ldr r0, _0206BFE8 ; =FUN_0206C550
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_0200CA44
+ ldr r0, _0206BFEC ; =FUN_0206C5DC
+ add r1, r6, #0x0
+ mov r2, #0x0
+ bl FUN_0200CA44
+ pop {r4-r6, pc}
+ nop
+_0206BFE4: .word 0x020F828C
+_0206BFE8: .word FUN_0206C550
+_0206BFEC: .word FUN_0206C5DC
+
+ thumb_func_start FUN_0206BFF0
+FUN_0206BFF0: ; 0x0206BFF0
+ ldr r3, _0206BFFC ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _0206C000 ; =0x020F828C
+ mov r1, #0xc
+ bx r3
+ nop
+_0206BFFC: .word FUN_0202D8D0
+_0206C000: .word 0x020F828C
+
+ thumb_func_start FUN_0206C004
+FUN_0206C004: ; 0x0206C004
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_0206C008
+FUN_0206C008: ; 0x0206C008
+ ldr r3, _0206C00C ; =FUN_02023924
+ bx r3
+ .balign 4
+_0206C00C: .word FUN_02023924
+
+ thumb_func_start FUN_0206C010
+FUN_0206C010: ; 0x0206C010
+ ldr r3, _0206C014 ; =FUN_0206B8A4
+ bx r3
+ .balign 4
+_0206C014: .word FUN_0206B8A4
+
+ thumb_func_start FUN_0206C018
+FUN_0206C018: ; 0x0206C018
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C020
+FUN_0206C020: ; 0x0206C020
+ mov r0, #0x34
+ bx lr
+
+ thumb_func_start FUN_0206C024
+FUN_0206C024: ; 0x0206C024
+ ldr r3, [r1, #0x0]
+ mov r1, #0x80
+ ldr r2, [r3, #0x0]
+ tst r1, r2
+ beq _0206C038
+ lsl r0, r0, #0x3
+ add r0, r3, r0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bx lr
+_0206C038:
+ lsl r0, r0, #0x2
+ add r0, r3, r0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C044
+FUN_0206C044: ; 0x0206C044
+ ldr r1, [r1, #0x0]
+ mov r2, #0x80
+ ldr r3, [r1, #0x0]
+ tst r2, r3
+ beq _0206C05A
+ lsl r2, r0, #0x1
+ mov r0, #0x34
+ add r1, #0x28
+ mul r0, r2
+ add r0, r1, r0
+ bx lr
+_0206C05A:
+ mov r2, #0x34
+ add r1, #0x28
+ mul r2, r0
+ add r0, r1, r2
+ bx lr
+
+ thumb_func_start FUN_0206C064
+FUN_0206C064: ; 0x0206C064
+ ldr r3, [r1, #0x0]
+ mov r1, #0x80
+ ldr r2, [r3, #0x0]
+ tst r1, r2
+ beq _0206C076
+ lsl r0, r0, #0x3
+ add r0, r3, r0
+ ldr r0, [r0, #0x4]
+ bx lr
+_0206C076:
+ lsl r0, r0, #0x2
+ add r0, r3, r0
+ ldr r0, [r0, #0x4]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C080
+FUN_0206C080: ; 0x0206C080
+ ldr r3, [r1, #0x0]
+ mov r1, #0x80
+ ldr r2, [r3, #0x0]
+ tst r2, r1
+ beq _0206C094
+ lsl r0, r0, #0x3
+ add r0, r3, r0
+ add r1, #0x98
+ ldr r0, [r0, r1]
+ bx lr
+_0206C094:
+ lsl r0, r0, #0x2
+ add r0, r3, r0
+ add r1, #0x98
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C0A0
+FUN_0206C0A0: ; 0x0206C0A0
+ ldr r0, [r1, #0x0]
+ add r0, #0x5c
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C0A8
+FUN_0206C0A8: ; 0x0206C0A8
+ ldr r0, [r1, #0x0]
+ add r0, #0xc4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C0B0
+FUN_0206C0B0: ; 0x0206C0B0
+ ldr r0, [r1, #0x0]
+ ldr r0, [r0, #0x8]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C0B8
+FUN_0206C0B8: ; 0x0206C0B8
+ ldr r0, [r1, #0x0]
+ ldr r0, [r0, #0x10]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206C0C0
+FUN_0206C0C0: ; 0x0206C0C0
+ lsl r0, r0, #0x2
+ add r0, r1, r0
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_0206C0C8
+FUN_0206C0C8: ; 0x0206C0C8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ mov r0, #0x5
+ mov r1, #0x4
+ str r2, [sp, #0x8]
+ add r7, r3, #0x0
+ bl FUN_02016998
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD11_022300D4
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD11_022300F4
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD11_02230100
+ mov r12, r0
+ add r0, sp, #0x10
+ ldrh r3, [r4, #0x0]
+ ldrb r0, [r0, #0x10]
+ add r1, r3, #0x5
+ add r2, r1, r0
+ mov r1, #0x1
+ lsl r1, r1, #0xc
+ cmp r2, r1
+ bls _0206C110
+ mov r1, r12
+ strh r3, [r1, #0x0]
+ mov r1, #0x0
+ strh r1, [r4, #0x0]
+_0206C110:
+ ldr r1, [sp, #0x4]
+ mov r3, #0x0
+ strb r1, [r6, #0x0]
+ ldr r1, [sp, #0x8]
+ strb r1, [r6, #0x1]
+ add r1, sp, #0x10
+ ldrb r1, [r1, #0x10]
+ strh r1, [r6, #0x2]
+_0206C120:
+ ldrb r2, [r6, r3]
+ ldrh r1, [r4, #0x0]
+ add r3, r3, #0x1
+ strb r2, [r5, r1]
+ ldrh r1, [r4, #0x0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x0]
+ cmp r3, #0x4
+ blo _0206C120
+ mov r3, #0x0
+ cmp r0, #0x0
+ ble _0206C14A
+_0206C138:
+ ldrb r2, [r7, r3]
+ ldrh r1, [r4, #0x0]
+ add r3, r3, #0x1
+ strb r2, [r5, r1]
+ ldrh r1, [r4, #0x0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x0]
+ cmp r3, r0
+ blt _0206C138
+_0206C14A:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206C154
+FUN_0206C154: ; 0x0206C154
+ push {r3-r7, lr}
+ str r3, [sp, #0x0]
+ add r0, r3, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ bl MOD11_022300DC
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD11_02230118
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl MOD11_02230124
+ ldrh r1, [r4, #0x0]
+ add r2, r1, r5
+ add r3, r2, #0x1
+ mov r2, #0x1
+ lsl r2, r2, #0xc
+ cmp r3, r2
+ ble _0206C186
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+_0206C186:
+ mov r0, #0x0
+ cmp r5, #0x0
+ ble _0206C19E
+_0206C18C:
+ ldrb r2, [r6, r0]
+ ldrh r1, [r4, #0x0]
+ add r0, r0, #0x1
+ strb r2, [r7, r1]
+ ldrh r1, [r4, #0x0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x0]
+ cmp r0, r5
+ blt _0206C18C
+_0206C19E:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206C1A0
+FUN_0206C1A0: ; 0x0206C1A0
+ push {r0-r3}
+ push {r3, lr}
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C1BA
+ mov r0, #0x0
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+_0206C1BA:
+ mov r0, #0x33
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C1CE
+ mov r0, #0x0
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+_0206C1CE:
+ mov r0, #0x18
+ add r1, sp, #0xc
+ mov r2, #0x4
+ bl FUN_02030ADC
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+
+ thumb_func_start FUN_0206C1E0
+FUN_0206C1E0: ; 0x0206C1E0
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x2
+ add r1, r1, r0
+ mov r0, #0x5f
+ ldr r2, [r2, #0x0]
+ lsl r0, r0, #0x2
+ str r2, [r1, r0]
+ ldr r0, _0206C1F8 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ .balign 4
+_0206C1F8: .word 0x00001020
+
+ thumb_func_start FUN_0206C1FC
+FUN_0206C1FC: ; 0x0206C1FC
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C210
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C210:
+ ldr r0, [r4, #0x0]
+ add r4, #0x20
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0202393C
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C224
+FUN_0206C224: ; 0x0206C224
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C238
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C238:
+ mov r0, #0x34
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C246
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C246:
+ bl FUN_02023924
+ add r4, #0x20
+ add r2, r0, #0x0
+ mov r0, #0x19
+ add r1, r4, #0x0
+ bl FUN_02030A78
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C258
+FUN_0206C258: ; 0x0206C258
+ ldr r0, _0206C264 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C264: .word 0x00001020
+
+ thumb_func_start FUN_0206C268
+FUN_0206C268: ; 0x0206C268
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C27C
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C27C:
+ ldr r3, [r4, #0x0]
+ add r4, #0x20
+ add r3, #0x28
+ mov r2, #0x6
+_0206C284:
+ ldmia r3!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206C284
+ ldr r0, [r3, #0x0]
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C294
+FUN_0206C294: ; 0x0206C294
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C2A8
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C2A8:
+ mov r0, #0x35
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C2B6
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C2B6:
+ add r4, #0x20
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mov r2, #0x34
+ bl FUN_02030A78
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C2C4
+FUN_0206C2C4: ; 0x0206C2C4
+ ldr r0, _0206C2D0 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C2D0: .word 0x00001020
+
+ thumb_func_start FUN_0206C2D4
+FUN_0206C2D4: ; 0x0206C2D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C2E8
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C2E8:
+ ldr r0, [r4, #0x0]
+ add r4, #0x20
+ ldr r0, [r0, #0x4]
+ add r1, r4, #0x0
+ bl FUN_0206BAD0
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C2F8
+FUN_0206C2F8: ; 0x0206C2F8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C30C
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C30C:
+ mov r0, #0x36
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C31A
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C31A:
+ bl FUN_0206B8A4
+ add r4, #0x20
+ add r2, r0, #0x0
+ mov r0, #0x1b
+ add r1, r4, #0x0
+ bl FUN_02030A78
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C32C
+FUN_0206C32C: ; 0x0206C32C
+ ldr r0, _0206C338 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C338: .word 0x00001020
+
+ thumb_func_start FUN_0206C33C
+FUN_0206C33C: ; 0x0206C33C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C350
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C350:
+ ldr r2, [r4, #0x0]
+ add r1, #0x10
+ add r0, r4, #0x0
+ ldr r1, [r2, r1]
+ add r0, #0x20
+ bl FUN_02029F9C
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C364
+FUN_0206C364: ; 0x0206C364
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C378
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C378:
+ mov r0, #0x37
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C386
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C386:
+ add r4, #0x20
+ mov r2, #0xfa
+ mov r0, #0x1c
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ bl FUN_02030A78
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C398
+FUN_0206C398: ; 0x0206C398
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C3AC
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0206C3AC:
+ ldr r4, [r5, #0x0]
+ mov r0, #0x80
+ ldr r1, [r4, #0x0]
+ tst r0, r1
+ beq _0206C3BE
+ bl FUN_02031190
+ lsl r0, r0, #0x3
+ b _0206C3C4
+_0206C3BE:
+ bl FUN_02031190
+ lsl r0, r0, #0x2
+_0206C3C4:
+ add r0, r4, r0
+ mov r1, #0x53
+ add r0, #0xf8
+ lsl r1, r1, #0x2
+ add r2, r5, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r1, [r4, r1]
+ add r2, #0x20
+ bl FUN_0206C66C
+ mov r4, #0x0
+ mov r6, #0x5
+ mov r7, #0x88
+_0206C3DE:
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_02016998
+ str r0, [r5, #0x10]
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _0206C3DE
+ mov r0, #0x1
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206C3F4
+FUN_0206C3F4: ; 0x0206C3F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C408
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C408:
+ mov r0, #0x38
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C416
+ mov r0, #0x0
+ pop {r4, pc}
+_0206C416:
+ add r4, #0x20
+ mov r2, #0xfa
+ mov r0, #0x21
+ add r1, r4, #0x0
+ lsl r2, r2, #0x2
+ bl FUN_02030A78
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C428
+FUN_0206C428: ; 0x0206C428
+ ldr r0, _0206C434 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C434: .word 0x00001020
+
+ thumb_func_start FUN_0206C438
+FUN_0206C438: ; 0x0206C438
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C44E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0206C44E:
+ ldr r1, [r5, #0x0]
+ mov r0, #0x34
+ mul r0, r4
+ add r3, r1, r0
+ add r3, #0x28
+ add r5, #0x20
+ mov r2, #0x6
+_0206C45C:
+ ldmia r3!, {r0-r1}
+ stmia r5!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206C45C
+ ldr r0, [r3, #0x0]
+ str r0, [r5, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206C46C
+FUN_0206C46C: ; 0x0206C46C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C484
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206C484:
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C494
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206C494:
+ cmp r4, #0x1
+ bne _0206C4A6
+ add r5, #0x20
+ mov r0, #0x1d
+ add r1, r5, #0x0
+ mov r2, #0x34
+ bl FUN_02030A78
+ pop {r4-r6, pc}
+_0206C4A6:
+ add r5, #0x20
+ mov r0, #0x1e
+ add r1, r5, #0x0
+ mov r2, #0x34
+ bl FUN_02030A78
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206C4B4
+FUN_0206C4B4: ; 0x0206C4B4
+ ldr r0, _0206C4C0 ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C4C0: .word 0x00001020
+
+ thumb_func_start FUN_0206C4C4
+FUN_0206C4C4: ; 0x0206C4C4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C4DA
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0206C4DA:
+ ldr r1, [r5, #0x0]
+ lsl r0, r4, #0x2
+ add r0, r1, r0
+ add r5, #0x20
+ ldr r0, [r0, #0x4]
+ add r1, r5, #0x0
+ bl FUN_0206BAD0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C4F0
+FUN_0206C4F0: ; 0x0206C4F0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _0206C508
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206C508:
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020315D8
+ cmp r0, #0x0
+ bne _0206C518
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206C518:
+ cmp r4, #0x1
+ bne _0206C52E
+ bl FUN_0206B8A4
+ add r5, #0x20
+ add r2, r0, #0x0
+ mov r0, #0x1f
+ add r1, r5, #0x0
+ bl FUN_02030A78
+ pop {r4-r6, pc}
+_0206C52E:
+ bl FUN_0206B8A4
+ add r5, #0x20
+ add r2, r0, #0x0
+ mov r0, #0x20
+ add r1, r5, #0x0
+ bl FUN_02030A78
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206C540
+FUN_0206C540: ; 0x0206C540
+ ldr r0, _0206C54C ; =0x00001020
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ bx lr
+ nop
+_0206C54C: .word 0x00001020
+
+ thumb_func_start FUN_0206C550
+FUN_0206C550: ; 0x0206C550
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x0]
+ bl MOD11_022300D4
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl MOD11_022300E8
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl MOD11_022300F4
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ bl MOD11_02230100
+ add r7, r0, #0x0
+ ldrb r0, [r5, #0x4]
+ cmp r0, #0x0
+ beq _0206C582
+ cmp r0, #0xff
+ b _0206C5CC
+_0206C582:
+ bl FUN_02030C58
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ bne _0206C5D8
+ ldr r0, [sp, #0x4]
+ ldrh r1, [r4, #0x0]
+ ldrh r0, [r0, #0x0]
+ cmp r1, r0
+ beq _0206C5D8
+ ldrh r0, [r7, #0x0]
+ cmp r1, r0
+ bne _0206C5A4
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ strh r0, [r7, #0x0]
+_0206C5A4:
+ ldrh r1, [r4, #0x0]
+ add r0, r1, #0x2
+ ldrb r2, [r6, r0]
+ add r0, r1, #0x3
+ ldrb r0, [r6, r0]
+ add r1, r6, r1
+ lsl r0, r0, #0x8
+ orr r0, r2
+ add r5, r0, #0x4
+ mov r0, #0x17
+ add r2, r5, #0x0
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _0206C5D8
+ ldrh r0, [r4, #0x0]
+ add sp, #0x8
+ add r0, r0, r5
+ strh r0, [r4, #0x0]
+ pop {r3-r7, pc}
+_0206C5CC:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x0]
+ bl FUN_0200CAB4
+_0206C5D8:
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206C5DC
+FUN_0206C5DC: ; 0x0206C5DC
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x0]
+ bl MOD11_022300DC
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl MOD11_0223010C
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl MOD11_02230118
+ add r7, r0, #0x0
+ ldr r0, [r5, #0x0]
+ bl MOD11_02230124
+ ldrb r1, [r5, #0x4]
+ cmp r1, #0x0
+ beq _0206C60A
+ cmp r1, #0xff
+ b _0206C63E
+_0206C60A:
+ ldrh r1, [r4, #0x0]
+ ldrh r2, [r7, #0x0]
+ cmp r1, r2
+ beq _0206C64A
+ ldrh r2, [r0, #0x0]
+ cmp r1, r2
+ bne _0206C61E
+ mov r1, #0x0
+ strh r1, [r4, #0x0]
+ strh r1, [r0, #0x0]
+_0206C61E:
+ ldrh r1, [r4, #0x0]
+ ldr r0, [r5, #0x0]
+ add r1, r6, r1
+ bl MOD11_022567E0
+ ldrh r0, [r4, #0x0]
+ add r1, r0, #0x2
+ ldrb r2, [r6, r1]
+ add r1, r0, #0x3
+ ldrb r1, [r6, r1]
+ lsl r1, r1, #0x8
+ orr r1, r2
+ add r1, r1, #0x4
+ add r0, r0, r1
+ strh r0, [r4, #0x0]
+ pop {r3-r7, pc}
+_0206C63E:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x0]
+ bl FUN_0200CAB4
+_0206C64A:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206C64C
+FUN_0206C64C: ; 0x0206C64C
+ push {r4, lr}
+ add r4, r3, #0x0
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl MOD11_0223135C
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl MOD11_02231368
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD11_02231374
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C66C
+FUN_0206C66C: ; 0x0206C66C
+ push {r4-r6, lr}
+ add r4, r2, #0x0
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_0202398C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl StringCopy
+ add r0, r6, #0x0
+ bl FUN_020239BC
+ str r0, [r4, #0x10]
+ add r0, r6, #0x0
+ bl FUN_02023A70
+ strb r0, [r4, #0x14]
+ add r0, r6, #0x0
+ bl FUN_02023A68
+ strb r0, [r4, #0x15]
+ add r0, r6, #0x0
+ bl FUN_020239CC
+ strb r0, [r4, #0x16]
+ mov r0, #0x0
+ add r1, r4, #0x0
+_0206C6A4:
+ ldr r2, [r5, #0x10]
+ str r2, [r1, #0x18]
+ ldrb r3, [r5, #0x15]
+ add r2, r4, r0
+ add r2, #0x58
+ strb r3, [r2, #0x0]
+ add r2, r4, r0
+ ldrb r3, [r5, #0x14]
+ add r2, #0x68
+ add r1, r1, #0x4
+ strb r3, [r2, #0x0]
+ add r2, r4, r0
+ ldrb r3, [r5, #0x16]
+ add r2, #0x78
+ add r0, r0, #0x1
+ add r5, #0x88
+ strb r3, [r2, #0x0]
+ cmp r0, #0x10
+ blt _0206C6A4
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206C6CC
+FUN_0206C6CC: ; 0x0206C6CC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02031190
+ cmp r5, r0
+ beq _0206C6EE
+ mov r0, #0x53
+ ldr r1, [r4, #0x0]
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ add r1, r6, #0x0
+ mov r2, #0x1
+ mov r3, #0x5
+ bl FUN_02025520
+_0206C6EE:
+ ldr r0, _0206C6F8 ; =0x00001020
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4-r6, pc}
+ .balign 4
+_0206C6F8: .word 0x00001020
+
+ thumb_func_start FUN_0206C6FC
+FUN_0206C6FC: ; 0x0206C6FC
+ mov r0, #0x88
+ bx lr
+
+ thumb_func_start FUN_0206C700
+FUN_0206C700: ; 0x0206C700
+ push {r4-r7, lr}
+ sub sp, #0x24
+ ldr r5, [sp, #0x54]
+ add r6, r0, #0x0
+ str r1, [sp, #0x14]
+ add r0, r5, #0x0
+ mov r1, #0x80
+ add r7, r2, #0x0
+ str r3, [sp, #0x18]
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x80
+ bl MIi_CpuClearFast
+ bl FUN_020222F0
+ str r0, [sp, #0x1c]
+ bl FUN_020222E8
+ add r1, r0, #0x0
+ ldr r2, [sp, #0x1c]
+ mov r0, #0x0
+ bl MIi_CpuClear16
+ bl FUN_02022300
+ str r0, [sp, #0x20]
+ bl FUN_020222F8
+ add r1, r0, #0x0
+ ldr r2, [sp, #0x20]
+ mov r0, #0x0
+ bl MIi_CpuClear16
+ ldr r0, [sp, #0x14]
+ str r6, [r4, #0x24]
+ mov r1, #0x5
+ mov r2, #0x0
+ str r0, [r4, #0x28]
+ bl FUN_020671BC
+ add r1, r4, #0x0
+ add r1, #0x60
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x62
+ strh r7, [r0, #0x0]
+ str r5, [r4, #0x5c]
+ add r0, r5, #0x0
+ bl FUN_02002FD0
+ str r0, [r4, #0x14]
+ mov r1, #0x1
+ bl FUN_020038F0
+ mov r2, #0x2
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ add r3, r5, #0x0
+ bl FUN_02003008
+ mov r1, #0x1
+ ldr r0, [r4, #0x14]
+ lsl r2, r1, #0x9
+ add r3, r5, #0x0
+ bl FUN_02003008
+ mov r2, #0x7
+ ldr r0, [r4, #0x14]
+ mov r1, #0x2
+ lsl r2, r2, #0x6
+ add r3, r5, #0x0
+ bl FUN_02003008
+ mov r2, #0x2
+ ldr r0, [r4, #0x14]
+ mov r1, #0x3
+ lsl r2, r2, #0x8
+ add r3, r5, #0x0
+ bl FUN_02003008
+ add r0, r5, #0x0
+ bl FUN_02016B94
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02018FF4
+ str r0, [r4, #0x4]
+ ldr r0, [sp, #0x18]
+ str r0, [r4, #0x2c]
+ add r0, r5, #0x0
+ bl FUN_0206DE78
+ str r0, [r4, #0x34]
+ bl FUN_0206DE24
+ bl FUN_0206DE4C
+ bl FUN_0206DF18
+ ldr r1, [r4, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0206D9B4
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ str r0, [sp, #0x10]
+ ldr r0, [r4, #0x0]
+ ldr r1, [r4, #0x4]
+ mov r2, #0x1
+ mov r3, #0x2
+ bl FUN_02019064
+ ldr r0, [r4, #0x4]
+ mov r1, #0xff
+ bl FUN_02019620
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ add r0, r5, #0x0
+ bl FUN_02006D98
+ str r0, [r4, #0x18]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_02014BF4
+ str r0, [r4, #0x44]
+ add r0, r4, #0x0
+ mov r2, #0x51
+ mov r1, #0x0
+ add r0, #0x67
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x2
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ add r3, r5, #0x0
+ bl FUN_0200A86C
+ str r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0200AA80
+ str r0, [r4, #0xc]
+ mov r0, #0x5
+ lsl r0, r0, #0x6
+ add r1, r5, #0x0
+ bl FUN_020219F4
+ str r0, [r4, #0x10]
+ add r0, r5, #0x0
+ mov r1, #0x30
+ bl FUN_02016998
+ str r0, [r4, #0x3c]
+ ldr r1, [r4, #0x3c]
+ mov r0, #0x0
+ mov r2, #0x30
+ bl MIi_CpuClearFast
+ ldr r1, [sp, #0x38]
+ ldr r0, [r4, #0x3c]
+ str r1, [r0, #0x2c]
+ ldr r0, [sp, #0x3c]
+ str r0, [r4, #0x48]
+ ldr r0, [sp, #0x40]
+ str r0, [r4, #0x4c]
+ ldr r0, [sp, #0x44]
+ str r0, [r4, #0x50]
+ ldr r0, [sp, #0x48]
+ str r0, [r4, #0x54]
+ ldr r0, [sp, #0x4c]
+ str r0, [r4, #0x78]
+ ldr r0, [sp, #0x50]
+ str r0, [r4, #0x7c]
+ add r0, r4, #0x0
+ bl FUN_0206DC80
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206C8E4 ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E98
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ mov r2, #0xb
+ add r3, r5, #0x0
+ bl FUN_020142EC
+ mov r1, #0x1
+ str r0, [r4, #0x58]
+ bl FUN_020143A8
+ ldr r0, _0206C8E8 ; =FUN_0206C8EC
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_0200CA44
+ mov r0, #0x1
+ bl FUN_02002B60
+ bl FUN_02033E74
+ add r0, r4, #0x0
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_0206C8E4: .word 0x0000FFFF
+_0206C8E8: .word FUN_0206C8EC
+
+ thumb_func_start FUN_0206C8EC
+FUN_0206C8EC: ; 0x0206C8EC
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0206C9C0
+ ldr r0, [r5, #0x18]
+ bl FUN_02006ED4
+ bl FUN_0206DF58
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_020222B4
+ add r5, #0x67
+ ldrb r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _0206C918
+ add r0, r4, #0x0
+ bl FUN_0200CAB4
+_0206C918:
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206C91C
+FUN_0206C91C: ; 0x0206C91C
+ add r0, #0x67
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x1
+ bne _0206C928
+ mov r0, #0x1
+ bx lr
+_0206C928:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0206C92C
+FUN_0206C92C: ; 0x0206C92C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ ldr r0, [r4, #0x4]
+ mov r1, #0x1
+ bl FUN_020191A4
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ bl FUN_02003038
+ ldr r0, [r4, #0x14]
+ mov r1, #0x1
+ bl FUN_02003038
+ ldr r0, [r4, #0x14]
+ mov r1, #0x2
+ bl FUN_02003038
+ ldr r0, [r4, #0x14]
+ mov r1, #0x3
+ bl FUN_02003038
+ ldr r0, [r4, #0x14]
+ bl FUN_02002FEC
+ ldr r0, [r4, #0x18]
+ bl FUN_020072E8
+ ldr r0, [r4, #0x44]
+ bl FUN_02014C28
+ ldr r0, [r4, #0x34]
+ bl FUN_020223BC
+ ldr r0, [r4, #0x0]
+ bl FUN_0206DC48
+ ldr r0, [r4, #0x8]
+ bl FUN_0200A8B8
+ ldr r0, [r4, #0xc]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x10]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x3c]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x58]
+ bl FUN_020143D0
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ bl FUN_02002B60
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206C9C0
+FUN_0206C9C0: ; 0x0206C9C0
+ push {r3-r4, lr}
+ sub sp, #0x54
+ add r4, r0, #0x0
+ add r0, #0x70
+ ldrb r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0206CA9C
+ mov r0, #0x1
+ tst r0, r1
+ ldr r0, [r4, #0x1c]
+ bne _0206CA2E
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ mov r1, #0xc
+ neg r2, r2
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xd
+ neg r2, r2
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r1, #0xc
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r1, #0xd
+ bl FUN_020079E0
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xc
+ bl FUN_0200782C
+ cmp r0, #0x0
+ bne _0206CA9C
+ add r0, r4, #0x0
+ add r0, #0x70
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r1, r0
+ add r0, r4, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ b _0206CA9C
+_0206CA2E:
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ mov r1, #0xc
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xd
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r1, #0xc
+ neg r2, r2
+ bl FUN_020079E0
+ add r2, r4, #0x0
+ add r2, #0x71
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r1, #0xd
+ neg r2, r2
+ bl FUN_020079E0
+ ldr r0, [r4, #0x20]
+ mov r1, #0xc
+ bl FUN_0200782C
+ cmp r0, #0x0
+ bne _0206CA9C
+ add r0, r4, #0x0
+ add r0, #0x70
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r1, r0
+ add r0, r4, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x71
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x40
+ bhs _0206CA9C
+ add r0, r4, #0x0
+ add r0, #0x71
+ ldrb r0, [r0, #0x0]
+ lsl r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x71
+ strb r1, [r0, #0x0]
+_0206CA9C:
+ ldr r1, [r4, #0x7c]
+ mov r0, #0x1
+ tst r0, r1
+ beq _0206CAD6
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x8
+ bne _0206CAD6
+ ldr r0, _0206CE0C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0206CAD6
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, _0206CE10 ; =0x00007FFF
+ ldr r2, _0206CE14 ; =0x0000F3FF
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ mov r1, #0xf
+ bl FUN_02003210
+ add r0, r4, #0x0
+ mov r1, #0x29
+ add r0, #0x64
+ strb r1, [r0, #0x0]
+_0206CAD6:
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2d
+ bhi _0206CBA8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206CAEC: ; jump table (using 16-bit offset)
+ .short _0206CB48 - _0206CAEC - 2; case 0
+ .short _0206CB70 - _0206CAEC - 2; case 1
+ .short _0206CB9E - _0206CAEC - 2; case 2
+ .short _0206CBCC - _0206CAEC - 2; case 3
+ .short _0206CBE4 - _0206CAEC - 2; case 4
+ .short _0206CC66 - _0206CAEC - 2; case 5
+ .short _0206CCB2 - _0206CAEC - 2; case 6
+ .short _0206CD34 - _0206CAEC - 2; case 7
+ .short _0206CDC8 - _0206CAEC - 2; case 8
+ .short _0206CE8A - _0206CAEC - 2; case 9
+ .short _0206CF18 - _0206CAEC - 2; case 10
+ .short _0206CF7E - _0206CAEC - 2; case 11
+ .short _0206CFFA - _0206CAEC - 2; case 12
+ .short _0206D06E - _0206CAEC - 2; case 13
+ .short _0206D0E8 - _0206CAEC - 2; case 14
+ .short _0206D188 - _0206CAEC - 2; case 15
+ .short _0206D12C - _0206CAEC - 2; case 16
+ .short _0206D188 - _0206CAEC - 2; case 17
+ .short _0206D162 - _0206CAEC - 2; case 18
+ .short _0206D188 - _0206CAEC - 2; case 19
+ .short _0206D1C0 - _0206CAEC - 2; case 20
+ .short _0206D20E - _0206CAEC - 2; case 21
+ .short _0206D260 - _0206CAEC - 2; case 22
+ .short _0206D2E2 - _0206CAEC - 2; case 23
+ .short _0206D360 - _0206CAEC - 2; case 24
+ .short _0206D480 - _0206CAEC - 2; case 25
+ .short _0206D188 - _0206CAEC - 2; case 26
+ .short _0206D4A6 - _0206CAEC - 2; case 27
+ .short _0206D188 - _0206CAEC - 2; case 28
+ .short _0206D4F8 - _0206CAEC - 2; case 29
+ .short _0206D188 - _0206CAEC - 2; case 30
+ .short _0206D51E - _0206CAEC - 2; case 31
+ .short _0206D398 - _0206CAEC - 2; case 32
+ .short _0206D188 - _0206CAEC - 2; case 33
+ .short _0206D3CC - _0206CAEC - 2; case 34
+ .short _0206D3EE - _0206CAEC - 2; case 35
+ .short _0206D44E - _0206CAEC - 2; case 36
+ .short _0206D5AA - _0206CAEC - 2; case 37
+ .short _0206D5C8 - _0206CAEC - 2; case 38
+ .short _0206D5F4 - _0206CAEC - 2; case 39
+ .short _0206D628 - _0206CAEC - 2; case 40
+ .short _0206D648 - _0206CAEC - 2; case 41
+ .short _0206D6EE - _0206CAEC - 2; case 42
+ .short _0206D748 - _0206CAEC - 2; case 43
+ .short _0206D79C - _0206CAEC - 2; case 44
+ .short _0206D7F6 - _0206CAEC - 2; case 45
+_0206CB48:
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206CBA8
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CB70:
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ ldr r0, [r4, #0x58]
+ mov r1, #0x0
+ bl FUN_020143A8
+ ldr r1, [r4, #0x7c]
+ mov r0, #0x2
+ tst r1, r0
+ beq _0206CB94
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CB94:
+ mov r0, #0x4
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CB9E:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ beq _0206CBAC
+_0206CBA8:
+ bl _0206D806
+_0206CBAC:
+ mov r1, #0xe5
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CBCC:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206CCCA
+ mov r0, #0x4
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CBE4:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CCCA
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x60
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x1c]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x60
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x40
+ bl FUN_02069010
+ ldr r0, [r4, #0x1c]
+ add r1, sp, #0x40
+ bl FUN_0200737C
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x60
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, [r4, #0x7c]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0206CC4E
+ ldr r1, _0206CE18 ; =0x00000395
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ b _0206CC56
+_0206CC4E:
+ ldr r1, _0206CE1C ; =0x00000393
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+_0206CC56:
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ mov r0, #0x5
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CC66:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206CCCA
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206CCCA
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206CCCA
+ ldr r0, [r4, #0x1c]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206CCCA
+ ldr r0, [r4, #0x58]
+ mov r1, #0x1
+ bl FUN_020143A8
+ ldr r0, _0206CE20 ; =0x00000475
+ bl FUN_020051F4
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x6
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CCB2:
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206CCCE
+_0206CCCA:
+ bl _0206D806
+_0206CCCE:
+ ldr r0, [r4, #0x5c]
+ str r0, [sp, #0x10]
+ mov r0, #0x0
+ str r0, [sp, #0x14]
+ add r0, sp, #0x10
+ bl FUN_0206E07C
+ mov r1, #0x0
+ str r0, [r4, #0x30]
+ bl FUN_0206E0AC
+ ldr r0, _0206CE10 ; =0x00007FFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x1c]
+ mov r2, #0x10
+ mov r3, #0x4
+ bl FUN_02007E68
+ ldr r0, _0206CE10 ; =0x00007FFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x20]
+ mov r2, #0x10
+ mov r3, #0x4
+ bl FUN_02007E68
+ ldr r0, [r4, #0x5c]
+ bl FUN_02016AF8
+ mov r1, #0x2
+ lsl r1, r1, #0xe
+ cmp r0, r1
+ bhi _0206CD16
+ bl ErrorHandling
+_0206CD16:
+ ldr r0, _0206CE24 ; =0x000005F9
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x28
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CD34:
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x28
+ bhs _0206CD5A
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x75
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x75
+ strb r1, [r0, #0x0]
+_0206CD5A:
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206CDD2
+ ldr r0, [r4, #0x30]
+ mov r1, #0x1
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x2
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x7
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x8
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x9
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0xb
+ bl FUN_0206E0AC
+ ldr r0, _0206CE28 ; =0x000005FA
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x10
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r0, #0x71
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CDC8:
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0C8
+ cmp r0, #0x0
+ beq _0206CDD6
+_0206CDD2:
+ bl _0206D806
+_0206CDD6:
+ ldr r0, [r4, #0x30]
+ mov r1, #0x3
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x4
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x5
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0x6
+ bl FUN_0206E0AC
+ ldr r0, [r4, #0x30]
+ mov r1, #0xa
+ bl FUN_0206E0AC
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ ldr r0, _0206CE10 ; =0x00007FFF
+ ldr r2, _0206CE14 ; =0x0000F3FF
+ b _0206CE2C
+ .balign 4
+_0206CE0C: .word 0x021C48B8
+_0206CE10: .word 0x00007FFF
+_0206CE14: .word 0x0000F3FF
+_0206CE18: .word 0x00000395
+_0206CE1C: .word 0x00000393
+_0206CE20: .word 0x00000475
+_0206CE24: .word 0x000005F9
+_0206CE28: .word 0x000005FA
+_0206CE2C:
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ mov r1, #0xf
+ mov r3, #0x2
+ bl FUN_02003210
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x1c]
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_02007558
+ mov r1, #0xc
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x20]
+ add r2, #0xf4
+ bl FUN_02007558
+ mov r1, #0xd
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x20]
+ add r2, #0xf3
+ bl FUN_02007558
+ ldr r0, _0206D1C8 ; =0x000005FB
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CE8A:
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206CEB0
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x75
+ ldrb r0, [r0, #0x0]
+ add r1, r0, #0x2
+ add r0, r4, #0x0
+ add r0, #0x75
+ strb r1, [r0, #0x0]
+_0206CEB0:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CF2C
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206CF2C
+ ldr r0, [r4, #0x30]
+ mov r1, #0xc
+ bl FUN_0206E0AC
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, _0206D1CC ; =0x00007FFF
+ ldr r2, _0206D1D0 ; =0x0000F3FF
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ mov r1, #0xf
+ mov r3, #0x4
+ bl FUN_02003210
+ ldr r0, _0206D1CC ; =0x00007FFF
+ mov r1, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x0
+ mov r3, #0x3
+ bl FUN_02007E98
+ ldr r0, _0206D1D4 ; =0x000005FC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CF18:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206CF2C
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0C8
+ cmp r0, #0x0
+ beq _0206CF30
+_0206CF2C:
+ bl _0206D806
+_0206CF30:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x62
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x20]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x62
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x2c
+ bl FUN_02069010
+ ldr r0, [r4, #0x20]
+ add r1, sp, #0x2c
+ bl FUN_0200737C
+ ldr r0, [r4, #0x20]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x62
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CF7E:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206D084
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206D084
+ ldr r0, [r4, #0x20]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206D084
+ add r2, r4, #0x0
+ ldr r0, [r4, #0x28]
+ mov r1, #0x5
+ add r2, #0x62
+ bl FUN_02067830
+ ldr r0, [r4, #0x28]
+ bl FUN_0206A1C4
+ ldr r0, [r4, #0x28]
+ bl FUN_02066ED8
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AC60
+ ldr r1, _0206D1D8 ; =0x00000396
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x28
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206CFFA:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D084
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206D084
+ ldr r0, [r4, #0x48]
+ ldr r1, [r4, #0x28]
+ bl FUN_02024AF0
+ ldr r0, [r4, #0x50]
+ mov r1, #0xc
+ bl FUN_0202A0E8
+ ldr r0, [r4, #0x50]
+ mov r1, #0x16
+ bl FUN_0202A170
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x54]
+ bl FUN_0204C104
+ ldr r0, [r4, #0x28]
+ mov r1, #0x4d
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0206D05E
+ ldr r0, [r4, #0x28]
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067830
+_0206D05E:
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D06E:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x28]
+ add r1, #0x68
+ add r2, sp, #0xc
+ bl FUN_02069818
+ cmp r0, #0x0
+ beq _0206D08E
+ ldr r1, _0206D1DC ; =0x0000FFFE
+ cmp r0, r1
+ bne _0206D086
+_0206D084:
+ b _0206D806
+_0206D086:
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _0206D098
+ b _0206D0AC
+_0206D08E:
+ mov r0, #0x27
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D098:
+ add r0, sp, #0xc
+ ldrh r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x6c
+ strh r1, [r0, #0x0]
+ mov r0, #0xe
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D0AC:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, sp, #0xc
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x25
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D0E8:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D1E0 ; =0x000004A9
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D12C:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, _0206D1E4 ; =0x000004AA
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D162:
+ ldr r1, _0206D1E8 ; =0x000004AB
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D188:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D1AE
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D1B0
+_0206D1AE:
+ b _0206D806
+_0206D1B0:
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D1C0:
+ ldr r0, [r4, #0x5c]
+ ldr r1, _0206D1EC ; =0x020F8320
+ b _0206D1F0
+ nop
+_0206D1C8: .word 0x000005FB
+_0206D1CC: .word 0x00007FFF
+_0206D1D0: .word 0x0000F3FF
+_0206D1D4: .word 0x000005FC
+_0206D1D8: .word 0x00000396
+_0206D1DC: .word 0x0000FFFE
+_0206D1E0: .word 0x000004A9
+_0206D1E4: .word 0x000004AA
+_0206D1E8: .word 0x000004AB
+_0206D1EC: .word 0x020F8320
+_0206D1F0:
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ mov r2, #0x1
+ mov r3, #0x8
+ bl FUN_02002198
+ str r0, [r4, #0x40]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D20E:
+ ldr r0, [r4, #0x40]
+ ldr r1, [r4, #0x5c]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206D226
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206D256
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D226:
+ add r0, r4, #0x0
+ mov r1, #0x16
+ add r0, #0x64
+ strb r1, [r0, #0x0]
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D540 ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D256:
+ mov r0, #0x20
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D260:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D2EC
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ ldr r0, [r4, #0x0]
+ bl FUN_0206DC48
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ ldr r1, [r4, #0x28]
+ ldr r0, [r4, #0x3c]
+ mov r2, #0x1
+ str r1, [r0, #0x0]
+ ldr r1, [r4, #0x2c]
+ ldr r0, [r4, #0x3c]
+ str r1, [r0, #0x4]
+ ldr r1, [r4, #0x3c]
+ mov r0, #0x0
+ strb r0, [r1, #0x11]
+ ldr r1, [r4, #0x3c]
+ strb r0, [r1, #0x14]
+ ldr r1, [r4, #0x3c]
+ strb r2, [r1, #0x13]
+ add r1, r4, #0x0
+ add r1, #0x6c
+ ldrh r2, [r1, #0x0]
+ ldr r1, [r4, #0x3c]
+ strh r2, [r1, #0x18]
+ ldr r1, [r4, #0x3c]
+ mov r2, #0x2
+ strb r2, [r1, #0x12]
+ ldr r1, [r4, #0x3c]
+ str r0, [r1, #0x28]
+ ldr r0, [r4, #0x3c]
+ ldr r1, _0206D544 ; =0x020F831C
+ bl FUN_0207B000
+ add r0, r4, #0x0
+ bl FUN_0206DE0C
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D2E2:
+ ldr r0, [r4, #0x38]
+ bl FUN_02006290
+ cmp r0, #0x0
+ bne _0206D2EE
+_0206D2EC:
+ b _0206D806
+_0206D2EE:
+ ldr r0, [r4, #0x38]
+ bl FUN_02006260
+ ldr r1, [r4, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0206D9B4
+ ldr r0, [r4, #0x4]
+ mov r1, #0x0
+ mov r2, #0x1
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x1c]
+ bl FUN_020080D0
+ ldr r0, [r4, #0x20]
+ bl FUN_020080D0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D540 ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E98
+ bl FUN_02033E74
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D360:
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D474
+ ldr r0, [r4, #0x3c]
+ ldrb r1, [r0, #0x16]
+ cmp r1, #0x4
+ bne _0206D388
+ mov r0, #0x20
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D388:
+ add r0, r4, #0x0
+ add r0, #0x6e
+ strb r1, [r0, #0x0]
+ mov r0, #0x19
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D398:
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200AD5C
+ ldr r1, _0206D548 ; =0x000004AD
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D3CC:
+ ldr r0, [r4, #0x5c]
+ ldr r1, _0206D54C ; =0x020F8320
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ mov r2, #0x1
+ mov r3, #0x8
+ bl FUN_02002198
+ str r0, [r4, #0x40]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D3EE:
+ ldr r0, [r4, #0x40]
+ ldr r1, [r4, #0x5c]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206D406
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206D444
+ add sp, #0x54
+ pop {r3-r4, pc}
+_0206D406:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D550 ; =0x000004AE
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x24
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D444:
+ mov r0, #0xe
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D44E:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D474
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D476
+_0206D474:
+ b _0206D806
+_0206D476:
+ mov r0, #0xd
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D480:
+ ldr r1, _0206D554 ; =0x000004AF
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D4A6:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r1, r4, #0x0
+ add r1, #0x6e
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x28]
+ mov r2, #0x0
+ add r1, #0x36
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ mov r1, #0x4b
+ add r0, r4, #0x0
+ lsl r1, r1, #0x4
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D4F8:
+ ldr r1, _0206D558 ; =0x000004B1
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D51E:
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r2, r4, #0x0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r1, _0206D55C ; =0x000004B2
+ b _0206D560
+ .balign 4
+_0206D540: .word 0x0000FFFF
+_0206D544: .word 0x020F831C
+_0206D548: .word 0x000004AD
+_0206D54C: .word 0x020F8320
+_0206D550: .word 0x000004AE
+_0206D554: .word 0x000004AF
+_0206D558: .word 0x000004B1
+_0206D55C: .word 0x000004B2
+_0206D560:
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r2, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r1, r4, #0x0
+ add r1, #0x6e
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r4, #0x28]
+ add r2, #0x66
+ add r1, #0x3e
+ bl FUN_02067830
+ add r1, r4, #0x0
+ add r2, r4, #0x0
+ add r1, #0x6c
+ add r2, #0x6e
+ ldrh r1, [r1, #0x0]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, #0x28]
+ bl FUN_020697CC
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ mov r0, #0x25
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5AA:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D5E8
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5C8:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ bne _0206D5E8
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _0206D5EA
+_0206D5E8:
+ b _0206D806
+_0206D5EA:
+ mov r0, #0xd
+ add r4, #0x64
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D5F4:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D80C ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D628:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D6F8
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0DC
+ add r0, r4, #0x0
+ bl FUN_0206D820
+ mov r0, #0x1
+ add r4, #0x67
+ add sp, #0x54
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D648:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D6F8
+ mov r1, #0xc
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x1c]
+ add r2, #0xf4
+ bl FUN_02007558
+ mov r1, #0xd
+ add r2, r1, #0x0
+ ldr r0, [r4, #0x1c]
+ add r2, #0xf3
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0x6
+ mov r2, #0x1
+ bl FUN_02007558
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r0, _0206D810 ; =0x00007FFF
+ str r3, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D814 ; =0x0000F3FF
+ mov r1, #0xf
+ bl FUN_02003210
+ ldr r0, _0206D810 ; =0x00007FFF
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x72
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0xff
+ add r0, #0x74
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0xa0
+ add r0, #0x75
+ strb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x70
+ strb r1, [r0, #0x0]
+ ldr r0, _0206D818 ; =0x00000475
+ bl FUN_02005350
+ ldr r0, [r4, #0x30]
+ bl FUN_0206E0DC
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D6EE:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ beq _0206D6FA
+_0206D6F8:
+ b _0206D806
+_0206D6FA:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r2, r4, #0x0
+ add r2, #0x60
+ ldrh r2, [r2, #0x0]
+ ldr r0, [r4, #0x44]
+ ldr r1, [r4, #0x1c]
+ mov r3, #0x2
+ bl FUN_02069038
+ add r1, r4, #0x0
+ add r1, #0x60
+ ldrh r1, [r1, #0x0]
+ add r0, sp, #0x18
+ bl FUN_02069010
+ ldr r0, [r4, #0x1c]
+ add r1, sp, #0x18
+ bl FUN_0200737C
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x0
+ bl FUN_02007314
+ add r0, r4, #0x0
+ add r0, #0x60
+ ldrh r0, [r0, #0x0]
+ bl FUN_02005578
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D748:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0206D806
+ ldr r0, [r4, #0x44]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _0206D806
+ ldr r0, [r4, #0x1c]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _0206D806
+ ldr r0, [r4, #0x28]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r1, _0206D81C ; =0x00000397
+ add r0, r4, #0x0
+ bl FUN_0206DD6C
+ add r1, r4, #0x0
+ add r1, #0x65
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D79C:
+ add r0, r4, #0x0
+ add r0, #0x65
+ ldrb r0, [r0, #0x0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206D806
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ sub r1, r0, #0x1
+ add r0, r4, #0x0
+ add r0, #0x66
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x66
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _0206D806
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r4, #0x14]
+ ldr r2, _0206D80C ; =0x0000FFFF
+ mov r1, #0xf
+ mov r3, #0x1
+ bl FUN_02003210
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E98
+ add r0, r4, #0x0
+ add r0, #0x64
+ ldrb r0, [r0, #0x0]
+ add r4, #0x64
+ add sp, #0x54
+ add r0, r0, #0x1
+ strb r0, [r4, #0x0]
+ pop {r3-r4, pc}
+_0206D7F6:
+ ldr r0, [r4, #0x14]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _0206D806
+ mov r0, #0x1
+ add r4, #0x67
+ strb r0, [r4, #0x0]
+_0206D806:
+ add sp, #0x54
+ pop {r3-r4, pc}
+ nop
+_0206D80C: .word 0x0000FFFF
+_0206D810: .word 0x00007FFF
+_0206D814: .word 0x0000F3FF
+_0206D818: .word 0x00000475
+_0206D81C: .word 0x00000397
+
+ thumb_func_start FUN_0206D820
+FUN_0206D820: ; 0x0206D820
+ push {r4-r6, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x78]
+ cmp r0, #0x6
+ bgt _0206D834
+ bne _0206D830
+ b _0206D9A0
+_0206D830:
+ add sp, #0x20
+ pop {r4-r6, pc}
+_0206D834:
+ sub r0, #0xd
+ cmp r0, #0x6
+ bhi _0206D86C
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206D846: ; jump table (using 16-bit offset)
+ .short _0206D854 - _0206D846 - 2; case 0
+ .short _0206D854 - _0206D846 - 2; case 1
+ .short _0206D9AE - _0206D846 - 2; case 2
+ .short _0206D9AE - _0206D846 - 2; case 3
+ .short _0206D9AE - _0206D846 - 2; case 4
+ .short _0206D9A0 - _0206D846 - 2; case 5
+ .short _0206D9A0 - _0206D846 - 2; case 6
+_0206D854:
+ ldr r0, [r4, #0x4c]
+ ldr r2, [r4, #0x5c]
+ mov r1, #0x4
+ bl FUN_0206EEF8
+ cmp r0, #0x0
+ beq _0206D86C
+ ldr r0, [r4, #0x24]
+ bl FUN_0206B9AC
+ cmp r0, #0x6
+ blt _0206D86E
+_0206D86C:
+ b _0206D9AE
+_0206D86E:
+ ldr r0, [r4, #0x5c]
+ bl FUN_020669C0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x28]
+ add r1, r5, #0x0
+ bl FUN_02069B88
+ mov r0, #0x49
+ lsl r0, r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x4
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x9a
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ mov r1, #0xb
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r1, #0x19
+ str r1, [sp, #0x4]
+ add r6, sp, #0x0
+_0206D8BA:
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02067830
+ ldr r0, [sp, #0x4]
+ add r1, r0, #0x1
+ str r1, [sp, #0x4]
+ cmp r1, #0x36
+ blt _0206D8BA
+ mov r1, #0x4e
+ str r1, [sp, #0x4]
+ add r6, sp, #0x0
+_0206D8D2:
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02067830
+ ldr r0, [sp, #0x4]
+ add r1, r0, #0x1
+ str r1, [sp, #0x4]
+ cmp r1, #0x6e
+ blt _0206D8D2
+ mov r1, #0x7a
+ str r1, [sp, #0x4]
+ add r6, sp, #0x0
+_0206D8EA:
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_02067830
+ ldr r0, [sp, #0x4]
+ add r1, r0, #0x1
+ str r1, [sp, #0x4]
+ cmp r1, #0x8f
+ blt _0206D8EA
+ add r0, r5, #0x0
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ mov r1, #0x4d
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x0
+ bl FUN_02067830
+ ldr r0, [r4, #0x5c]
+ bl FUN_020256BC
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa9
+ add r2, r6, #0x0
+ bl FUN_02067830
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ mov r1, #0xa1
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ add r1, sp, #0x8
+ mov r2, #0x18
+ bl MIi_CpuClearFast
+ add r0, r5, #0x0
+ mov r1, #0xaa
+ add r2, sp, #0x8
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_0206A1C4
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ ldr r0, [r4, #0x24]
+ add r1, r5, #0x0
+ bl FUN_0206B900
+ ldr r0, [r4, #0x48]
+ add r1, r5, #0x0
+ bl FUN_02024AF0
+ ldr r0, [r4, #0x50]
+ mov r1, #0xc
+ bl FUN_0202A0E8
+ ldr r0, [r4, #0x50]
+ mov r1, #0x16
+ bl FUN_0202A170
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x54]
+ bl FUN_0204C104
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4c]
+ ldr r3, [r4, #0x5c]
+ mov r1, #0x4
+ mov r2, #0x1
+ bl FUN_0206EDD4
+ add sp, #0x20
+ pop {r4-r6, pc}
+_0206D9A0:
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x28]
+ mov r1, #0x6
+ add r2, sp, #0x4
+ bl FUN_02067830
+_0206D9AE:
+ add sp, #0x20
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206D9B4
+FUN_0206D9B4: ; 0x0206D9B4
+ push {r4-r6, lr}
+ sub sp, #0xb8
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0201E6D8
+ ldr r6, _0206DC28 ; =0x020F8354
+ add r3, sp, #0x3c
+ mov r2, #0x5
+_0206D9C6:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206D9C6
+ add r0, sp, #0x3c
+ bl FUN_0201E66C
+ mov r1, #0x6
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x12
+ bl MIi_CpuClear32
+ mov r1, #0x62
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ bl MIi_CpuClear32
+ mov r1, #0x19
+ mov r2, #0x1
+ mov r0, #0x0
+ lsl r1, r1, #0x16
+ lsl r2, r2, #0x12
+ bl MIi_CpuClear32
+ mov r1, #0x66
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ bl MIi_CpuClear32
+ ldr r6, _0206DC2C ; =0x020F8328
+ add r3, sp, #0x2c
+ add r2, r3, #0x0
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r6, _0206DC30 ; =0x020F837C
+ add r3, sp, #0x64
+ mov r2, #0xa
+_0206DA26:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206DA26
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ add r2, sp, #0x64
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02018744
+ add r0, r4, #0x0
+ mov r1, #0x2
+ add r2, sp, #0x80
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02018744
+ add r0, r4, #0x0
+ mov r1, #0x3
+ add r2, sp, #0x9c
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_02018744
+ ldr r1, _0206DC34 ; =0x04000008
+ mov r0, #0x3
+ ldrh r2, [r1, #0x0]
+ bic r2, r0
+ mov r0, #0x1
+ orr r2, r0
+ strh r2, [r1, #0x0]
+ add r1, r0, #0x0
+ bl FUN_0201E6E4
+ ldr r6, _0206DC38 ; =0x020F8338
+ add r3, sp, #0x10
+ ldmia r6!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ mov r1, #0x4
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02018744
+ ldr r0, [r5, #0x2c]
+ bl FUN_02025084
+ add r6, r0, #0x0
+ lsl r0, r6, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x5c]
+ mov r1, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ mov r3, #0xa
+ bl FUN_0200D274
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x5c]
+ add r2, r4, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0x76
+ mov r3, #0x3
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r1, #0x1
+ str r1, [sp, #0x8]
+ ldr r0, [r5, #0x5c]
+ add r2, r4, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0x76
+ mov r3, #0x3
+ bl FUN_020068C8
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x40
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [r5, #0x14]
+ ldr r3, [r5, #0x5c]
+ mov r1, #0x76
+ mov r2, #0x8
+ bl FUN_020030E8
+ add r0, r6, #0x0
+ bl FUN_0200CD64
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0xa0
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x14]
+ ldr r3, [r5, #0x5c]
+ mov r1, #0x26
+ bl FUN_020030E8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0xb0
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x14]
+ ldr r3, [r5, #0x5c]
+ mov r1, #0xe
+ mov r2, #0x7
+ bl FUN_020030E8
+ ldr r0, [r5, #0x5c]
+ mov r1, #0x2
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x0]
+ mov r2, #0x1
+ mov r3, #0x0
+ bl FUN_0200CABC
+ bl FUN_0200CAFC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0x80
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x14]
+ ldr r3, [r5, #0x5c]
+ mov r1, #0x26
+ bl FUN_020030E8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x5c]
+ mov r1, #0xa
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mov r3, #0x4
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x5c]
+ mov r1, #0xb
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mov r3, #0x4
+ bl FUN_020068C8
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r1, #0xc
+ ldr r0, [r5, #0x14]
+ ldr r3, [r5, #0x5c]
+ add r2, r1, #0x0
+ bl FUN_020030E8
+ mov r0, #0x1
+ lsl r0, r0, #0x1a
+ ldr r1, [r0, #0x0]
+ ldr r2, _0206DC3C ; =0xFFFF1FFF
+ add r3, r1, #0x0
+ and r3, r2
+ lsr r1, r0, #0xd
+ orr r1, r3
+ ldr r3, _0206DC40 ; =0x04001000
+ str r1, [r0, #0x0]
+ ldr r1, [r3, #0x0]
+ and r1, r2
+ str r1, [r3, #0x0]
+ add r3, r0, #0x0
+ add r3, #0x48
+ ldrh r4, [r3, #0x0]
+ mov r2, #0x3f
+ mov r1, #0x1f
+ bic r4, r2
+ orr r1, r4
+ strh r1, [r3, #0x0]
+ add r0, #0x4a
+ ldrh r3, [r0, #0x0]
+ mov r1, #0x12
+ bic r3, r2
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x0
+ add r0, #0x72
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ add r0, #0x73
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0xff
+ add r0, #0x74
+ strb r1, [r0, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ add r0, #0x75
+ strb r1, [r0, #0x0]
+ bl FUN_0201E788
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r0, _0206DC44 ; =FUN_0206DD08
+ add r1, r5, #0x0
+ bl FUN_02015F10
+ add sp, #0xb8
+ pop {r4-r6, pc}
+ .balign 4
+_0206DC28: .word 0x020F8354
+_0206DC2C: .word 0x020F8328
+_0206DC30: .word 0x020F837C
+_0206DC34: .word 0x04000008
+_0206DC38: .word 0x020F8338
+_0206DC3C: .word 0xFFFF1FFF
+_0206DC40: .word 0x04001000
+_0206DC44: .word FUN_0206DD08
+
+ thumb_func_start FUN_0206DC48
+FUN_0206DC48: ; 0x0206DC48
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020178A0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206DC80
+FUN_0206DC80: ; 0x0206DC80
+ push {r3-r5, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x28]
+ add r0, sp, #0x10
+ mov r2, #0x2
+ bl FUN_02068B68
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x18]
+ add r1, sp, #0x10
+ mov r2, #0x80
+ mov r3, #0x50
+ bl FUN_020073A0
+ str r0, [r4, #0x1c]
+ ldr r0, [r4, #0x5c]
+ bl FUN_020669C0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x28]
+ add r1, r5, #0x0
+ bl FUN_02069B88
+ add r2, r4, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x5
+ add r2, #0x62
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ add r0, sp, #0x10
+ add r1, r5, #0x0
+ mov r2, #0x2
+ bl FUN_02068B68
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x18]
+ add r1, sp, #0x10
+ mov r2, #0x80
+ mov r3, #0x50
+ bl FUN_020073A0
+ str r0, [r4, #0x20]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl FUN_02007558
+ ldr r0, [r4, #0x20]
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_02007558
+ add sp, #0x20
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206DD08
+FUN_0206DD08: ; 0x0206DD08
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x75
+ ldrb r2, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x73
+ ldrb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x72
+ ldrb r0, [r0, #0x0]
+ mov r3, #0xff
+ lsl r3, r3, #0x8
+ lsl r0, r0, #0x8
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x74
+ lsl r1, r1, #0x8
+ and r1, r3
+ ldrb r0, [r0, #0x0]
+ and r5, r3
+ orr r1, r2
+ orr r5, r0
+ ldr r0, _0206DD60 ; =0x04000040
+ strh r5, [r0, #0x0]
+ strh r1, [r0, #0x4]
+ ldr r0, [r4, #0x18]
+ bl FUN_020081C4
+ bl FUN_0201C30C
+ ldr r0, [r4, #0x14]
+ bl FUN_0200372C
+ ldr r0, [r4, #0x0]
+ bl FUN_0201AB60
+ ldr r3, _0206DD64 ; =0x027E0000
+ ldr r1, _0206DD68 ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r3-r5, pc}
+ nop
+_0206DD60: .word 0x04000040
+_0206DD64: .word 0x027E0000
+_0206DD68: .word 0x00003FF8
+
+ thumb_func_start FUN_0206DD6C
+FUN_0206DD6C: ; 0x0206DD6C
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x8]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x10]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4]
+ mov r1, #0xff
+ bl FUN_02019620
+ ldr r0, [r4, #0x2c]
+ bl FUN_02024FF4
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, _0206DDB0 ; =FUN_0206DDB4
+ mov r1, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x10]
+ bl FUN_0201BD84
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_0206DDB0: .word FUN_0206DDB4
+
+ thumb_func_start FUN_0206DDB4
+FUN_0206DDB4: ; 0x0206DDB4
+ push {r4, lr}
+ mov r4, #0x0
+ cmp r1, #0x5
+ bhi _0206DDFA
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206DDC8: ; jump table (using 16-bit offset)
+ .short _0206DDFA - _0206DDC8 - 2; case 0
+ .short _0206DDD4 - _0206DDC8 - 2; case 1
+ .short _0206DDDC - _0206DDC8 - 2; case 2
+ .short _0206DDE4 - _0206DDC8 - 2; case 3
+ .short _0206DDEC - _0206DDC8 - 2; case 4
+ .short _0206DDF4 - _0206DDC8 - 2; case 5
+_0206DDD4:
+ bl FUN_02005514
+ add r4, r0, #0x0
+ b _0206DDFA
+_0206DDDC:
+ bl FUN_02005CBC
+ add r4, r0, #0x0
+ b _0206DDFA
+_0206DDE4:
+ ldr r0, _0206DE00 ; =0x00000484
+ bl FUN_02005C28
+ b _0206DDFA
+_0206DDEC:
+ ldr r0, _0206DE04 ; =0x000005E6
+ bl FUN_020054C8
+ b _0206DDFA
+_0206DDF4:
+ ldr r0, _0206DE08 ; =0x00000483
+ bl FUN_02005C28
+_0206DDFA:
+ add r0, r4, #0x0
+ pop {r4, pc}
+ nop
+_0206DE00: .word 0x00000484
+_0206DE04: .word 0x000005E6
+_0206DE08: .word 0x00000483
+
+ thumb_func_start FUN_0206DE0C
+FUN_0206DE0C: ; 0x0206DE0C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0206DE20 ; =0x020FA6E8
+ ldr r1, [r4, #0x3c]
+ ldr r2, [r4, #0x5c]
+ bl FUN_02006234
+ str r0, [r4, #0x38]
+ pop {r4, pc}
+ nop
+_0206DE20: .word 0x020FA6E8
+
+ thumb_func_start FUN_0206DE24
+FUN_0206DE24: ; 0x0206DE24
+ push {r3, lr}
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _0206DE44 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _0206DE48 ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ pop {r3, pc}
+ .balign 4
+_0206DE44: .word 0xFFFFE0FF
+_0206DE48: .word 0x04001000
+
+ thumb_func_start FUN_0206DE4C
+FUN_0206DE4C: ; 0x0206DE4C
+ push {r3, lr}
+ mov r0, #0x7
+ str r0, [sp, #0x0]
+ ldr r0, _0206DE70 ; =0x04000050
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xb
+ bl G2x_SetBlendAlpha_
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ ldr r0, _0206DE74 ; =0x04001050
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0x7
+ bl G2x_SetBlendAlpha_
+ pop {r3, pc}
+ .balign 4
+_0206DE70: .word 0x04000050
+_0206DE74: .word 0x04001050
+
+ thumb_func_start FUN_0206DE78
+FUN_0206DE78: ; 0x0206DE78
+ push {r3, lr}
+ sub sp, #0x8
+ mov r2, #0x2
+ ldr r1, _0206DE90 ; =FUN_0206DE94
+ str r2, [sp, #0x0]
+ str r1, [sp, #0x4]
+ mov r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_02022318
+ add sp, #0x8
+ pop {r3, pc}
+ .balign 4
+_0206DE90: .word FUN_0206DE94
+
+ thumb_func_start FUN_0206DE94
+FUN_0206DE94: ; 0x0206DE94
+ push {r3, lr}
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0201E6E4
+ ldr r0, _0206DF00 ; =0x04000008
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ mov r1, #0x1
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ add r0, #0x58
+ ldrh r2, [r0, #0x0]
+ ldr r1, _0206DF04 ; =0xFFFFCFFD
+ and r2, r1
+ strh r2, [r0, #0x0]
+ add r2, r1, #0x2
+ ldrh r3, [r0, #0x0]
+ add r1, r1, #0x2
+ and r3, r2
+ mov r2, #0x10
+ orr r2, r3
+ strh r2, [r0, #0x0]
+ ldrh r3, [r0, #0x0]
+ ldr r2, _0206DF08 ; =0x0000CFFB
+ and r3, r2
+ strh r3, [r0, #0x0]
+ ldrh r3, [r0, #0x0]
+ sub r2, #0x1c
+ and r3, r1
+ mov r1, #0x8
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ ldrh r1, [r0, #0x0]
+ and r1, r2
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl G3X_SetFog
+ mov r0, #0x0
+ ldr r2, _0206DF0C ; =0x00007FFF
+ add r1, r0, #0x0
+ mov r3, #0x3f
+ str r0, [sp, #0x0]
+ bl G3X_SetClearColor
+ ldr r1, _0206DF10 ; =0xBFFF0000
+ ldr r0, _0206DF14 ; =0x04000580
+ str r1, [r0, #0x0]
+ pop {r3, pc}
+ .balign 4
+_0206DF00: .word 0x04000008
+_0206DF04: .word 0xFFFFCFFD
+_0206DF08: .word 0x0000CFFB
+_0206DF0C: .word 0x00007FFF
+_0206DF10: .word 0xBFFF0000
+_0206DF14: .word 0x04000580
+
+ thumb_func_start FUN_0206DF18
+FUN_0206DF18: ; 0x0206DF18
+ push {r3-r5, lr}
+ ldr r3, _0206DF50 ; =0x021064B8
+ mov r0, #0x2
+ mov r1, #0x0
+ ldr r3, [r3, #0x0]
+ lsl r0, r0, #0xe
+ add r2, r1, #0x0
+ blx r3
+ ldr r3, _0206DF54 ; =0x021064C0
+ mov r1, #0x0
+ add r4, r0, #0x0
+ ldr r3, [r3, #0x0]
+ mov r0, #0xa0
+ add r2, r1, #0x0
+ blx r3
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ bne _0206DF40
+ bl ErrorHandling
+_0206DF40:
+ cmp r5, #0x0
+ bne _0206DF48
+ bl ErrorHandling
+_0206DF48:
+ bl FUN_02012CC8
+ pop {r3-r5, pc}
+ nop
+_0206DF50: .word 0x021064B8
+_0206DF54: .word 0x021064C0
+
+ thumb_func_start FUN_0206DF58
+FUN_0206DF58: ; 0x0206DF58
+ push {r3, lr}
+ bl FUN_020222AC
+ bl FUN_02013364
+ cmp r0, #0x0
+ ble _0206DF6E
+ bl FUN_020222AC
+ bl FUN_020B02C8
+_0206DF6E:
+ bl FUN_02013388
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_020222B4
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206DF7C
+FUN_0206DF7C: ; 0x0206DF7C
+ push {r4, lr}
+ ldr r3, _0206DF94 ; =0x021064B8
+ mov r2, #0x0
+ ldr r3, [r3, #0x0]
+ blx r3
+ add r4, r0, #0x0
+ bl FUN_0201327C
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0xd
+ pop {r4, pc}
+ nop
+_0206DF94: .word 0x021064B8
+
+ thumb_func_start FUN_0206DF98
+FUN_0206DF98: ; 0x0206DF98
+ push {r4, lr}
+ ldr r3, _0206DFB0 ; =0x021064C0
+ mov r2, #0x0
+ ldr r3, [r3, #0x0]
+ blx r3
+ add r4, r0, #0x0
+ bl FUN_020132BC
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0xd
+ pop {r4, pc}
+ nop
+_0206DFB0: .word 0x021064C0
+
+ thumb_func_start FUN_0206DFB4
+FUN_0206DFB4: ; 0x0206DFB4
+ push {r4, lr}
+ sub sp, #0x8
+ mov r1, #0x12
+ lsl r1, r1, #0xa
+ add r4, r0, #0x0
+ bl FUN_02016998
+ add r2, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r3, #0x12
+ ldr r0, _0206DFF4 ; =FUN_0206DF7C
+ ldr r1, _0206DFF8 ; =FUN_0206DF98
+ lsl r3, r3, #0xa
+ str r4, [sp, #0x4]
+ bl FUN_02012CDC
+ add r4, r0, #0x0
+ bl FUN_0201343C
+ add r2, r0, #0x0
+ beq _0206DFEC
+ mov r0, #0x1
+ mov r1, #0xe1
+ lsl r0, r0, #0xc
+ lsl r1, r1, #0xe
+ bl FUN_0201EC94
+_0206DFEC:
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_0206DFF4: .word FUN_0206DF7C
+_0206DFF8: .word FUN_0206DF98
+
+ thumb_func_start FUN_0206DFFC
+FUN_0206DFFC: ; 0x0206DFFC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_0206DFB4
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0201318C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0xa
+ mov r3, #0x1
+ bl FUN_02013194
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0206E024
+FUN_0206E024: ; 0x0206E024
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020133E8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02012DE4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206E03C
+FUN_0206E03C: ; 0x0206E03C
+ push {r3}
+ sub sp, #0xc
+ add r1, sp, #0x0
+ mov r2, #0x0
+ str r2, [r1, #0x0]
+ str r2, [r1, #0x4]
+ str r2, [r1, #0x8]
+ mov r1, #0x56
+ lsl r1, r1, #0x4
+ str r2, [sp, #0x0]
+ str r2, [sp, #0x8]
+ str r1, [sp, #0x4]
+ ldr r1, [r0, #0x20]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x4]
+ add r1, r2, r1
+ str r1, [r0, #0x28]
+ ldr r1, [r0, #0x20]
+ ldr r2, [sp, #0x4]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x8]
+ add r1, r2, r1
+ str r1, [r0, #0x2c]
+ ldr r1, [r0, #0x20]
+ ldr r2, [sp, #0x8]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0xc]
+ add r1, r2, r1
+ str r1, [r0, #0x30]
+ add sp, #0xc
+ pop {r3}
+ bx lr
+
+ thumb_func_start FUN_0206E07C
+FUN_0206E07C: ; 0x0206E07C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _0206E090
+ bl ErrorHandling
+_0206E090:
+ ldr r0, [r5, #0x0]
+ ldr r2, [r5, #0x4]
+ mov r1, #0x7c
+ str r0, [r4, #0x0]
+ str r2, [r4, #0x4]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206DFFC
+ mov r1, #0x1
+ str r0, [r4, #0xc]
+ bl FUN_02013440
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206E0AC
+FUN_0206E0AC: ; 0x0206E0AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ ldr r2, _0206E0C4 ; =FUN_0206E03C
+ add r3, r4, #0x0
+ bl FUN_020133AC
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_02013440
+ pop {r4, pc}
+ .balign 4
+_0206E0C4: .word FUN_0206E03C
+
+ thumb_func_start FUN_0206E0C8
+FUN_0206E0C8: ; 0x0206E0C8
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020133C8
+ cmp r0, #0x0
+ beq _0206E0D8
+ mov r0, #0x1
+ pop {r3, pc}
+_0206E0D8:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E0DC
+FUN_0206E0DC: ; 0x0206E0DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ bl FUN_0206E024
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E0F0
+FUN_0206E0F0: ; 0x0206E0F0
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x17
+ blo _0206E0FC
+ bl ErrorHandling
+_0206E0FC:
+ ldr r0, _0206E104 ; =0x020F83E0
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_0206E104: .word 0x020F83E0
+
+ thumb_func_start FUN_0206E108
+FUN_0206E108: ; 0x0206E108
+ mov r0, #0x26
+ bx lr
+
+ thumb_func_start FUN_0206E10C
+FUN_0206E10C: ; 0x0206E10C
+ mov r0, #0xb2
+ bx lr
+
+ thumb_func_start FUN_0206E110
+FUN_0206E110: ; 0x0206E110
+ mov r0, #0xb3
+ bx lr
+
+ thumb_func_start FUN_0206E114
+FUN_0206E114: ; 0x0206E114
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x17
+ blo _0206E120
+ bl ErrorHandling
+_0206E120:
+ ldr r0, _0206E128 ; =0x020F843C
+ ldrb r0, [r0, r4]
+ pop {r4, pc}
+ nop
+_0206E128: .word 0x020F843C
+
+ thumb_func_start FUN_0206E12C
+FUN_0206E12C: ; 0x0206E12C
+ mov r0, #0x1b
+ bx lr
+
+ thumb_func_start FUN_0206E130
+FUN_0206E130: ; 0x0206E130
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r7, r3, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_0206E12C
+ str r0, [sp, #0xc]
+ add r0, r7, #0x0
+ bl FUN_0206E0F0
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x28]
+ str r4, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r2, [sp, #0xc]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0200C00C
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E164
+FUN_0206E164: ; 0x0206E164
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206E12C
+ str r0, [sp, #0x10]
+ bl FUN_0206E108
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x3
+ str r0, [sp, #0x4]
+ str r5, [sp, #0x8]
+ ldr r2, [sp, #0x10]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ str r4, [sp, #0xc]
+ bl FUN_0200C06C
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E198
+FUN_0206E198: ; 0x0206E198
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x18]
+ bl FUN_0206E12C
+ add r4, r0, #0x0
+ bl FUN_0206E108
+ str r4, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x3
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x30]
+ ldr r3, [sp, #0x18]
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x34]
+ add r1, r6, #0x0
+ str r0, [sp, #0x14]
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_0200C0DC
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E1D4
+FUN_0206E1D4: ; 0x0206E1D4
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ bl FUN_0206E12C
+ str r0, [sp, #0x8]
+ bl FUN_0206E10C
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r2, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ str r6, [sp, #0x4]
+ bl FUN_0200C124
+ bl FUN_0206E12C
+ add r6, r0, #0x0
+ bl FUN_0206E110
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ str r7, [sp, #0x4]
+ bl FUN_0200C13C
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206E21C
+FUN_0206E21C: ; 0x0206E21C
+ ldr r3, _0206E220 ; =FUN_0200C358
+ bx r3
+ .balign 4
+_0206E220: .word FUN_0200C358
+
+ thumb_func_start FUN_0206E224
+FUN_0206E224: ; 0x0206E224
+ ldr r3, _0206E228 ; =FUN_0200C368
+ bx r3
+ .balign 4
+_0206E228: .word FUN_0200C368
+
+ thumb_func_start FUN_0206E22C
+FUN_0206E22C: ; 0x0206E22C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ bl FUN_0200C378
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200C388
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0206E240
+FUN_0206E240: ; 0x0206E240
+ push {r4-r7, lr}
+ sub sp, #0x34
+ add r6, r3, #0x0
+ add r4, r0, #0x0
+ add r7, r1, #0x0
+ add r5, sp, #0x0
+ mov r3, #0x6
+_0206E24E:
+ ldmia r6!, {r0-r1}
+ stmia r5!, {r0-r1}
+ sub r3, r3, #0x1
+ bne _0206E24E
+ ldr r0, [r6, #0x0]
+ str r0, [r5, #0x0]
+ add r0, r2, #0x0
+ bl FUN_0206E114
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x0
+ bl FUN_0200C154
+ add sp, #0x34
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206E270
+FUN_0206E270: ; 0x0206E270
+ ldr r3, _0206E274 ; =FUN_0200C3DC
+ bx r3
+ .balign 4
+_0206E274: .word FUN_0200C3DC
+
+ thumb_func_start FUN_0206E278
+FUN_0206E278: ; 0x0206E278
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x3
+ blo _0206E284
+ bl ErrorHandling
+_0206E284:
+ ldr r0, _0206E28C ; =0x020F83D4
+ lsl r1, r4, #0x2
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_0206E28C: .word 0x020F83D4
+
+ thumb_func_start FUN_0206E290
+FUN_0206E290: ; 0x0206E290
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x3
+ blo _0206E29C
+ bl ErrorHandling
+_0206E29C:
+ ldr r0, _0206E2A4 ; =0x020F83D0
+ ldrb r0, [r0, r4]
+ pop {r4, pc}
+ nop
+_0206E2A4: .word 0x020F83D0
+
+ thumb_func_start FUN_0206E2A8
+FUN_0206E2A8: ; 0x0206E2A8
+ mov r0, #0x1b
+ bx lr
+
+ thumb_func_start FUN_0206E2AC
+FUN_0206E2AC: ; 0x0206E2AC
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r7, r3, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r4, r2, #0x0
+ bl FUN_0206E2A8
+ str r0, [sp, #0xc]
+ add r0, r7, #0x0
+ bl FUN_0206E278
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x28]
+ str r4, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r2, [sp, #0xc]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0200C00C
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E2E0
+FUN_0206E2E0: ; 0x0206E2E0
+ ldr r3, _0206E2E4 ; =FUN_0200C358
+ bx r3
+ .balign 4
+_0206E2E4: .word FUN_0200C358
+
+ thumb_func_start FUN_0206E2E8
+FUN_0206E2E8: ; 0x0206E2E8
+ ldr r3, _0206E2EC ; =FUN_0200C3DC
+ bx r3
+ .balign 4
+_0206E2EC: .word FUN_0200C3DC
+
+ thumb_func_start FUN_0206E2F0
+FUN_0206E2F0: ; 0x0206E2F0
+ push {r4, lr}
+ mov r1, #0x78
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x78
+ add r4, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E308
+FUN_0206E308: ; 0x0206E308
+ mov r0, #0x78
+ bx lr
+
+ thumb_func_start FUN_0206E30C
+FUN_0206E30C: ; 0x0206E30C
+ add r0, #0x65
+ strb r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E314
+FUN_0206E314: ; 0x0206E314
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r1, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r3, #0x0
+ bl FUN_0206E30C
+ str r4, [r5, #0x0]
+ str r6, [r5, #0x6c]
+ mov r0, #0x0
+ add r5, #0x66
+ strh r0, [r5, #0x0]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E330
+FUN_0206E330: ; 0x0206E330
+ push {r3-r4}
+ mov r4, #0xc
+ mul r4, r3
+ add r0, r0, r4
+ str r1, [r0, #0x4]
+ strb r2, [r0, #0xc]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0206E340
+FUN_0206E340: ; 0x0206E340
+ add r1, r0, #0x0
+ add r1, #0x76
+ ldrh r2, [r1, #0x0]
+ mov r1, #0x1
+ add r0, #0x76
+ bic r2, r1
+ mov r1, #0x1
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206E354
+FUN_0206E354: ; 0x0206E354
+ str r1, [r0, #0x70]
+ bx lr
+
+ thumb_func_start FUN_0206E358
+FUN_0206E358: ; 0x0206E358
+ add r0, #0x74
+ strb r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E360
+FUN_0206E360: ; 0x0206E360
+ add r2, r0, #0x0
+ add r2, #0x76
+ ldrh r3, [r2, #0x0]
+ ldr r2, _0206E378 ; =0xFFFF0001
+ lsl r1, r1, #0x11
+ and r2, r3
+ lsr r1, r1, #0x10
+ orr r1, r2
+ add r0, #0x76
+ strh r1, [r0, #0x0]
+ bx lr
+ nop
+_0206E378: .word 0xFFFF0001
+
+ thumb_func_start FUN_0206E37C
+FUN_0206E37C: ; 0x0206E37C
+ add r0, #0x66
+ ldrh r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E384
+FUN_0206E384: ; 0x0206E384
+ add r0, #0x68
+ ldrh r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E38C
+FUN_0206E38C: ; 0x0206E38C
+ add r0, #0x74
+ ldrb r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E394
+FUN_0206E394: ; 0x0206E394
+ add r0, #0x75
+ ldrb r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E39C
+FUN_0206E39C: ; 0x0206E39C
+ push {r3, lr}
+ bl FUN_0202390C
+ bl FUN_02028930
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E3A8
+FUN_0206E3A8: ; 0x0206E3A8
+ push {r4-r6, lr}
+ bl FUN_02029C80
+ add r6, r0, #0x0
+ mov r5, #0x0
+ mov r4, #0x1
+_0206E3B4:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02029E2C
+ add r4, r4, #0x1
+ add r5, r5, r0
+ cmp r4, #0x50
+ bls _0206E3B4
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206E3C8
+FUN_0206E3C8: ; 0x0206E3C8
+ push {r3, lr}
+ bl FUN_02027E24
+ bl FUN_0202708C
+ bl FUN_02027168
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E3D8
+FUN_0206E3D8: ; 0x0206E3D8
+ push {r3, lr}
+ bl FUN_02027E24
+ bl FUN_0202708C
+ bl FUN_02027184
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E3E8
+FUN_0206E3E8: ; 0x0206E3E8
+ push {r3, lr}
+ bl FUN_0202A8D8
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0202A3B4
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E3F8
+FUN_0206E3F8: ; 0x0206E3F8
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ str r1, [sp, #0x8]
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r2, #0x7
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0200AA80
+ add r4, r0, #0x0
+ cmp r5, #0x0
+ bne _0206E428
+ add r0, r6, #0x0
+ mov r1, #0x63
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ b _0206E4FA
+_0206E428:
+ mov r1, #0x1b
+ lsl r1, r1, #0x4
+ cmp r5, r1
+ bne _0206E454
+ add r0, r6, #0x0
+ mov r1, #0x61
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0206E3E8
+ mov r1, #0x0
+ add r2, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r3, #0x4
+ bl FUN_0200AD38
+ b _0206E4FA
+_0206E454:
+ add r2, r1, #0x2
+ cmp r5, r2
+ bne _0206E47E
+ add r0, r6, #0x0
+ mov r1, #0x5c
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0206E3A8
+ mov r1, #0x0
+ add r2, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r3, #0x4
+ bl FUN_0200AD38
+ b _0206E4FA
+_0206E47E:
+ add r2, r1, #0x3
+ cmp r5, r2
+ bne _0206E4C0
+ add r0, r6, #0x0
+ mov r1, #0x5d
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0206E3C8
+ mov r1, #0x0
+ add r2, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r3, #0x3
+ bl FUN_0200AD38
+ add r0, r7, #0x0
+ bl FUN_0206E3D8
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ add r0, r4, #0x0
+ mov r3, #0x2
+ str r1, [sp, #0x4]
+ bl FUN_0200AD38
+ b _0206E4FA
+_0206E4C0:
+ add r1, #0xc
+ cmp r5, r1
+ bne _0206E4EA
+ add r0, r6, #0x0
+ mov r1, #0x39
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0206E39C
+ mov r1, #0x0
+ add r2, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r3, #0x5
+ bl FUN_0200AD38
+ b _0206E4FA
+_0206E4EA:
+ bl FUN_0200AB18
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206E4FA:
+ ldr r1, [sp, #0x8]
+ add r0, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_0200AB18
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206E51C
+FUN_0206E51C: ; 0x0206E51C
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r4, [sp, #0x18]
+ cmp r3, #0x1
+ beq _0206E52E
+ cmp r3, #0x2
+ beq _0206E54C
+ b _0206E56A
+_0206E52E:
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x7
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r4, r0, #0x0
+ mov r1, #0x38
+ add r2, r5, #0x0
+ bl FUN_0200A8E0
+ add r0, r4, #0x0
+ bl FUN_0200A8B8
+ pop {r3-r7, pc}
+_0206E54C:
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x7
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r4, r0, #0x0
+ mov r1, #0x6f
+ add r2, r5, #0x0
+ bl FUN_0200A8E0
+ add r0, r4, #0x0
+ bl FUN_0200A8B8
+ pop {r3-r7, pc}
+_0206E56A:
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xc7
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0200AA80
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x24
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ ldr r2, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200ABC0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_0200AB18
+ add r0, r7, #0x0
+ bl FUN_0200A8B8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E5B4
+FUN_0206E5B4: ; 0x0206E5B4
+ push {r3-r6}
+ add r3, r0, #0x0
+ add r0, r2, #0x0
+ cmp r1, r0
+ beq _0206E63A
+ lsl r2, r1, #0x2
+ ldrh r4, [r3, r2]
+ add r5, r3, r2
+ add r2, sp, #0x0
+ strh r4, [r2, #0x0]
+ ldrh r4, [r5, #0x2]
+ strh r4, [r2, #0x2]
+ cmp r0, r1
+ bls _0206E600
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ lsl r1, r1, #0x10
+ lsl r2, r0, #0x10
+ asr r1, r1, #0x10
+ asr r5, r2, #0x10
+ cmp r1, r5
+ bge _0206E62C
+ lsl r2, r1, #0x2
+ add r2, r3, r2
+ add r4, r2, #0x0
+_0206E5E8:
+ ldrh r6, [r2, #0x4]
+ add r1, r1, #0x1
+ lsl r1, r1, #0x10
+ strh r6, [r4, #0x0]
+ ldrh r6, [r2, #0x6]
+ asr r1, r1, #0x10
+ add r2, r2, #0x4
+ strh r6, [r4, #0x2]
+ add r4, r4, #0x4
+ cmp r1, r5
+ blt _0206E5E8
+ b _0206E62C
+_0206E600:
+ lsl r1, r1, #0x10
+ asr r5, r1, #0x10
+ lsl r1, r0, #0x10
+ asr r4, r1, #0x10
+ cmp r5, r4
+ ble _0206E62C
+ lsl r1, r5, #0x2
+ add r1, r3, r1
+ add r2, r1, #0x0
+_0206E612:
+ sub r6, r1, #0x4
+ ldrh r6, [r6, #0x0]
+ sub r5, r5, #0x1
+ lsl r5, r5, #0x10
+ strh r6, [r2, #0x0]
+ sub r6, r1, #0x2
+ ldrh r6, [r6, #0x0]
+ asr r5, r5, #0x10
+ sub r1, r1, #0x4
+ strh r6, [r2, #0x2]
+ sub r2, r2, #0x4
+ cmp r5, r4
+ bgt _0206E612
+_0206E62C:
+ lsl r4, r0, #0x2
+ add r0, sp, #0x0
+ ldrh r1, [r0, #0x0]
+ add r2, r3, r4
+ strh r1, [r3, r4]
+ ldrh r0, [r0, #0x2]
+ strh r0, [r2, #0x2]
+_0206E63A:
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206E640
+FUN_0206E640: ; 0x0206E640
+ cmp r1, #0x3
+ bhi _0206E6B2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206E650: ; jump table (using 16-bit offset)
+ .short _0206E658 - _0206E650 - 2; case 0
+ .short _0206E66A - _0206E650 - 2; case 1
+ .short _0206E684 - _0206E650 - 2; case 2
+ .short _0206E6A0 - _0206E650 - 2; case 3
+_0206E658:
+ cmp r0, #0x0
+ beq _0206E6B2
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ beq _0206E6B2
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6BC ; =0x020F85B4
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E66A:
+ cmp r0, #0x0
+ bne _0206E672
+ ldr r0, _0206E6C0 ; =0x000002BB
+ bx lr
+_0206E672:
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0206E67C
+ ldr r0, _0206E6C4 ; =0x000002BD
+ bx lr
+_0206E67C:
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6C8 ; =0x020F85B6
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E684:
+ cmp r0, #0x0
+ bne _0206E68E
+ mov r0, #0xaf
+ lsl r0, r0, #0x2
+ bx lr
+_0206E68E:
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ bne _0206E698
+ ldr r0, _0206E6CC ; =0x000002BE
+ bx lr
+_0206E698:
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6D0 ; =0x020F85B8
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E6A0:
+ cmp r0, #0x0
+ beq _0206E6B2
+ ldr r1, _0206E6B8 ; =0x0000FFFF
+ cmp r0, r1
+ beq _0206E6B2
+ lsl r1, r0, #0x3
+ ldr r0, _0206E6D4 ; =0x020F85BA
+ ldrh r0, [r0, r1]
+ bx lr
+_0206E6B2:
+ mov r0, #0x0
+ bx lr
+ nop
+_0206E6B8: .word 0x0000FFFF
+_0206E6BC: .word 0x020F85B4
+_0206E6C0: .word 0x000002BB
+_0206E6C4: .word 0x000002BD
+_0206E6C8: .word 0x020F85B6
+_0206E6CC: .word 0x000002BE
+_0206E6D0: .word 0x020F85B8
+_0206E6D4: .word 0x020F85BA
+
+ thumb_func_start FUN_0206E6D8
+FUN_0206E6D8: ; 0x0206E6D8
+ push {r3-r4}
+ mov r2, #0x1d
+ ldr r3, _0206E704 ; =0x020F85B4
+ mov r4, #0x1
+ lsl r2, r2, #0x4
+_0206E6E2:
+ lsl r1, r4, #0x3
+ add r1, r3, r1
+ ldrh r1, [r1, #0x6]
+ cmp r0, r1
+ bne _0206E6F2
+ add r0, r4, #0x0
+ pop {r3-r4}
+ bx lr
+_0206E6F2:
+ add r1, r4, #0x1
+ lsl r1, r1, #0x10
+ lsr r4, r1, #0x10
+ cmp r4, r2
+ bls _0206E6E2
+ mov r0, #0x0
+ pop {r3-r4}
+ bx lr
+ nop
+_0206E704: .word 0x020F85B4
+
+ thumb_func_start FUN_0206E708
+FUN_0206E708: ; 0x0206E708
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_0206E70C
+FUN_0206E70C: ; 0x0206E70C
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_0206E710
+FUN_0206E710: ; 0x0206E710
+ push {r3, lr}
+ add r3, r0, #0x0
+ mov r0, #0x1d
+ lsl r0, r0, #0x4
+ cmp r3, r0
+ bls _0206E71E
+ mov r3, #0x0
+_0206E71E:
+ cmp r1, #0x0
+ beq _0206E72C
+ cmp r1, #0x1
+ beq _0206E73A
+ cmp r1, #0x2
+ beq _0206E748
+ b _0206E756
+_0206E72C:
+ ldr r1, _0206E75C ; =0x020F85B4
+ lsl r3, r3, #0x3
+ ldrh r1, [r1, r3]
+ mov r0, #0xf
+ bl LoadFromNarc_2
+ pop {r3, pc}
+_0206E73A:
+ ldr r1, _0206E760 ; =0x020F85B6
+ lsl r3, r3, #0x3
+ ldrh r1, [r1, r3]
+ mov r0, #0x10
+ bl LoadFromNarc_2
+ pop {r3, pc}
+_0206E748:
+ ldr r1, _0206E764 ; =0x020F85B8
+ lsl r3, r3, #0x3
+ ldrh r1, [r1, r3]
+ mov r0, #0x10
+ bl LoadFromNarc_2
+ pop {r3, pc}
+_0206E756:
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_0206E75C: .word 0x020F85B4
+_0206E760: .word 0x020F85B6
+_0206E764: .word 0x020F85B8
+
+ thumb_func_start FUN_0206E768
+FUN_0206E768: ; 0x0206E768
+ push {r4-r6, lr}
+ add r3, r2, #0x0
+ mov r2, #0x56
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E790
+FUN_0206E790: ; 0x0206E790
+ push {r4-r6, lr}
+ add r3, r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r2, _0206E7B4 ; =0x00000157
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ pop {r4-r6, pc}
+ .balign 4
+_0206E7B4: .word 0x00000157
+
+ thumb_func_start FUN_0206E7B8
+FUN_0206E7B8: ; 0x0206E7B8
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ mov r1, #0x0
+ add r5, r2, #0x0
+ bl FUN_0206E710
+ add r6, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_0206E7DC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02016A8C
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206E7DC
+FUN_0206E7DC: ; 0x0206E7DC
+ push {r3, lr}
+ cmp r1, #0xe
+ bhi _0206E85C
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0206E7EE: ; jump table (using 16-bit offset)
+ .short _0206E80C - _0206E7EE - 2; case 0
+ .short _0206E810 - _0206E7EE - 2; case 1
+ .short _0206E814 - _0206E7EE - 2; case 2
+ .short _0206E818 - _0206E7EE - 2; case 3
+ .short _0206E820 - _0206E7EE - 2; case 4
+ .short _0206E828 - _0206E7EE - 2; case 5
+ .short _0206E830 - _0206E7EE - 2; case 6
+ .short _0206E834 - _0206E7EE - 2; case 7
+ .short _0206E838 - _0206E7EE - 2; case 8
+ .short _0206E83C - _0206E7EE - 2; case 9
+ .short _0206E840 - _0206E7EE - 2; case 10
+ .short _0206E844 - _0206E7EE - 2; case 11
+ .short _0206E848 - _0206E7EE - 2; case 12
+ .short _0206E850 - _0206E7EE - 2; case 13
+ .short _0206E858 - _0206E7EE - 2; case 14
+_0206E80C:
+ ldrh r0, [r0, #0x0]
+ pop {r3, pc}
+_0206E810:
+ ldrb r0, [r0, #0x2]
+ pop {r3, pc}
+_0206E814:
+ ldrb r0, [r0, #0x3]
+ pop {r3, pc}
+_0206E818:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_0206E820:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ pop {r3, pc}
+_0206E828:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x15
+ lsr r0, r0, #0x1c
+ pop {r3, pc}
+_0206E830:
+ ldrb r0, [r0, #0xa]
+ pop {r3, pc}
+_0206E834:
+ ldrb r0, [r0, #0xb]
+ pop {r3, pc}
+_0206E838:
+ ldrb r0, [r0, #0x4]
+ pop {r3, pc}
+_0206E83C:
+ ldrb r0, [r0, #0x5]
+ pop {r3, pc}
+_0206E840:
+ ldrb r0, [r0, #0x6]
+ pop {r3, pc}
+_0206E844:
+ ldrb r0, [r0, #0x7]
+ pop {r3, pc}
+_0206E848:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0206E850:
+ ldrh r0, [r0, #0x8]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1b
+ pop {r3, pc}
+_0206E858:
+ ldrb r0, [r0, #0xc]
+ pop {r3, pc}
+_0206E85C:
+ ldrb r2, [r0, #0xc]
+ cmp r2, #0x0
+ beq _0206E868
+ cmp r2, #0x1
+ beq _0206E86C
+ b _0206E874
+_0206E868:
+ ldrb r0, [r0, #0xe]
+ pop {r3, pc}
+_0206E86C:
+ add r0, #0xe
+ bl FUN_0206E878
+ pop {r3, pc}
+_0206E874:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206E878
+FUN_0206E878: ; 0x0206E878
+ sub r1, #0xf
+ cmp r1, #0x2b
+ bls _0206E880
+ b _0206EA2A
+_0206E880:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206E88C: ; jump table (using 16-bit offset)
+ .short _0206E8E4 - _0206E88C - 2; case 0
+ .short _0206E8EC - _0206E88C - 2; case 1
+ .short _0206E8F4 - _0206E88C - 2; case 2
+ .short _0206E8FC - _0206E88C - 2; case 3
+ .short _0206E904 - _0206E88C - 2; case 4
+ .short _0206E90C - _0206E88C - 2; case 5
+ .short _0206E914 - _0206E88C - 2; case 6
+ .short _0206E91C - _0206E88C - 2; case 7
+ .short _0206E924 - _0206E88C - 2; case 8
+ .short _0206E92C - _0206E88C - 2; case 9
+ .short _0206E934 - _0206E88C - 2; case 10
+ .short _0206E93C - _0206E88C - 2; case 11
+ .short _0206E944 - _0206E88C - 2; case 12
+ .short _0206E94C - _0206E88C - 2; case 13
+ .short _0206E954 - _0206E88C - 2; case 14
+ .short _0206E95C - _0206E88C - 2; case 15
+ .short _0206E964 - _0206E88C - 2; case 16
+ .short _0206E96C - _0206E88C - 2; case 17
+ .short _0206E974 - _0206E88C - 2; case 18
+ .short _0206E97C - _0206E88C - 2; case 19
+ .short _0206E984 - _0206E88C - 2; case 20
+ .short _0206E98C - _0206E88C - 2; case 21
+ .short _0206E994 - _0206E88C - 2; case 22
+ .short _0206E99C - _0206E88C - 2; case 23
+ .short _0206E9A4 - _0206E88C - 2; case 24
+ .short _0206E9AC - _0206E88C - 2; case 25
+ .short _0206E9B4 - _0206E88C - 2; case 26
+ .short _0206E9BC - _0206E88C - 2; case 27
+ .short _0206E9C4 - _0206E88C - 2; case 28
+ .short _0206E9CC - _0206E88C - 2; case 29
+ .short _0206E9D4 - _0206E88C - 2; case 30
+ .short _0206E9DC - _0206E88C - 2; case 31
+ .short _0206E9E4 - _0206E88C - 2; case 32
+ .short _0206E9EC - _0206E88C - 2; case 33
+ .short _0206E9F2 - _0206E88C - 2; case 34
+ .short _0206E9F8 - _0206E88C - 2; case 35
+ .short _0206E9FE - _0206E88C - 2; case 36
+ .short _0206EA04 - _0206E88C - 2; case 37
+ .short _0206EA0A - _0206E88C - 2; case 38
+ .short _0206EA10 - _0206E88C - 2; case 39
+ .short _0206EA14 - _0206E88C - 2; case 40
+ .short _0206EA18 - _0206E88C - 2; case 41
+ .short _0206EA1E - _0206E88C - 2; case 42
+ .short _0206EA24 - _0206E88C - 2; case 43
+_0206E8E4:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E8EC:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E8F4:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E8FC:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E904:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E90C:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E914:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E91C:
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E924:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E92C:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E934:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E93C:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E944:
+ ldrb r0, [r0, #0x1]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E94C:
+ ldrb r0, [r0, #0x2]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E954:
+ ldrb r0, [r0, #0x2]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E95C:
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E964:
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E96C:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ bx lr
+_0206E974:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ bx lr
+_0206E97C:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E984:
+ ldrb r0, [r0, #0x4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E98C:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E994:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E99C:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9A4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9AC:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9B4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9BC:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9C4:
+ ldrb r0, [r0, #0x5]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9CC:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1f
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9D4:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9DC:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1d
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9E4:
+ ldrb r0, [r0, #0x6]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bx lr
+_0206E9EC:
+ mov r1, #0x7
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9F2:
+ mov r1, #0x8
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9F8:
+ mov r1, #0x9
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206E9FE:
+ mov r1, #0xa
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA04:
+ mov r1, #0xb
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA0A:
+ mov r1, #0xc
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA10:
+ ldrb r0, [r0, #0xd]
+ bx lr
+_0206EA14:
+ ldrb r0, [r0, #0xe]
+ bx lr
+_0206EA18:
+ mov r1, #0xf
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA1E:
+ mov r1, #0x10
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA24:
+ mov r1, #0x11
+ ldrsb r0, [r0, r1]
+ bx lr
+_0206EA2A:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206EA30
+FUN_0206EA30: ; 0x0206EA30
+ mov r2, #0x52
+ lsl r2, r2, #0x2
+ cmp r0, r2
+ blo _0206EA40
+ add r1, r2, #0x0
+ add r1, #0x63
+ cmp r0, r1
+ bls _0206EA44
+_0206EA40:
+ mov r0, #0x0
+ bx lr
+_0206EA44:
+ sub r0, r0, r2
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0xf
+ ldr r0, _0206EA50 ; =0x020F84EC
+ ldrh r0, [r0, r1]
+ bx lr
+ .balign 4
+_0206EA50: .word 0x020F84EC
+
+ thumb_func_start FUN_0206EA54
+FUN_0206EA54: ; 0x0206EA54
+ ldr r2, _0206EA78 ; =0x020F84EC
+ mov r3, #0x0
+_0206EA58:
+ lsl r1, r3, #0x1
+ add r1, r2, r1
+ add r1, #0xb8
+ ldrh r1, [r1, #0x0]
+ cmp r0, r1
+ bne _0206EA68
+ mov r0, #0x1
+ bx lr
+_0206EA68:
+ add r1, r3, #0x1
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #0x8
+ blo _0206EA58
+ mov r0, #0x0
+ bx lr
+ nop
+_0206EA78: .word 0x020F84EC
+
+ thumb_func_start FUN_0206EA7C
+FUN_0206EA7C: ; 0x0206EA7C
+ mov r2, #0x52
+ lsl r2, r2, #0x2
+ cmp r0, r2
+ blo _0206EA8C
+ add r1, r2, #0x0
+ add r1, #0x63
+ cmp r0, r1
+ bls _0206EA90
+_0206EA8C:
+ mov r0, #0x0
+ bx lr
+_0206EA90:
+ sub r0, r0, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+
+ thumb_func_start FUN_0206EA98
+FUN_0206EA98: ; 0x0206EA98
+ ldr r3, _0206EAB4 ; =0x020F8454
+ mov r2, #0x0
+_0206EA9C:
+ ldrh r1, [r3, #0x0]
+ cmp r0, r1
+ bne _0206EAA6
+ mov r0, #0x1
+ bx lr
+_0206EAA6:
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0xc
+ blo _0206EA9C
+ mov r0, #0x0
+ bx lr
+ nop
+_0206EAB4: .word 0x020F8454
+
+ thumb_func_start FUN_0206EAB8
+FUN_0206EAB8: ; 0x0206EAB8
+ ldr r3, _0206EAD4 ; =0x020F8454
+ mov r2, #0x0
+_0206EABC:
+ ldrh r1, [r3, #0x0]
+ cmp r0, r1
+ bne _0206EAC8
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_0206EAC8:
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0xc
+ blo _0206EABC
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0206EAD4: .word 0x020F8454
+
+ thumb_func_start FUN_0206EAD8
+FUN_0206EAD8: ; 0x0206EAD8
+ cmp r0, #0xc
+ blo _0206EAE0
+ mov r0, #0x0
+ bx lr
+_0206EAE0:
+ lsl r1, r0, #0x1
+ ldr r0, _0206EAE8 ; =0x020F8454
+ ldrh r0, [r0, r1]
+ bx lr
+ .balign 4
+_0206EAE8: .word 0x020F8454
+
+ thumb_func_start FUN_0206EAEC
+FUN_0206EAEC: ; 0x0206EAEC
+ ldr r3, _0206EB08 ; =0x020F846C
+ mov r2, #0x0
+_0206EAF0:
+ ldrh r1, [r3, #0x0]
+ cmp r0, r1
+ bne _0206EAFA
+ mov r0, #0x1
+ bx lr
+_0206EAFA:
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0x40
+ blo _0206EAF0
+ mov r0, #0x0
+ bx lr
+ nop
+_0206EB08: .word 0x020F846C
+
+ thumb_func_start FUN_0206EB0C
+FUN_0206EB0C: ; 0x0206EB0C
+ cmp r0, #0x95
+ bhs _0206EB14
+ mov r0, #0xff
+ bx lr
+_0206EB14:
+ sub r0, #0x95
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+
+ thumb_func_start FUN_0206EB1C
+FUN_0206EB1C: ; 0x0206EB1C
+ cmp r0, #0x40
+ blo _0206EB24
+ ldr r0, _0206EB2C ; =0x0000FFFF
+ bx lr
+_0206EB24:
+ lsl r1, r0, #0x1
+ ldr r0, _0206EB30 ; =0x020F846C
+ ldrh r0, [r0, r1]
+ bx lr
+ .balign 4
+_0206EB2C: .word 0x0000FFFF
+_0206EB30: .word 0x020F846C
+
+ thumb_func_start FUN_0206EB34
+FUN_0206EB34: ; 0x0206EB34
+ ldr r1, _0206EB4C ; =0x0000FFDE
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x3
+ bhi _0206EB44
+ mov r0, #0x1
+ b _0206EB46
+_0206EB44:
+ mov r0, #0x0
+_0206EB46:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+ .balign 4
+_0206EB4C: .word 0x0000FFDE
+
+ thumb_func_start FUN_0206EB50
+FUN_0206EB50: ; 0x0206EB50
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0x1d
+ lsl r0, r0, #0x4
+ mov r1, #0x0
+ bl FUN_0206E640
+ mov r1, #0x24
+ mul r1, r0
+ str r1, [sp, #0x0]
+ mov r1, #0x0
+ mov r0, #0xf
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ bl FUN_02006564
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EB78
+FUN_0206EB78: ; 0x0206EB78
+ mov r2, #0x24
+ mul r2, r1
+ add r0, r0, r2
+ bx lr
+
+ thumb_func_start FUN_0206EB80
+FUN_0206EB80: ; 0x0206EB80
+ ldr r0, _0206EB84 ; =0x00000774
+ bx lr
+ .balign 4
+_0206EB84: .word 0x00000774
+
+ thumb_func_start FUN_0206EB88
+FUN_0206EB88: ; 0x0206EB88
+ push {r4, lr}
+ ldr r1, _0206EB9C ; =0x00000774
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bl FUN_0206EBA0
+ add r0, r4, #0x0
+ pop {r4, pc}
+ nop
+_0206EB9C: .word 0x00000774
+
+ thumb_func_start FUN_0206EBA0
+FUN_0206EBA0: ; 0x0206EBA0
+ ldr r3, _0206EBAC ; =MIi_CpuClear16
+ add r1, r0, #0x0
+ mov r0, #0x0
+ ldr r2, _0206EBB0 ; =0x00000774
+ bx r3
+ nop
+_0206EBAC: .word MIi_CpuClear16
+_0206EBB0: .word 0x00000774
+
+ thumb_func_start FUN_0206EBB4
+FUN_0206EBB4: ; 0x0206EBB4
+ ldr r3, _0206EBBC ; =MI_CpuCopy8
+ ldr r2, _0206EBC0 ; =0x00000774
+ bx r3
+ nop
+_0206EBBC: .word MI_CpuCopy8
+_0206EBC0: .word 0x00000774
+
+ thumb_func_start FUN_0206EBC4
+FUN_0206EBC4: ; 0x0206EBC4
+ mov r1, #0x77
+ lsl r1, r1, #0x4
+ ldr r0, [r0, r1]
+ bx lr
+
+ thumb_func_start FUN_0206EBCC
+FUN_0206EBCC: ; 0x0206EBCC
+ mov r2, #0x77
+ lsl r2, r2, #0x4
+ str r1, [r0, r2]
+ bx lr
+
+ thumb_func_start FUN_0206EBD4
+FUN_0206EBD4: ; 0x0206EBD4
+ push {r4-r6, lr}
+ add r5, r2, #0x0
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ ldr r2, [sp, #0x10]
+ mov r1, #0x5
+ add r6, r3, #0x0
+ bl FUN_0206E7B8
+ cmp r0, #0x7
+ bhi _0206EC64
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206EBF6: ; jump table (using 16-bit offset)
+ .short _0206EC14 - _0206EBF6 - 2; case 0
+ .short _0206EC28 - _0206EBF6 - 2; case 1
+ .short _0206EC34 - _0206EBF6 - 2; case 2
+ .short _0206EC58 - _0206EBF6 - 2; case 3
+ .short _0206EC1C - _0206EBF6 - 2; case 4
+ .short _0206EC4C - _0206EBF6 - 2; case 5
+ .short _0206EC40 - _0206EBF6 - 2; case 6
+ .short _0206EC06 - _0206EBF6 - 2; case 7
+_0206EC06:
+ mov r1, #0xa5
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x32
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC14:
+ str r4, [r5, #0x0]
+ mov r1, #0xa5
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC1C:
+ ldr r1, _0206EC68 ; =0x000005BC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x40
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC28:
+ ldr r1, _0206EC6C ; =0x0000051C
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x28
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC34:
+ ldr r1, _0206EC70 ; =0x000006BC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0xf
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC40:
+ ldr r1, _0206EC74 ; =0x000006F8
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x1e
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC4C:
+ ldr r1, _0206EC78 ; =0x000004EC
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0xc
+ str r1, [r6, #0x0]
+ pop {r4-r6, pc}
+_0206EC58:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ str r1, [r5, #0x0]
+ mov r1, #0x64
+ str r1, [r6, #0x0]
+_0206EC64:
+ pop {r4-r6, pc}
+ nop
+_0206EC68: .word 0x000005BC
+_0206EC6C: .word 0x0000051C
+_0206EC70: .word 0x000006BC
+_0206EC74: .word 0x000006F8
+_0206EC78: .word 0x000004EC
+
+ thumb_func_start FUN_0206EC7C
+FUN_0206EC7C: ; 0x0206EC7C
+ push {r4-r7}
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r7, r0, #0x0
+ add r4, r2, #0x0
+ mov r12, r3
+ mvn r1, r1
+ mov r0, #0x0
+ cmp r5, #0x0
+ bls _0206ECCA
+ add r2, r7, #0x0
+ add r3, r1, #0x0
+_0206EC94:
+ ldrh r6, [r2, #0x0]
+ cmp r4, r6
+ bne _0206ECB2
+ lsl r0, r0, #0x2
+ add r0, r7, r0
+ ldrh r2, [r0, #0x2]
+ mov r1, r12
+ add r2, r1, r2
+ add r1, sp, #0x0
+ ldrh r1, [r1, #0x10]
+ cmp r2, r1
+ ble _0206ECDC
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+_0206ECB2:
+ cmp r1, r3
+ bne _0206ECC2
+ cmp r6, #0x0
+ bne _0206ECC2
+ ldrh r6, [r2, #0x2]
+ cmp r6, #0x0
+ bne _0206ECC2
+ add r1, r0, #0x0
+_0206ECC2:
+ add r0, r0, #0x1
+ add r2, r2, #0x4
+ cmp r0, r5
+ blo _0206EC94
+_0206ECCA:
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r1, r0
+ bne _0206ECD8
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+_0206ECD8:
+ lsl r0, r1, #0x2
+ add r0, r7, r0
+_0206ECDC:
+ pop {r4-r7}
+ bx lr
+
+ thumb_func_start FUN_0206ECE0
+FUN_0206ECE0: ; 0x0206ECE0
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r2, #0x0
+ str r3, [sp, #0x0]
+ add r2, sp, #0x8
+ add r3, sp, #0x4
+ add r5, r1, #0x0
+ bl FUN_0206EBD4
+ cmp r0, #0x3
+ bne _0206ED0A
+ mov r0, #0x63
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ add r2, r5, #0x0
+ add r3, r4, #0x0
+ bl FUN_0206EC7C
+ add sp, #0xc
+ pop {r4-r5, pc}
+_0206ED0A:
+ ldr r0, _0206ED20 ; =0x000003E7
+ add r2, r5, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ add r3, r4, #0x0
+ bl FUN_0206EC7C
+ add sp, #0xc
+ pop {r4-r5, pc}
+ nop
+_0206ED20: .word 0x000003E7
+
+ thumb_func_start FUN_0206ED24
+FUN_0206ED24: ; 0x0206ED24
+ push {r3, lr}
+ bl FUN_0206ECE0
+ cmp r0, #0x0
+ beq _0206ED32
+ mov r0, #0x1
+ pop {r3, pc}
+_0206ED32:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206ED38
+FUN_0206ED38: ; 0x0206ED38
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_0206ECE0
+ str r0, [sp, #0x8]
+ cmp r0, #0x0
+ bne _0206ED54
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206ED54:
+ strh r5, [r0, #0x0]
+ ldr r1, [sp, #0x8]
+ add r2, sp, #0x8
+ ldrh r0, [r1, #0x2]
+ add r3, sp, #0x4
+ add r0, r0, r4
+ strh r0, [r1, #0x2]
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ str r6, [sp, #0x0]
+ bl FUN_0206EBD4
+ sub r0, r0, #0x3
+ cmp r0, #0x1
+ bhi _0206ED7A
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ bl FUN_0206EF94
+_0206ED7A:
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206ED80
+FUN_0206ED80: ; 0x0206ED80
+ push {r3-r6}
+ mov r5, #0x0
+ cmp r1, #0x0
+ bls _0206EDA8
+ add r6, r0, #0x0
+_0206ED8A:
+ ldrh r4, [r6, #0x0]
+ cmp r2, r4
+ bne _0206EDA0
+ lsl r1, r5, #0x2
+ add r0, r0, r1
+ ldrh r1, [r0, #0x2]
+ cmp r1, r3
+ bhs _0206EDAA
+ mov r0, #0x0
+ pop {r3-r6}
+ bx lr
+_0206EDA0:
+ add r5, r5, #0x1
+ add r6, r6, #0x4
+ cmp r5, r1
+ blo _0206ED8A
+_0206EDA8:
+ mov r0, #0x0
+_0206EDAA:
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206EDB0
+FUN_0206EDB0: ; 0x0206EDB0
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r2, #0x0
+ str r3, [sp, #0x0]
+ add r2, sp, #0x8
+ add r3, sp, #0x4
+ add r5, r1, #0x0
+ bl FUN_0206EBD4
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ add r2, r5, #0x0
+ add r3, r4, #0x0
+ bl FUN_0206ED80
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EDD4
+FUN_0206EDD4: ; 0x0206EDD4
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206EDB0
+ str r0, [sp, #0x8]
+ cmp r0, #0x0
+ bne _0206EDF0
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_0206EDF0:
+ ldrh r1, [r0, #0x2]
+ sub r1, r1, r5
+ strh r1, [r0, #0x2]
+ ldr r1, [sp, #0x8]
+ ldrh r0, [r1, #0x2]
+ cmp r0, #0x0
+ bne _0206EE02
+ mov r0, #0x0
+ strh r0, [r1, #0x0]
+_0206EE02:
+ str r4, [sp, #0x0]
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, sp, #0x8
+ add r3, sp, #0x4
+ bl FUN_0206EBD4
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ bl FUN_0206EF48
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EE20
+FUN_0206EE20: ; 0x0206EE20
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206ED80
+ cmp r0, #0x0
+ bne _0206EE34
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0206EE34:
+ ldrh r1, [r0, #0x2]
+ sub r1, r1, r4
+ strh r1, [r0, #0x2]
+ ldrh r1, [r0, #0x2]
+ cmp r1, #0x0
+ bne _0206EE44
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+_0206EE44:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_0206EF48
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206EE50
+FUN_0206EE50: ; 0x0206EE50
+ push {r3, lr}
+ bl FUN_0206EDB0
+ cmp r0, #0x0
+ beq _0206EE5E
+ mov r0, #0x1
+ pop {r3, pc}
+_0206EE5E:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EE64
+FUN_0206EE64: ; 0x0206EE64
+ cmp r1, #0x7
+ bhi _0206EEC4
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206EE74: ; jump table (using 16-bit offset)
+ .short _0206EE8E - _0206EE74 - 2; case 0
+ .short _0206EE9A - _0206EE74 - 2; case 1
+ .short _0206EEA2 - _0206EE74 - 2; case 2
+ .short _0206EEBA - _0206EE74 - 2; case 3
+ .short _0206EE92 - _0206EE74 - 2; case 4
+ .short _0206EEB2 - _0206EE74 - 2; case 5
+ .short _0206EEAA - _0206EE74 - 2; case 6
+ .short _0206EE84 - _0206EE74 - 2; case 7
+_0206EE84:
+ mov r1, #0xa5
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r2, #0x32
+ b _0206EEC8
+_0206EE8E:
+ mov r2, #0xa5
+ b _0206EEC8
+_0206EE92:
+ ldr r1, _0206EEE4 ; =0x000005BC
+ mov r2, #0x40
+ add r0, r0, r1
+ b _0206EEC8
+_0206EE9A:
+ ldr r1, _0206EEE8 ; =0x0000051C
+ mov r2, #0x28
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEA2:
+ ldr r1, _0206EEEC ; =0x000006BC
+ mov r2, #0xf
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEAA:
+ ldr r1, _0206EEF0 ; =0x000006F8
+ mov r2, #0x1e
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEB2:
+ ldr r1, _0206EEF4 ; =0x000004EC
+ mov r2, #0xc
+ add r0, r0, r1
+ b _0206EEC8
+_0206EEBA:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r2, #0x64
+ b _0206EEC8
+_0206EEC4:
+ mov r0, #0x0
+ bx lr
+_0206EEC8:
+ mov r3, #0x0
+ cmp r2, #0x0
+ bls _0206EEE0
+_0206EECE:
+ ldrh r1, [r0, #0x0]
+ cmp r1, #0x0
+ beq _0206EED8
+ mov r0, #0x1
+ bx lr
+_0206EED8:
+ add r3, r3, #0x1
+ add r0, r0, #0x4
+ cmp r3, r2
+ blo _0206EECE
+_0206EEE0:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0206EEE4: .word 0x000005BC
+_0206EEE8: .word 0x0000051C
+_0206EEEC: .word 0x000006BC
+_0206EEF0: .word 0x000006F8
+_0206EEF4: .word 0x000004EC
+
+ thumb_func_start FUN_0206EEF8
+FUN_0206EEF8: ; 0x0206EEF8
+ push {r3, lr}
+ add r3, r2, #0x0
+ mov r2, #0x1
+ bl FUN_0206EDB0
+ cmp r0, #0x0
+ bne _0206EF0A
+ mov r0, #0x0
+ pop {r3, pc}
+_0206EF0A:
+ ldrh r0, [r0, #0x2]
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EF10
+FUN_0206EF10: ; 0x0206EF10
+ push {r3, lr}
+ mov r3, #0x1
+ bl FUN_0206ED80
+ cmp r0, #0x0
+ bne _0206EF20
+ mov r0, #0x0
+ pop {r3, pc}
+_0206EF20:
+ ldrh r0, [r0, #0x2]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0206EF24
+FUN_0206EF24: ; 0x0206EF24
+ push {r3}
+ sub sp, #0x4
+ ldrh r3, [r0, #0x0]
+ add r2, sp, #0x0
+ strh r3, [r2, #0x0]
+ ldrh r3, [r0, #0x2]
+ strh r3, [r2, #0x2]
+ ldrh r3, [r1, #0x0]
+ strh r3, [r0, #0x0]
+ ldrh r3, [r1, #0x2]
+ strh r3, [r0, #0x2]
+ ldrh r0, [r2, #0x0]
+ strh r0, [r1, #0x0]
+ ldrh r0, [r2, #0x2]
+ strh r0, [r1, #0x2]
+ add sp, #0x4
+ pop {r3}
+ bx lr
+
+ thumb_func_start FUN_0206EF48
+FUN_0206EF48: ; 0x0206EF48
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r7, r1, #0x0
+ str r0, [sp, #0x4]
+ sub r0, r7, #0x1
+ str r0, [sp, #0x8]
+ beq _0206EF8E
+ ldr r4, [sp, #0x0]
+_0206EF5C:
+ ldr r0, [sp, #0x4]
+ add r6, r0, #0x1
+ cmp r6, r7
+ bhs _0206EF80
+ ldr r0, [sp, #0x0]
+ lsl r1, r6, #0x2
+ add r5, r0, r1
+_0206EF6A:
+ ldrh r0, [r4, #0x2]
+ cmp r0, #0x0
+ bne _0206EF78
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206EF24
+_0206EF78:
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ cmp r6, r7
+ blo _0206EF6A
+_0206EF80:
+ ldr r0, [sp, #0x4]
+ add r4, r4, #0x4
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x8]
+ str r1, [sp, #0x4]
+ cmp r1, r0
+ blo _0206EF5C
+_0206EF8E:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206EF94
+FUN_0206EF94: ; 0x0206EF94
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ add r7, r1, #0x0
+ str r0, [sp, #0x4]
+ sub r0, r7, #0x1
+ str r0, [sp, #0x8]
+ beq _0206EFE8
+ ldr r4, [sp, #0x0]
+_0206EFA8:
+ ldr r0, [sp, #0x4]
+ add r6, r0, #0x1
+ cmp r6, r7
+ bhs _0206EFDA
+ ldr r0, [sp, #0x0]
+ lsl r1, r6, #0x2
+ add r5, r0, r1
+_0206EFB6:
+ ldrh r0, [r4, #0x2]
+ cmp r0, #0x0
+ beq _0206EFCA
+ ldrh r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _0206EFD2
+ ldrh r1, [r4, #0x0]
+ ldrh r0, [r5, #0x0]
+ cmp r1, r0
+ bls _0206EFD2
+_0206EFCA:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0206EF24
+_0206EFD2:
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ cmp r6, r7
+ blo _0206EFB6
+_0206EFDA:
+ ldr r0, [sp, #0x4]
+ add r4, r4, #0x4
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x8]
+ str r1, [sp, #0x4]
+ cmp r1, r0
+ blo _0206EFA8
+_0206EFE8:
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0206EFEC
+FUN_0206EFEC: ; 0x0206EFEC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ lsl r0, r2, #0x18
+ add r7, r1, #0x0
+ lsr r0, r0, #0x18
+ bl FUN_0206E2F0
+ add r6, r0, #0x0
+ ldrb r0, [r7, #0x0]
+ mov r4, #0x0
+ cmp r0, #0xff
+ beq _0206F0BE
+_0206F004:
+ ldrb r0, [r7, r4]
+ cmp r0, #0x7
+ bhi _0206F0B6
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206F016: ; jump table (using 16-bit offset)
+ .short _0206F03A - _0206F016 - 2; case 0
+ .short _0206F05C - _0206F016 - 2; case 1
+ .short _0206F06E - _0206F016 - 2; case 2
+ .short _0206F0A4 - _0206F016 - 2; case 3
+ .short _0206F04A - _0206F016 - 2; case 4
+ .short _0206F092 - _0206F016 - 2; case 5
+ .short _0206F080 - _0206F016 - 2; case 6
+ .short _0206F026 - _0206F016 - 2; case 7
+_0206F026:
+ mov r1, #0xa5
+ lsl r1, r1, #0x2
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x7
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F03A:
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F04A:
+ ldr r1, _0206F0C4 ; =0x000005BC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F05C:
+ ldr r1, _0206F0C8 ; =0x0000051C
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x1
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F06E:
+ ldr r1, _0206F0CC ; =0x000006BC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x2
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F080:
+ ldr r1, _0206F0D0 ; =0x000006F8
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x6
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F092:
+ ldr r1, _0206F0D4 ; =0x000004EC
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x5
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+ b _0206F0B6
+_0206F0A4:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ lsl r3, r4, #0x18
+ add r0, r6, #0x0
+ add r1, r5, r1
+ mov r2, #0x3
+ lsr r3, r3, #0x18
+ bl FUN_0206E330
+_0206F0B6:
+ add r4, r4, #0x1
+ ldrb r0, [r7, r4]
+ cmp r0, #0xff
+ bne _0206F004
+_0206F0BE:
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+ nop
+_0206F0C4: .word 0x000005BC
+_0206F0C8: .word 0x0000051C
+_0206F0CC: .word 0x000006BC
+_0206F0D0: .word 0x000006F8
+_0206F0D4: .word 0x000004EC
+
+ thumb_func_start FUN_0206F0D8
+FUN_0206F0D8: ; 0x0206F0D8
+ cmp r1, #0x7
+ bhi _0206F136
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206F0E8: ; jump table (using 16-bit offset)
+ .short _0206F102 - _0206F0E8 - 2; case 0
+ .short _0206F10E - _0206F0E8 - 2; case 1
+ .short _0206F116 - _0206F0E8 - 2; case 2
+ .short _0206F12E - _0206F0E8 - 2; case 3
+ .short _0206F106 - _0206F0E8 - 2; case 4
+ .short _0206F126 - _0206F0E8 - 2; case 5
+ .short _0206F11E - _0206F0E8 - 2; case 6
+ .short _0206F0F8 - _0206F0E8 - 2; case 7
+_0206F0F8:
+ mov r1, #0xa5
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r3, #0x32
+ b _0206F136
+_0206F102:
+ mov r3, #0xa5
+ b _0206F136
+_0206F106:
+ ldr r1, _0206F144 ; =0x000005BC
+ mov r3, #0x40
+ add r0, r0, r1
+ b _0206F136
+_0206F10E:
+ ldr r1, _0206F148 ; =0x0000051C
+ mov r3, #0x28
+ add r0, r0, r1
+ b _0206F136
+_0206F116:
+ ldr r1, _0206F14C ; =0x000006BC
+ mov r3, #0xf
+ add r0, r0, r1
+ b _0206F136
+_0206F11E:
+ ldr r1, _0206F150 ; =0x000006F8
+ mov r3, #0x1e
+ add r0, r0, r1
+ b _0206F136
+_0206F126:
+ ldr r1, _0206F154 ; =0x000004EC
+ mov r3, #0xc
+ add r0, r0, r1
+ b _0206F136
+_0206F12E:
+ mov r1, #0xd7
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ mov r3, #0x64
+_0206F136:
+ cmp r2, r3
+ blo _0206F13E
+ mov r0, #0x0
+ bx lr
+_0206F13E:
+ lsl r1, r2, #0x2
+ add r0, r0, r1
+ bx lr
+ .balign 4
+_0206F144: .word 0x000005BC
+_0206F148: .word 0x0000051C
+_0206F14C: .word 0x000006BC
+_0206F150: .word 0x000006F8
+_0206F154: .word 0x000004EC
+
+ thumb_func_start FUN_0206F158
+FUN_0206F158: ; 0x0206F158
+ ldr r3, _0206F160 ; =FUN_02022610
+ mov r1, #0x3
+ bx r3
+ nop
+_0206F160: .word FUN_02022610
+
+ thumb_func_start FUN_0206F164
+FUN_0206F164: ; 0x0206F164
+ push {r4, lr}
+ mov r1, #0x24
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x24
+ bl MIi_CpuClear16
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0206F17C
+FUN_0206F17C: ; 0x0206F17C
+ push {r3-r4}
+ add r4, r0, r1
+ ldrb r4, [r4, #0x8]
+ strb r4, [r2, #0x0]
+ ldrb r0, [r0, r1]
+ strb r0, [r3, #0x0]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0206F18C
+FUN_0206F18C: ; 0x0206F18C
+ ldrh r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_0206F190
+FUN_0206F190: ; 0x0206F190
+ push {r3-r4}
+ add r4, r0, r1
+ strb r2, [r4, #0x8]
+ strb r3, [r0, r1]
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0206F19C
+FUN_0206F19C: ; 0x0206F19C
+ strh r1, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_0206F1A0
+FUN_0206F1A0: ; 0x0206F1A0
+ add r1, r0, r1
+ ldrb r0, [r1, #0x19]
+ strb r0, [r2, #0x0]
+ ldrb r0, [r1, #0x14]
+ strb r0, [r3, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0206F1AC
+FUN_0206F1AC: ; 0x0206F1AC
+ ldrh r0, [r0, #0x1e]
+ bx lr
+
+ thumb_func_start FUN_0206F1B0
+FUN_0206F1B0: ; 0x0206F1B0
+ ldrh r0, [r0, #0x20]
+ bx lr
+
+ thumb_func_start FUN_0206F1B4
+FUN_0206F1B4: ; 0x0206F1B4
+ ldrh r0, [r0, #0x22]
+ bx lr
+
+ thumb_func_start FUN_0206F1B8
+FUN_0206F1B8: ; 0x0206F1B8
+ add r0, r0, r1
+ strb r2, [r0, #0x19]
+ strb r3, [r0, #0x14]
+ bx lr
+
+ thumb_func_start FUN_0206F1C0
+FUN_0206F1C0: ; 0x0206F1C0
+ push {r4-r6, lr}
+ mov r4, #0x0
+ add r5, r0, #0x0
+ add r6, r4, #0x0
+_0206F1C8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ add r3, r6, #0x0
+ bl FUN_0206F1B8
+ add r4, r4, #0x1
+ cmp r4, #0x5
+ blo _0206F1C8
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0206F1EC
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0206F1E4
+FUN_0206F1E4: ; 0x0206F1E4
+ strh r1, [r0, #0x1e]
+ strh r2, [r0, #0x20]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0206F1EC
+FUN_0206F1EC: ; 0x0206F1EC
+ strh r1, [r0, #0x22]
+ bx lr
+
+ thumb_func_start FUN_0206F1F0
+FUN_0206F1F0: ; 0x0206F1F0
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0xb
+ bls _0206F20A
+ b _0206F37C
+_0206F20A:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206F216: ; jump table (using 16-bit offset)
+ .short _0206F22E - _0206F216 - 2; case 0
+ .short _0206F234 - _0206F216 - 2; case 1
+ .short _0206F25A - _0206F216 - 2; case 2
+ .short _0206F26C - _0206F216 - 2; case 3
+ .short _0206F31A - _0206F216 - 2; case 4
+ .short _0206F330 - _0206F216 - 2; case 5
+ .short _0206F336 - _0206F216 - 2; case 6
+ .short _0206F344 - _0206F216 - 2; case 7
+ .short _0206F34A - _0206F216 - 2; case 8
+ .short _0206F366 - _0206F216 - 2; case 9
+ .short _0206F366 - _0206F216 - 2; case 10
+ .short _0206F366 - _0206F216 - 2; case 11
+_0206F22E:
+ ldr r1, [r5, #0xc]
+ ldr r0, [r4, #0x0]
+ str r1, [r0, #0x0]
+_0206F234:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x1
+ bne _0206F24C
+ ldr r0, [r5, #0xc]
+ bl FUN_0203384C
+ cmp r0, #0x0
+ bne _0206F24E
+_0206F24C:
+ b _0206F380
+_0206F24E:
+ mov r0, #0xa
+ str r0, [r4, #0x4]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ b _0206F380
+_0206F25A:
+ ldr r1, _0206F384 ; =0x020F943C
+ ldr r2, [r4, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F26C:
+ ldr r0, [r5, #0xc]
+ bl FUN_0203384C
+ cmp r0, #0x0
+ beq _0206F280
+ ldr r0, [r5, #0xc]
+ bl FUN_020462AC
+ bl FUN_0205F304
+_0206F280:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x4]
+ cmp r0, #0xa
+ bhi _0206F380
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0206F294: ; jump table (using 16-bit offset)
+ .short _0206F380 - _0206F294 - 2; case 0
+ .short _0206F2B8 - _0206F294 - 2; case 1
+ .short _0206F2C6 - _0206F294 - 2; case 2
+ .short _0206F2AA - _0206F294 - 2; case 3
+ .short _0206F2E0 - _0206F294 - 2; case 4
+ .short _0206F2EE - _0206F294 - 2; case 5
+ .short _0206F2D4 - _0206F294 - 2; case 6
+ .short _0206F2FC - _0206F294 - 2; case 7
+ .short _0206F30E - _0206F294 - 2; case 8
+ .short _0206F314 - _0206F294 - 2; case 9
+ .short _0206F302 - _0206F294 - 2; case 10
+_0206F2AA:
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2B8:
+ mov r0, #0x32
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2C6:
+ mov r0, #0x64
+ strb r0, [r4, #0xc]
+ mov r0, #0x1
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2D4:
+ mov r0, #0x0
+ strb r0, [r4, #0xc]
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2E0:
+ mov r0, #0x32
+ strb r0, [r4, #0xc]
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2EE:
+ mov r0, #0x64
+ strb r0, [r4, #0xc]
+ mov r0, #0x0
+ strb r0, [r4, #0xd]
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F2FC:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F302:
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+ mov r0, #0xb
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F30E:
+ mov r0, #0x9
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F314:
+ mov r0, #0x8
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F31A:
+ ldr r1, [r4, #0x0]
+ ldrb r2, [r4, #0xc]
+ ldrb r3, [r4, #0xd]
+ ldr r1, [r1, #0x8]
+ add r0, r6, #0x0
+ bl FUN_020471C0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F330:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F336:
+ add r0, r6, #0x0
+ bl FUN_020383D8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F344:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _0206F380
+_0206F34A:
+ ldr r2, _0206F388 ; =0x00040100
+ mov r0, #0x3
+ mov r1, #0x36
+ bl FUN_0201681C
+ bl FUN_02088878
+ mov r0, #0x36
+ bl MOD07_02211E60
+ mov r0, #0x0
+ bl OS_ResetSystem
+ b _0206F380
+_0206F366:
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0206F37C:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0206F380:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_0206F384: .word 0x020F943C
+_0206F388: .word 0x00040100
+
+ thumb_func_start FUN_0206F38C
+FUN_0206F38C: ; 0x0206F38C
+ push {r4, lr}
+ mov r0, #0xb
+ mov r1, #0x10
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x10
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0xc
+ str r0, [r4, #0x0]
+ bl MI_CpuFill8
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206F3B8
+FUN_0206F3B8: ; 0x0206F3B8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0206F38C
+ add r2, r0, #0x0
+ ldr r0, [r2, #0x0]
+ mov r1, #0x2
+ str r1, [r0, #0x4]
+ ldr r1, _0206F3D4 ; =FUN_0206F1F0
+ add r0, r4, #0x0
+ bl FUN_0204640C
+ pop {r4, pc}
+ nop
+_0206F3D4: .word FUN_0206F1F0
+
+ thumb_func_start FUN_0206F3D8
+FUN_0206F3D8: ; 0x0206F3D8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0206F38C
+ add r2, r0, #0x0
+ ldr r0, [r2, #0x0]
+ mov r1, #0x1
+ str r1, [r0, #0x4]
+ ldr r1, _0206F3F8 ; =FUN_0206F1F0
+ add r0, r5, #0x0
+ str r4, [r2, #0x8]
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_0206F3F8: .word FUN_0206F1F0
+
+ thumb_func_start FUN_0206F3FC
+FUN_0206F3FC: ; 0x0206F3FC
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ bl FUN_02015F1C
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r0, #0x1
+ lsl r0, r0, #0x1a
+ ldr r2, [r0, #0x0]
+ ldr r1, _0206F594 ; =0xFFFFE0FF
+ ldr r3, _0206F598 ; =0x04001000
+ and r2, r1
+ str r2, [r0, #0x0]
+ ldr r2, [r3, #0x0]
+ add r0, #0x50
+ and r1, r2
+ str r1, [r3, #0x0]
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ add r3, #0x50
+ strh r1, [r3, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ mov r2, #0x2
+ mov r0, #0x3
+ mov r1, #0xc
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ add r0, r4, #0x0
+ bl FUN_0206FE74
+ add r4, r0, #0x0
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0xc
+ str r1, [sp, #0x8]
+ mov r1, #0x3
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_0200E1D0
+ add r0, r4, #0x0
+ bl FUN_0206FF74
+ bl FUN_0206FB80
+ ldr r0, [r4, #0x0]
+ bl FUN_0206FBA0
+ add r0, r4, #0x0
+ bl FUN_0206FD24
+ bl FUN_0201CC08
+ mov r0, #0x4
+ bl FUN_0201CC24
+ mov r1, #0x0
+ mov r0, #0x39
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ add r0, r4, #0x0
+ bl FUN_02072590
+ add r0, r4, #0x0
+ bl FUN_02073710
+ add r0, r4, #0x0
+ bl FUN_0207388C
+ add r0, r4, #0x0
+ bl FUN_0206FFB4
+ add r0, r4, #0x0
+ bl FUN_0207047C
+ ldr r1, _0206F59C ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ mov r2, #0x1
+ bl FUN_020713EC
+ ldr r1, _0206F5A0 ; =0x000005A4
+ ldr r3, [r4, r1]
+ add r0, r3, #0x0
+ add r0, #0x20
+ ldrb r2, [r0, #0x0]
+ cmp r2, #0x5
+ beq _0206F4CC
+ cmp r2, #0x10
+ bne _0206F4E2
+_0206F4CC:
+ ldrh r0, [r3, #0x24]
+ bl FUN_02076144
+ cmp r0, #0x0
+ bne _0206F564
+ add r0, r4, #0x0
+ mov r1, #0x20
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F4E2:
+ cmp r2, #0x6
+ bne _0206F4F2
+ add r0, r4, #0x0
+ mov r1, #0x21
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F4F2:
+ cmp r2, #0x9
+ beq _0206F4FA
+ cmp r2, #0xe
+ bne _0206F506
+_0206F4FA:
+ add r0, r4, #0x0
+ mov r1, #0x1f
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F506:
+ cmp r2, #0x7
+ beq _0206F51A
+ cmp r2, #0x8
+ beq _0206F51A
+ add r0, r2, #0x0
+ add r0, #0xf5
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _0206F526
+_0206F51A:
+ ldr r0, _0206F5A4 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ b _0206F564
+_0206F526:
+ cmp r2, #0x2
+ beq _0206F52E
+ cmp r2, #0x11
+ bne _0206F53A
+_0206F52E:
+ add r0, r4, #0x0
+ mov r1, #0x22
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F53A:
+ cmp r2, #0xf
+ bne _0206F54A
+ add r0, r4, #0x0
+ mov r1, #0x22
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F54A:
+ cmp r2, #0xa
+ beq _0206F55A
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _0206F564
+_0206F55A:
+ add r1, #0x24
+ ldr r0, [r4, r1]
+ mov r1, #0x1
+ bl FUN_0200C664
+_0206F564:
+ add r0, r4, #0x0
+ bl FUN_02072720
+ add r0, r4, #0x0
+ bl FUN_02070AA4
+ add r0, r4, #0x0
+ bl FUN_0207248C
+ cmp r0, #0x0
+ bne _0206F582
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+_0206F582:
+ ldr r0, _0206F5A8 ; =FUN_0206FB58
+ add r1, r4, #0x0
+ bl FUN_02015F10
+ bl FUN_02033F20
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+_0206F594: .word 0xFFFFE0FF
+_0206F598: .word 0x04001000
+_0206F59C: .word 0x00000B25
+_0206F5A0: .word 0x000005A4
+_0206F5A4: .word 0x000005C8
+_0206F5A8: .word FUN_0206FB58
+
+ thumb_func_start FUN_0206F5AC
+FUN_0206F5AC: ; 0x0206F5AC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r4, #0x0]
+ add r5, r0, #0x0
+ cmp r1, #0x1c
+ bhi _0206F61C
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0206F5C8: ; jump table (using 16-bit offset)
+ .short _0206F602 - _0206F5C8 - 2; case 0
+ .short _0206F60A - _0206F5C8 - 2; case 1
+ .short _0206F612 - _0206F5C8 - 2; case 2
+ .short _0206F624 - _0206F5C8 - 2; case 3
+ .short _0206F62C - _0206F5C8 - 2; case 4
+ .short _0206F634 - _0206F5C8 - 2; case 5
+ .short _0206F63E - _0206F5C8 - 2; case 6
+ .short _0206F646 - _0206F5C8 - 2; case 7
+ .short _0206F64E - _0206F5C8 - 2; case 8
+ .short _0206F656 - _0206F5C8 - 2; case 9
+ .short _0206F65E - _0206F5C8 - 2; case 10
+ .short _0206F666 - _0206F5C8 - 2; case 11
+ .short _0206F66E - _0206F5C8 - 2; case 12
+ .short _0206F676 - _0206F5C8 - 2; case 13
+ .short _0206F67E - _0206F5C8 - 2; case 14
+ .short _0206F686 - _0206F5C8 - 2; case 15
+ .short _0206F68E - _0206F5C8 - 2; case 16
+ .short _0206F696 - _0206F5C8 - 2; case 17
+ .short _0206F69E - _0206F5C8 - 2; case 18
+ .short _0206F6A6 - _0206F5C8 - 2; case 19
+ .short _0206F6AE - _0206F5C8 - 2; case 20
+ .short _0206F6B6 - _0206F5C8 - 2; case 21
+ .short _0206F6BE - _0206F5C8 - 2; case 22
+ .short _0206F6C6 - _0206F5C8 - 2; case 23
+ .short _0206F6CE - _0206F5C8 - 2; case 24
+ .short _0206F6E6 - _0206F5C8 - 2; case 25
+ .short _0206F6F4 - _0206F5C8 - 2; case 26
+ .short _0206F6FC - _0206F5C8 - 2; case 27
+ .short _0206F70A - _0206F5C8 - 2; case 28
+_0206F602:
+ bl FUN_0206F750
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F60A:
+ bl FUN_0206F7D8
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F612:
+ add r1, r4, #0x0
+ bl FUN_020718CC
+ cmp r0, #0x1
+ beq _0206F61E
+_0206F61C:
+ b _0206F722
+_0206F61E:
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F624:
+ bl FUN_020754D0
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F62C:
+ bl FUN_0206F874
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F634:
+ ldr r1, _0206F740 ; =0x00000B14
+ ldr r1, [r5, r1]
+ blx r1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F63E:
+ bl FUN_02077110
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F646:
+ bl FUN_020761A0
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F64E:
+ bl FUN_0206F8B4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F656:
+ bl FUN_02072170
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F65E:
+ bl FUN_02072194
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F666:
+ bl FUN_02072140
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F66E:
+ bl FUN_0207230C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F676:
+ bl FUN_0206F8F4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F67E:
+ bl FUN_02071F58
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F686:
+ bl FUN_0207405C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F68E:
+ bl FUN_0207436C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F696:
+ bl FUN_0206FA14
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F69E:
+ bl FUN_02076D3C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6A6:
+ bl FUN_02074F6C
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6AE:
+ bl FUN_0206F980
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6B6:
+ bl FUN_0206F9A4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6BE:
+ bl FUN_0206F9C8
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6C6:
+ bl FUN_0206F9D4
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6CE:
+ bl FUN_020714D0
+ cmp r0, #0x0
+ bne _0206F6DC
+ mov r0, #0x19
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6DC:
+ cmp r0, #0x3
+ bne _0206F722
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6E6:
+ bl FUN_020746D4
+ cmp r0, #0x1
+ bne _0206F722
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6F4:
+ bl FUN_02071970
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F6FC:
+ mov r0, #0x1
+ mov r1, #0xc
+ bl FUN_02079A70
+ mov r0, #0x1c
+ str r0, [r4, #0x0]
+ b _0206F722
+_0206F70A:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0206F722
+ ldr r0, _0206F744 ; =0x00000B25
+ ldrb r1, [r5, r0]
+ ldr r0, _0206F748 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0206F722:
+ add r0, r5, #0x0
+ bl FUN_02073BEC
+ add r0, r5, #0x0
+ bl FUN_02073D6C
+ add r0, r5, #0x0
+ bl FUN_02070F14
+ ldr r0, _0206F74C ; =0x000005AC
+ ldr r0, [r5, r0]
+ bl FUN_0200BC1C
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0206F740: .word 0x00000B14
+_0206F744: .word 0x00000B25
+_0206F748: .word 0x000005A4
+_0206F74C: .word 0x000005AC
+
+ thumb_func_start FUN_0206F750
+FUN_0206F750: ; 0x0206F750
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0206F7CA
+ ldr r0, _0206F7D0 ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r0, r2, #0x0
+ add r0, #0x20
+ ldrb r1, [r0, #0x0]
+ cmp r1, #0x5
+ beq _0206F76E
+ cmp r1, #0x10
+ bne _0206F786
+_0206F76E:
+ ldrh r0, [r2, #0x24]
+ bl FUN_02076144
+ cmp r0, #0x1
+ bne _0206F782
+ ldr r0, _0206F7D4 ; =0x00000B22
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r0, #0x7
+ pop {r4, pc}
+_0206F782:
+ mov r0, #0x4
+ pop {r4, pc}
+_0206F786:
+ cmp r1, #0x6
+ bne _0206F78E
+ mov r0, #0x11
+ pop {r4, pc}
+_0206F78E:
+ cmp r1, #0x7
+ bne _0206F79A
+ add r0, r4, #0x0
+ bl FUN_02076C94
+ pop {r4, pc}
+_0206F79A:
+ cmp r1, #0x8
+ bne _0206F7A6
+ add r0, r4, #0x0
+ bl FUN_02076890
+ pop {r4, pc}
+_0206F7A6:
+ add r0, r1, #0x0
+ add r0, #0xf5
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _0206F7B6
+ mov r0, #0xc
+ pop {r4, pc}
+_0206F7B6:
+ cmp r1, #0x9
+ bne _0206F7BE
+ mov r0, #0x8
+ pop {r4, pc}
+_0206F7BE:
+ cmp r1, #0xa
+ bne _0206F7C6
+ mov r0, #0xe
+ pop {r4, pc}
+_0206F7C6:
+ mov r0, #0x1
+ pop {r4, pc}
+_0206F7CA:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0206F7D0: .word 0x000005A4
+_0206F7D4: .word 0x00000B22
+
+ thumb_func_start FUN_0206F7D8
+FUN_0206F7D8: ; 0x0206F7D8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02070F94
+ cmp r0, #0x0
+ bne _0206F81E
+ ldr r0, _0206F870 ; =0x000005A4
+ ldr r1, [r4, r0]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x3
+ beq _0206F7F6
+ cmp r0, #0x14
+ bne _0206F800
+_0206F7F6:
+ mov r0, #0x0
+ add r1, #0x23
+ strb r0, [r1, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206F800:
+ cmp r0, #0xe
+ bne _0206F80E
+ add r0, r4, #0x0
+ bl FUN_02077248
+ mov r0, #0x14
+ pop {r4, pc}
+_0206F80E:
+ cmp r0, #0x13
+ bne _0206F81A
+ add r0, r4, #0x0
+ bl FUN_02072420
+ pop {r4, pc}
+_0206F81A:
+ mov r0, #0x2
+ pop {r4, pc}
+_0206F81E:
+ cmp r0, #0x4
+ bne _0206F82A
+ add r0, r4, #0x0
+ bl FUN_0207155C
+ pop {r4, pc}
+_0206F82A:
+ cmp r0, #0x3
+ bne _0206F83C
+ ldr r0, _0206F870 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206F83C:
+ cmp r0, #0x2
+ bne _0206F86A
+ ldr r0, _0206F870 ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r1, r2, #0x0
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0xf
+ beq _0206F858
+ mov r0, #0x1
+ add r2, #0x23
+ strb r0, [r2, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206F858:
+ add r0, #0x24
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ bl FUN_02075118
+ pop {r4, pc}
+_0206F86A:
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_0206F870: .word 0x000005A4
+
+ thumb_func_start FUN_0206F874
+FUN_0206F874: ; 0x0206F874
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02071D48
+ cmp r0, #0x0
+ beq _0206F884
+ cmp r0, #0x2
+ bne _0206F896
+_0206F884:
+ ldr r0, _0206F8AC ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ bl FUN_02071DF4
+ pop {r4, pc}
+_0206F896:
+ cmp r0, #0x3
+ bne _0206F8A8
+ ldr r0, _0206F8B0 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206F8A8:
+ mov r0, #0x4
+ pop {r4, pc}
+ .balign 4
+_0206F8AC: .word 0x000005C8
+_0206F8B0: .word 0x000005A4
+
+ thumb_func_start FUN_0206F8B4
+FUN_0206F8B4: ; 0x0206F8B4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02071D48
+ cmp r0, #0x0
+ beq _0206F8C4
+ cmp r0, #0x2
+ bne _0206F8D6
+_0206F8C4:
+ ldr r0, _0206F8EC ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ bl FUN_02071F58
+ pop {r4, pc}
+_0206F8D6:
+ cmp r0, #0x3
+ bne _0206F8E8
+ ldr r0, _0206F8F0 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206F8E8:
+ mov r0, #0x8
+ pop {r4, pc}
+ .balign 4
+_0206F8EC: .word 0x000005C8
+_0206F8F0: .word 0x000005A4
+
+ thumb_func_start FUN_0206F8F4
+FUN_0206F8F4: ; 0x0206F8F4
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ ldr r0, _0206F974 ; =0x000006FC
+ ldr r0, [r4, r0]
+ bl FUN_02001C78
+ add r2, r0, #0x0
+ mov r0, #0x1
+ mvn r0, r0
+ cmp r2, r0
+ beq _0206F914
+ add r0, r0, #0x1
+ cmp r2, r0
+ beq _0206F96E
+ b _0206F962
+_0206F914:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ ldr r0, _0206F974 ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_02001C5C
+ ldr r0, _0206F978 ; =0x000006F8
+ ldr r0, [r4, r0]
+ bl FUN_02012870
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _0206F97C ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add sp, #0x4
+ mov r0, #0x1
+ pop {r3-r4, pc}
+_0206F962:
+ add r0, r4, #0x0
+ add r1, sp, #0x0
+ blx r2
+ ldr r0, [sp, #0x0]
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0206F96E:
+ mov r0, #0xd
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0206F974: .word 0x000006FC
+_0206F978: .word 0x000006F8
+_0206F97C: .word 0x000005C8
+
+ thumb_func_start FUN_0206F980
+FUN_0206F980: ; 0x0206F980
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0206F99C ; =0x00000B24
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0206F996
+ ldr r0, _0206F9A0 ; =0x00000B22
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0206F996:
+ mov r0, #0x14
+ pop {r4, pc}
+ nop
+_0206F99C: .word 0x00000B24
+_0206F9A0: .word 0x00000B22
+
+ thumb_func_start FUN_0206F9A4
+FUN_0206F9A4: ; 0x0206F9A4
+ push {r3, lr}
+ ldr r0, _0206F9C0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0206F9BA
+ ldr r0, _0206F9C4 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x1b
+ pop {r3, pc}
+_0206F9BA:
+ mov r0, #0x15
+ pop {r3, pc}
+ nop
+_0206F9C0: .word 0x021C48B8
+_0206F9C4: .word 0x000005DC
+
+ thumb_func_start FUN_0206F9C8
+FUN_0206F9C8: ; 0x0206F9C8
+ push {r3, lr}
+ bl FUN_020732CC
+ mov r0, #0x17
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206F9D4
+FUN_0206F9D4: ; 0x0206F9D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0206FA08 ; =0x000006FC
+ mov r1, #0xc
+ ldr r0, [r4, r0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _0206F9F0
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _0206F9FA
+ b _0206FA04
+_0206F9F0:
+ ldr r1, _0206FA0C ; =0x00000B18
+ add r0, r4, #0x0
+ ldr r1, [r4, r1]
+ blx r1
+ pop {r4, pc}
+_0206F9FA:
+ ldr r1, _0206FA10 ; =0x00000B1C
+ add r0, r4, #0x0
+ ldr r1, [r4, r1]
+ blx r1
+ pop {r4, pc}
+_0206FA04:
+ mov r0, #0x17
+ pop {r4, pc}
+ .balign 4
+_0206FA08: .word 0x000006FC
+_0206FA0C: .word 0x00000B18
+_0206FA10: .word 0x00000B1C
+
+ thumb_func_start FUN_0206FA14
+FUN_0206FA14: ; 0x0206FA14
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02071D48
+ cmp r0, #0x0
+ beq _0206FA24
+ cmp r0, #0x2
+ bne _0206FA78
+_0206FA24:
+ ldr r0, _0206FA90 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ ldr r0, _0206FA94 ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r0, [r4, r0]
+ add r2, r0, #0x0
+ mul r2, r1
+ mov r0, #0x71
+ add r2, r4, r2
+ lsl r0, r0, #0x4
+ ldrb r0, [r2, r0]
+ cmp r0, #0x1
+ beq _0206FA4C
+ add r0, r4, #0x0
+ bl FUN_02076AF8
+ pop {r4, pc}
+_0206FA4C:
+ add r0, r4, #0x0
+ sub r1, #0x2d
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _0206FA98 ; =0x000005A4
+ mov r2, #0x0
+ ldr r0, [r4, r1]
+ add r1, #0xf8
+ add r0, #0x23
+ strb r2, [r0, #0x0]
+ ldr r0, _0206FA9C ; =0x00000B22
+ mov r2, #0x15
+ strb r2, [r4, r0]
+ ldr r2, _0206FAA0 ; =0x000006A4
+ ldr r0, [r4, r1]
+ ldr r2, [r4, r2]
+ mov r1, #0x69
+ bl FUN_0200A8E0
+ mov r0, #0x14
+ pop {r4, pc}
+_0206FA78:
+ cmp r0, #0x3
+ bne _0206FA8A
+ ldr r0, _0206FA98 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_0206FA8A:
+ mov r0, #0x11
+ pop {r4, pc}
+ nop
+_0206FA90: .word 0x000005C8
+_0206FA94: .word 0x00000B25
+_0206FA98: .word 0x000005A4
+_0206FA9C: .word 0x00000B22
+_0206FAA0: .word 0x000006A4
+
+ thumb_func_start FUN_0206FAA4
+FUN_0206FAA4: ; 0x0206FAA4
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ bl FUN_02006278
+ add r6, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ add r0, r6, #0x0
+ bl FUN_02073A2C
+ add r0, r6, #0x0
+ bl FUN_020726F0
+ ldr r0, [r6, #0x0]
+ bl FUN_0206FCD4
+ bl FUN_0201CD04
+ bl FUN_0201C29C
+ mov r7, #0x7
+ mov r4, #0x0
+ add r5, r6, #0x0
+ lsl r7, r7, #0x8
+_0206FAD8:
+ ldr r0, [r5, r7]
+ bl FUN_02021A20
+ add r4, r4, #0x1
+ add r5, #0x2c
+ cmp r4, #0x6
+ blo _0206FAD8
+ ldr r0, _0206FB40 ; =0x000006A4
+ ldr r0, [r6, r0]
+ bl FUN_02021A20
+ ldr r0, _0206FB44 ; =0x000006A8
+ ldr r0, [r6, r0]
+ bl FUN_02021A20
+ ldr r7, _0206FB48 ; =0x000006AC
+ mov r5, #0x0
+ add r4, r6, #0x0
+_0206FAFC:
+ ldr r0, [r4, r7]
+ bl FUN_02021A20
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, #0x13
+ blo _0206FAFC
+ ldr r0, _0206FB4C ; =0x0000069C
+ ldr r0, [r6, r0]
+ bl FUN_0200A8B8
+ ldr r0, _0206FB50 ; =0x00000698
+ ldr r0, [r6, r0]
+ bl FUN_0200B990
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ bl FUN_0200AB18
+ ldr r0, _0206FB54 ; =0x00000B34
+ ldr r0, [r6, r0]
+ cmp r0, #0x0
+ beq _0206FB30
+ bl FUN_0206BB74
+_0206FB30:
+ ldr r0, [sp, #0x0]
+ bl FUN_0200627C
+ mov r0, #0xc
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_0206FB40: .word 0x000006A4
+_0206FB44: .word 0x000006A8
+_0206FB48: .word 0x000006AC
+_0206FB4C: .word 0x0000069C
+_0206FB50: .word 0x00000698
+_0206FB54: .word 0x00000B34
+
+ thumb_func_start FUN_0206FB58
+FUN_0206FB58: ; 0x0206FB58
+ push {r3, lr}
+ ldr r0, [r0, #0x0]
+ bl FUN_0201AB60
+ bl FUN_0201C30C
+ bl FUN_0200BC30
+ ldr r3, _0206FB78 ; =0x027E0000
+ ldr r1, _0206FB7C ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r3, pc}
+ nop
+_0206FB78: .word 0x027E0000
+_0206FB7C: .word 0x00003FF8
+
+ thumb_func_start FUN_0206FB80
+FUN_0206FB80: ; 0x0206FB80
+ push {r4, lr}
+ sub sp, #0x28
+ ldr r4, _0206FB9C ; =0x020F9564
+ add r3, sp, #0x0
+ mov r2, #0x5
+_0206FB8A:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0206FB8A
+ add r0, sp, #0x0
+ bl FUN_0201E66C
+ add sp, #0x28
+ pop {r4, pc}
+ .balign 4
+_0206FB9C: .word 0x020F9564
+
+ thumb_func_start FUN_0206FBA0
+FUN_0206FBA0: ; 0x0206FBA0
+ push {r3-r5, lr}
+ sub sp, #0xb8
+ ldr r5, _0206FCB8 ; =0x020F9458
+ add r3, sp, #0xa8
+ add r4, r0, #0x0
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _0206FCBC ; =0x020F94D4
+ add r3, sp, #0x8c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02018744
+ ldr r5, _0206FCC0 ; =0x020F94F0
+ add r3, sp, #0x70
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02018744
+ ldr r5, _0206FCC4 ; =0x020F949C
+ add r3, sp, #0x54
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02018744
+ ldr r5, _0206FCC8 ; =0x020F9480
+ add r3, sp, #0x38
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ ldr r5, _0206FCCC ; =0x020F950C
+ add r3, sp, #0x1c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x4
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02018744
+ ldr r5, _0206FCD0 ; =0x020F9528
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x5
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ mov r3, #0xc
+ bl FUN_02017F18
+ mov r0, #0x4
+ mov r1, #0x20
+ mov r2, #0x0
+ mov r3, #0xc
+ bl FUN_02017F18
+ add sp, #0xb8
+ pop {r3-r5, pc}
+ nop
+_0206FCB8: .word 0x020F9458
+_0206FCBC: .word 0x020F94D4
+_0206FCC0: .word 0x020F94F0
+_0206FCC4: .word 0x020F949C
+_0206FCC8: .word 0x020F9480
+_0206FCCC: .word 0x020F950C
+_0206FCD0: .word 0x020F9528
+
+ thumb_func_start FUN_0206FCD4
+FUN_0206FCD4: ; 0x0206FCD4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x1f
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x13
+ mov r1, #0x0
+ bl FUN_0201E74C
+ add r0, r4, #0x0
+ mov r1, #0x5
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020178A0
+ mov r0, #0xc
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0206FD24
+FUN_0206FD24: ; 0x0206FD24
+ push {r4-r5, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x14
+ mov r1, #0xf
+ mov r3, #0x3
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x14
+ mov r1, #0x11
+ mov r3, #0x3
+ bl FUN_020068C8
+ mov r0, #0x14
+ mov r1, #0x10
+ mov r2, #0xc
+ bl LoadFromNarc_2
+ add r1, sp, #0x10
+ add r4, r0, #0x0
+ bl FUN_020B0138
+ ldr r2, [sp, #0x10]
+ mov r0, #0x3
+ ldr r1, [r2, #0xc]
+ ldr r2, [r2, #0x8]
+ mov r3, #0x0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ bl FUN_02017FB4
+ ldr r1, [sp, #0x10]
+ ldr r0, _0206FE6C ; =0x000004A4
+ ldr r1, [r1, #0xc]
+ mov r2, #0x1
+ add r0, r5, r0
+ add r1, #0x60
+ lsl r2, r2, #0x8
+ bl memcpy
+ mov r0, #0xc
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ mov r1, #0x1a
+ mov r0, #0x0
+ lsl r1, r1, #0x4
+ mov r2, #0xc
+ bl FUN_02002EEC
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ mov r2, #0x1
+ mov r3, #0xe
+ bl FUN_0200CB00
+ ldr r0, _0206FE70 ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02025084
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x0
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200CD68
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x14
+ mov r1, #0x3
+ mov r3, #0x4
+ bl FUN_0200687C
+ mov r3, #0x20
+ mov r1, #0x4
+ str r3, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x14
+ add r2, r1, #0x0
+ bl FUN_02006930
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r1, #0xc
+ str r1, [sp, #0xc]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x14
+ mov r3, #0x5
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r2, [r5, #0x0]
+ mov r0, #0x14
+ mov r1, #0xe
+ mov r3, #0x5
+ bl FUN_020068C8
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x14
+ mov r1, #0xd
+ mov r2, #0x4
+ mov r3, #0x0
+ bl FUN_02006930
+ mov r2, #0x99
+ lsl r2, r2, #0x2
+ mov r3, #0xf9
+ add r1, r5, r2
+ add r2, #0xc0
+ lsl r3, r3, #0x2
+ mov r0, #0xc
+ add r2, r5, r2
+ add r3, r5, r3
+ bl FUN_020724D4
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_02017FE4
+ add sp, #0x14
+ pop {r4-r5, pc}
+ .balign 4
+_0206FE6C: .word 0x000004A4
+_0206FE70: .word 0x000005A4
+
+ thumb_func_start FUN_0206FE74
+FUN_0206FE74: ; 0x0206FE74
+ push {r3-r7, lr}
+ ldr r1, _0206FF50 ; =0x00000B38
+ mov r2, #0xc
+ add r4, r0, #0x0
+ bl FUN_02006268
+ ldr r2, _0206FF50 ; =0x00000B38
+ mov r1, #0x0
+ add r6, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ bl FUN_0200628C
+ ldr r1, _0206FF54 ; =0x000005A4
+ str r0, [r6, r1]
+ mov r0, #0xc
+ bl FUN_02016B94
+ str r0, [r6, #0x0]
+ ldr r0, _0206FF54 ; =0x000005A4
+ ldr r1, [r6, r0]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _0206FEBC
+ ldr r0, [r1, #0x14]
+ cmp r0, #0x0
+ beq _0206FEBC
+ mov r0, #0xc
+ bl FUN_0206BB5C
+ ldr r1, _0206FF58 ; =0x00000B34
+ str r0, [r6, r1]
+ b _0206FEC2
+_0206FEBC:
+ ldr r0, _0206FF58 ; =0x00000B34
+ mov r1, #0x0
+ str r1, [r6, r0]
+_0206FEC2:
+ ldr r2, _0206FF5C ; =0x00000192
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r3, #0xc
+ bl FUN_0200A86C
+ ldr r1, _0206FF60 ; =0x0000069C
+ mov r2, #0x0
+ str r0, [r6, r1]
+ mov r0, #0xf
+ mov r1, #0xe
+ mov r3, #0xc
+ bl FUN_0200B870
+ ldr r1, _0206FF64 ; =0x00000698
+ str r0, [r6, r1]
+ mov r0, #0xc
+ bl FUN_0200AA80
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ add r7, r1, #0x0
+ str r0, [r6, r1]
+ mov r4, #0x0
+ add r5, r6, #0x0
+ add r7, #0x60
+_0206FEF6:
+ mov r0, #0xb
+ mov r1, #0xc
+ bl FUN_020219F4
+ str r0, [r5, r7]
+ add r4, r4, #0x1
+ add r5, #0x2c
+ cmp r4, #0x6
+ blo _0206FEF6
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ mov r1, #0xc
+ bl FUN_020219F4
+ ldr r1, _0206FF68 ; =0x000006A4
+ str r0, [r6, r1]
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ mov r1, #0xc
+ bl FUN_020219F4
+ ldr r1, _0206FF6C ; =0x000006A8
+ mov r5, #0x0
+ str r0, [r6, r1]
+ add r4, r6, #0x0
+ add r7, r1, #0x4
+_0206FF2A:
+ mov r0, #0x20
+ mov r1, #0xc
+ bl FUN_020219F4
+ str r0, [r4, r7]
+ add r5, r5, #0x1
+ add r4, r4, #0x4
+ cmp r5, #0x13
+ blo _0206FF2A
+ ldr r0, _0206FF54 ; =0x000005A4
+ ldr r0, [r6, r0]
+ add r0, #0x22
+ ldrb r1, [r0, #0x0]
+ ldr r0, _0206FF70 ; =0x00000B25
+ strb r1, [r6, r0]
+ add r0, r0, #0x1
+ strb r1, [r6, r0]
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0206FF50: .word 0x00000B38
+_0206FF54: .word 0x000005A4
+_0206FF58: .word 0x00000B34
+_0206FF5C: .word 0x00000192
+_0206FF60: .word 0x0000069C
+_0206FF64: .word 0x00000698
+_0206FF68: .word 0x000006A4
+_0206FF6C: .word 0x000006A8
+_0206FF70: .word 0x00000B25
+
+ thumb_func_start FUN_0206FF74
+FUN_0206FF74: ; 0x0206FF74
+ push {r3-r4}
+ ldr r2, _0206FFAC ; =0x000005A4
+ mov r3, #0x80
+ ldr r1, [r0, r2]
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ tst r1, r3
+ beq _0206FF9E
+ ldr r1, _0206FFB0 ; =0x00000B23
+ ldrb r4, [r0, r1]
+ orr r4, r3
+ strb r4, [r0, r1]
+ ldr r1, [r0, r2]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ add r1, #0x20
+ eor r0, r3
+ strb r0, [r1, #0x0]
+ pop {r3-r4}
+ bx lr
+_0206FF9E:
+ ldr r2, _0206FFB0 ; =0x00000B23
+ mov r1, #0x80
+ ldrb r3, [r0, r2]
+ bic r3, r1
+ strb r3, [r0, r2]
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_0206FFAC: .word 0x000005A4
+_0206FFB0: .word 0x00000B23
+
+ thumb_func_start FUN_0206FFB4
+FUN_0206FFB4: ; 0x0206FFB4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02070064 ; =0x000005A4
+ mov r4, #0x3
+ ldr r1, [r5, r0]
+ add r0, r1, #0x0
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _0206FFD0
+ ldr r1, _02070068 ; =0x020F95CC
+ ldr r0, _0207006C ; =0x00000808
+ str r1, [r5, r0]
+ b _0206FFEA
+_0206FFD0:
+ add r1, #0x20
+ ldrb r0, [r1, #0x0]
+ cmp r0, #0x2
+ beq _0206FFDC
+ cmp r0, #0x11
+ bne _0206FFE4
+_0206FFDC:
+ ldr r1, _02070070 ; =0x020F960C
+ ldr r0, _0207006C ; =0x00000808
+ str r1, [r5, r0]
+ b _0206FFEA
+_0206FFE4:
+ ldr r1, _02070074 ; =0x020F958C
+ ldr r0, _0207006C ; =0x00000808
+ str r1, [r5, r0]
+_0206FFEA:
+ ldr r0, _02070064 ; =0x000005A4
+ ldr r1, [r5, r0]
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x2
+ beq _0207003C
+ cmp r1, #0x11
+ beq _0207003C
+ add r0, #0x2c
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _02070078 ; =0x000005D4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02070078 ; =0x000005D4
+ add r1, sp, #0x0
+ ldr r0, [r5, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_0200C75C
+ ldr r0, _02070078 ; =0x000005D4
+ add r3, sp, #0x0
+ mov r2, #0x0
+ ldrsh r2, [r3, r2]
+ mov r1, #0x2
+ ldrsh r1, [r3, r1]
+ sub r2, #0x8
+ lsl r2, r2, #0x10
+ ldr r0, [r5, r0]
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ mov r0, #0x1
+ eor r0, r4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_0207003C:
+ ldr r0, _02070064 ; =0x000005A4
+ ldr r1, [r5, r0]
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x4
+ bne _0207005A
+ add r0, #0x30
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ mov r0, #0x2
+ eor r0, r4
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_0207005A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073094
+ pop {r3-r5, pc}
+ .balign 4
+_02070064: .word 0x000005A4
+_02070068: .word 0x020F95CC
+_0207006C: .word 0x00000808
+_02070070: .word 0x020F960C
+_02070074: .word 0x020F958C
+_02070078: .word 0x000005D4
+
+ thumb_func_start FUN_0207007C
+FUN_0207007C: ; 0x0207007C
+ mov r2, #0x2c
+ mul r2, r1
+ add r1, r0, r2
+ ldr r0, _02070088 ; =0x00000729
+ ldrb r0, [r1, r0]
+ bx lr
+ .balign 4
+_02070088: .word 0x00000729
+
+ thumb_func_start FUN_0207008C
+FUN_0207008C: ; 0x0207008C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r1, [sp, #0x0]
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2c
+ add r4, r0, #0x0
+ ldr r0, _020701D8 ; =0x00000729
+ mul r4, r1
+ add r0, r5, r0
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ strb r1, [r0, r4]
+ ldr r0, _020701DC ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9AC
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bgt _020700BC
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_020700BC:
+ ldr r0, _020701DC ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r7, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ bne _020700DE
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_020700DE:
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02072A00
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2c
+ add r6, r0, #0x0
+ mul r6, r1
+ ldr r1, _020701E0 ; =0x00000704
+ ldr r0, [sp, #0x4]
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701E4 ; =0x00000706
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701E8 ; =0x00000708
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701EC ; =0x0000070A
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701F0 ; =0x0000070C
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0xa1
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701F4 ; =0x00000712
+ add r2, r5, r6
+ strh r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r1, #0x71
+ add r2, r5, r6
+ lsl r1, r1, #0x4
+ strb r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020701F8 ; =0x00000711
+ add r2, r5, r6
+ strb r0, [r2, r1]
+ add r0, r7, #0x0
+ mov r1, #0xaf
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ ldr r0, _020701FC ; =0x0000070E
+ bne _02070184
+ add r2, r5, r0
+ ldrh r1, [r2, r4]
+ ldr r0, _02070200 ; =0xFFFFEFFF
+ and r0, r1
+ b _0207018E
+_02070184:
+ add r2, r5, r0
+ ldrh r1, [r2, r4]
+ mov r0, #0x1
+ lsl r0, r0, #0xc
+ orr r0, r1
+_0207018E:
+ strh r0, [r2, r4]
+ ldr r0, _020701FC ; =0x0000070E
+ add r6, r5, r0
+ add r0, r7, #0x0
+ bl FUN_020689E0
+ lsl r0, r0, #0x1e
+ ldrh r2, [r6, r4]
+ ldr r1, _02070204 ; =0xFFFF9FFF
+ lsr r0, r0, #0x11
+ and r1, r2
+ orr r0, r1
+ strh r0, [r6, r4]
+ ldr r0, [sp, #0x8]
+ mov r1, #0x1
+ strb r1, [r0, r4]
+ add r0, r7, #0x0
+ bl FUN_0207C2D4
+ lsl r0, r0, #0x18
+ ldrh r1, [r6, r4]
+ ldr r2, _02070208 ; =0xFFFFF000
+ lsr r0, r0, #0x18
+ and r1, r2
+ lsr r2, r2, #0x14
+ and r0, r2
+ orr r0, r1
+ strh r0, [r6, r4]
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_0207020C
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_020701D8: .word 0x00000729
+_020701DC: .word 0x000005A4
+_020701E0: .word 0x00000704
+_020701E4: .word 0x00000706
+_020701E8: .word 0x00000708
+_020701EC: .word 0x0000070A
+_020701F0: .word 0x0000070C
+_020701F4: .word 0x00000712
+_020701F8: .word 0x00000711
+_020701FC: .word 0x0000070E
+_02070200: .word 0xFFFFEFFF
+_02070204: .word 0xFFFF9FFF
+_02070208: .word 0xFFFFF000
+
+ thumb_func_start FUN_0207020C
+FUN_0207020C: ; 0x0207020C
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, _0207029C ; =0x000005A4
+ add r5, r1, #0x0
+ ldr r1, [r7, r0]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xd
+ bne _0207029A
+ mov r0, #0x2c
+ add r6, r2, #0x0
+ mul r6, r0
+ mov r0, #0x71
+ add r3, r7, r6
+ lsl r0, r0, #0x4
+ ldrb r2, [r3, r0]
+ cmp r2, #0x1
+ beq _0207023A
+ sub r0, #0xa
+ ldrh r0, [r3, r0]
+ cmp r0, #0x0
+ bne _02070248
+_0207023A:
+ ldr r0, _020702A0 ; =0x0000070E
+ add r2, r7, r0
+ ldrh r1, [r2, r6]
+ ldr r0, _020702A4 ; =0xFFFF7FFF
+ and r0, r1
+ strh r0, [r2, r6]
+ pop {r3-r7, pc}
+_02070248:
+ add r1, #0x2a
+ ldrb r1, [r1, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020702A8
+ str r0, [sp, #0x0]
+ mov r4, #0x0
+_02070256:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207026C
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blo _02070256
+_0207026C:
+ ldr r0, _0207029C ; =0x000005A4
+ ldr r0, [r7, r0]
+ add r0, #0x2b
+ ldrb r1, [r0, #0x0]
+ ldr r0, [sp, #0x0]
+ cmp r1, r0
+ bhi _0207028E
+ cmp r4, #0x2
+ blo _0207028E
+ ldr r0, _020702A0 ; =0x0000070E
+ add r2, r7, r0
+ ldrh r1, [r2, r6]
+ mov r0, #0x2
+ lsl r0, r0, #0xe
+ orr r0, r1
+ strh r0, [r2, r6]
+ pop {r3-r7, pc}
+_0207028E:
+ ldr r0, _020702A0 ; =0x0000070E
+ add r2, r7, r0
+ ldrh r1, [r2, r6]
+ ldr r0, _020702A4 ; =0xFFFF7FFF
+ and r0, r1
+ strh r0, [r2, r6]
+_0207029A:
+ pop {r3-r7, pc}
+ .balign 4
+_0207029C: .word 0x000005A4
+_020702A0: .word 0x0000070E
+_020702A4: .word 0xFFFF7FFF
+
+ thumb_func_start FUN_020702A8
+FUN_020702A8: ; 0x020702A8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ cmp r1, #0x4
+ bls _020702B2
+ b _020703B6
+_020702B2:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020702BE: ; jump table (using 16-bit offset)
+ .short _020702C8 - _020702BE - 2; case 0
+ .short _020702F8 - _020702BE - 2; case 1
+ .short _02070328 - _020702BE - 2; case 2
+ .short _02070358 - _020702BE - 2; case 3
+ .short _02070388 - _020702BE - 2; case 4
+_020702C8:
+ mov r1, #0x7a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x7b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x7c
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x7d
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_020702F8:
+ mov r1, #0x7e
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x7f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x80
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x81
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070328:
+ mov r1, #0x82
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x83
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x84
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x85
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070358:
+ mov r1, #0x86
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x87
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x88
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x89
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ b _020703B6
+_02070388:
+ mov r1, #0x8a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x8c
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+ add r0, r5, #0x0
+ mov r1, #0x8d
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r4, r0
+_020703B6:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020703BC
+FUN_020703BC: ; 0x020703BC
+ mov r1, #0x39
+ lsl r1, r1, #0x4
+ add r0, r0, r1
+ bx lr
+
+ thumb_func_start FUN_020703C4
+FUN_020703C4: ; 0x020703C4
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r7, r3, #0x0
+ cmp r4, #0x0
+ beq _020703E4
+ ldr r0, _02070474 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _020703EC
+ cmp r4, #0x1
+ bne _020703EC
+_020703E4:
+ mov r0, #0x99
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ b _020703F2
+_020703EC:
+ mov r0, #0xc9
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+_020703F2:
+ mov r1, #0x2c
+ mul r1, r4
+ ldr r2, _02070478 ; =0x00000714
+ add r1, r5, r1
+ strb r6, [r1, r2]
+ add r2, r2, #0x1
+ strb r7, [r1, r2]
+ mov r2, #0x10
+ str r2, [sp, #0x0]
+ mov r1, #0x6
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ str r2, [sp, #0x14]
+ str r1, [sp, #0x18]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_02018170
+ add r0, sp, #0x20
+ ldrb r0, [r0, #0x10]
+ cmp r0, #0x0
+ bne _0207044C
+ add r0, r7, #0x3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x9
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ add r3, r6, #0x6
+ str r0, [sp, #0xc]
+ lsl r3, r3, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ mov r2, #0x17
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+_0207044C:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ add r0, r4, #0x3
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ add r2, r6, #0x0
+ add r3, r7, #0x0
+ bl FUN_020186B4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020709FC
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+_02070474: .word 0x000005A4
+_02070478: .word 0x00000714
+
+ thumb_func_start FUN_0207047C
+FUN_0207047C: ; 0x0207047C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _020704E4 ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r0, r2, #0x0
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _02070492
+ ldr r1, _020704E8 ; =0x020F9694
+ b _02070494
+_02070492:
+ ldr r1, _020704EC ; =0x020F964C
+_02070494:
+ add r2, #0x20
+ ldrb r0, [r2, #0x0]
+ cmp r0, #0x10
+ bne _020704A4
+ add r0, r4, #0x0
+ bl FUN_02070600
+ b _020704D2
+_020704A4:
+ cmp r0, #0x6
+ bne _020704B0
+ add r0, r4, #0x0
+ bl FUN_020706E0
+ b _020704D2
+_020704B0:
+ cmp r0, #0xd
+ bne _020704BC
+ add r0, r4, #0x0
+ bl FUN_020707C0
+ b _020704D2
+_020704BC:
+ cmp r0, #0x2
+ beq _020704C4
+ cmp r0, #0x11
+ bne _020704CC
+_020704C4:
+ add r0, r4, #0x0
+ bl FUN_020708A0
+ b _020704D2
+_020704CC:
+ add r0, r4, #0x0
+ bl FUN_020704F0
+_020704D2:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+ pop {r4, pc}
+ .balign 4
+_020704E4: .word 0x000005A4
+_020704E8: .word 0x020F9694
+_020704EC: .word 0x020F964C
+
+ thumb_func_start FUN_020704F0
+FUN_020704F0: ; 0x020704F0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r4, #0x0
+_020704FA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207008C
+ cmp r0, #0x1
+ bne _020705D4
+ mov r0, #0x2c
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ str r1, [sp, #0x4]
+ cmp r0, #0x1
+ bne _0207053A
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r3, r6, r2
+ ldrh r2, [r6, r2]
+ ldrh r3, [r3, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+ b _0207055A
+_0207053A:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r3, r6, r2
+ ldrh r2, [r6, r2]
+ ldrh r3, [r3, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+_0207055A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072D1C
+ mov r0, #0xc
+ mul r0, r4
+ add r7, r6, r0
+ ldrh r2, [r7, #0x4]
+ ldrh r3, [r7, #0x6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020737D0
+ ldrh r2, [r7, #0x8]
+ ldrh r3, [r7, #0xa]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020739E4
+ ldr r3, [sp, #0x4]
+ ldr r2, _020705F8 ; =0x0000070C
+ add r0, r5, #0x0
+ ldrh r2, [r3, r2]
+ add r1, r4, #0x0
+ bl FUN_02073A78
+ mov r2, #0x4
+ mov r3, #0x6
+ ldrsh r2, [r7, r2]
+ ldrsh r3, [r7, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073AD8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B3C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B0C
+ mov r2, #0x2c
+ mul r2, r4
+ add r3, r5, r2
+ ldr r2, _020705FC ; =0x0000070E
+ add r0, r5, #0x0
+ ldrh r2, [r3, r2]
+ add r1, r4, #0x0
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ b _020705EA
+_020705D4:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ add r7, r6, r2
+ mov r3, #0x2
+ ldrsh r2, [r6, r2]
+ ldrsh r3, [r7, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02070988
+_020705EA:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _020704FA
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020705F8: .word 0x0000070C
+_020705FC: .word 0x0000070E
+
+ thumb_func_start FUN_02070600
+FUN_02070600: ; 0x02070600
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x4]
+ mov r4, #0x0
+_0207060A:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207008C
+ cmp r0, #0x1
+ bne _020706B0
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r3, [sp, #0x4]
+ add r6, r0, r2
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldrh r2, [r3, r2]
+ ldrh r3, [r6, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072E4C
+ ldrh r2, [r6, #0x4]
+ ldrh r3, [r6, #0x6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020737D0
+ ldrh r2, [r6, #0x8]
+ ldrh r3, [r6, #0xa]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020739E4
+ mov r0, #0x2c
+ add r7, r4, #0x0
+ mul r7, r0
+ ldr r2, _020706D8 ; =0x0000070C
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073A78
+ mov r2, #0x4
+ mov r3, #0x6
+ ldrsh r2, [r6, r2]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073AD8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B3C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B0C
+ ldr r2, _020706DC ; =0x0000070E
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ b _020706CA
+_020706B0:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r6, [sp, #0x4]
+ add r3, r0, r2
+ ldrsh r2, [r6, r2]
+ mov r6, #0x2
+ ldrsh r3, [r3, r6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02070988
+_020706CA:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _0207060A
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020706D8: .word 0x0000070C
+_020706DC: .word 0x0000070E
+
+ thumb_func_start FUN_020706E0
+FUN_020706E0: ; 0x020706E0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x4]
+ mov r4, #0x0
+_020706EA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207008C
+ cmp r0, #0x1
+ bne _02070790
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r3, [sp, #0x4]
+ add r6, r0, r2
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldrh r2, [r3, r2]
+ ldrh r3, [r6, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072EE4
+ ldrh r2, [r6, #0x4]
+ ldrh r3, [r6, #0x6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020737D0
+ ldrh r2, [r6, #0x8]
+ ldrh r3, [r6, #0xa]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020739E4
+ mov r0, #0x2c
+ add r7, r4, #0x0
+ mul r7, r0
+ ldr r2, _020707B8 ; =0x0000070C
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073A78
+ mov r2, #0x4
+ mov r3, #0x6
+ ldrsh r2, [r6, r2]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073AD8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B3C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B0C
+ ldr r2, _020707BC ; =0x0000070E
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ b _020707AA
+_02070790:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r6, [sp, #0x4]
+ add r3, r0, r2
+ ldrsh r2, [r6, r2]
+ mov r6, #0x2
+ ldrsh r3, [r3, r6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02070988
+_020707AA:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _020706EA
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020707B8: .word 0x0000070C
+_020707BC: .word 0x0000070E
+
+ thumb_func_start FUN_020707C0
+FUN_020707C0: ; 0x020707C0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x4]
+ mov r4, #0x0
+_020707CA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207008C
+ cmp r0, #0x1
+ bne _02070870
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r3, [sp, #0x4]
+ add r6, r0, r2
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldrh r2, [r3, r2]
+ ldrh r3, [r6, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072F78
+ ldrh r2, [r6, #0x4]
+ ldrh r3, [r6, #0x6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020737D0
+ ldrh r2, [r6, #0x8]
+ ldrh r3, [r6, #0xa]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020739E4
+ mov r0, #0x2c
+ add r7, r4, #0x0
+ mul r7, r0
+ ldr r2, _02070898 ; =0x0000070C
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073A78
+ mov r2, #0x4
+ mov r3, #0x6
+ ldrsh r2, [r6, r2]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073AD8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B3C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B0C
+ ldr r2, _0207089C ; =0x0000070E
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ b _0207088A
+_02070870:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r6, [sp, #0x4]
+ add r3, r0, r2
+ ldrsh r2, [r6, r2]
+ mov r6, #0x2
+ ldrsh r3, [r3, r6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02070988
+_0207088A:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _020707CA
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02070898: .word 0x0000070C
+_0207089C: .word 0x0000070E
+
+ thumb_func_start FUN_020708A0
+FUN_020708A0: ; 0x020708A0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x4]
+ mov r4, #0x0
+_020708AA:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207008C
+ cmp r0, #0x1
+ bne _02070958
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r3, [sp, #0x4]
+ add r6, r0, r2
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldrh r2, [r3, r2]
+ ldrh r3, [r6, #0x2]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020703C4
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072FDC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073024
+ ldrh r2, [r6, #0x4]
+ ldrh r3, [r6, #0x6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020737D0
+ ldrh r2, [r6, #0x8]
+ ldrh r3, [r6, #0xa]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020739E4
+ mov r0, #0x2c
+ add r7, r4, #0x0
+ mul r7, r0
+ ldr r2, _02070980 ; =0x0000070C
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073A78
+ mov r2, #0x4
+ mov r3, #0x6
+ ldrsh r2, [r6, r2]
+ ldrsh r3, [r6, r3]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073AD8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B3C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073B0C
+ ldr r2, _02070984 ; =0x0000070E
+ add r3, r5, r7
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ b _02070972
+_02070958:
+ mov r0, #0xc
+ add r2, r4, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x4]
+ ldr r6, [sp, #0x4]
+ add r3, r0, r2
+ ldrsh r2, [r6, r2]
+ mov r6, #0x2
+ ldrsh r3, [r3, r6]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02070988
+_02070972:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _020708AA
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02070980: .word 0x0000070C
+_02070984: .word 0x0000070E
+
+ thumb_func_start FUN_02070988
+FUN_02070988: ; 0x02070988
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r7, r1, #0x0
+ add r4, r2, #0x0
+ mov r1, #0x10
+ mov r2, #0xf9
+ add r5, r0, #0x0
+ lsl r2, r2, #0x2
+ add r6, r3, #0x0
+ lsl r3, r6, #0x18
+ str r1, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ add r2, r5, r2
+ str r2, [sp, #0x8]
+ mov r2, #0x0
+ str r2, [sp, #0xc]
+ str r2, [sp, #0x10]
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x18]
+ lsl r2, r4, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_02018170
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ lsl r2, r4, #0x18
+ lsl r3, r6, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_020186B4
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x7
+ bl FUN_02073A4C
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_02073A78
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02073B3C
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020709FC
+FUN_020709FC: ; 0x020709FC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _02070A78 ; =0x000005A4
+ add r6, r1, #0x0
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r1, _02070A7C ; =0x00000B23
+ ldrb r2, [r5, r1]
+ lsl r3, r2, #0x19
+ lsr r3, r3, #0x1f
+ cmp r3, #0x1
+ bne _02070A2C
+ add r1, r1, #0x2
+ ldrb r1, [r5, r1]
+ cmp r6, r1
+ beq _02070A28
+ lsl r1, r2, #0x1a
+ lsr r1, r1, #0x1a
+ cmp r6, r1
+ bne _02070A2C
+_02070A28:
+ mov r4, #0x7
+ b _02070A60
+_02070A2C:
+ ldr r1, _02070A80 ; =0x00000B25
+ ldrb r1, [r5, r1]
+ cmp r6, r1
+ bne _02070A38
+ mov r4, #0x4
+ b _02070A3A
+_02070A38:
+ mov r4, #0x0
+_02070A3A:
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02070A4E
+ add r0, r4, #0x2
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ b _02070A60
+_02070A4E:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02070A88
+ cmp r0, #0x1
+ bne _02070A60
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02070A60:
+ ldr r1, _02070A84 ; =0x000004A4
+ add r3, r6, #0x3
+ add r2, r5, r1
+ lsl r1, r4, #0x5
+ lsl r3, r3, #0x15
+ add r1, r2, r1
+ mov r0, #0x2
+ mov r2, #0x10
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+ pop {r4-r6, pc}
+ .balign 4
+_02070A78: .word 0x000005A4
+_02070A7C: .word 0x00000B23
+_02070A80: .word 0x00000B25
+_02070A84: .word 0x000004A4
+
+ thumb_func_start FUN_02070A88
+FUN_02070A88: ; 0x02070A88
+ ldr r2, _02070AA0 ; =0x000005A4
+ ldr r0, [r0, r2]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ bne _02070A9A
+ mov r0, #0x1
+ tst r1, r0
+ bne _02070A9C
+_02070A9A:
+ mov r0, #0x0
+_02070A9C:
+ bx lr
+ nop
+_02070AA0: .word 0x000005A4
+
+ thumb_func_start FUN_02070AA4
+FUN_02070AA4: ; 0x02070AA4
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ mov r3, #0x0
+ ldr r0, _02070AF4 ; =0x00000B25
+ str r3, [sp, #0x0]
+ ldrb r0, [r4, r0]
+ add r1, sp, #0xc
+ add r1, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, _02070AF8 ; =0x00000808
+ add r2, sp, #0xc
+ ldr r0, [r4, r0]
+ bl FUN_0201C638
+ ldr r0, _02070AFC ; =0x000005A4
+ ldr r1, _02070AF4 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02070B00 ; =0x000005C8
+ ldr r0, [r4, r0]
+ bl FUN_02020130
+ ldr r0, _02070B00 ; =0x000005C8
+ add r2, sp, #0xc
+ ldrb r1, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ add sp, #0x10
+ pop {r4, pc}
+ nop
+_02070AF4: .word 0x00000B25
+_02070AF8: .word 0x00000808
+_02070AFC: .word 0x000005A4
+_02070B00: .word 0x000005C8
+
+ thumb_func_start FUN_02070B04
+FUN_02070B04: ; 0x02070B04
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02070B28
+ cmp r0, #0x1
+ bne _02070B14
+ mov r0, #0x1
+ pop {r4, pc}
+_02070B14:
+ add r0, r4, #0x0
+ bl FUN_02070D90
+ cmp r0, #0x1
+ bne _02070B22
+ mov r0, #0x2
+ pop {r4, pc}
+_02070B22:
+ mov r0, #0x5
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02070B28
+FUN_02070B28: ; 0x02070B28
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ ldr r0, _02070CC0 ; =0x021C48B8
+ mov r1, #0x40
+ ldr r0, [r0, #0x4c]
+ mov r3, #0x4
+ tst r1, r0
+ beq _02070B3E
+ mov r3, #0x0
+ b _02070B5A
+_02070B3E:
+ mov r1, #0x80
+ tst r1, r0
+ beq _02070B48
+ mov r3, #0x1
+ b _02070B5A
+_02070B48:
+ mov r1, #0x20
+ tst r1, r0
+ beq _02070B52
+ mov r3, #0x2
+ b _02070B5A
+_02070B52:
+ mov r1, #0x10
+ tst r0, r1
+ beq _02070B5A
+ mov r3, #0x3
+_02070B5A:
+ cmp r3, #0x4
+ bne _02070B64
+ add sp, #0x4
+ mov r0, #0x0
+ pop {r3-r6, pc}
+_02070B64:
+ ldr r4, _02070CC4 ; =0x00000B25
+ ldrb r0, [r5, r4]
+ cmp r0, #0x6
+ bne _02070BA0
+ cmp r3, #0x0
+ add r1, sp, #0x0
+ bne _02070B92
+ add r4, r4, #0x1
+ ldrb r6, [r5, r4]
+ mov r4, #0x1
+ ldr r3, _02070CC8 ; =0x020F9468
+ and r4, r6
+ add r6, r4, #0x2
+ mov r4, #0x6
+ mul r4, r6
+ add r0, r5, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ add r3, r3, r4
+ bl FUN_02070D2C
+ add r6, r0, #0x0
+ b _02070C1A
+_02070B92:
+ add r0, r5, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_02070CDC
+ add r6, r0, #0x0
+ b _02070C1A
+_02070BA0:
+ cmp r0, #0x7
+ bne _02070C0C
+ ldr r0, _02070CCC ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ beq _02070BDA
+ cmp r0, #0x11
+ beq _02070BDA
+ cmp r3, #0x0
+ bne _02070BDA
+ add r4, r4, #0x1
+ ldrb r6, [r5, r4]
+ mov r4, #0x1
+ add r1, sp, #0x0
+ and r4, r6
+ add r6, r4, #0x2
+ mov r4, #0x6
+ ldr r3, _02070CC8 ; =0x020F9468
+ mul r4, r6
+ add r0, r5, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ add r3, r3, r4
+ bl FUN_02070D2C
+ add r6, r0, #0x0
+ b _02070C1A
+_02070BDA:
+ cmp r3, #0x1
+ add r1, sp, #0x0
+ bne _02070BFE
+ ldr r4, _02070CD0 ; =0x00000B26
+ ldr r3, _02070CC8 ; =0x020F9468
+ ldrb r6, [r5, r4]
+ mov r4, #0x1
+ add r0, r5, #0x0
+ and r6, r4
+ mov r4, #0x6
+ mul r4, r6
+ add r1, #0x1
+ add r2, sp, #0x0
+ add r3, r3, r4
+ bl FUN_02070D2C
+ add r6, r0, #0x0
+ b _02070C1A
+_02070BFE:
+ add r0, r5, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_02070CDC
+ add r6, r0, #0x0
+ b _02070C1A
+_02070C0C:
+ add r1, sp, #0x0
+ add r0, r5, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_02070CDC
+ add r6, r0, #0x0
+_02070C1A:
+ ldr r0, _02070CC4 ; =0x00000B25
+ ldrb r0, [r5, r0]
+ cmp r6, r0
+ beq _02070CB8
+ cmp r6, #0xff
+ beq _02070CB8
+ add r0, r6, #0x0
+ add r0, #0xfa
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _02070C3E
+ ldr r0, _02070CD4 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ b _02070C6E
+_02070C3E:
+ ldr r0, _02070CCC ; =0x000005A4
+ add r1, r6, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02070CD4 ; =0x000005C8
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02070CD4 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _02070CD4 ; =0x000005C8
+ add r2, sp, #0x0
+ ldrb r1, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, r0]
+ bl FUN_0200C6E4
+_02070C6E:
+ ldr r0, _02070CC4 ; =0x00000B25
+ mov r2, #0x0
+ ldrb r4, [r5, r0]
+ strb r6, [r5, r0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020713EC
+ ldr r1, _02070CC4 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ mov r2, #0x1
+ bl FUN_020713EC
+ ldr r0, _02070CD8 ; =0x000005DC
+ bl FUN_020054C8
+ cmp r4, #0x6
+ bhs _02070CA6
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+_02070CA6:
+ cmp r4, #0x6
+ beq _02070CB2
+ cmp r4, #0x7
+ beq _02070CB2
+ ldr r0, _02070CD0 ; =0x00000B26
+ strb r4, [r5, r0]
+_02070CB2:
+ add sp, #0x4
+ mov r0, #0x1
+ pop {r3-r6, pc}
+_02070CB8:
+ mov r0, #0x0
+ add sp, #0x4
+ pop {r3-r6, pc}
+ nop
+_02070CC0: .word 0x021C48B8
+_02070CC4: .word 0x00000B25
+_02070CC8: .word 0x020F9468
+_02070CCC: .word 0x000005A4
+_02070CD0: .word 0x00000B26
+_02070CD4: .word 0x000005C8
+_02070CD8: .word 0x000005DC
+
+ thumb_func_start FUN_02070CDC
+FUN_02070CDC: ; 0x02070CDC
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ ldr r0, _02070D24 ; =0x00000B25
+ add r7, r1, #0x0
+ ldrb r4, [r5, r0]
+ str r2, [sp, #0xc]
+ add r6, r3, #0x0
+_02070CEC:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r4, [sp, #0x4]
+ ldr r0, _02070D28 ; =0x00000808
+ str r6, [sp, #0x8]
+ ldr r0, [r5, r0]
+ ldr r2, [sp, #0xc]
+ add r1, r7, #0x0
+ mov r3, #0x0
+ bl FUN_0201C638
+ add r4, r0, #0x0
+ cmp r4, #0x6
+ beq _02070D1C
+ cmp r4, #0x7
+ beq _02070D1C
+ cmp r4, #0xff
+ beq _02070D1C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207007C
+ cmp r0, #0x0
+ beq _02070CEC
+_02070D1C:
+ add r0, r4, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_02070D24: .word 0x00000B25
+_02070D28: .word 0x00000808
+
+ thumb_func_start FUN_02070D2C
+FUN_02070D2C: ; 0x02070D2C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ str r2, [sp, #0xc]
+ add r5, r3, #0x0
+ mov r4, #0x0
+_02070D3A:
+ cmp r4, #0x6
+ beq _02070D70
+ ldrb r1, [r5, r4]
+ add r0, r6, #0x0
+ bl FUN_0207007C
+ cmp r0, #0x0
+ beq _02070D68
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ ldrb r0, [r5, r4]
+ ldr r2, [sp, #0xc]
+ add r1, r7, #0x0
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, _02070D8C ; =0x00000808
+ ldr r0, [r6, r0]
+ bl FUN_0201C638
+ add sp, #0x10
+ ldrb r0, [r5, r4]
+ pop {r3-r7, pc}
+_02070D68:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ b _02070D3A
+_02070D70:
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, _02070D8C ; =0x00000808
+ ldr r2, [sp, #0xc]
+ ldr r0, [r6, r0]
+ add r1, r7, #0x0
+ bl FUN_0201C638
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02070D8C: .word 0x00000808
+
+ thumb_func_start FUN_02070D90
+FUN_02070D90: ; 0x02070D90
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ bl FUN_02071870
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _02070E42
+ ldr r1, _02070E48 ; =0x00000B25
+ mov r2, #0x0
+ ldrb r4, [r5, r1]
+ strb r0, [r5, r1]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020713EC
+ ldr r1, _02070E48 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ mov r2, #0x1
+ bl FUN_020713EC
+ cmp r4, #0x6
+ bhs _02070DCC
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+_02070DCC:
+ mov r3, #0x0
+ ldr r0, _02070E48 ; =0x00000B25
+ str r3, [sp, #0x0]
+ ldrb r0, [r5, r0]
+ add r1, sp, #0xc
+ add r1, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, _02070E4C ; =0x00000808
+ add r2, sp, #0xc
+ ldr r0, [r5, r0]
+ bl FUN_0201C638
+ ldr r0, _02070E50 ; =0x000005A4
+ ldr r1, _02070E48 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02070E54 ; =0x000005C8
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02070E54 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _02070E54 ; =0x000005C8
+ add r2, sp, #0xc
+ ldrb r1, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, r0]
+ bl FUN_0200C6E4
+ mov r0, #0xb2
+ mov r1, #0x1
+ lsl r0, r0, #0x4
+ strb r1, [r5, r0]
+ add r1, r0, #0x5
+ ldrb r1, [r5, r1]
+ add r0, r0, #0x1
+ strb r1, [r5, r0]
+ ldr r0, _02070E58 ; =0x000005E4
+ bl FUN_020054C8
+ cmp r4, #0x6
+ beq _02070E3C
+ cmp r4, #0x7
+ beq _02070E3C
+ ldr r0, _02070E5C ; =0x00000B26
+ strb r4, [r5, r0]
+_02070E3C:
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02070E42:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+_02070E48: .word 0x00000B25
+_02070E4C: .word 0x00000808
+_02070E50: .word 0x000005A4
+_02070E54: .word 0x000005C8
+_02070E58: .word 0x000005E4
+_02070E5C: .word 0x00000B26
+
+ thumb_func_start FUN_02070E60
+FUN_02070E60: ; 0x02070E60
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0xfa
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _02070E80
+ ldr r0, _02070F04 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ b _02070ECC
+_02070E80:
+ mov r3, #0x0
+ ldr r0, _02070F08 ; =0x00000B25
+ str r3, [sp, #0x0]
+ ldrb r0, [r5, r0]
+ add r1, sp, #0xc
+ add r1, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ ldr r0, _02070F0C ; =0x00000808
+ add r2, sp, #0xc
+ ldr r0, [r5, r0]
+ bl FUN_0201C638
+ ldr r0, _02070F10 ; =0x000005A4
+ add r1, r6, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02070F04 ; =0x000005C8
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02070F04 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _02070F04 ; =0x000005C8
+ add r2, sp, #0xc
+ ldrb r1, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, r0]
+ bl FUN_0200C6E4
+_02070ECC:
+ ldr r0, _02070F08 ; =0x00000B25
+ mov r2, #0x0
+ ldrb r4, [r5, r0]
+ strb r6, [r5, r0]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020713EC
+ ldr r1, _02070F08 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ mov r2, #0x1
+ bl FUN_020713EC
+ cmp r4, #0x6
+ bhs _02070EFE
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020717E8
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+_02070EFE:
+ add sp, #0x10
+ pop {r4-r6, pc}
+ nop
+_02070F04: .word 0x000005C8
+_02070F08: .word 0x00000B25
+_02070F0C: .word 0x00000808
+_02070F10: .word 0x000005A4
+
+ thumb_func_start FUN_02070F14
+FUN_02070F14: ; 0x02070F14
+ push {r3-r4, lr}
+ sub sp, #0x4
+ mov r1, #0xb2
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldrb r2, [r4, r1]
+ cmp r2, #0x0
+ beq _02070F8A
+ cmp r2, #0x1
+ beq _02070F30
+ cmp r2, #0x2
+ beq _02070F70
+ add sp, #0x4
+ pop {r3-r4, pc}
+_02070F30:
+ add r0, r1, #0x1
+ ldrb r0, [r4, r0]
+ add r1, sp, #0x0
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_02071850
+ add r3, sp, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ add r0, r4, #0x0
+ bl FUN_02073D1C
+ ldr r1, _02070F90 ; =0x00000B21
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ mov r2, #0x2
+ bl FUN_020717E8
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+ mov r0, #0xb2
+ lsl r0, r0, #0x4
+ ldrb r1, [r4, r0]
+ add sp, #0x4
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r4, pc}
+_02070F70:
+ add r1, r1, #0x1
+ ldrb r1, [r4, r1]
+ mov r2, #0x1
+ bl FUN_020717E8
+ ldr r0, [r4, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+ mov r0, #0xb2
+ mov r1, #0x0
+ lsl r0, r0, #0x4
+ strb r1, [r4, r0]
+_02070F8A:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_02070F90: .word 0x00000B21
+
+ thumb_func_start FUN_02070F94
+FUN_02070F94: ; 0x02070F94
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _020710AC ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _0207104A
+ ldr r0, _020710B0 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ cmp r1, #0x6
+ bne _02070FAE
+ mov r0, #0x4
+ pop {r4, pc}
+_02070FAE:
+ cmp r1, #0x7
+ bne _02070FC6
+ ldr r0, _020710B4 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _020710B8 ; =0x00000B23
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _0207104A
+ mov r0, #0x3
+ pop {r4, pc}
+_02070FC6:
+ ldr r0, _020710BC ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r2, #0x20
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x3
+ beq _02070FD6
+ cmp r2, #0x13
+ bne _02070FE0
+_02070FD6:
+ ldr r0, _020710B4 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x0
+ pop {r4, pc}
+_02070FE0:
+ cmp r2, #0x14
+ beq _02070FE8
+ cmp r2, #0xe
+ bne _0207100C
+_02070FE8:
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _02071002
+ ldr r0, _020710B4 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x0
+ pop {r4, pc}
+_02071002:
+ ldr r0, _020710C0 ; =0x000005F2
+ bl FUN_020054C8
+ mov r0, #0x5
+ pop {r4, pc}
+_0207100C:
+ cmp r2, #0xf
+ bne _0207103A
+ mov r2, #0x2c
+ mul r2, r1
+ mov r1, #0x71
+ add r2, r4, r2
+ lsl r1, r1, #0x4
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ bne _02071030
+ add r0, #0x38
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020710C4
+ mov r0, #0x0
+ pop {r4, pc}
+_02071030:
+ add r0, #0x4e
+ bl FUN_020054C8
+ mov r0, #0x5
+ pop {r4, pc}
+_0207103A:
+ add r0, #0x38
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020710C4
+ mov r0, #0x0
+ pop {r4, pc}
+_0207104A:
+ ldr r0, _020710AC ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0207106E
+ ldr r0, _020710B8 ; =0x00000B23
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _0207106E
+ ldr r0, _020710B4 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _020710B0 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+ mov r0, #0x3
+ pop {r4, pc}
+_0207106E:
+ add r0, r4, #0x0
+ bl FUN_02070B04
+ cmp r0, #0x2
+ bne _020710AA
+ ldr r1, _020710BC ; =0x000005A4
+ ldr r1, [r4, r1]
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x14
+ beq _0207108E
+ add r1, #0xf2
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x1
+ bhi _020710AA
+_0207108E:
+ ldr r1, _020710B0 ; =0x00000B25
+ ldrb r2, [r4, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r4, r1
+ mov r1, #0x71
+ lsl r1, r1, #0x4
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ beq _020710AA
+ ldr r0, _020710C0 ; =0x000005F2
+ bl FUN_020054C8
+ mov r0, #0x5
+_020710AA:
+ pop {r4, pc}
+ .balign 4
+_020710AC: .word 0x021C48B8
+_020710B0: .word 0x00000B25
+_020710B4: .word 0x000005DC
+_020710B8: .word 0x00000B23
+_020710BC: .word 0x000005A4
+_020710C0: .word 0x000005F2
+
+ thumb_func_start FUN_020710C4
+FUN_020710C4: ; 0x020710C4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ mov r0, #0xc
+ mov r1, #0x8
+ bl FUN_02016998
+ add r4, r0, #0x0
+ ldr r0, _02071174 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xf
+ bgt _020710FC
+ bge _02071124
+ cmp r0, #0x2
+ bgt _0207113C
+ cmp r0, #0x0
+ blt _0207113C
+ beq _0207110C
+ cmp r0, #0x2
+ beq _02071118
+ b _0207113C
+_020710FC:
+ cmp r0, #0x12
+ bgt _0207113C
+ cmp r0, #0x11
+ blt _0207113C
+ beq _02071118
+ cmp r0, #0x12
+ beq _02071130
+ b _0207113C
+_0207110C:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207117C
+ add r2, r0, #0x0
+ b _02071146
+_02071118:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020712F0
+ add r2, r0, #0x0
+ b _02071146
+_02071124:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02071274
+ add r2, r0, #0x0
+ b _02071146
+_02071130:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02071280
+ add r2, r0, #0x0
+ b _02071146
+_0207113C:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020712B4
+ add r2, r0, #0x0
+_02071146:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072844
+ mov r0, #0xc
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ add r0, r5, #0x0
+ bl FUN_0207295C
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731D4
+ ldr r0, _02071178 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ pop {r3-r5, pc}
+ .balign 4
+_02071174: .word 0x000005A4
+_02071178: .word 0x000005C8
+
+ thumb_func_start FUN_0207117C
+FUN_0207117C: ; 0x0207117C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r1, [sp, #0x4]
+ ldr r1, _02071268 ; =0x000005A4
+ str r0, [sp, #0x0]
+ ldr r0, [r0, r1]
+ ldr r2, _0207126C ; =0x00000B25
+ ldr r1, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ ldrb r1, [r1, r2]
+ bl FUN_0206B9B0
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ mov r1, #0x1
+ strb r1, [r0, #0x0]
+ mov r4, #0x0
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r1, _02071268 ; =0x000005A4
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, r1]
+ ldr r0, [r0, #0x1c]
+ bl FUN_02060144
+ cmp r0, #0x0
+ bne _02071258
+ ldr r1, _0207126C ; =0x00000B25
+ ldr r0, [sp, #0x0]
+ ldrb r1, [r0, r1]
+ mov r0, #0x2c
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x0]
+ add r1, r0, r2
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _0207124C
+ add r6, r4, #0x0
+_020711D0:
+ add r1, r6, #0x0
+ ldr r0, [sp, #0x8]
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ beq _02071210
+ add r0, r7, #0x0
+ bl FUN_02071948
+ cmp r0, #0xff
+ beq _02071206
+ ldr r1, [sp, #0x4]
+ add r2, r4, #0x0
+ strb r0, [r1, r5]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_020727FC
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+_02071206:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x4
+ blo _020711D0
+_02071210:
+ ldr r0, [sp, #0x4]
+ mov r1, #0x0
+ strb r1, [r0, r5]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ ldr r1, _0207126C ; =0x00000B25
+ ldr r0, [sp, #0x0]
+ ldrb r1, [r0, r1]
+ mov r0, #0x2c
+ add r2, r1, #0x0
+ mul r2, r0
+ ldr r0, [sp, #0x0]
+ add r1, r0, r2
+ ldr r0, _02071270 ; =0x0000070C
+ ldrh r0, [r1, r0]
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ bne _0207123E
+ mov r1, #0x5
+ ldr r0, [sp, #0x4]
+ b _02071242
+_0207123E:
+ ldr r0, [sp, #0x4]
+ mov r1, #0x2
+_02071242:
+ strb r1, [r0, r5]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ b _02071258
+_0207124C:
+ ldr r0, [sp, #0x4]
+ add r1, r4, #0x0
+ strb r1, [r0, r5]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+_02071258:
+ ldr r0, [sp, #0x4]
+ mov r1, #0x9
+ strb r1, [r0, r5]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02071268: .word 0x000005A4
+_0207126C: .word 0x00000B25
+_02071270: .word 0x0000070C
+
+ thumb_func_start FUN_02071274
+FUN_02071274: ; 0x02071274
+ mov r0, #0xe
+ strb r0, [r1, #0x0]
+ mov r0, #0x9
+ strb r0, [r1, #0x1]
+ mov r0, #0x2
+ bx lr
+
+ thumb_func_start FUN_02071280
+FUN_02071280: ; 0x02071280
+ ldr r2, _020712B0 ; =0x00000B25
+ ldrb r3, [r0, r2]
+ mov r2, #0x2c
+ mul r2, r3
+ add r2, r0, r2
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r2, r0]
+ cmp r0, #0x0
+ bne _020712A4
+ mov r0, #0x8
+ strb r0, [r1, #0x0]
+ mov r0, #0x1
+ strb r0, [r1, #0x1]
+ mov r0, #0x9
+ strb r0, [r1, #0x2]
+ mov r0, #0x3
+ bx lr
+_020712A4:
+ mov r0, #0x1
+ strb r0, [r1, #0x0]
+ mov r0, #0x9
+ strb r0, [r1, #0x1]
+ mov r0, #0x2
+ bx lr
+ .balign 4
+_020712B0: .word 0x00000B25
+
+ thumb_func_start FUN_020712B4
+FUN_020712B4: ; 0x020712B4
+ ldr r2, _020712E8 ; =0x00000B25
+ ldrb r3, [r0, r2]
+ mov r2, #0x2c
+ mul r2, r3
+ add r2, r0, r2
+ ldr r0, _020712EC ; =0x0000070E
+ ldrh r0, [r2, r0]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x1f
+ cmp r0, #0x1
+ bne _020712DA
+ mov r0, #0xd
+ strb r0, [r1, #0x0]
+ mov r0, #0x1
+ strb r0, [r1, #0x1]
+ mov r0, #0x9
+ strb r0, [r1, #0x2]
+ mov r0, #0x3
+ bx lr
+_020712DA:
+ mov r0, #0x1
+ strb r0, [r1, #0x0]
+ mov r0, #0x9
+ strb r0, [r1, #0x1]
+ mov r0, #0x2
+ bx lr
+ nop
+_020712E8: .word 0x00000B25
+_020712EC: .word 0x0000070E
+
+ thumb_func_start FUN_020712F0
+FUN_020712F0: ; 0x020712F0
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, _0207133C ; =0x00000B25
+ ldrb r1, [r0, r1]
+ bl FUN_02071340
+ cmp r0, #0x0
+ beq _0207130A
+ cmp r0, #0x1
+ beq _02071316
+ cmp r0, #0x2
+ beq _02071326
+ b _02071336
+_0207130A:
+ mov r0, #0x1
+ strb r0, [r4, #0x0]
+ mov r0, #0x9
+ strb r0, [r4, #0x1]
+ mov r0, #0x2
+ pop {r4, pc}
+_02071316:
+ mov r0, #0xb
+ strb r0, [r4, #0x0]
+ mov r0, #0x1
+ strb r0, [r4, #0x1]
+ mov r0, #0x9
+ strb r0, [r4, #0x2]
+ mov r0, #0x3
+ pop {r4, pc}
+_02071326:
+ mov r0, #0xc
+ strb r0, [r4, #0x0]
+ mov r0, #0x1
+ strb r0, [r4, #0x1]
+ mov r0, #0x9
+ strb r0, [r4, #0x2]
+ mov r0, #0x3
+ pop {r4, pc}
+_02071336:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207133C: .word 0x00000B25
+
+ thumb_func_start FUN_02071340
+FUN_02071340: ; 0x02071340
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _020713E0 ; =0x000005A4
+ add r4, r1, #0x0
+ ldr r2, [r5, r0]
+ ldr r0, [r2, #0x14]
+ cmp r0, #0x0
+ beq _0207136E
+ ldr r0, [r2, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, _020713E0 ; =0x000005A4
+ ldr r2, _020713E4 ; =0x00000B34
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ ldr r0, [r0, #0x14]
+ bl FUN_0206BB84
+ cmp r0, #0x0
+ bne _0207136E
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_0207136E:
+ ldr r0, _020713E0 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x11
+ bne _02071390
+ mov r0, #0x2c
+ mul r0, r4
+ add r1, r5, r0
+ ldr r0, _020713E8 ; =0x00000704
+ ldrh r0, [r1, r0]
+ bl FUN_0206A964
+ cmp r0, #0x1
+ bne _02071390
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02071390:
+ ldr r1, _020713E0 ; =0x000005A4
+ mov r0, #0x0
+ ldr r2, [r5, r1]
+ add r1, r2, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x1c
+ beq _020713BC
+ add r1, r4, #0x1
+_020713A4:
+ add r6, r2, r0
+ add r6, #0x2c
+ ldrb r6, [r6, #0x0]
+ cmp r1, r6
+ bne _020713B2
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_020713B2:
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r3
+ blo _020713A4
+_020713BC:
+ mov r0, #0x2c
+ mul r0, r4
+ add r3, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r1, [r3, r0]
+ cmp r1, #0x1
+ beq _020713D8
+ sub r0, r0, #0x6
+ add r2, #0x33
+ ldrh r1, [r3, r0]
+ ldrb r0, [r2, #0x0]
+ cmp r1, r0
+ ble _020713DC
+_020713D8:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020713DC:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+_020713E0: .word 0x000005A4
+_020713E4: .word 0x00000B34
+_020713E8: .word 0x00000704
+
+ thumb_func_start FUN_020713EC
+FUN_020713EC: ; 0x020713EC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ cmp r4, #0x6
+ bne _02071426
+ mov r0, #0x5d
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_020201DC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r6, #0x0
+ bne _02071410
+ mov r0, #0x2
+ and r0, r1
+ b _02071416
+_02071410:
+ mov r0, #0x2
+ and r0, r1
+ add r0, r0, #0x1
+_02071416:
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0x5d
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ pop {r4-r6, pc}
+_02071426:
+ cmp r4, #0x7
+ bne _02071454
+ ldr r0, _020714B4 ; =0x000005D4
+ ldr r0, [r5, r0]
+ bl FUN_020201DC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ cmp r6, #0x0
+ bne _02071440
+ mov r0, #0x2
+ and r0, r1
+ b _02071446
+_02071440:
+ mov r0, #0x2
+ and r0, r1
+ add r0, r0, #0x1
+_02071446:
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r0, _020714B4 ; =0x000005D4
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ pop {r4-r6, pc}
+_02071454:
+ cmp r6, #0x0
+ ldr r1, _020714B8 ; =0x00000716
+ bne _02071482
+ mov r0, #0x2c
+ add r3, r5, r1
+ mul r0, r4
+ ldrsh r2, [r3, r0]
+ add r1, r1, #0x2
+ sub r2, r2, #0x2
+ strh r2, [r3, r0]
+ add r2, r5, r1
+ ldrsh r1, [r2, r0]
+ sub r1, r1, #0x2
+ strh r1, [r2, r0]
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+ b _020714A8
+_02071482:
+ mov r0, #0x2c
+ add r3, r5, r1
+ mul r0, r4
+ ldrsh r2, [r3, r0]
+ add r1, r1, #0x2
+ add r2, r2, #0x2
+ strh r2, [r3, r0]
+ add r2, r5, r1
+ ldrsh r1, [r2, r0]
+ add r1, r1, #0x2
+ strh r1, [r2, r0]
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ mov r1, #0x1
+ bl FUN_02020130
+_020714A8:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020709FC
+ pop {r4-r6, pc}
+ nop
+_020714B4: .word 0x000005D4
+_020714B8: .word 0x00000716
+
+ thumb_func_start FUN_020714BC
+FUN_020714BC: ; 0x020714BC
+ cmp r1, #0x0
+ beq _020714C8
+ cmp r0, #0x0
+ beq _020714CC
+ cmp r1, #0x1
+ bne _020714CC
+_020714C8:
+ mov r0, #0x1
+ bx lr
+_020714CC:
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020714D0
+FUN_020714D0: ; 0x020714D0
+ push {r4, lr}
+ ldr r1, _02071550 ; =0x021C48B8
+ add r4, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x1
+ tst r1, r2
+ beq _0207150C
+ ldr r0, _02071554 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _02071558 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ cmp r1, #0x6
+ bhs _020714F8
+ sub r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1a
+ cmp r1, r0
+ bne _02071502
+_020714F8:
+ add r0, r4, #0x0
+ bl FUN_02074538
+ mov r0, #0x3
+ pop {r4, pc}
+_02071502:
+ add r0, r4, #0x0
+ bl FUN_02074584
+ mov r0, #0x0
+ pop {r4, pc}
+_0207150C:
+ mov r1, #0x2
+ tst r1, r2
+ beq _02071522
+ ldr r0, _02071554 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_02074538
+ mov r0, #0x3
+ pop {r4, pc}
+_02071522:
+ bl FUN_02070B04
+ cmp r0, #0x2
+ bne _0207154C
+ ldr r0, _02071558 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ sub r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1a
+ cmp r1, r0
+ bne _02071544
+ add r0, r4, #0x0
+ bl FUN_02074538
+ mov r0, #0x3
+ pop {r4, pc}
+_02071544:
+ add r0, r4, #0x0
+ bl FUN_02074584
+ mov r0, #0x0
+_0207154C:
+ pop {r4, pc}
+ nop
+_02071550: .word 0x021C48B8
+_02071554: .word 0x000005DC
+_02071558: .word 0x00000B25
+
+ thumb_func_start FUN_0207155C
+FUN_0207155C: ; 0x0207155C
+ push {r3-r5, lr}
+ sub sp, #0x8
+ ldr r1, _02071738 ; =0x000005A4
+ add r4, r0, #0x0
+ ldr r3, [r4, r1]
+ mov r0, #0x0
+ add r1, r3, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ beq _02071606
+_02071574:
+ add r2, r3, r0
+ add r2, #0x2c
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _020715FC
+ add r3, #0x32
+ ldrb r0, [r3, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ cmp r0, #0x6
+ bhi _020715E0
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02071596: ; jump table (using 16-bit offset)
+ .short _020715E0 - _02071596 - 2; case 0
+ .short _020715E0 - _02071596 - 2; case 1
+ .short _020715A4 - _02071596 - 2; case 2
+ .short _020715B0 - _02071596 - 2; case 3
+ .short _020715BC - _02071596 - 2; case 4
+ .short _020715C8 - _02071596 - 2; case 5
+ .short _020715D4 - _02071596 - 2; case 6
+_020715A4:
+ add r0, r4, #0x0
+ mov r1, #0x6b
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715B0:
+ add r0, r4, #0x0
+ mov r1, #0x77
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715BC:
+ add r0, r4, #0x0
+ mov r1, #0x78
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715C8:
+ add r0, r4, #0x0
+ mov r1, #0x79
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715D4:
+ add r0, r4, #0x0
+ mov r1, #0x7a
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _020715EA
+_020715E0:
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731E8
+_020715EA:
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_020715FC:
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r1
+ blo _02071574
+_02071606:
+ ldr r0, [r3, #0x14]
+ cmp r0, #0x0
+ beq _020716CA
+ ldr r2, _02071744 ; =0x00000B34
+ ldr r1, [r3, #0x0]
+ ldr r2, [r4, r2]
+ add r3, #0x2c
+ bl FUN_0206BC60
+ cmp r0, #0x3
+ bhi _020716CA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02071628: ; jump table (using 16-bit offset)
+ .short _020716CA - _02071628 - 2; case 0
+ .short _02071630 - _02071628 - 2; case 1
+ .short _02071692 - _02071628 - 2; case 2
+ .short _020716AE - _02071628 - 2; case 3
+_02071630:
+ ldr r0, _02071748 ; =0x0000069C
+ mov r1, #0xb8
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ ldr r0, _02071738 ; =0x000005A4
+ mov r1, #0x3
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x14]
+ bl FUN_02023B0C
+ mov r1, #0x0
+ add r2, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02071692:
+ add r0, r4, #0x0
+ mov r1, #0xb6
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_020716AE:
+ add r0, r4, #0x0
+ mov r1, #0xb7
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_020716CA:
+ ldr r0, _02071738 ; =0x000005A4
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x11
+ bne _02071722
+ add r0, r4, #0x0
+ bl FUN_0207174C
+ cmp r0, #0x0
+ beq _02071722
+ cmp r0, #0x1
+ beq _020716EA
+ cmp r0, #0x2
+ beq _02071706
+ b _02071722
+_020716EA:
+ add r0, r4, #0x0
+ mov r1, #0xb6
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02071706:
+ add r0, r4, #0x0
+ mov r1, #0xb7
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207173C ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r4, r0]
+ ldr r0, _02071740 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02071722:
+ ldr r0, _02071738 ; =0x000005A4
+ mov r2, #0x0
+ ldr r1, [r4, r0]
+ add r0, #0x38
+ add r1, #0x23
+ strb r2, [r1, #0x0]
+ bl FUN_020054C8
+ mov r0, #0x1b
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+_02071738: .word 0x000005A4
+_0207173C: .word 0x00000B22
+_02071740: .word 0x000005F2
+_02071744: .word 0x00000B34
+_02071748: .word 0x0000069C
+
+ thumb_func_start FUN_0207174C
+FUN_0207174C: ; 0x0207174C
+ push {r4-r7}
+ add r5, r0, #0x0
+ mov r0, #0x0
+ mov r12, r0
+ ldr r0, _020717E0 ; =0x000005A4
+ ldr r4, [r5, r0]
+_02071758:
+ mov r0, r12
+ add r0, r4, r0
+ add r0, #0x2c
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _020717DA
+ mov r0, r12
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x6
+ bhs _020717CC
+ mov r0, r12
+ add r7, r4, r0
+_02071774:
+ add r0, r4, r3
+ add r0, #0x2c
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _020717CC
+ add r0, r4, r3
+ add r0, #0x2c
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x2c
+ ldr r6, _020717E4 ; =0x000006D8
+ mul r0, r1
+ add r2, r5, r0
+ add r0, r7, #0x0
+ add r0, #0x2c
+ ldrb r1, [r0, #0x0]
+ mov r0, #0x2c
+ ldrh r6, [r2, r6]
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _020717E4 ; =0x000006D8
+ ldrh r0, [r1, r0]
+ cmp r0, r6
+ bne _020717A8
+ mov r0, #0x1
+ pop {r4-r7}
+ bx lr
+_020717A8:
+ mov r0, #0x6e
+ lsl r0, r0, #0x4
+ ldrh r0, [r1, r0]
+ cmp r0, #0x0
+ beq _020717C2
+ mov r1, #0x6e
+ lsl r1, r1, #0x4
+ ldrh r1, [r2, r1]
+ cmp r0, r1
+ bne _020717C2
+ mov r0, #0x2
+ pop {r4-r7}
+ bx lr
+_020717C2:
+ add r0, r3, #0x1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x6
+ blo _02071774
+_020717CC:
+ mov r0, r12
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r12, r0
+ cmp r0, #0x5
+ blo _02071758
+_020717DA:
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+ .balign 4
+_020717E0: .word 0x000005A4
+_020717E4: .word 0x000006D8
+
+ thumb_func_start FUN_020717E8
+FUN_020717E8: ; 0x020717E8
+ push {r3-r7, lr}
+ ldr r0, [r0, #0x0]
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ mov r1, #0x4
+ bl FUN_0201886C
+ lsl r1, r5, #0x1
+ mov r3, #0x19
+ add r5, r4, #0x0
+ mul r5, r3
+ ldr r3, _02071844 ; =0x00001005
+ mov r2, #0x0
+ add r3, r5, r3
+ lsl r3, r3, #0x10
+ lsr r4, r3, #0x10
+ ldr r3, _02071848 ; =0x020F944C
+ ldrb r3, [r3, r1]
+ lsl r3, r3, #0x1
+ add r0, r0, r3
+ mov r12, r0
+ ldr r0, _0207184C ; =0x020F944D
+ ldrb r7, [r0, r1]
+_02071816:
+ lsl r0, r2, #0x2
+ add r5, r2, r0
+ add r0, r7, r2
+ lsl r1, r0, #0x6
+ mov r0, r12
+ mov r3, #0x0
+ add r6, r0, r1
+_02071824:
+ add r0, r3, r5
+ add r1, r4, r0
+ lsl r0, r3, #0x1
+ strh r1, [r6, r0]
+ add r0, r3, #0x1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x5
+ blo _02071824
+ add r0, r2, #0x1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x5
+ blo _02071816
+ pop {r3-r7, pc}
+ nop
+_02071844: .word 0x00001005
+_02071848: .word 0x020F944C
+_0207184C: .word 0x020F944D
+
+ thumb_func_start FUN_02071850
+FUN_02071850: ; 0x02071850
+ lsl r3, r0, #0x1
+ ldr r0, _02071868 ; =0x020F944C
+ ldrb r0, [r0, r3]
+ lsl r0, r0, #0x3
+ add r0, #0x14
+ strh r0, [r1, #0x0]
+ ldr r0, _0207186C ; =0x020F944D
+ ldrb r0, [r0, r3]
+ lsl r0, r0, #0x3
+ add r0, #0x14
+ strh r0, [r2, #0x0]
+ bx lr
+ .balign 4
+_02071868: .word 0x020F944C
+_0207186C: .word 0x020F944D
+
+ thumb_func_start FUN_02071870
+FUN_02071870: ; 0x02071870
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_0207248C
+ cmp r0, #0x0
+ bne _02071886
+ mov r0, #0x0
+ add sp, #0x8
+ mvn r0, r0
+ pop {r3-r5, pc}
+_02071886:
+ ldr r0, _020718C0 ; =0x020F94B8
+ bl FUN_02020988
+ add r4, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _020718BA
+ ldr r1, _020718C4 ; =0x0000FFFE
+ add r0, sp, #0x4
+ strh r1, [r0, #0x0]
+ add r0, sp, #0x4
+ str r0, [sp, #0x0]
+ ldr r3, _020718C8 ; =0x021C48F8
+ ldr r0, [r5, #0x0]
+ ldrh r2, [r3, #0x1c]
+ ldrh r3, [r3, #0x1e]
+ mov r1, #0x4
+ bl FUN_0201AFBC
+ cmp r0, #0x0
+ bne _020718BA
+ mov r0, #0x0
+ add sp, #0x8
+ mvn r0, r0
+ pop {r3-r5, pc}
+_020718BA:
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+_020718C0: .word 0x020F94B8
+_020718C4: .word 0x0000FFFE
+_020718C8: .word 0x021C48F8
+
+ thumb_func_start FUN_020718CC
+FUN_020718CC: ; 0x020718CC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0207193C ; =0x000006FC
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C78
+ add r2, r0, #0x0
+ mov r0, #0x1
+ mvn r0, r0
+ cmp r2, r0
+ beq _020718EC
+ add r0, r0, #0x1
+ cmp r2, r0
+ beq _02071938
+ b _02071932
+_020718EC:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ bl FUN_02073DB4
+ ldr r0, _02071940 ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ beq _0207190E
+ cmp r0, #0x11
+ bne _0207191A
+_0207190E:
+ add r0, r5, #0x0
+ mov r1, #0x22
+ mov r2, #0x1
+ bl FUN_020731C0
+ b _02071924
+_0207191A:
+ add r0, r5, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+_02071924:
+ ldr r0, _02071944 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02071932:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ blx r2
+_02071938:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0207193C: .word 0x000006FC
+_02071940: .word 0x000005A4
+_02071944: .word 0x000005C8
+
+ thumb_func_start FUN_02071948
+FUN_02071948: ; 0x02071948
+ ldr r2, _0207196C ; =0x020F9544
+ mov r3, #0x0
+_0207194C:
+ lsl r1, r3, #0x1
+ ldrh r1, [r2, r1]
+ cmp r0, r1
+ bne _0207195C
+ add r3, #0xf
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_0207195C:
+ add r1, r3, #0x1
+ lsl r1, r1, #0x18
+ lsr r3, r1, #0x18
+ cmp r3, #0xf
+ blo _0207194C
+ mov r0, #0xff
+ bx lr
+ nop
+_0207196C: .word 0x020F9544
+
+ thumb_func_start FUN_02071970
+FUN_02071970: ; 0x02071970
+ push {r4-r6, lr}
+ sub sp, #0x8
+ ldr r1, _02071C18 ; =0x00000B2A
+ add r4, r0, #0x0
+ ldrh r2, [r4, r1]
+ cmp r2, #0x4
+ bhi _02071A7A
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0207198A: ; jump table (using 16-bit offset)
+ .short _02071994 - _0207198A - 2; case 0
+ .short _02071AD2 - _0207198A - 2; case 1
+ .short _02071B0C - _0207198A - 2; case 2
+ .short _02071B34 - _0207198A - 2; case 3
+ .short _02071BE0 - _0207198A - 2; case 4
+_02071994:
+ ldr r2, _02071C1C ; =0x021C48B8
+ ldr r3, [r2, #0x48]
+ mov r2, #0x1
+ tst r2, r3
+ beq _02071A26
+ sub r1, r1, #0x5
+ ldrb r1, [r4, r1]
+ cmp r1, #0x6
+ blo _020719B8
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_02074538
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_020719B8:
+ bl FUN_02071C48
+ cmp r0, #0x0
+ beq _020719CA
+ cmp r0, #0x1
+ beq _02071A08
+ cmp r0, #0x2
+ beq _02071A1A
+ b _02071A26
+_020719CA:
+ ldr r0, _02071C24 ; =0x000005EC
+ bl FUN_020054C8
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ ldr r0, _02071C2C ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r2, [r4, r0]
+ mul r1, r2
+ add r3, r4, r1
+ ldr r1, _02071C30 ; =0x00000708
+ ldrh r2, [r3, r1]
+ sub r1, r1, #0x2
+ ldrh r1, [r3, r1]
+ sub r2, r2, r1
+ add r1, r0, #0x3
+ ldrh r1, [r4, r1]
+ cmp r2, r1
+ bge _020719FA
+ add r0, r0, #0x3
+ strh r2, [r4, r0]
+_020719FA:
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x2
+ strh r1, [r4, r0]
+ mov r1, #0x0
+ add r0, r0, #0x2
+ strh r1, [r4, r0]
+ b _02071A26
+_02071A08:
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x1
+ strh r1, [r4, r0]
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_02071A1A:
+ ldr r0, _02071C34 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x1a
+ pop {r4-r6, pc}
+_02071A26:
+ ldr r0, _02071C1C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _02071A42
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_02074538
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02071A42:
+ add r0, r4, #0x0
+ bl FUN_02070B04
+ cmp r0, #0x2
+ bne _02071A7A
+ ldr r0, _02071C2C ; =0x00000B25
+ ldrb r1, [r4, r0]
+ sub r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1a
+ cmp r1, r0
+ bne _02071A68
+ add r0, r4, #0x0
+ bl FUN_02074538
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02071A68:
+ add r0, r4, #0x0
+ bl FUN_02071C48
+ cmp r0, #0x0
+ beq _02071A7C
+ cmp r0, #0x1
+ beq _02071ABA
+ cmp r0, #0x2
+ beq _02071AC6
+_02071A7A:
+ b _02071C12
+_02071A7C:
+ ldr r0, _02071C24 ; =0x000005EC
+ bl FUN_020054C8
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ ldr r0, _02071C2C ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r2, [r4, r0]
+ mul r1, r2
+ add r3, r4, r1
+ ldr r1, _02071C30 ; =0x00000708
+ ldrh r2, [r3, r1]
+ sub r1, r1, #0x2
+ ldrh r1, [r3, r1]
+ sub r2, r2, r1
+ add r1, r0, #0x3
+ ldrh r1, [r4, r1]
+ cmp r2, r1
+ bge _02071AAC
+ add r0, r0, #0x3
+ strh r2, [r4, r0]
+_02071AAC:
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x2
+ strh r1, [r4, r0]
+ mov r1, #0x0
+ add r0, r0, #0x2
+ strh r1, [r4, r0]
+ b _02071C12
+_02071ABA:
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x1
+ strh r1, [r4, r0]
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_02071AC6:
+ ldr r0, _02071C34 ; =0x000005F2
+ bl FUN_020054C8
+ add sp, #0x8
+ mov r0, #0x1a
+ pop {r4-r6, pc}
+_02071AD2:
+ ldr r0, _02071C1C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ bne _02071ADE
+ b _02071C12
+_02071ADE:
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ mov r1, #0x24
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x0
+ strh r1, [r4, r0]
+ b _02071C12
+_02071B0C:
+ sub r1, r1, #0x7
+ ldrb r1, [r4, r1]
+ mov r2, #0x0
+ mvn r2, r2
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_02071CB4
+ cmp r0, #0x1
+ bne _02071C12
+ ldr r0, _02071C24 ; =0x000005EC
+ bl FUN_020054C8
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x3
+ strh r1, [r4, r0]
+ mov r1, #0x0
+ add r0, r0, #0x2
+ strh r1, [r4, r0]
+ b _02071C12
+_02071B34:
+ sub r1, r1, #0x5
+ ldrb r1, [r4, r1]
+ mov r2, #0x1
+ bl FUN_02071CB4
+ cmp r0, #0x1
+ bne _02071C12
+ ldr r0, _02071C38 ; =0x000005A4
+ ldr r1, _02071C2C ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ ldr r0, _02071C3C ; =0x0000069C
+ mov r1, #0x40
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ mov r0, #0x6a
+ ldr r2, _02071C40 ; =0x00000B2C
+ str r1, [sp, #0x4]
+ lsl r0, r0, #0x4
+ ldrh r2, [r4, r2]
+ ldr r0, [r4, r0]
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02071C44 ; =0x00000B2E
+ mov r1, #0x0
+ ldrh r0, [r4, r0]
+ mov r2, #0xc
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0202914C
+ add r1, r0, #0x0
+ ldr r0, _02071C38 ; =0x000005A4
+ mov r2, #0x1
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x1c]
+ add r0, #0x98
+ ldr r0, [r0, #0x0]
+ bl FUN_02028AD4
+ ldr r0, _02071C18 ; =0x00000B2A
+ mov r1, #0x4
+ strh r1, [r4, r0]
+ mov r1, #0x1a
+ sub r0, #0x8
+ strb r1, [r4, r0]
+ add sp, #0x8
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_02071BE0:
+ ldr r0, _02071C1C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02071C12
+ ldr r0, _02071C20 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ ldr r0, _02071C28 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ bl FUN_02074538
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02071C12:
+ mov r0, #0x1a
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_02071C18: .word 0x00000B2A
+_02071C1C: .word 0x021C48B8
+_02071C20: .word 0x000005DC
+_02071C24: .word 0x000005EC
+_02071C28: .word 0x000005C8
+_02071C2C: .word 0x00000B25
+_02071C30: .word 0x00000708
+_02071C34: .word 0x000005F2
+_02071C38: .word 0x000005A4
+_02071C3C: .word 0x0000069C
+_02071C40: .word 0x00000B2C
+_02071C44: .word 0x00000B2E
+
+ thumb_func_start FUN_02071C48
+FUN_02071C48: ; 0x02071C48
+ push {r3-r5, lr}
+ ldr r2, _02071CA8 ; =0x00000B25
+ add r4, r0, #0x0
+ ldrb r1, [r4, r2]
+ mov r0, #0x2c
+ mov r3, #0x71
+ mul r0, r1
+ add r0, r4, r0
+ lsl r3, r3, #0x4
+ ldrb r5, [r0, r3]
+ cmp r5, #0x0
+ beq _02071C64
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_02071C64:
+ sub r2, r2, #0x2
+ ldrb r2, [r4, r2]
+ lsl r2, r2, #0x1a
+ lsr r2, r2, #0x1a
+ cmp r1, r2
+ beq _02071C82
+ add r1, r3, #0x0
+ sub r1, #0xa
+ ldrh r1, [r0, r1]
+ cmp r1, #0x0
+ beq _02071C82
+ sub r3, #0x8
+ ldrh r0, [r0, r3]
+ cmp r1, r0
+ bne _02071CA4
+_02071C82:
+ ldr r0, _02071CAC ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ mov r1, #0x83
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _02071CB0 ; =0x00000B2A
+ mov r0, #0x1
+ strh r0, [r4, r1]
+ mov r2, #0x1a
+ sub r1, #0x8
+ strb r2, [r4, r1]
+ pop {r3-r5, pc}
+_02071CA4:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_02071CA8: .word 0x00000B25
+_02071CAC: .word 0x000005C8
+_02071CB0: .word 0x00000B2A
+
+ thumb_func_start FUN_02071CB4
+FUN_02071CB4: ; 0x02071CB4
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ mov r3, #0x2c
+ add r4, r6, #0x0
+ mul r4, r3
+ ldr r3, _02071D34 ; =0x00000706
+ add r5, r0, #0x0
+ add r7, r5, r3
+ lsl r2, r2, #0x10
+ ldrh r3, [r7, r4]
+ lsr r2, r2, #0x10
+ add r2, r3, r2
+ ldr r3, _02071D38 ; =0x00000B2C
+ strh r2, [r7, r4]
+ ldrh r2, [r5, r3]
+ add r2, r2, #0x1
+ strh r2, [r5, r3]
+ bl FUN_02072BBC
+ lsl r1, r6, #0x2
+ add r1, r6, r1
+ add r1, r1, #0x3
+ add r0, r5, #0x4
+ lsl r1, r1, #0x4
+ add r0, r0, r1
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072B7C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072C28
+ ldr r1, _02071D3C ; =0x00000B28
+ ldrh r0, [r5, r1]
+ add r1, r1, #0x4
+ ldrh r1, [r5, r1]
+ cmp r0, r1
+ beq _02071D14
+ ldr r1, _02071D40 ; =0x00000708
+ add r2, r5, r4
+ ldrh r0, [r7, r4]
+ ldrh r1, [r2, r1]
+ cmp r0, r1
+ bne _02071D30
+_02071D14:
+ ldr r0, _02071D44 ; =0x000005A4
+ add r1, r6, #0x0
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldrh r1, [r7, r4]
+ add r2, sp, #0x0
+ str r1, [sp, #0x0]
+ mov r1, #0xa2
+ bl FUN_02067830
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02071D30:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02071D34: .word 0x00000706
+_02071D38: .word 0x00000B2C
+_02071D3C: .word 0x00000B28
+_02071D40: .word 0x00000708
+_02071D44: .word 0x000005A4
+
+ thumb_func_start FUN_02071D48
+FUN_02071D48: ; 0x02071D48
+ push {r4, lr}
+ ldr r1, _02071DE0 ; =0x021C48B8
+ add r4, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x1
+ tst r1, r2
+ beq _02071D96
+ ldr r0, _02071DE4 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ cmp r1, #0x7
+ bne _02071D72
+ sub r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _02071D92
+ ldr r0, _02071DE8 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x3
+ pop {r4, pc}
+_02071D72:
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r4, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ bne _02071D8C
+ ldr r0, _02071DE8 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x0
+ pop {r4, pc}
+_02071D8C:
+ ldr r0, _02071DEC ; =0x000005F2
+ bl FUN_020054C8
+_02071D92:
+ mov r0, #0x5
+ pop {r4, pc}
+_02071D96:
+ mov r1, #0x2
+ tst r1, r2
+ beq _02071DBA
+ ldr r0, _02071DF0 ; =0x00000B23
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _02071DB6
+ ldr r0, _02071DE8 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _02071DE4 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+ mov r0, #0x3
+ pop {r4, pc}
+_02071DB6:
+ mov r0, #0x5
+ pop {r4, pc}
+_02071DBA:
+ bl FUN_02070B04
+ cmp r0, #0x2
+ bne _02071DDE
+ ldr r1, _02071DE4 ; =0x00000B25
+ ldrb r2, [r4, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r4, r1
+ mov r1, #0x71
+ lsl r1, r1, #0x4
+ ldrb r1, [r2, r1]
+ cmp r1, #0x0
+ beq _02071DDE
+ ldr r0, _02071DEC ; =0x000005F2
+ bl FUN_020054C8
+ mov r0, #0x5
+_02071DDE:
+ pop {r4, pc}
+ .balign 4
+_02071DE0: .word 0x021C48B8
+_02071DE4: .word 0x00000B25
+_02071DE8: .word 0x000005DC
+_02071DEC: .word 0x000005F2
+_02071DF0: .word 0x00000B23
+
+ thumb_func_start FUN_02071DF4
+FUN_02071DF4: ; 0x02071DF4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02071F1C ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ mov r2, #0xc
+ ldrh r0, [r0, #0x24]
+ bl FUN_0206E710
+ mov r1, #0x22
+ add r4, r0, #0x0
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02071E1E
+ add r0, r4, #0x0
+ mov r1, #0x23
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02071E30
+_02071E1E:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0207703C
+ mov r0, #0x6
+ pop {r3-r5, pc}
+_02071E30:
+ add r0, r4, #0x0
+ mov r1, #0x24
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02071E5A
+ add r0, r4, #0x0
+ mov r1, #0x25
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02071E5A
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_0207703C
+ mov r0, #0x6
+ pop {r3-r5, pc}
+_02071E5A:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, _02071F1C ; =0x000005A4
+ ldr r2, _02071F20 ; =0x00000B25
+ ldr r1, [r5, r0]
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ ldr r0, [r1, #0x0]
+ ldrh r1, [r1, #0x24]
+ ldrb r2, [r5, r2]
+ mov r3, #0x0
+ bl FUN_020847F8
+ cmp r0, #0x1
+ bne _02071F02
+ ldr r0, _02071F1C ; =0x000005A4
+ mov r2, #0x1
+ ldr r1, [r5, r0]
+ mov r3, #0xc
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ldr r0, _02071F1C ; =0x000005A4
+ beq _02071ECC
+ ldr r1, _02071F20 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, _02071F1C ; =0x000005A4
+ mov r2, #0x3
+ ldr r3, [r5, r0]
+ add r0, r3, #0x0
+ add r0, #0x3c
+ str r0, [sp, #0x0]
+ ldrh r3, [r3, #0x24]
+ mov r0, #0x0
+ bl FUN_02069168
+ ldr r1, _02071F1C ; =0x000005A4
+ ldr r2, [r5, r1]
+ strh r0, [r2, #0x38]
+ ldr r0, [r5, r1]
+ mov r2, #0x8
+ add r0, #0x23
+ strb r2, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r3-r5, pc}
+_02071ECC:
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x24]
+ bl FUN_0206EB34
+ cmp r0, #0x1
+ bne _02071EFA
+ ldr r0, _02071F1C ; =0x000005A4
+ ldr r1, [r5, r0]
+ ldr r0, [r1, #0x10]
+ cmp r0, #0x0
+ beq _02071EFA
+ ldr r0, [r1, #0x0]
+ ldr r1, _02071F20 ; =0x00000B25
+ ldrb r1, [r5, r1]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, _02071F1C ; =0x000005A4
+ ldr r2, [r5, r0]
+ ldr r0, [r2, #0x10]
+ ldrh r2, [r2, #0x24]
+ bl FUN_02061618
+_02071EFA:
+ add r0, r5, #0x0
+ bl FUN_02075C54
+ b _02071F18
+_02071F02:
+ add r0, r5, #0x0
+ mov r1, #0x69
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02071F20 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r5, r0]
+ ldr r1, _02071F24 ; =FUN_02075CE4
+ sub r0, #0x11
+ str r1, [r5, r0]
+_02071F18:
+ mov r0, #0x5
+ pop {r3-r5, pc}
+ .balign 4
+_02071F1C: .word 0x000005A4
+_02071F20: .word 0x00000B25
+_02071F24: .word FUN_02075CE4
+
+ thumb_func_start FUN_02071F28
+FUN_02071F28: ; 0x02071F28
+ push {r3, lr}
+ ldr r1, _02071F50 ; =0x00000B25
+ ldrb r2, [r0, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r1, r0, r1
+ ldr r0, _02071F54 ; =0x0000070C
+ ldrh r0, [r1, r0]
+ cmp r0, #0x0
+ bne _02071F40
+ mov r0, #0x0
+ pop {r3, pc}
+_02071F40:
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ bne _02071F4C
+ mov r0, #0x2
+ pop {r3, pc}
+_02071F4C:
+ mov r0, #0x1
+ pop {r3, pc}
+ .balign 4
+_02071F50: .word 0x00000B25
+_02071F54: .word 0x0000070C
+
+ thumb_func_start FUN_02071F58
+FUN_02071F58: ; 0x02071F58
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _02072074 ; =0x000005A4
+ ldr r1, _02072078 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ mov r7, #0x89
+ add r0, r5, #0x0
+ lsl r7, r7, #0x2
+ bl FUN_02071F28
+ cmp r0, #0x0
+ beq _02071F84
+ cmp r0, #0x1
+ beq _02071FF2
+ cmp r0, #0x2
+ beq _02072044
+ b _02072054
+_02071F84:
+ ldr r0, _02072074 ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x24]
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ bne _02071FA0
+ ldr r0, _02072074 ; =0x000005A4
+ mov r1, #0x6
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r3-r7, pc}
+_02071FA0:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072080
+ ldr r2, _0207207C ; =0x0000069C
+ mov r1, #0x76
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r5, r2]
+ sub r2, #0xfc
+ ldr r2, [r5, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x24]
+ bl FUN_0200AE38
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+ mov r4, #0xb
+ b _02072054
+_02071FF2:
+ ldr r2, _0207207C ; =0x0000069C
+ mov r1, #0x4e
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r2, _02072078 ; =0x00000B25
+ mov r3, #0x6a
+ ldrb r4, [r5, r2]
+ mov r2, #0x2c
+ lsl r3, r3, #0x4
+ mul r2, r4
+ ldr r0, [r5, r3]
+ add r2, r5, r2
+ add r3, #0x6c
+ ldrh r2, [r2, r3]
+ mov r1, #0x1
+ bl FUN_0200AE70
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+ mov r4, #0x9
+ b _02072054
+_02072044:
+ ldr r2, _0207207C ; =0x0000069C
+ mov r1, #0x4d
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ mov r4, #0xb
+_02072054:
+ add r0, r5, r7
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200D0BC
+ add r0, r5, r7
+ mov r1, #0xf
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_0207322C
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ nop
+_02072074: .word 0x000005A4
+_02072078: .word 0x00000B25
+_0207207C: .word 0x0000069C
+
+ thumb_func_start FUN_02072080
+FUN_02072080: ; 0x02072080
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _020720D4 ; =0x000005A4
+ add r5, r1, #0x0
+ ldr r1, [r4, r0]
+ mov r2, #0x1
+ ldrh r1, [r1, #0x24]
+ mov r3, #0xc
+ str r1, [sp, #0x0]
+ ldr r1, [r4, r0]
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02069EC4
+ ldr r1, _020720D8 ; =0x00000B25
+ ldr r0, _020720D4 ; =0x000005A4
+ ldrb r3, [r4, r1]
+ ldr r0, [r4, r0]
+ mov r2, #0x2c
+ add r5, r3, #0x0
+ mul r5, r2
+ ldrh r0, [r0, #0x24]
+ ldr r3, _020720DC ; =0x0000070C
+ add r5, r4, r5
+ strh r0, [r5, r3]
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ mul r2, r1
+ add r2, r4, r2
+ ldrh r2, [r2, r3]
+ bl FUN_02073A78
+ pop {r3-r5, pc}
+ nop
+_020720D4: .word 0x000005A4
+_020720D8: .word 0x00000B25
+_020720DC: .word 0x0000070C
+
+ thumb_func_start FUN_020720E0
+FUN_020720E0: ; 0x020720E0
+ push {r0-r3}
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _02072134 ; =0x000005A4
+ add r5, r1, #0x0
+ ldr r0, [r4, r0]
+ lsl r1, r2, #0x10
+ ldr r0, [r0, #0x4]
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ mov r3, #0xc
+ bl FUN_0206ED38
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x1c
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02069EC4
+ ldr r1, _02072138 ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r3, [r4, r1]
+ ldr r0, [sp, #0x1c]
+ add r5, r3, #0x0
+ mul r5, r2
+ ldr r3, _0207213C ; =0x0000070C
+ add r5, r4, r5
+ strh r0, [r5, r3]
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ mul r2, r1
+ add r2, r4, r2
+ ldrh r2, [r2, r3]
+ bl FUN_02073A78
+ pop {r3-r5}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ nop
+_02072134: .word 0x000005A4
+_02072138: .word 0x00000B25
+_0207213C: .word 0x0000070C
+
+ thumb_func_start FUN_02072140
+FUN_02072140: ; 0x02072140
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02072168 ; =0x00000B24
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02072162
+ ldr r0, _0207216C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02072162
+ add r0, r4, #0x0
+ bl FUN_020722B8
+ pop {r4, pc}
+_02072162:
+ mov r0, #0xb
+ pop {r4, pc}
+ nop
+_02072168: .word 0x00000B24
+_0207216C: .word 0x021C48B8
+
+ thumb_func_start FUN_02072170
+FUN_02072170: ; 0x02072170
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02072190 ; =0x00000B24
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0207218A
+ add r0, r4, #0x0
+ bl FUN_020732CC
+ mov r0, #0xa
+ pop {r4, pc}
+_0207218A:
+ mov r0, #0x9
+ pop {r4, pc}
+ nop
+_02072190: .word 0x00000B24
+
+ thumb_func_start FUN_02072194
+FUN_02072194: ; 0x02072194
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _020722A4 ; =0x000006FC
+ mov r1, #0xc
+ ldr r0, [r5, r0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _020721B0
+ mov r1, #0x1
+ mvn r1, r1
+ cmp r0, r1
+ beq _02072298
+ b _020722A0
+_020721B0:
+ ldr r0, _020722A8 ; =0x000005A4
+ ldr r1, _020722AC ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r7, r0, #0x0
+ ldr r0, _020722A8 ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldrh r6, [r0, #0x24]
+ ldr r0, _020722AC ; =0x00000B25
+ ldrb r1, [r5, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _020722B0 ; =0x0000070C
+ ldrh r4, [r1, r0]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02072080
+ ldr r0, _020722A8 ; =0x000005A4
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ mov r2, #0x1
+ ldr r0, [r0, #0x4]
+ mov r3, #0xc
+ bl FUN_0206ED38
+ cmp r0, #0x0
+ bne _0207220C
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ bl FUN_020720E0
+ ldr r2, _020722B4 ; =0x0000069C
+ mov r1, #0x53
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ b _02072282
+_0207220C:
+ ldr r0, _020722A8 ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x24]
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ bne _02072246
+ ldr r0, _020722A8 ; =0x000005A4
+ lsl r1, r4, #0x10
+ ldr r0, [r5, r0]
+ lsr r1, r1, #0x10
+ ldr r0, [r0, #0x4]
+ mov r2, #0x1
+ mov r3, #0xc
+ bl FUN_0206EDD4
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ bl FUN_020720E0
+ ldr r0, _020722A8 ; =0x000005A4
+ mov r1, #0x6
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r3-r7, pc}
+_02072246:
+ ldr r2, _020722B4 ; =0x0000069C
+ mov r1, #0x54
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0200AE38
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x2
+ add r2, r6, #0x0
+ bl FUN_0200AE38
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+_02072282:
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xf
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_0207322C
+ mov r0, #0xb
+ pop {r3-r7, pc}
+_02072298:
+ add r0, r5, #0x0
+ bl FUN_020722B8
+ pop {r3-r7, pc}
+_020722A0:
+ mov r0, #0xa
+ pop {r3-r7, pc}
+ .balign 4
+_020722A4: .word 0x000006FC
+_020722A8: .word 0x000005A4
+_020722AC: .word 0x00000B25
+_020722B0: .word 0x0000070C
+_020722B4: .word 0x0000069C
+
+ thumb_func_start FUN_020722B8
+FUN_020722B8: ; 0x020722B8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02072304 ; =0x000005A4
+ ldr r1, [r4, r0]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xa
+ bne _020722F8
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02072308 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ ldr r0, _02072304 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+_020722F8:
+ mov r0, #0xa
+ add r1, #0x23
+ strb r0, [r1, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+ nop
+_02072304: .word 0x000005A4
+_02072308: .word 0x000005C8
+
+ thumb_func_start FUN_0207230C
+FUN_0207230C: ; 0x0207230C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _02072410 ; =0x000005A4
+ ldr r1, _02072414 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r7, r0, #0x0
+ ldr r0, _02072410 ; =0x000005A4
+ ldr r0, [r5, r0]
+ ldrh r6, [r0, #0x24]
+ ldr r0, _02072414 ; =0x00000B25
+ ldrb r1, [r5, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02072418 ; =0x0000070C
+ ldrh r4, [r1, r0]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ bl FUN_02072080
+ cmp r4, #0x0
+ bne _02072388
+ ldr r2, _0207241C ; =0x0000069C
+ mov r1, #0x76
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ add r0, r7, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r5, r2]
+ sub r2, #0xfc
+ ldr r2, [r5, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x24]
+ bl FUN_0200AE38
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+ b _020723D6
+_02072388:
+ ldr r0, _02072410 ; =0x000005A4
+ lsl r1, r4, #0x10
+ ldr r0, [r5, r0]
+ lsr r1, r1, #0x10
+ ldr r0, [r0, #0x4]
+ mov r2, #0x1
+ mov r3, #0xc
+ bl FUN_0206ED38
+ ldr r2, _0207241C ; =0x0000069C
+ mov r1, #0x54
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0200AE38
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x2
+ add r2, r6, #0x0
+ bl FUN_0200AE38
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+_020723D6:
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200D0BC
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xf
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_0207322C
+ ldr r0, _02072410 ; =0x000005A4
+ ldr r1, [r5, r0]
+ add r0, r1, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0xc
+ bne _0207240C
+ mov r0, #0xa
+ add r1, #0x20
+ strb r0, [r1, #0x0]
+_0207240C:
+ mov r0, #0xb
+ pop {r3-r7, pc}
+ .balign 4
+_02072410: .word 0x000005A4
+_02072414: .word 0x00000B25
+_02072418: .word 0x0000070C
+_0207241C: .word 0x0000069C
+
+ thumb_func_start FUN_02072420
+FUN_02072420: ; 0x02072420
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02072470 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _02072474 ; =0x00000712
+ ldrh r0, [r1, r0]
+ cmp r0, #0x0
+ bne _02072444
+ ldr r0, _02072478 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_02072444:
+ ldr r0, _0207247C ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ add r0, r4, #0x0
+ mov r1, #0xc3
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02072480 ; =FUN_02074428
+ ldr r1, _02072484 ; =0x00000B18
+ ldr r2, _02072488 ; =FUN_02074454
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r4, r1]
+ mov r0, #0x14
+ pop {r4, pc}
+ nop
+_02072470: .word 0x00000B25
+_02072474: .word 0x00000712
+_02072478: .word 0x000005A4
+_0207247C: .word 0x000005C8
+_02072480: .word FUN_02074428
+_02072484: .word 0x00000B18
+_02072488: .word FUN_02074454
+
+ thumb_func_start FUN_0207248C
+FUN_0207248C: ; 0x0207248C
+ ldr r1, _020724C0 ; =0x000005A4
+ ldr r0, [r0, r1]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x5
+ beq _020724B8
+ cmp r0, #0x6
+ beq _020724B8
+ cmp r0, #0x7
+ beq _020724B8
+ cmp r0, #0x8
+ beq _020724B8
+ cmp r0, #0x9
+ beq _020724B8
+ cmp r0, #0xb
+ beq _020724B8
+ cmp r0, #0xe
+ beq _020724B8
+ cmp r0, #0x10
+ beq _020724B8
+ cmp r0, #0x14
+ bne _020724BC
+_020724B8:
+ mov r0, #0x0
+ bx lr
+_020724BC:
+ mov r0, #0x1
+ bx lr
+ .balign 4
+_020724C0: .word 0x000005A4
+
+ thumb_func_start FUN_020724C4
+FUN_020724C4: ; 0x020724C4
+ mov r0, #0x14
+ bx lr
+
+ thumb_func_start FUN_020724C8
+FUN_020724C8: ; 0x020724C8
+ mov r0, #0x15
+ bx lr
+
+ thumb_func_start FUN_020724CC
+FUN_020724CC: ; 0x020724CC
+ mov r0, #0x13
+ bx lr
+
+ thumb_func_start FUN_020724D0
+FUN_020724D0: ; 0x020724D0
+ mov r0, #0x12
+ bx lr
+
+ thumb_func_start FUN_020724D4
+FUN_020724D4: ; 0x020724D4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ add r6, r2, #0x0
+ mov r0, #0x14
+ mov r1, #0x16
+ add r2, r4, #0x0
+ add r7, r3, #0x0
+ bl LoadFromNarc_2
+ add r1, sp, #0xc
+ str r0, [sp, #0x8]
+ bl FUN_020B0180
+ ldr r0, [sp, #0xc]
+ mov r4, #0x0
+ str r0, [sp, #0x4]
+ add r0, #0xc
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x0]
+_020724FE:
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r2, #0x20
+ bl memcpy
+ add r1, r4, #0x6
+ lsl r2, r1, #0x6
+ ldr r1, [sp, #0x4]
+ add r0, r6, #0x0
+ add r1, r1, r2
+ mov r2, #0x20
+ bl memcpy
+ add r1, r4, #0x0
+ add r1, #0xc
+ lsl r2, r1, #0x6
+ ldr r1, [sp, #0x4]
+ add r0, r7, #0x0
+ add r1, r1, r2
+ mov r2, #0x20
+ bl memcpy
+ ldr r0, [sp, #0x0]
+ add r4, r4, #0x1
+ add r0, #0x40
+ str r0, [sp, #0x0]
+ add r5, #0x20
+ add r6, #0x20
+ add r7, #0x20
+ cmp r4, #0x6
+ blo _020724FE
+ ldr r0, [sp, #0x8]
+ bl FUN_02016A18
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02072548
+FUN_02072548: ; 0x02072548
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_02019150
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x10
+ add r2, #0x8
+ bl FUN_02019150
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x20
+ add r2, #0x10
+ bl FUN_02019150
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x30
+ add r2, #0x18
+ bl FUN_02019150
+ add r5, #0x40
+ add r4, #0x20
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02019150
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02072590
+FUN_02072590: ; 0x02072590
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r4, _020726C0 ; =0x020F975C
+ ldr r0, [r5, #0x0]
+ add r1, r5, #0x4
+ add r2, r4, #0x0
+ bl FUN_02072548
+ add r1, r5, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726C4 ; =0x020F97AC
+ add r1, #0xa4
+ bl FUN_02072548
+ mov r1, #0x51
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726C8 ; =0x020F97FC
+ add r1, r5, r1
+ bl FUN_02072548
+ ldr r0, _020726CC ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ ldr r0, [r5, #0x0]
+ bne _020725F8
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r1, #0x54
+ add r2, #0xf0
+ bl FUN_02072548
+ mov r2, #0x46
+ add r1, r5, #0x0
+ lsl r2, r2, #0x2
+ ldr r0, [r5, #0x0]
+ add r1, #0xf4
+ add r2, r4, r2
+ bl FUN_02072548
+ mov r2, #0x65
+ lsl r2, r2, #0x2
+ add r1, r5, r2
+ sub r2, #0x54
+ ldr r0, [r5, #0x0]
+ add r2, r4, r2
+ bl FUN_02072548
+ b _02072622
+_020725F8:
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ add r1, #0x54
+ add r2, #0x28
+ bl FUN_02072548
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ ldr r0, [r5, #0x0]
+ add r1, #0xf4
+ add r2, #0x78
+ bl FUN_02072548
+ mov r1, #0x65
+ lsl r1, r1, #0x2
+ add r4, #0xc8
+ ldr r0, [r5, #0x0]
+ add r1, r5, r1
+ add r2, r4, #0x0
+ bl FUN_02072548
+_02072622:
+ ldr r0, _020726CC ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x2
+ beq _02072632
+ cmp r0, #0x11
+ bne _0207265A
+_02072632:
+ ldr r1, _020726D0 ; =0x020F96EC
+ add r0, sp, #0x0
+ ldrh r3, [r1, #0x38]
+ add r2, sp, #0x0
+ strh r3, [r0, #0x0]
+ ldrh r3, [r1, #0x3a]
+ strh r3, [r0, #0x2]
+ ldrh r3, [r1, #0x3c]
+ ldrh r1, [r1, #0x3e]
+ strh r3, [r0, #0x4]
+ strh r1, [r0, #0x6]
+ mov r1, #0x16
+ strb r1, [r0, #0x2]
+ mov r1, #0x7d
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ add r1, r5, r1
+ bl FUN_02019150
+ b _02072668
+_0207265A:
+ mov r1, #0x7d
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726D4 ; =0x020F9724
+ add r1, r5, r1
+ bl FUN_02019150
+_02072668:
+ mov r1, #0x79
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726D8 ; =0x020F972C
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x81
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726DC ; =0x020F9734
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x85
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726E0 ; =0x020F973C
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x89
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726E4 ; =0x020F9744
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726E8 ; =0x020F974C
+ add r1, r5, r1
+ bl FUN_02019150
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r0, [r5, #0x0]
+ ldr r2, _020726EC ; =0x020F9754
+ add r1, r5, r1
+ bl FUN_02019150
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+_020726C0: .word 0x020F975C
+_020726C4: .word 0x020F97AC
+_020726C8: .word 0x020F97FC
+_020726CC: .word 0x000005A4
+_020726D0: .word 0x020F96EC
+_020726D4: .word 0x020F9724
+_020726D8: .word 0x020F972C
+_020726DC: .word 0x020F9734
+_020726E0: .word 0x020F973C
+_020726E4: .word 0x020F9744
+_020726E8: .word 0x020F974C
+_020726EC: .word 0x020F9754
+
+ thumb_func_start FUN_020726F0
+FUN_020726F0: ; 0x020726F0
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ mov r5, #0x0
+ add r4, r6, #0x4
+_020726F8:
+ lsl r0, r5, #0x4
+ add r0, r4, r0
+ bl FUN_02019178
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x25
+ blo _020726F8
+ mov r4, #0x95
+ lsl r4, r4, #0x2
+ add r0, r6, r4
+ bl FUN_02019048
+ cmp r0, #0x1
+ bne _0207271E
+ add r0, r6, r4
+ bl FUN_02019178
+_0207271E:
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02072720
+FUN_02072720: ; 0x02072720
+ push {r4, lr}
+ ldr r2, _020727F8 ; =0x0000069C
+ add r4, r0, #0x0
+ ldr r0, [r4, r2]
+ add r2, #0x10
+ ldr r2, [r4, r2]
+ mov r1, #0x91
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x92
+ ldr r0, [r4, r2]
+ add r2, #0x14
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x93
+ ldr r0, [r4, r2]
+ add r2, #0x18
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0xa0
+ ldr r0, [r4, r2]
+ add r2, #0x1c
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0xa1
+ ldr r0, [r4, r2]
+ add r2, #0x20
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x94
+ ldr r0, [r4, r2]
+ add r2, #0x24
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x95
+ ldr r0, [r4, r2]
+ add r2, #0x28
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x96
+ ldr r0, [r4, r2]
+ add r2, #0x2c
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x97
+ ldr r0, [r4, r2]
+ add r2, #0x30
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x98
+ ldr r0, [r4, r2]
+ add r2, #0x34
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x99
+ ldr r0, [r4, r2]
+ add r2, #0x38
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x9a
+ ldr r0, [r4, r2]
+ add r2, #0x3c
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x9b
+ ldr r0, [r4, r2]
+ add r2, #0x40
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0x9a
+ ldr r0, [r4, r2]
+ add r2, #0x44
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ ldr r2, _020727F8 ; =0x0000069C
+ mov r1, #0xa6
+ ldr r0, [r4, r2]
+ add r2, #0x48
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ pop {r4, pc}
+ .balign 4
+_020727F8: .word 0x0000069C
+
+ thumb_func_start FUN_020727FC
+FUN_020727FC: ; 0x020727FC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _02072840 ; =0x0000069C
+ add r4, r2, #0x0
+ add r7, r1, #0x0
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ add r1, #0x9c
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r2, r7, #0x0
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ add r4, #0xf
+ lsl r1, r1, #0x4
+ lsl r2, r4, #0x2
+ ldr r0, [r5, r1]
+ add r2, r5, r2
+ add r1, #0xc
+ ldr r1, [r2, r1]
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ pop {r3-r7, pc}
+ nop
+_02072840: .word 0x0000069C
+
+ thumb_func_start FUN_02072844
+FUN_02072844: ; 0x02072844
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ lsl r0, r2, #0x1
+ mov r1, #0x17
+ sub r1, r1, r0
+ lsl r1, r1, #0x18
+ str r2, [sp, #0x14]
+ lsr r1, r1, #0x18
+ str r1, [sp, #0x0]
+ mov r1, #0xc
+ lsl r0, r0, #0x18
+ str r1, [sp, #0x4]
+ lsr r0, r0, #0x18
+ mov r1, #0x9
+ str r0, [sp, #0x8]
+ mov r2, #0x0
+ str r2, [sp, #0xc]
+ lsl r1, r1, #0x6
+ str r1, [sp, #0x10]
+ add r1, #0x14
+ ldr r0, [r5, #0x0]
+ add r1, r5, r1
+ mov r3, #0x13
+ bl FUN_02019064
+ ldr r0, [sp, #0x14]
+ mov r1, #0xc
+ bl FUN_02012838
+ ldr r1, _0207294C ; =0x000006F8
+ mov r6, #0x0
+ str r0, [r5, r1]
+ ldr r0, [sp, #0x14]
+ add r4, r6, #0x0
+ cmp r0, #0x0
+ ble _020728D8
+_02072890:
+ ldrb r0, [r7, r4]
+ cmp r0, #0xf
+ blo _020728B4
+ bl FUN_02073DA8
+ lsl r1, r6, #0x2
+ add r2, r0, #0x0
+ ldr r0, _0207294C ; =0x000006F8
+ add r3, r5, r1
+ ldr r1, _02072950 ; =0x000006E8
+ ldr r0, [r5, r0]
+ ldr r1, [r3, r1]
+ bl FUN_020128A0
+ add r0, r6, #0x1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ b _020728CC
+_020728B4:
+ bl FUN_02073DA8
+ ldrb r1, [r7, r4]
+ add r2, r0, #0x0
+ ldr r0, _0207294C ; =0x000006F8
+ lsl r1, r1, #0x2
+ add r3, r5, r1
+ ldr r1, _02072954 ; =0x000006AC
+ ldr r0, [r5, r0]
+ ldr r1, [r3, r1]
+ bl FUN_020128A0
+_020728CC:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, [sp, #0x14]
+ cmp r4, r0
+ blt _02072890
+_020728D8:
+ ldr r0, _0207294C ; =0x000006F8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ str r0, [sp, #0x18]
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x18
+ strb r1, [r0, #0x8]
+ mov r1, #0x1
+ strb r1, [r0, #0x9]
+ ldr r1, [sp, #0x14]
+ strb r1, [r0, #0xa]
+ ldrb r2, [r0, #0xb]
+ mov r1, #0xf
+ bic r2, r1
+ strb r2, [r0, #0xb]
+ ldrb r2, [r0, #0xb]
+ mov r1, #0x30
+ bic r2, r1
+ strb r2, [r0, #0xb]
+ ldr r1, [sp, #0x14]
+ ldrb r2, [r0, #0xb]
+ cmp r1, #0x4
+ blo _02072918
+ mov r1, #0xc0
+ bic r2, r1
+ mov r1, #0x40
+ orr r1, r2
+ strb r1, [r0, #0xb]
+ b _0207291E
+_02072918:
+ mov r1, #0xc0
+ bic r2, r1
+ strb r2, [r0, #0xb]
+_0207291E:
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ mov r1, #0x1
+ add r0, r5, r0
+ add r2, r1, #0x0
+ mov r3, #0xe
+ bl FUN_0200CCA4
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x18
+ mov r1, #0x8
+ add r3, r2, #0x0
+ bl FUN_02001C14
+ ldr r1, _02072958 ; =0x000006FC
+ str r0, [r5, r1]
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_0207294C: .word 0x000006F8
+_02072950: .word 0x000006E8
+_02072954: .word 0x000006AC
+_02072958: .word 0x000006FC
+
+ thumb_func_start FUN_0207295C
+FUN_0207295C: ; 0x0207295C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _020729C4 ; =0x000005A4
+ ldr r2, [r5, r0]
+ add r1, r2, #0x0
+ add r1, #0x20
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0xf
+ bne _0207297E
+ ldr r2, _020729C8 ; =0x000006A4
+ add r0, #0xf8
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ mov r1, #0x2a
+ bl FUN_0200A8E0
+ pop {r4-r6, pc}
+_0207297E:
+ ldr r1, _020729CC ; =0x00000B25
+ ldr r0, [r2, #0x0]
+ ldrb r1, [r5, r1]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ ldr r0, _020729D0 ; =0x0000069C
+ mov r1, #0x25
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+ nop
+_020729C4: .word 0x000005A4
+_020729C8: .word 0x000006A4
+_020729CC: .word 0x00000B25
+_020729D0: .word 0x0000069C
+
+ thumb_func_start FUN_020729D4
+FUN_020729D4: ; 0x020729D4
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r2, r0, #0x0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ ldr r0, _020729FC ; =0x00000698
+ add r4, r1, #0x0
+ ldr r0, [r2, r0]
+ add r3, r2, #0x4
+ lsl r2, r4, #0x2
+ add r2, r4, r2
+ add r2, r2, #0x2
+ lsl r2, r2, #0x4
+ add r2, r3, r2
+ mov r1, #0x0
+ mov r3, #0x1c
+ bl FUN_0200B9A8
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_020729FC: .word 0x00000698
+
+ thumb_func_start FUN_02072A00
+FUN_02072A00: ; 0x02072A00
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r4, r2, #0x0
+ add r5, r0, #0x0
+ ldr r0, _02072A4C ; =0x0000069C
+ ldr r1, _02072A50 ; =0x020F96F4
+ lsl r2, r4, #0x3
+ ldrh r1, [r1, r2]
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ mov r1, #0x2c
+ lsl r2, r2, #0x4
+ mul r1, r4
+ ldr r0, [r5, r2]
+ add r1, r5, r1
+ add r2, #0x60
+ ldr r1, [r1, r2]
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ pop {r3-r7, pc}
+ nop
+_02072A4C: .word 0x0000069C
+_02072A50: .word 0x020F96F4
+
+ thumb_func_start FUN_02072A54
+FUN_02072A54: ; 0x02072A54
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ lsl r6, r0, #0x4
+ add r7, r1, #0x0
+ mov r0, #0x2c
+ mul r7, r0
+ mov r1, #0x0
+ mov r2, #0x7
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _02072B14 ; =0x000F0E00
+ add r3, r5, r7
+ str r0, [sp, #0x8]
+ add r4, r5, #0x4
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x8
+ ldr r2, [r3, r2]
+ add r0, r4, r6
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ mov r2, #0x71
+ add r0, r5, r7
+ lsl r2, r2, #0x4
+ ldrb r0, [r0, r2]
+ cmp r0, #0x1
+ bne _02072A9C
+ add r0, r4, r6
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r7, pc}
+_02072A9C:
+ sub r0, r2, #0x2
+ add r0, r5, r0
+ ldrh r0, [r0, r7]
+ lsl r1, r0, #0x13
+ lsr r1, r1, #0x1f
+ bne _02072B0A
+ lsl r0, r0, #0x11
+ lsr r0, r0, #0x1e
+ bne _02072ADC
+ add r0, r2, #0x0
+ sub r0, #0x74
+ sub r2, #0x68
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ mov r1, #0x1b
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0xc1
+ lsl r0, r0, #0xa
+ str r0, [sp, #0x8]
+ ldr r2, _02072B18 ; =0x000006A8
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ add r0, r4, r6
+ mov r3, #0x40
+ bl FUN_0201BDE0
+ b _02072B0A
+_02072ADC:
+ cmp r0, #0x1
+ bne _02072B0A
+ add r0, r2, #0x0
+ sub r0, #0x74
+ sub r2, #0x68
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ mov r1, #0x1c
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _02072B1C ; =0x00050600
+ ldr r2, _02072B18 ; =0x000006A8
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ add r0, r4, r6
+ mov r3, #0x40
+ bl FUN_0201BDE0
+_02072B0A:
+ add r0, r4, r6
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02072B14: .word 0x000F0E00
+_02072B18: .word 0x000006A8
+_02072B1C: .word 0x00050600
+
+ thumb_func_start FUN_02072B20
+FUN_02072B20: ; 0x02072B20
+ push {r4, lr}
+ sub sp, #0x10
+ lsl r2, r1, #0x2
+ add r2, r1, r2
+ add r2, r2, #0x1
+ add r3, r0, #0x4
+ lsl r2, r2, #0x4
+ add r4, r3, r2
+ mov r2, #0x2c
+ mul r2, r1
+ ldr r3, _02072B78 ; =0x0000070E
+ add r2, r0, r2
+ ldrh r1, [r2, r3]
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x14
+ cmp r1, #0x7
+ beq _02072B4C
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4, pc}
+_02072B4C:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r4, [sp, #0x4]
+ mov r1, #0x5
+ str r1, [sp, #0x8]
+ mov r1, #0x2
+ str r1, [sp, #0xc]
+ add r1, r3, #0x0
+ sub r3, r3, #0x4
+ sub r1, #0x76
+ ldrh r2, [r2, r3]
+ ldr r0, [r0, r1]
+ mov r1, #0x1
+ mov r3, #0x3
+ bl FUN_0200BA78
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4, pc}
+ nop
+_02072B78: .word 0x0000070E
+
+ thumb_func_start FUN_02072B7C
+FUN_02072B7C: ; 0x02072B7C
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r2, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x2
+ add r3, r2, #0x4
+ lsl r0, r0, #0x4
+ add r4, r3, r0
+ mov r3, #0x2c
+ mul r3, r1
+ add r1, r2, r3
+ str r4, [sp, #0x0]
+ mov r0, #0x4
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ ldr r5, _02072BB8 ; =0x00000698
+ str r0, [sp, #0x8]
+ ldr r0, [r2, r5]
+ add r5, #0x6e
+ ldrh r1, [r1, r5]
+ mov r2, #0x3
+ mov r3, #0x1
+ bl FUN_0200B9EC
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_02072BB8: .word 0x00000698
+
+ thumb_func_start FUN_02072BBC
+FUN_02072BBC: ; 0x02072BBC
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x4
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x2
+ lsl r4, r0, #0x4
+ mov r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x10
+ mov r1, #0x0
+ str r0, [sp, #0x4]
+ add r0, r5, r4
+ mov r2, #0x4
+ add r3, r1, #0x0
+ bl FUN_020196F4
+ add r0, r5, r4
+ bl FUN_02019220
+ add sp, #0x8
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02072BE8
+FUN_02072BE8: ; 0x02072BE8
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r2, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x2
+ add r3, r2, #0x4
+ lsl r0, r0, #0x4
+ add r4, r3, r0
+ mov r3, #0x2c
+ mul r3, r1
+ add r1, r2, r3
+ str r4, [sp, #0x0]
+ mov r0, #0x24
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ ldr r5, _02072C24 ; =0x00000698
+ str r0, [sp, #0x8]
+ ldr r0, [r2, r5]
+ add r5, #0x70
+ ldrh r1, [r1, r5]
+ mov r2, #0x3
+ mov r3, #0x0
+ bl FUN_0200B9EC
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_02072C24: .word 0x00000698
+
+ thumb_func_start FUN_02072C28
+FUN_02072C28: ; 0x02072C28
+ push {r4-r7, lr}
+ sub sp, #0xc
+ lsl r2, r1, #0x2
+ add r2, r1, r2
+ add r5, r0, #0x0
+ add r2, r2, #0x3
+ add r0, r5, #0x4
+ lsl r2, r2, #0x4
+ add r4, r0, r2
+ mov r0, #0x2c
+ add r6, r1, #0x0
+ mul r6, r0
+ ldr r0, _02072D0C ; =0x00000708
+ mov r2, #0x30
+ add r7, r5, r0
+ sub r0, r0, #0x2
+ add r0, r5, r0
+ str r0, [sp, #0x8]
+ ldrh r0, [r0, r6]
+ ldrh r1, [r7, r6]
+ bl FUN_02079A54
+ cmp r0, #0x4
+ bhi _02072CBE
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02072C64: ; jump table (using 16-bit offset)
+ .short _02072C6E - _02072C64 - 2; case 0
+ .short _02072CA8 - _02072C64 - 2; case 1
+ .short _02072C90 - _02072C64 - 2; case 2
+ .short _02072C78 - _02072C64 - 2; case 3
+ .short _02072C78 - _02072C64 - 2; case 4
+_02072C6E:
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02072C78:
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D10 ; =0x000004B6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+ b _02072CBE
+_02072C90:
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D14 ; =0x000004D6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+ b _02072CBE
+_02072CA8:
+ ldrb r3, [r4, #0x9]
+ ldr r1, _02072D18 ; =0x000004F6
+ mov r0, #0x1
+ lsl r3, r3, #0x4
+ add r3, #0x9
+ lsl r3, r3, #0x11
+ add r1, r5, r1
+ mov r2, #0x4
+ lsr r3, r3, #0x10
+ bl FUN_02017FB4
+_02072CBE:
+ ldr r0, [sp, #0x8]
+ ldrh r1, [r7, r6]
+ ldrh r0, [r0, r6]
+ mov r2, #0x30
+ bl FUN_02079A0C
+ add r5, r0, #0x0
+ str r5, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xa
+ mov r2, #0x0
+ mov r3, #0x2
+ bl FUN_020196F4
+ str r5, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ mov r3, #0x3
+ bl FUN_020196F4
+ str r5, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xa
+ mov r2, #0x0
+ mov r3, #0x5
+ bl FUN_020196F4
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02072D0C: .word 0x00000708
+_02072D10: .word 0x000004B6
+_02072D14: .word 0x000004D6
+_02072D18: .word 0x000004F6
+
+ thumb_func_start FUN_02072D1C
+FUN_02072D1C: ; 0x02072D1C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r6, #0x2
+ add r4, r6, r0
+ add r0, r5, #0x4
+ str r0, [sp, #0x0]
+ lsl r0, r4, #0x4
+ ldr r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r4, #0x1
+ lsl r0, r0, #0x4
+ add r7, r5, #0x4
+ str r0, [sp, #0x8]
+ add r0, r7, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r7, #0x0
+ str r0, [sp, #0xc]
+ add r0, r4, #0x2
+ lsl r0, r0, #0x4
+ ldr r1, [sp, #0xc]
+ str r0, [sp, #0x10]
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r7, #0x0
+ str r0, [sp, #0x14]
+ add r0, r4, #0x3
+ lsl r4, r0, #0x4
+ ldr r0, [sp, #0x14]
+ mov r1, #0x0
+ add r0, r0, r4
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072A54
+ mov r0, #0x2c
+ mul r0, r6
+ add r1, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02072DB0
+ ldr r1, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r0, r1, r0
+ bl FUN_02019220
+ ldr r0, [sp, #0x8]
+ add r0, r7, r0
+ bl FUN_02019220
+ ldr r1, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ add r0, r1, r0
+ bl FUN_02019220
+ ldr r0, [sp, #0x14]
+ add r0, r0, r4
+ bl FUN_02019220
+ add sp, #0x18
+ pop {r3-r7, pc}
+_02072DB0:
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_020729D4
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072B20
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072B7C
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072BE8
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02072C28
+ add sp, #0x18
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02072DDC
+FUN_02072DDC: ; 0x02072DDC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r4, r1, r0
+ add r1, r5, #0x4
+ lsl r0, r4, #0x4
+ add r0, r1, r0
+ bl FUN_02019548
+ add r0, r4, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_02019548
+ add r0, r4, #0x2
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_02019548
+ add r0, r4, #0x3
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_02019548
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02072E14
+FUN_02072E14: ; 0x02072E14
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r4, r1, r0
+ add r1, r5, #0x4
+ lsl r0, r4, #0x4
+ add r0, r1, r0
+ bl FUN_0201958C
+ add r0, r4, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_0201958C
+ add r0, r4, #0x2
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_0201958C
+ add r0, r4, #0x3
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_0201958C
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02072E4C
+FUN_02072E4C: ; 0x02072E4C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x2
+ add r6, r4, r0
+ add r1, r5, #0x4
+ lsl r0, r6, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072A54
+ mov r0, #0x2c
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02072E98
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020732F4
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02072E98:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072B20
+ ldr r0, _02072EE0 ; =0x000005A4
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ mov r0, #0x0
+ ldr r3, _02072EE0 ; =0x000005A4
+ str r0, [sp, #0x0]
+ ldr r3, [r5, r3]
+ mov r2, #0x3
+ ldrh r3, [r3, #0x24]
+ bl FUN_02069168
+ cmp r0, #0x0
+ bne _02072ED0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020732F4
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02072ED0:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020732F4
+ add sp, #0x4
+ pop {r3-r6, pc}
+ nop
+_02072EE0: .word 0x000005A4
+
+ thumb_func_start FUN_02072EE4
+FUN_02072EE4: ; 0x02072EE4
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x2
+ add r6, r4, r0
+ add r1, r5, #0x4
+ lsl r0, r6, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072A54
+ mov r0, #0x2c
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02072F2C
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02073364
+ pop {r4-r6, pc}
+_02072F2C:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072B20
+ ldr r0, _02072F74 ; =0x000005A4
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02076AA0
+ cmp r0, #0xff
+ bne _02072F58
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02073364
+ pop {r4-r6, pc}
+_02072F58:
+ cmp r0, #0xfd
+ bne _02072F68
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02073364
+ pop {r4-r6, pc}
+_02072F68:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02073364
+ pop {r4-r6, pc}
+ .balign 4
+_02072F74: .word 0x000005A4
+
+ thumb_func_start FUN_02072F78
+FUN_02072F78: ; 0x02072F78
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x2
+ add r6, r4, r0
+ add r1, r5, #0x4
+ lsl r0, r6, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072A54
+ mov r0, #0x2c
+ add r6, r4, #0x0
+ mul r6, r0
+ mov r0, #0x71
+ add r1, r5, r6
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ beq _02072FBE
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072B20
+_02072FBE:
+ ldr r2, _02072FD8 ; =0x0000070E
+ add r3, r5, r6
+ ldrh r2, [r3, r2]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x1f
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_020733E4
+ pop {r4-r6, pc}
+ nop
+_02072FD8: .word 0x0000070E
+
+ thumb_func_start FUN_02072FDC
+FUN_02072FDC: ; 0x02072FDC
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ lsl r0, r4, #0x2
+ add r6, r4, r0
+ add r1, r5, #0x4
+ lsl r0, r6, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x1
+ add r1, r5, #0x4
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072A54
+ mov r0, #0x2c
+ mul r0, r4
+ add r1, r5, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ beq _02073020
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02072B20
+_02073020:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073024
+FUN_02073024: ; 0x02073024
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _02073080 ; =0x000005A4
+ add r4, r1, #0x0
+ ldr r1, [r5, r0]
+ mov r2, #0x0
+ add r0, r1, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x1c
+ beq _0207305C
+ add r0, r4, #0x1
+_0207303E:
+ add r6, r1, r2
+ add r6, #0x2c
+ ldrb r6, [r6, #0x0]
+ cmp r0, r6
+ bne _02073052
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073448
+ pop {r4-r6, pc}
+_02073052:
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ cmp r2, r3
+ blo _0207303E
+_0207305C:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02071340
+ cmp r0, #0x0
+ bne _02073074
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x8
+ bl FUN_02073448
+ pop {r4-r6, pc}
+_02073074:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x7
+ bl FUN_02073448
+ pop {r4-r6, pc}
+ .balign 4
+_02073080: .word 0x000005A4
+
+ thumb_func_start FUN_02073084
+FUN_02073084: ; 0x02073084
+ push {r4, lr}
+ add r4, r2, #0x0
+ mov r2, #0x0
+ bl FUN_02002E14
+ sub r0, r4, r0
+ lsr r0, r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_02073094
+FUN_02073094: ; 0x02073094
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ add r4, r1, #0x0
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x7d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x1
+ tst r0, r4
+ beq _020730FE
+ ldr r2, _0207314C ; =0x0000069C
+ mov r1, #0x0
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ ldr r2, _02073150 ; =0x000001EB
+ ldr r1, _02073154 ; =0x000006A8
+ ldrb r2, [r5, r2]
+ ldr r1, [r5, r1]
+ mov r0, #0x0
+ lsl r2, r2, #0x3
+ bl FUN_02073084
+ mov r1, #0x0
+ add r3, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r2, #0xff
+ str r2, [sp, #0x4]
+ ldr r0, _02073158 ; =0x000F0E00
+ add r2, #0xe5
+ str r0, [sp, #0x8]
+ add r0, r5, r2
+ ldr r2, _02073154 ; =0x000006A8
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ bl FUN_0201BDE0
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+_020730FE:
+ mov r0, #0x2
+ tst r0, r4
+ beq _02073148
+ ldr r2, _0207314C ; =0x0000069C
+ mov r1, #0x1
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ ldr r2, _0207315C ; =0x000001FB
+ ldr r1, _02073154 ; =0x000006A8
+ ldrb r2, [r5, r2]
+ ldr r1, [r5, r1]
+ mov r0, #0x0
+ lsl r2, r2, #0x3
+ bl FUN_02073084
+ mov r1, #0x0
+ add r3, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r2, #0xff
+ str r2, [sp, #0x4]
+ ldr r0, _02073158 ; =0x000F0E00
+ add r2, #0xf5
+ str r0, [sp, #0x8]
+ add r0, r5, r2
+ ldr r2, _02073154 ; =0x000006A8
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ bl FUN_0201BDE0
+ mov r0, #0x7d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+_02073148:
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+_0207314C: .word 0x0000069C
+_02073150: .word 0x000001EB
+_02073154: .word 0x000006A8
+_02073158: .word 0x000F0E00
+_0207315C: .word 0x000001FB
+
+ thumb_func_start FUN_02073160
+FUN_02073160: ; 0x02073160
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ cmp r3, #0x1
+ bne _0207317A
+ add r0, r4, #0x0
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200D0BC
+_0207317A:
+ add r0, r4, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r6, r0
+ beq _02073198
+ ldr r2, _020731B8 ; =0x0000069C
+ add r1, r6, #0x0
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+_02073198:
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r2, _020731BC ; =0x000006A4
+ str r3, [sp, #0x8]
+ ldr r2, [r5, r2]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0201BD84
+ add r0, r4, #0x0
+ bl FUN_02019220
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+_020731B8: .word 0x0000069C
+_020731BC: .word 0x000006A4
+
+ thumb_func_start FUN_020731C0
+FUN_020731C0: ; 0x020731C0
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x81
+ lsl r1, r1, #0x2
+ add r3, r2, #0x0
+ add r1, r0, r1
+ add r2, r4, #0x0
+ bl FUN_02073160
+ pop {r4, pc}
+
+ thumb_func_start FUN_020731D4
+FUN_020731D4: ; 0x020731D4
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x85
+ lsl r1, r1, #0x2
+ add r3, r2, #0x0
+ add r1, r0, r1
+ add r2, r4, #0x0
+ bl FUN_02073160
+ pop {r4, pc}
+
+ thumb_func_start FUN_020731E8
+FUN_020731E8: ; 0x020731E8
+ push {r4-r6, lr}
+ mov r6, #0x89
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ lsl r6, r6, #0x2
+ cmp r2, #0x1
+ bne _02073202
+ add r0, r5, r6
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200D0BC
+_02073202:
+ add r0, r5, r6
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _02073220
+ ldr r2, _02073228 ; =0x0000069C
+ add r1, r4, #0x0
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+_02073220:
+ add r0, r5, #0x0
+ bl FUN_0207322C
+ pop {r4-r6, pc}
+ .balign 4
+_02073228: .word 0x0000069C
+
+ thumb_func_start FUN_0207322C
+FUN_0207322C: ; 0x0207322C
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ mov r0, #0x1
+ bl FUN_02002B60
+ mov r0, #0x0
+ bl FUN_02002B7C
+ ldr r0, _0207326C ; =0x000005A4
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02024FF4
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, _02073270 ; =FUN_0207327C
+ ldr r2, _02073274 ; =0x000006A4
+ str r0, [sp, #0x8]
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ ldr r2, [r4, r2]
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0201BD84
+ ldr r1, _02073278 ; =0x00000B24
+ strb r0, [r4, r1]
+ add sp, #0xc
+ pop {r3-r4, pc}
+ nop
+_0207326C: .word 0x000005A4
+_02073270: .word FUN_0207327C
+_02073274: .word 0x000006A4
+_02073278: .word 0x00000B24
+
+ thumb_func_start FUN_0207327C
+FUN_0207327C: ; 0x0207327C
+ push {r3, lr}
+ cmp r1, #0x5
+ bhi _020732BE
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207328E: ; jump table (using 16-bit offset)
+ .short _020732BE - _0207328E - 2; case 0
+ .short _0207329A - _0207328E - 2; case 1
+ .short _020732A0 - _0207328E - 2; case 2
+ .short _020732A6 - _0207328E - 2; case 3
+ .short _020732AE - _0207328E - 2; case 4
+ .short _020732B6 - _0207328E - 2; case 5
+_0207329A:
+ bl FUN_02005514
+ pop {r3, pc}
+_020732A0:
+ bl FUN_02005CBC
+ pop {r3, pc}
+_020732A6:
+ ldr r0, _020732C4 ; =0x000005E6
+ bl FUN_020054C8
+ b _020732BE
+_020732AE:
+ ldr r0, _020732C8 ; =0x00000483
+ bl FUN_02005C28
+ b _020732BE
+_020732B6:
+ ldr r0, _020732C4 ; =0x000005E6
+ bl FUN_02005508
+ pop {r3, pc}
+_020732BE:
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_020732C4: .word 0x000005E6
+_020732C8: .word 0x00000483
+
+ thumb_func_start FUN_020732CC
+FUN_020732CC: ; 0x020732CC
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r1, _020732EC ; =0x020F96EC
+ mov r2, #0x1
+ mov r3, #0xe
+ bl FUN_02002198
+ ldr r1, _020732F0 ; =0x000006FC
+ str r0, [r4, r1]
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_020732EC: .word 0x020F96EC
+_020732F0: .word 0x000006FC
+
+ thumb_func_start FUN_020732F4
+FUN_020732F4: ; 0x020732F4
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x4
+ add r4, r5, #0x4
+ lsl r6, r0, #0x4
+ add r0, r4, r6
+ mov r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02019620
+ cmp r7, #0x0
+ beq _02073318
+ cmp r7, #0x1
+ beq _02073326
+ b _02073332
+_02073318:
+ ldr r0, _0207335C ; =0x0000069C
+ mov r1, #0xb2
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x10]
+ b _02073332
+_02073326:
+ ldr r0, _0207335C ; =0x0000069C
+ mov r1, #0xb3
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x10]
+_02073332:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _02073360 ; =0x000F0E00
+ ldr r2, [sp, #0x10]
+ str r0, [sp, #0x8]
+ add r0, r4, r6
+ add r3, r1, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ ldr r0, [sp, #0x10]
+ bl FUN_02021A20
+ add r0, r4, r6
+ bl FUN_02019220
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_0207335C: .word 0x0000069C
+_02073360: .word 0x000F0E00
+
+ thumb_func_start FUN_02073364
+FUN_02073364: ; 0x02073364
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x4
+ add r4, r5, #0x4
+ lsl r7, r0, #0x4
+ add r0, r4, r7
+ mov r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02019620
+ cmp r6, #0x0
+ beq _0207338C
+ cmp r6, #0x1
+ beq _0207339A
+ cmp r6, #0x2
+ beq _020733A8
+ b _020733B4
+_0207338C:
+ ldr r0, _020733DC ; =0x0000069C
+ mov r1, #0xaf
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x10]
+ b _020733B4
+_0207339A:
+ ldr r0, _020733DC ; =0x0000069C
+ mov r1, #0xb0
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x10]
+ b _020733B4
+_020733A8:
+ ldr r0, _020733DC ; =0x0000069C
+ mov r1, #0xb1
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x10]
+_020733B4:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _020733E0 ; =0x000F0E00
+ ldr r2, [sp, #0x10]
+ str r0, [sp, #0x8]
+ add r0, r4, r7
+ add r3, r1, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ ldr r0, [sp, #0x10]
+ bl FUN_02021A20
+ add r0, r4, r7
+ bl FUN_02019220
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+_020733DC: .word 0x0000069C
+_020733E0: .word 0x000F0E00
+
+ thumb_func_start FUN_020733E4
+FUN_020733E4: ; 0x020733E4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x4
+ add r4, r5, #0x4
+ lsl r6, r0, #0x4
+ add r0, r4, r6
+ mov r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02019620
+ cmp r7, #0x0
+ ldr r0, _02073440 ; =0x0000069C
+ bne _0207340E
+ ldr r0, [r5, r0]
+ mov r1, #0xb5
+ bl FUN_0200A914
+ b _02073416
+_0207340E:
+ ldr r0, [r5, r0]
+ mov r1, #0xb4
+ bl FUN_0200A914
+_02073416:
+ mov r1, #0x0
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _02073444 ; =0x000F0E00
+ add r2, r5, #0x0
+ str r0, [sp, #0x8]
+ add r0, r4, r6
+ add r3, r1, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ add r0, r4, r6
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02073440: .word 0x0000069C
+_02073444: .word 0x000F0E00
+
+ thumb_func_start FUN_02073448
+FUN_02073448: ; 0x02073448
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ lsl r0, r1, #0x2
+ add r0, r1, r0
+ add r0, r0, #0x4
+ add r4, r5, #0x4
+ lsl r7, r0, #0x4
+ add r0, r4, r7
+ mov r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02019620
+ cmp r6, #0x6
+ ldr r0, _020734B8 ; =0x0000069C
+ bhs _02073476
+ add r6, #0xa9
+ ldr r0, [r5, r0]
+ add r1, r6, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ b _02073490
+_02073476:
+ cmp r6, #0x7
+ bne _02073486
+ ldr r0, [r5, r0]
+ mov r1, #0xa7
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ b _02073490
+_02073486:
+ ldr r0, [r5, r0]
+ mov r1, #0xa8
+ bl FUN_0200A914
+ add r5, r0, #0x0
+_02073490:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _020734BC ; =0x000F0E00
+ add r2, r5, #0x0
+ str r0, [sp, #0x8]
+ add r0, r4, r7
+ add r3, r1, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ add r0, r4, r7
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_020734B8: .word 0x0000069C
+_020734BC: .word 0x000F0E00
+
+ thumb_func_start FUN_020734C0
+FUN_020734C0: ; 0x020734C0
+ push {r4-r7, lr}
+ sub sp, #0x2c
+ add r5, r0, #0x0
+ ldr r0, _02073628 ; =0x000005A4
+ ldr r1, _0207362C ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa3
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0x2]
+ add r0, r4, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xa7
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0x6]
+ add r0, r4, #0x0
+ mov r1, #0xa8
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0xa6
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x20
+ strh r0, [r1, #0xa]
+ mov r3, #0x1
+ mov r1, #0x9
+ str r3, [sp, #0x0]
+ mov r0, #0xe
+ str r0, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ mov r2, #0x0
+ str r2, [sp, #0xc]
+ lsl r1, r1, #0x6
+ str r1, [sp, #0x10]
+ add r1, #0x14
+ ldr r0, [r5, #0x0]
+ add r1, r5, r1
+ bl FUN_02019064
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ mov r1, #0x1
+ add r0, r5, r0
+ add r2, r1, #0x0
+ mov r3, #0xe
+ bl FUN_0200CCA4
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r4, #0x0
+ str r4, [sp, #0x14]
+ add r7, r5, #0x0
+ add r6, sp, #0x20
+_0207356C:
+ ldr r0, _02073630 ; =0x0000069C
+ ldr r1, [sp, #0x14]
+ ldr r0, [r5, r0]
+ add r1, #0xb9
+ bl FUN_0200A914
+ str r0, [sp, #0x18]
+ mov r1, #0x0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ ldr r2, [sp, #0x18]
+ add r0, r5, r0
+ add r3, r1, #0x0
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x18]
+ bl FUN_02021A20
+ ldr r0, _02073630 ; =0x0000069C
+ mov r1, #0xbf
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0x1c]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r2, _02073634 ; =0x00000B28
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldrh r3, [r6, #0x0]
+ ldrh r2, [r7, r2]
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ sub r2, r3, r2
+ mov r3, #0x2
+ bl FUN_0200AD38
+ mov r0, #0x6a
+ ldr r1, _02073638 ; =0x000006A4
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ ldr r2, [sp, #0x1c]
+ bl FUN_0200B7B8
+ ldr r0, [sp, #0x1c]
+ bl FUN_02021A20
+ ldr r1, _02073638 ; =0x000006A4
+ mov r0, #0x0
+ ldr r1, [r5, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ mov r1, #0x68
+ sub r3, r1, r0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, _02073638 ; =0x000006A4
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ ldr r2, [r5, r2]
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_0201BD84
+ ldrh r1, [r6, #0x0]
+ ldr r0, _02073634 ; =0x00000B28
+ add r4, #0x10
+ strh r1, [r7, r0]
+ ldr r0, [sp, #0x14]
+ add r7, r7, #0x2
+ add r0, r0, #0x1
+ add r6, r6, #0x2
+ str r0, [sp, #0x14]
+ cmp r0, #0x6
+ blo _0207356C
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ add sp, #0x2c
+ pop {r4-r7, pc}
+ .balign 4
+_02073628: .word 0x000005A4
+_0207362C: .word 0x00000B25
+_02073630: .word 0x0000069C
+_02073634: .word 0x00000B28
+_02073638: .word 0x000006A4
+
+ thumb_func_start FUN_0207363C
+FUN_0207363C: ; 0x0207363C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ mov r0, #0x70
+ str r0, [sp, #0x4]
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xf
+ mov r2, #0x50
+ mov r3, #0x0
+ bl FUN_020196F4
+ ldr r0, _020736E8 ; =0x0000069C
+ mov r1, #0xc0
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ str r0, [sp, #0xc]
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ add r6, r5, #0x0
+ add r4, r0, #0x0
+_0207366E:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r2, _020736EC ; =0x00000B28
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldrh r2, [r6, r2]
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r0, #0x6a
+ ldr r1, _020736F0 ; =0x000006A4
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ ldr r2, [sp, #0xc]
+ bl FUN_0200B7B8
+ ldr r1, _020736F0 ; =0x000006A4
+ mov r0, #0x0
+ ldr r1, [r5, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ add r7, r0, #0x0
+ mov r3, #0x68
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, _020736F0 ; =0x000006A4
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ ldr r2, [r5, r2]
+ add r0, r5, r0
+ mov r1, #0x0
+ sub r3, r3, r7
+ bl FUN_0201BD84
+ ldr r0, [sp, #0x10]
+ add r6, r6, #0x2
+ add r0, r0, #0x1
+ add r4, #0x10
+ str r0, [sp, #0x10]
+ cmp r0, #0x6
+ blo _0207366E
+ ldr r0, [sp, #0xc]
+ bl FUN_02021A20
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_020736E8: .word 0x0000069C
+_020736EC: .word 0x00000B28
+_020736F0: .word 0x000006A4
+
+ thumb_func_start FUN_020736F4
+FUN_020736F4: ; 0x020736F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200CCF8
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ pop {r4, pc}
+
+ thumb_func_start FUN_02073710
+FUN_02073710: ; 0x02073710
+ push {r3-r7, lr}
+ sub sp, #0x50
+ add r4, r0, #0x0
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E74C
+ mov r0, #0x20
+ mov r1, #0xc
+ bl FUN_0201C24C
+ mov r0, #0xc
+ bl FUN_0200BB14
+ ldr r1, _020737BC ; =0x000005A8
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ bl FUN_0200BB34
+ ldr r7, _020737C0 ; =0x000005AC
+ add r2, sp, #0x30
+ ldr r3, _020737C4 ; =0x020F98F4
+ str r0, [r4, r7]
+ ldmia r3!, {r0-r1}
+ add r6, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ ldr r5, _020737C8 ; =0x020F98C4
+ stmia r2!, {r0-r1}
+ add r3, sp, #0x1c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ str r0, [r3, #0x0]
+ sub r0, r7, #0x4
+ ldr r0, [r4, r0]
+ mov r3, #0x20
+ bl FUN_0200BB6C
+ sub r1, r7, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ mov r2, #0x23
+ bl FUN_0200BBF0
+ sub r0, r7, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_0200BB68
+ mov r2, #0x1
+ mov r1, #0x0
+ lsl r2, r2, #0x14
+ bl FUN_02008D24
+ ldr r5, _020737CC ; =0x020F98D8
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ sub r1, r7, #0x4
+ str r0, [r3, #0x0]
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ bl FUN_0200BD20
+ add sp, #0x50
+ pop {r3-r7, pc}
+ .balign 4
+_020737BC: .word 0x000005A8
+_020737C0: .word 0x000005AC
+_020737C4: .word 0x020F98F4
+_020737C8: .word 0x020F98C4
+_020737CC: .word 0x020F98D8
+
+ thumb_func_start FUN_020737D0
+FUN_020737D0: ; 0x020737D0
+ push {r4-r7, lr}
+ sub sp, #0x3c
+ add r5, r0, #0x0
+ ldr r0, _02073878 ; =0x000005A4
+ str r3, [sp, #0x8]
+ ldr r0, [r5, r0]
+ add r4, r2, #0x0
+ ldr r0, [r0, #0x0]
+ add r7, r1, #0x0
+ bl FUN_0206B9B0
+ lsl r1, r4, #0x10
+ asr r6, r1, #0x10
+ mov r1, #0x2c
+ mul r1, r7
+ str r1, [sp, #0xc]
+ add r2, r5, r1
+ ldr r1, _0207387C ; =0x00000716
+ str r0, [sp, #0x10]
+ strh r6, [r2, r1]
+ ldr r3, [sp, #0x8]
+ add r1, r1, #0x2
+ lsl r3, r3, #0x10
+ asr r4, r3, #0x10
+ strh r4, [r2, r1]
+ add r7, r7, #0x4
+ bl FUN_0206B6C8
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r1, _02073880 ; =0x000005A8
+ str r7, [sp, #0x4]
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ mov r2, #0x13
+ bl FUN_0200C9D8
+ ldr r0, [sp, #0x10]
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ str r7, [sp, #0x14]
+ add r0, sp, #0x14
+ strh r6, [r0, #0x4]
+ strh r4, [r0, #0x6]
+ mov r1, #0x0
+ strh r1, [r0, #0x8]
+ strh r1, [r0, #0xa]
+ ldr r0, [sp, #0xc]
+ str r1, [sp, #0x20]
+ ldr r1, _02073884 ; =0x00000704
+ add r3, r5, r0
+ ldrh r0, [r3, r1]
+ add r1, #0xd
+ ldrb r1, [r3, r1]
+ bl FUN_0206B7BC
+ add r0, r0, #0x3
+ str r0, [sp, #0x24]
+ mov r0, #0x1
+ str r0, [sp, #0x28]
+ mov r0, #0x0
+ ldr r1, _02073880 ; =0x000005A8
+ str r0, [sp, #0x2c]
+ str r0, [sp, #0x30]
+ str r0, [sp, #0x34]
+ str r0, [sp, #0x38]
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, sp, #0x14
+ bl FUN_0200BE38
+ ldr r1, [sp, #0xc]
+ add r2, r5, r1
+ ldr r1, _02073888 ; =0x00000724
+ str r0, [r2, r1]
+ add sp, #0x3c
+ pop {r4-r7, pc}
+ nop
+_02073878: .word 0x000005A4
+_0207387C: .word 0x00000716
+_02073880: .word 0x000005A8
+_02073884: .word 0x00000704
+_02073888: .word 0x00000724
+
+ thumb_func_start FUN_0207388C
+FUN_0207388C: ; 0x0207388C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ ldr r1, _020739AC ; =0x000005A8
+ add r5, r0, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ ldr r2, _020739B0 ; =0x020F9914
+ bl FUN_0200BE38
+ ldr r1, _020739B4 ; =0x000005C8
+ ldr r2, _020739B8 ; =0x020F993C
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ sub r0, #0x20
+ sub r1, #0x1c
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ bl FUN_0200BE38
+ ldr r1, _020739BC ; =0x000005CC
+ ldr r2, _020739C0 ; =0x020F9964
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ sub r0, #0x24
+ sub r1, #0x20
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ bl FUN_0200BE38
+ mov r1, #0x5d
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ sub r0, #0x28
+ sub r1, #0x24
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ ldr r2, _020739C4 ; =0x020F998C
+ bl FUN_0200BE38
+ ldr r1, _020739C8 ; =0x000005D4
+ ldr r2, _020739CC ; =0x020F9C84
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ sub r0, #0x2c
+ sub r1, #0x28
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ bl FUN_0200BE38
+ mov r1, #0x62
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ ldr r0, _020739B0 ; =0x020F9914
+ mov r4, #0x0
+ str r4, [sp, #0x4]
+ add r6, r5, #0x0
+ str r0, [sp, #0x0]
+ add r7, r5, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+_0207390A:
+ ldr r0, _020739AC ; =0x000005A8
+ ldr r1, _020739D0 ; =0x000005AC
+ add r3, r4, #0x0
+ ldr r2, [sp, #0x8]
+ add r3, #0xa0
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ add r2, r2, r3
+ bl FUN_0200BE38
+ ldr r1, _020739D4 ; =0x000005D8
+ str r0, [r6, r1]
+ ldr r1, [sp, #0x0]
+ mov r0, #0xa4
+ ldrsh r1, [r1, r0]
+ ldr r0, _020739D8 ; =0x0000071A
+ strh r1, [r7, r0]
+ ldr r1, [sp, #0x0]
+ mov r0, #0xa6
+ ldrsh r1, [r1, r0]
+ ldr r0, _020739DC ; =0x0000071C
+ strh r1, [r7, r0]
+ ldr r0, _020739D4 ; =0x000005D8
+ mov r1, #0x0
+ ldr r0, [r6, r0]
+ bl FUN_020200A0
+ mov r2, #0x19
+ ldr r0, _020739AC ; =0x000005A8
+ ldr r1, _020739D0 ; =0x000005AC
+ lsl r2, r2, #0x4
+ add r3, r4, r2
+ ldr r2, [sp, #0xc]
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ add r2, r2, r3
+ bl FUN_0200BE38
+ mov r1, #0x5f
+ lsl r1, r1, #0x4
+ mov r2, #0xa
+ str r0, [r6, r1]
+ add r0, r1, #0x0
+ lsl r2, r2, #0x6
+ sub r0, #0x48
+ sub r1, #0x44
+ add r3, r4, r2
+ ldr r2, [sp, #0x10]
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ add r2, r2, r3
+ bl FUN_0200BE38
+ ldr r1, _020739E0 ; =0x00000608
+ add r4, #0x28
+ str r0, [r6, r1]
+ ldr r0, [sp, #0x0]
+ add r6, r6, #0x4
+ add r0, #0x28
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x4]
+ add r7, #0x2c
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
+ cmp r0, #0x6
+ blo _0207390A
+ add r0, r1, #0x0
+ sub r0, #0x3c
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_020739AC: .word 0x000005A8
+_020739B0: .word 0x020F9914
+_020739B4: .word 0x000005C8
+_020739B8: .word 0x020F993C
+_020739BC: .word 0x000005CC
+_020739C0: .word 0x020F9964
+_020739C4: .word 0x020F998C
+_020739C8: .word 0x000005D4
+_020739CC: .word 0x020F9C84
+_020739D0: .word 0x000005AC
+_020739D4: .word 0x000005D8
+_020739D8: .word 0x0000071A
+_020739DC: .word 0x0000071C
+_020739E0: .word 0x00000608
+
+ thumb_func_start FUN_020739E4
+FUN_020739E4: ; 0x020739E4
+ push {r3-r5, lr}
+ sub sp, #0x28
+ add r4, r1, #0x0
+ mov r1, #0x0
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ add r0, sp, #0x0
+ strh r2, [r0, #0x4]
+ strh r3, [r0, #0x6]
+ strh r1, [r0, #0x8]
+ strh r1, [r0, #0xa]
+ mov r0, #0x1
+ str r1, [sp, #0x10]
+ str r1, [sp, #0x18]
+ str r1, [sp, #0x1c]
+ str r1, [sp, #0x20]
+ str r1, [sp, #0x24]
+ ldr r1, _02073A28 ; =0x000005A8
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x14]
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, sp, #0x0
+ bl FUN_0200BE38
+ lsl r1, r4, #0x2
+ add r2, r5, r1
+ mov r1, #0x5b
+ lsl r1, r1, #0x4
+ str r0, [r2, r1]
+ add sp, #0x28
+ pop {r3-r5, pc}
+ nop
+_02073A28: .word 0x000005A8
+
+ thumb_func_start FUN_02073A2C
+FUN_02073A2C: ; 0x02073A2C
+ push {r4, lr}
+ ldr r1, _02073A48 ; =0x000005A8
+ add r4, r0, #0x0
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ bl FUN_0200BCE0
+ ldr r0, _02073A48 ; =0x000005A8
+ ldr r0, [r4, r0]
+ bl FUN_0200BD04
+ pop {r4, pc}
+ nop
+_02073A48: .word 0x000005A8
+
+ thumb_func_start FUN_02073A4C
+FUN_02073A4C: ; 0x02073A4C
+ push {r3-r5, lr}
+ mov r3, #0x5b
+ lsl r3, r3, #0x4
+ add r1, #0xa
+ add r5, r0, r3
+ lsl r4, r1, #0x2
+ cmp r2, #0x7
+ ldr r0, [r5, r4]
+ bne _02073A66
+ mov r1, #0x0
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+_02073A66:
+ add r1, r2, #0x0
+ bl FUN_02020130
+ ldr r0, [r5, r4]
+ mov r1, #0x1
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073A78
+FUN_02073A78: ; 0x02073A78
+ push {r3-r5, lr}
+ mov r3, #0x5b
+ lsl r3, r3, #0x4
+ add r1, #0x10
+ add r5, r0, r3
+ lsl r4, r1, #0x2
+ cmp r2, #0x0
+ bne _02073A92
+ ldr r0, [r5, r4]
+ mov r1, #0x0
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+_02073A92:
+ add r0, r2, #0x0
+ bl FUN_0206EA98
+ cmp r0, #0x1
+ ldr r0, [r5, r4]
+ bne _02073AA6
+ mov r1, #0x1
+ bl FUN_02020130
+ b _02073AAC
+_02073AA6:
+ mov r1, #0x0
+ bl FUN_02020130
+_02073AAC:
+ ldr r0, [r5, r4]
+ mov r1, #0x1
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073AB8
+FUN_02073AB8: ; 0x02073AB8
+ push {r3-r5, lr}
+ mov r2, #0x5b
+ lsl r2, r2, #0x4
+ add r1, #0x10
+ lsl r4, r1, #0x2
+ add r5, r0, r2
+ ldr r0, [r5, r4]
+ mov r1, #0x1
+ bl FUN_02020130
+ ldr r0, [r5, r4]
+ mov r1, #0x1
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073AD8
+FUN_02073AD8: ; 0x02073AD8
+ push {r4-r6, lr}
+ ldr r6, _02073B08 ; =0x0000071E
+ add r5, r1, #0x0
+ mov r4, #0x2c
+ mul r5, r4
+ add r1, #0x10
+ lsl r1, r1, #0x2
+ add r4, r0, r6
+ add r2, #0x8
+ strh r2, [r4, r5]
+ add r2, r6, #0x2
+ add r2, r0, r2
+ add r3, #0x8
+ add r1, r0, r1
+ mov r0, #0x5b
+ strh r3, [r2, r5]
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ ldrsh r1, [r4, r5]
+ ldrsh r2, [r2, r5]
+ bl FUN_0200C6E4
+ pop {r4-r6, pc}
+ nop
+_02073B08: .word 0x0000071E
+
+ thumb_func_start FUN_02073B0C
+FUN_02073B0C: ; 0x02073B0C
+ add r2, r0, #0x0
+ add r3, r1, #0x0
+ mov r0, #0x2c
+ mul r3, r0
+ add r1, #0x16
+ lsl r0, r1, #0x2
+ add r1, r2, r0
+ mov r0, #0x5b
+ add r3, r2, r3
+ lsl r0, r0, #0x4
+ ldr r2, _02073B34 ; =0x0000071E
+ ldr r0, [r1, r0]
+ ldrsh r1, [r3, r2]
+ add r2, r2, #0x2
+ ldrsh r2, [r3, r2]
+ add r1, #0x8
+ lsl r1, r1, #0x10
+ ldr r3, _02073B38 ; =FUN_0200C6E4
+ asr r1, r1, #0x10
+ bx r3
+ .balign 4
+_02073B34: .word 0x0000071E
+_02073B38: .word FUN_0200C6E4
+
+ thumb_func_start FUN_02073B3C
+FUN_02073B3C: ; 0x02073B3C
+ push {r4, lr}
+ mov r2, #0x5b
+ mov r4, #0x2c
+ lsl r2, r2, #0x4
+ add r3, r0, r2
+ add r2, r1, #0x0
+ mul r4, r1
+ add r1, r0, r4
+ ldr r0, _02073B6C ; =0x00000712
+ add r2, #0x16
+ ldrh r0, [r1, r0]
+ lsl r2, r2, #0x2
+ cmp r0, #0x0
+ ldr r0, [r3, r2]
+ bne _02073B62
+ mov r1, #0x0
+ bl FUN_020200A0
+ pop {r4, pc}
+_02073B62:
+ mov r1, #0x1
+ bl FUN_020200A0
+ pop {r4, pc}
+ nop
+_02073B6C: .word 0x00000712
+
+ thumb_func_start FUN_02073B70
+FUN_02073B70: ; 0x02073B70
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020201DC
+ cmp r4, r0
+ beq _02073B8E
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02020208
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02020130
+_02073B8E:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02073B90
+FUN_02073B90: ; 0x02073B90
+ push {r3, lr}
+ add r2, r0, #0x0
+ ldrh r0, [r2, #0x6]
+ cmp r0, #0x0
+ bne _02073B9E
+ mov r0, #0x0
+ pop {r3, pc}
+_02073B9E:
+ ldrh r1, [r2, #0xe]
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x14
+ cmp r1, #0x7
+ beq _02073BB4
+ cmp r1, #0x0
+ beq _02073BB4
+ cmp r1, #0x6
+ beq _02073BB4
+ mov r0, #0x5
+ pop {r3, pc}
+_02073BB4:
+ ldrh r1, [r2, #0x8]
+ mov r2, #0x30
+ bl FUN_02079A54
+ cmp r0, #0x4
+ bhi _02073BE6
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02073BCC: ; jump table (using 16-bit offset)
+ .short _02073BE6 - _02073BCC - 2; case 0
+ .short _02073BE2 - _02073BCC - 2; case 1
+ .short _02073BDE - _02073BCC - 2; case 2
+ .short _02073BDA - _02073BCC - 2; case 3
+ .short _02073BD6 - _02073BCC - 2; case 4
+_02073BD6:
+ mov r0, #0x1
+ pop {r3, pc}
+_02073BDA:
+ mov r0, #0x2
+ pop {r3, pc}
+_02073BDE:
+ mov r0, #0x3
+ pop {r3, pc}
+_02073BE2:
+ mov r0, #0x4
+ pop {r3, pc}
+_02073BE6:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073BEC
+FUN_02073BEC: ; 0x02073BEC
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r0, #0x7
+ lsl r0, r0, #0x8
+ add r0, r6, r0
+ mov r5, #0x0
+ str r0, [sp, #0x0]
+_02073BFA:
+ mov r0, #0x2c
+ add r1, r5, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x0]
+ add r4, r0, r1
+ add r0, r4, #0x0
+ add r0, #0x29
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ beq _02073C9A
+ mov r0, #0xb1
+ lsl r0, r0, #0x4
+ ldrb r0, [r6, r0]
+ cmp r0, #0x1
+ bne _02073C2C
+ ldr r0, _02073CA8 ; =0x00000B0C
+ ldrb r0, [r6, r0]
+ cmp r0, r5
+ beq _02073C28
+ ldr r0, _02073CAC ; =0x00000B0D
+ ldrb r0, [r6, r0]
+ cmp r0, r5
+ bne _02073C2C
+_02073C28:
+ mov r7, #0x0
+ b _02073C34
+_02073C2C:
+ add r0, r4, #0x0
+ bl FUN_02073B90
+ add r7, r0, #0x0
+_02073C34:
+ lsl r1, r7, #0x18
+ ldr r0, [r4, #0x24]
+ lsr r1, r1, #0x18
+ bl FUN_02073B70
+ mov r1, #0x1
+ ldr r0, [r4, #0x24]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, _02073CB0 ; =0x00000B25
+ ldrb r0, [r6, r0]
+ cmp r0, r5
+ bne _02073C8C
+ cmp r7, #0x0
+ beq _02073C8C
+ cmp r7, #0x5
+ beq _02073C8C
+ ldr r0, [r4, #0x24]
+ bl FUN_0202022C
+ cmp r0, #0x0
+ ldr r0, [r4, #0x24]
+ bne _02073C78
+ mov r2, #0x18
+ ldrsh r2, [r4, r2]
+ mov r1, #0x16
+ ldrsh r1, [r4, r1]
+ sub r2, r2, #0x3
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ b _02073C9A
+_02073C78:
+ mov r2, #0x18
+ ldrsh r2, [r4, r2]
+ mov r1, #0x16
+ ldrsh r1, [r4, r1]
+ add r2, r2, #0x1
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ b _02073C9A
+_02073C8C:
+ mov r1, #0x16
+ mov r2, #0x18
+ ldrsh r1, [r4, r1]
+ ldrsh r2, [r4, r2]
+ ldr r0, [r4, #0x24]
+ bl FUN_0200C6E4
+_02073C9A:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x6
+ blo _02073BFA
+ pop {r3-r7, pc}
+ nop
+_02073CA8: .word 0x00000B0C
+_02073CAC: .word 0x00000B0D
+_02073CB0: .word 0x00000B25
+
+ thumb_func_start FUN_02073CB4
+FUN_02073CB4: ; 0x02073CB4
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ ldr r0, _02073D10 ; =0x00000808
+ add r4, r1, #0x0
+ ldr r1, [r5, r0]
+ lsl r0, r4, #0x3
+ add r0, r1, r0
+ add r1, sp, #0x0
+ add r6, r2, #0x0
+ add r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_0201C620
+ ldr r0, _02073D14 ; =0x000005A4
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02073D18 ; =0x000005C8
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02073D18 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _02073D18 ; =0x000005C8
+ add r2, sp, #0x0
+ ldrb r1, [r2, #0x1]
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, r0]
+ bl FUN_0200C6E4
+ ldr r0, _02073D18 ; =0x000005C8
+ add r1, r6, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ add sp, #0x4
+ pop {r3-r6, pc}
+ nop
+_02073D10: .word 0x00000808
+_02073D14: .word 0x000005A4
+_02073D18: .word 0x000005C8
+
+ thumb_func_start FUN_02073D1C
+FUN_02073D1C: ; 0x02073D1C
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ lsl r0, r1, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ lsl r1, r2, #0xc
+ lsl r0, r0, #0x14
+ str r1, [sp, #0x4]
+ add r0, r1, r0
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02020208
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02073D6C
+FUN_02073D6C: ; 0x02073D6C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02020128
+ cmp r0, #0x1
+ bne _02073DA6
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_0202022C
+ cmp r0, #0x2
+ bne _02073DA6
+ mov r0, #0x62
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+_02073DA6:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02073DA8
+FUN_02073DA8: ; 0x02073DA8
+ lsl r1, r0, #0x2
+ ldr r0, _02073DB0 ; =0x020F9CAC
+ ldr r0, [r0, r1]
+ bx lr
+ .balign 4
+_02073DB0: .word 0x020F9CAC
+
+ thumb_func_start FUN_02073DB4
+FUN_02073DB4: ; 0x02073DB4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ ldr r0, _02073DEC ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_02001C5C
+ ldr r0, _02073DF0 ; =0x000006F8
+ ldr r0, [r4, r0]
+ bl FUN_02012870
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019178
+ pop {r4, pc}
+ .balign 4
+_02073DEC: .word 0x000006FC
+_02073DF0: .word 0x000006F8
+
+ thumb_func_start FUN_02073DF4
+FUN_02073DF4: ; 0x02073DF4
+ push {r3-r6, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02073DB4
+ add r0, r5, #0x0
+ mov r1, #0x26
+ mov r2, #0x0
+ bl FUN_020731D4
+ mov r0, #0x3
+ mov r1, #0xc
+ bl FUN_02012838
+ ldr r1, _02073EB0 ; =0x000006F8
+ str r0, [r5, r1]
+ mov r0, #0x3
+ bl FUN_02073DA8
+ ldr r1, _02073EB0 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x40
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ mov r0, #0x4
+ bl FUN_02073DA8
+ ldr r1, _02073EB0 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x3c
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ mov r0, #0x9
+ bl FUN_02073DA8
+ ldr r1, _02073EB0 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x28
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ ldr r0, _02073EB0 ; =0x000006F8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r2, sp, #0x8
+ str r0, [sp, #0x8]
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ str r0, [sp, #0xc]
+ strb r1, [r2, #0x8]
+ mov r1, #0x1
+ strb r1, [r2, #0x9]
+ mov r3, #0x3
+ strb r3, [r2, #0xa]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0xf
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0x30
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0xc0
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ add r2, r1, #0x0
+ mov r3, #0xe
+ bl FUN_0200CCA4
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x8
+ mov r1, #0x8
+ add r3, r2, #0x0
+ bl FUN_02001C14
+ ldr r1, _02073EB4 ; =0x000006FC
+ str r0, [r5, r1]
+ mov r0, #0xd
+ str r0, [r4, #0x0]
+ add sp, #0x14
+ pop {r3-r6, pc}
+ nop
+_02073EB0: .word 0x000006F8
+_02073EB4: .word 0x000006FC
+
+ thumb_func_start FUN_02073EB8
+FUN_02073EB8: ; 0x02073EB8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02073EE0 ; =0x000006FC
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02001C5C
+ ldr r0, _02073EE4 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ ldr r0, _02073EE8 ; =0x000005A4
+ mov r1, #0x3
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_02073EE0: .word 0x000006FC
+_02073EE4: .word 0x000006F8
+_02073EE8: .word 0x000005A4
+
+ thumb_func_start FUN_02073EEC
+FUN_02073EEC: ; 0x02073EEC
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r4, r1, #0x0
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ ldr r0, _02074044 ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _02074048 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ ldr r0, _0207404C ; =0x00000B25
+ ldrb r1, [r5, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r2, r5, r0
+ ldr r0, _02074050 ; =0x0000070C
+ ldrh r2, [r2, r0]
+ ldr r0, _02074054 ; =0x000005A4
+ cmp r2, #0x0
+ bne _02073F66
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r2, _02074058 ; =0x0000069C
+ add r6, r0, #0x0
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ mov r1, #0x51
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+ b _02074018
+_02073F66:
+ ldr r0, [r5, r0]
+ add r1, r2, #0x0
+ ldr r0, [r0, #0x4]
+ mov r2, #0x1
+ mov r3, #0xc
+ bl FUN_0206ED38
+ cmp r0, #0x1
+ bne _0207400A
+ ldr r0, _02074054 ; =0x000005A4
+ ldr r1, _0207404C ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ add r6, r0, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r6, #0x0
+ bl FUN_02069EC4
+ ldr r2, _02074058 ; =0x0000069C
+ mov r1, #0x52
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r2, _0207404C ; =0x00000B25
+ mov r3, #0x6a
+ ldrb r6, [r5, r2]
+ mov r2, #0x2c
+ lsl r3, r3, #0x4
+ mul r2, r6
+ ldr r0, [r5, r3]
+ add r2, r5, r2
+ add r3, #0x6c
+ ldrh r2, [r2, r3]
+ mov r1, #0x1
+ bl FUN_0200AE38
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r1, r2, #0x4
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r1, [r5, r1]
+ ldr r2, [r5, r2]
+ bl FUN_0200B7B8
+ ldr r1, _0207404C ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r3, [r5, r1]
+ mov r0, #0x0
+ add r6, r3, #0x0
+ mul r6, r2
+ ldr r3, _02074050 ; =0x0000070C
+ add r6, r5, r6
+ strh r0, [r6, r3]
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ mul r2, r1
+ add r2, r5, r2
+ ldrh r2, [r2, r3]
+ bl FUN_02073A78
+ b _02074018
+_0207400A:
+ ldr r2, _02074058 ; =0x0000069C
+ mov r1, #0x53
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+_02074018:
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ mov r2, #0xa
+ mov r3, #0xf
+ bl FUN_0200D0BC
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0xf
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_0207322C
+ mov r0, #0xf
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ nop
+_02074044: .word 0x000006FC
+_02074048: .word 0x000006F8
+_0207404C: .word 0x00000B25
+_02074050: .word 0x0000070C
+_02074054: .word 0x000005A4
+_02074058: .word 0x0000069C
+
+ thumb_func_start FUN_0207405C
+FUN_0207405C: ; 0x0207405C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _020740A0 ; =0x00000B24
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _0207409A
+ ldr r0, _020740A4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0207409A
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _020740A8 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r4, pc}
+_0207409A:
+ mov r0, #0xf
+ pop {r4, pc}
+ nop
+_020740A0: .word 0x00000B24
+_020740A4: .word 0x021C48B8
+_020740A8: .word 0x000005C8
+
+ thumb_func_start FUN_020740AC
+FUN_020740AC: ; 0x020740AC
+ push {r3-r6, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02073DB4
+ add r0, r5, #0x0
+ mov r1, #0x27
+ mov r2, #0x0
+ bl FUN_020731D4
+ mov r0, #0x3
+ mov r1, #0xc
+ bl FUN_02012838
+ ldr r1, _02074168 ; =0x000006F8
+ str r0, [r5, r1]
+ mov r0, #0x6
+ bl FUN_02073DA8
+ ldr r1, _02074168 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x34
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ mov r0, #0x7
+ bl FUN_02073DA8
+ ldr r1, _02074168 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x30
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ mov r0, #0x9
+ bl FUN_02073DA8
+ ldr r1, _02074168 ; =0x000006F8
+ add r2, r0, #0x0
+ ldr r0, [r5, r1]
+ sub r1, #0x28
+ ldr r1, [r5, r1]
+ bl FUN_020128A0
+ ldr r0, _02074168 ; =0x000006F8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r2, sp, #0x8
+ str r0, [sp, #0x8]
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ str r0, [sp, #0xc]
+ strb r1, [r2, #0x8]
+ mov r1, #0x1
+ strb r1, [r2, #0x9]
+ mov r3, #0x3
+ strb r3, [r2, #0xa]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0xf
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0x30
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ ldrb r6, [r2, #0xb]
+ mov r3, #0xc0
+ bic r6, r3
+ strb r6, [r2, #0xb]
+ add r2, r1, #0x0
+ mov r3, #0xe
+ bl FUN_0200CCA4
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x8
+ mov r1, #0x8
+ add r3, r2, #0x0
+ bl FUN_02001C14
+ ldr r1, _0207416C ; =0x000006FC
+ str r0, [r5, r1]
+ mov r0, #0xd
+ str r0, [r4, #0x0]
+ add sp, #0x14
+ pop {r3-r6, pc}
+ nop
+_02074168: .word 0x000006F8
+_0207416C: .word 0x000006FC
+
+ thumb_func_start FUN_02074170
+FUN_02074170: ; 0x02074170
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02074198 ; =0x000006FC
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02001C5C
+ ldr r0, _0207419C ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ ldr r0, _020741A0 ; =0x000005A4
+ mov r1, #0x7
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_02074198: .word 0x000006FC
+_0207419C: .word 0x000006F8
+_020741A0: .word 0x000005A4
+
+ thumb_func_start FUN_020741A4
+FUN_020741A4: ; 0x020741A4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r4, r1, #0x0
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ ldr r0, _020741EC ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _020741F0 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ add r0, r5, #0x0
+ mov r1, #0x2b
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020741F4 ; =FUN_02074200
+ ldr r1, _020741F8 ; =0x00000B18
+ ldr r2, _020741FC ; =FUN_02074278
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ nop
+_020741EC: .word 0x000006FC
+_020741F0: .word 0x000006F8
+_020741F4: .word FUN_02074200
+_020741F8: .word 0x00000B18
+_020741FC: .word FUN_02074278
+
+ thumb_func_start FUN_02074200
+FUN_02074200: ; 0x02074200
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _02074268 ; =0x000005A4
+ ldr r1, _0207426C ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r1, r0, #0x0
+ ldr r0, _02074268 ; =0x000005A4
+ mov r2, #0xc
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x8]
+ bl FUN_02085644
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _02074254
+ ldr r1, _0207426C ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r3, [r4, r1]
+ mov r0, #0x0
+ add r5, r3, #0x0
+ mul r5, r2
+ ldr r3, _02074270 ; =0x0000070C
+ add r5, r4, r5
+ strh r0, [r5, r3]
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ mul r2, r1
+ add r2, r4, r2
+ ldrh r2, [r2, r3]
+ bl FUN_02073A78
+ add r0, r4, #0x0
+ mov r1, #0x2e
+ mov r2, #0x0
+ bl FUN_020731E8
+ b _0207425E
+_02074254:
+ add r0, r4, #0x0
+ mov r1, #0x32
+ mov r2, #0x0
+ bl FUN_020731E8
+_0207425E:
+ ldr r0, _02074274 ; =0x00000B22
+ mov r1, #0x10
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_02074268: .word 0x000005A4
+_0207426C: .word 0x00000B25
+_02074270: .word 0x0000070C
+_02074274: .word 0x00000B22
+
+ thumb_func_start FUN_02074278
+FUN_02074278: ; 0x02074278
+ push {r4, lr}
+ mov r1, #0x2f
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207429C ; =FUN_020742A8
+ ldr r1, _020742A0 ; =0x00000B18
+ ldr r2, _020742A4 ; =FUN_02074340
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r4, r1]
+ mov r0, #0x14
+ pop {r4, pc}
+ nop
+_0207429C: .word FUN_020742A8
+_020742A0: .word 0x00000B18
+_020742A4: .word FUN_02074340
+
+ thumb_func_start FUN_020742A8
+FUN_020742A8: ; 0x020742A8
+ push {r3-r5, lr}
+ ldr r1, _02074330 ; =0x00000B25
+ add r4, r0, #0x0
+ ldrb r2, [r4, r1]
+ mov r1, #0x2c
+ ldr r0, _02074334 ; =0x000005A4
+ mul r1, r2
+ add r2, r4, r1
+ ldr r1, _02074338 ; =0x0000070C
+ ldr r0, [r4, r0]
+ ldrh r1, [r2, r1]
+ ldr r0, [r0, #0x4]
+ mov r2, #0x1
+ mov r3, #0xc
+ bl FUN_0206ED38
+ cmp r0, #0x1
+ bne _0207431A
+ ldr r0, _02074334 ; =0x000005A4
+ ldr r1, _02074330 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ add r5, r0, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02069EC4
+ ldr r1, _02074330 ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r3, [r4, r1]
+ mov r0, #0x0
+ add r5, r3, #0x0
+ mul r5, r2
+ ldr r3, _02074338 ; =0x0000070C
+ add r5, r4, r5
+ strh r0, [r5, r3]
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ mul r2, r1
+ add r2, r4, r2
+ ldrh r2, [r2, r3]
+ bl FUN_02073A78
+ add r0, r4, #0x0
+ mov r1, #0x33
+ mov r2, #0x0
+ bl FUN_020731E8
+ b _02074324
+_0207431A:
+ add r0, r4, #0x0
+ mov r1, #0x53
+ mov r2, #0x0
+ bl FUN_020731E8
+_02074324:
+ ldr r0, _0207433C ; =0x00000B22
+ mov r1, #0x10
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_02074330: .word 0x00000B25
+_02074334: .word 0x000005A4
+_02074338: .word 0x0000070C
+_0207433C: .word 0x00000B22
+
+ thumb_func_start FUN_02074340
+FUN_02074340: ; 0x02074340
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02074368 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_02074368: .word 0x000005C8
+
+ thumb_func_start FUN_0207436C
+FUN_0207436C: ; 0x0207436C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _020743A4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0207439E
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _020743A8 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r4, pc}
+_0207439E:
+ mov r0, #0x10
+ pop {r4, pc}
+ nop
+_020743A4: .word 0x021C48B8
+_020743A8: .word 0x000005C8
+
+ thumb_func_start FUN_020743AC
+FUN_020743AC: ; 0x020743AC
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, _0207440C ; =0x00000B25
+ add r5, r0, #0x0
+ ldrb r2, [r5, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, _02074410 ; =0x00000712
+ ldrh r2, [r2, r1]
+ cmp r2, #0x0
+ bne _020743E6
+ sub r1, #0x16
+ ldr r0, [r5, r1]
+ mov r1, #0x0
+ bl FUN_02001C5C
+ ldr r0, _02074414 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ ldr r0, _02074418 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+_020743E6:
+ bl FUN_02073DB4
+ add r0, r5, #0x0
+ mov r1, #0xc3
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207441C ; =FUN_02074428
+ ldr r1, _02074420 ; =0x00000B18
+ ldr r2, _02074424 ; =FUN_02074454
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_0207440C: .word 0x00000B25
+_02074410: .word 0x00000712
+_02074414: .word 0x000006F8
+_02074418: .word 0x000005A4
+_0207441C: .word FUN_02074428
+_02074420: .word 0x00000B18
+_02074424: .word FUN_02074454
+
+ thumb_func_start FUN_02074428
+FUN_02074428: ; 0x02074428
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207444C ; =0x000005A4
+ ldr r1, _02074450 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ bl FUN_0206AA84
+ ldr r0, _0207444C ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+ .balign 4
+_0207444C: .word 0x000005A4
+_02074450: .word 0x00000B25
+
+ thumb_func_start FUN_02074454
+FUN_02074454: ; 0x02074454
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _0207447C ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_0207447C: .word 0x000005C8
+
+ thumb_func_start FUN_02074480
+FUN_02074480: ; 0x02074480
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02074528 ; =0x00000B23
+ add r4, r1, #0x0
+ ldrb r2, [r5, r0]
+ mov r1, #0x40
+ orr r1, r2
+ strb r1, [r5, r0]
+ ldrb r1, [r5, r0]
+ mov r2, #0x3f
+ bic r1, r2
+ add r2, r0, #0x2
+ ldrb r3, [r5, r2]
+ mov r2, #0x3f
+ and r2, r3
+ orr r1, r2
+ strb r1, [r5, r0]
+ ldr r0, _0207452C ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ ldr r0, _0207452C ; =0x000005C8
+ add r1, sp, #0x0
+ ldr r0, [r5, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_0200C75C
+ ldr r0, _02074530 ; =0x000005CC
+ add r3, sp, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r5, r0]
+ bl FUN_0200C6E4
+ ldr r0, _02074534 ; =0x000005A4
+ ldr r1, _02074528 ; =0x00000B23
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _02074530 ; =0x000005CC
+ add r1, r1, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldr r0, _02074530 ; =0x000005CC
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r1, _02074528 ; =0x00000B23
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020709FC
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ bl FUN_02073DB4
+ add r0, r5, #0x0
+ mov r1, #0x1e
+ mov r2, #0x1
+ bl FUN_020731C0
+ mov r0, #0x18
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ nop
+_02074528: .word 0x00000B23
+_0207452C: .word 0x000005C8
+_02074530: .word 0x000005CC
+_02074534: .word 0x000005A4
+
+ thumb_func_start FUN_02074538
+FUN_02074538: ; 0x02074538
+ push {r4, lr}
+ ldr r1, _02074578 ; =0x00000B23
+ add r4, r0, #0x0
+ ldrb r2, [r4, r1]
+ mov r0, #0x40
+ bic r2, r0
+ strb r2, [r4, r1]
+ ldr r0, _0207457C ; =0x000005CC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _02074580 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ cmp r1, #0x6
+ bhs _0207455E
+ add r0, r4, #0x0
+ bl FUN_020709FC
+_0207455E:
+ ldr r1, _02074578 ; =0x00000B23
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020709FC
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ pop {r4, pc}
+ .balign 4
+_02074578: .word 0x00000B23
+_0207457C: .word 0x000005CC
+_02074580: .word 0x00000B25
+
+ thumb_func_start FUN_02074584
+FUN_02074584: ; 0x02074584
+ push {r3-r7, lr}
+ sub sp, #0x28
+ ldr r2, _020746AC ; =0x00000B25
+ add r6, r0, #0x0
+ ldrb r1, [r6, r2]
+ add r0, r2, #0x0
+ sub r0, #0x19
+ strb r1, [r6, r0]
+ sub r0, r2, #0x2
+ ldrb r0, [r6, r0]
+ add r3, r2, #0x0
+ sub r3, #0x13
+ lsl r0, r0, #0x1a
+ lsr r1, r0, #0x1a
+ add r0, r2, #0x0
+ sub r0, #0x18
+ strb r1, [r6, r0]
+ add r0, r2, #0x0
+ mov r1, #0x1
+ sub r0, #0x15
+ strb r1, [r6, r0]
+ mov r0, #0x0
+ strb r0, [r6, r3]
+ add r3, r2, #0x0
+ sub r3, #0x14
+ strb r0, [r6, r3]
+ add r3, r2, #0x0
+ sub r3, #0x19
+ ldrb r3, [r6, r3]
+ tst r3, r1
+ beq _020745C8
+ sub r2, #0x17
+ strb r1, [r6, r2]
+ b _020745CC
+_020745C8:
+ sub r2, #0x17
+ strb r0, [r6, r2]
+_020745CC:
+ ldr r0, _020746B0 ; =0x00000B0D
+ mov r1, #0x1
+ ldrb r2, [r6, r0]
+ tst r2, r1
+ beq _020745D8
+ b _020745DA
+_020745D8:
+ mov r1, #0x0
+_020745DA:
+ add r0, r0, #0x2
+ strb r1, [r6, r0]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x2
+ bl FUN_0201886C
+ str r0, [sp, #0x14]
+ ldr r0, [r6, #0x0]
+ mov r1, #0x1
+ bl FUN_0201886C
+ ldr r1, _020746B4 ; =0x00000B0C
+ str r0, [sp, #0x10]
+ ldrb r3, [r6, r1]
+ add r1, r1, #0x1
+ mov r2, #0x2c
+ add r0, r3, #0x0
+ ldrb r3, [r6, r1]
+ mul r0, r2
+ mov r4, #0x0
+ add r1, r3, #0x0
+ add r3, r6, r0
+ ldr r0, _020746B8 ; =0x00000715
+ mul r1, r2
+ ldrsb r2, [r3, r0]
+ str r2, [sp, #0xc]
+ sub r2, r0, #0x1
+ ldrsb r2, [r3, r2]
+ str r2, [sp, #0x8]
+ add r2, r6, r1
+ ldrsb r1, [r2, r0]
+ sub r0, r0, #0x1
+ ldrsb r0, [r2, r0]
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x0]
+ ldr r0, _020746BC ; =0x0000080C
+ add r0, r6, r0
+ str r0, [sp, #0x18]
+ ldr r0, _020746C0 ; =0x0000098C
+ add r0, r6, r0
+ str r0, [sp, #0x1c]
+ ldr r0, _020746C4 ; =0x000008CC
+ add r0, r6, r0
+ str r0, [sp, #0x20]
+ ldr r0, _020746C8 ; =0x00000A4C
+ add r0, r6, r0
+ str r0, [sp, #0x24]
+_02074638:
+ ldr r0, [sp, #0xc]
+ lsl r5, r4, #0x5
+ add r0, r0, r4
+ lsl r1, r0, #0x5
+ ldr r0, [sp, #0x8]
+ mov r2, #0x20
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x14]
+ add r0, r0, r5
+ add r1, r1, r7
+ bl memcpy
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x10]
+ add r0, r0, r5
+ add r1, r1, r7
+ mov r2, #0x20
+ bl memcpy
+ ldr r0, [sp, #0x4]
+ mov r2, #0x20
+ add r0, r0, r4
+ lsl r1, r0, #0x5
+ ldr r0, [sp, #0x0]
+ add r0, r0, r1
+ lsl r7, r0, #0x1
+ ldr r0, [sp, #0x20]
+ ldr r1, [sp, #0x14]
+ add r0, r0, r5
+ add r1, r1, r7
+ bl memcpy
+ ldr r0, [sp, #0x24]
+ ldr r1, [sp, #0x10]
+ add r0, r0, r5
+ add r1, r1, r7
+ mov r2, #0x20
+ bl memcpy
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x6
+ blo _02074638
+ ldr r0, _020746CC ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r6, r0]
+ bl FUN_020200A0
+ ldr r0, _020746D0 ; =0x000005CC
+ mov r1, #0x0
+ ldr r0, [r6, r0]
+ bl FUN_020200A0
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+_020746AC: .word 0x00000B25
+_020746B0: .word 0x00000B0D
+_020746B4: .word 0x00000B0C
+_020746B8: .word 0x00000715
+_020746BC: .word 0x0000080C
+_020746C0: .word 0x0000098C
+_020746C4: .word 0x000008CC
+_020746C8: .word 0x00000A4C
+_020746CC: .word 0x000005C8
+_020746D0: .word 0x000005CC
+
+ thumb_func_start FUN_020746D4
+FUN_020746D4: ; 0x020746D4
+ push {r3-r5, lr}
+ ldr r1, _02074828 ; =0x0000080C
+ add r5, r0, #0x0
+ ldr r2, _0207482C ; =0x00000305
+ add r4, r5, r1
+ ldrb r1, [r4, r2]
+ cmp r1, #0x4
+ bls _020746E6
+ b _02074822
+_020746E6:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020746F2: ; jump table (using 16-bit offset)
+ .short _020746FC - _020746F2 - 2; case 0
+ .short _0207470C - _020746F2 - 2; case 1
+ .short _0207475C - _020746F2 - 2; case 2
+ .short _02074770 - _020746F2 - 2; case 3
+ .short _020747CE - _020746F2 - 2; case 4
+_020746FC:
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ bl FUN_020054C8
+ ldr r0, _0207482C ; =0x00000305
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _02074822
+_0207470C:
+ add r1, r2, #0x1
+ ldrb r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r4, r1]
+ mov r1, #0x0
+ bl FUN_02074848
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02074848
+ ldr r2, _02074830 ; =0x00000302
+ add r0, r5, #0x0
+ ldrb r2, [r4, r2]
+ mov r1, #0x0
+ bl FUN_0207499C
+ ldr r2, _02074834 ; =0x00000303
+ add r0, r5, #0x0
+ ldrb r2, [r4, r2]
+ mov r1, #0x1
+ bl FUN_0207499C
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ ldr r0, _02074838 ; =0x00000306
+ ldrb r1, [r4, r0]
+ cmp r1, #0x10
+ bne _02074822
+ mov r1, #0x2
+ sub r0, r0, #0x1
+ strb r1, [r4, r0]
+ b _02074822
+_0207475C:
+ bl FUN_02074AF4
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ bl FUN_020054C8
+ ldr r0, _0207482C ; =0x00000305
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _02074822
+_02074770:
+ add r1, r2, #0x1
+ ldrb r1, [r4, r1]
+ sub r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r4, r1]
+ mov r1, #0x0
+ bl FUN_02074848
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02074848
+ ldr r2, _02074830 ; =0x00000302
+ add r0, r5, #0x0
+ ldrb r3, [r4, r2]
+ mov r2, #0x1
+ mov r1, #0x0
+ eor r2, r3
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_0207499C
+ ldr r2, _02074834 ; =0x00000303
+ mov r1, #0x1
+ ldrb r2, [r4, r2]
+ add r0, r5, #0x0
+ eor r2, r1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_0207499C
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ ldr r0, _02074838 ; =0x00000306
+ ldrb r1, [r4, r0]
+ cmp r1, #0x0
+ bne _02074822
+ mov r1, #0x4
+ sub r0, r0, #0x1
+ strb r1, [r4, r0]
+ b _02074822
+_020747CE:
+ ldr r0, _0207483C ; =0x000005A4
+ sub r1, r2, #0x5
+ ldr r0, [r5, r0]
+ sub r2, r2, #0x4
+ ldrb r1, [r4, r1]
+ ldrb r2, [r4, r2]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206BA38
+ ldr r0, _02074840 ; =0x000005C8
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0xc1
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ strb r1, [r4, r0]
+ ldr r1, _02074844 ; =0x00000B23
+ mov r0, #0x40
+ ldrb r2, [r5, r1]
+ bic r2, r0
+ strb r2, [r5, r1]
+ add r1, r1, #0x2
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_020709FC
+ ldr r1, _02074844 ; =0x00000B23
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020709FC
+ add r0, r5, #0x0
+ mov r1, #0x1d
+ mov r2, #0x0
+ bl FUN_020731C0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02074822:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_02074828: .word 0x0000080C
+_0207482C: .word 0x00000305
+_02074830: .word 0x00000302
+_02074834: .word 0x00000303
+_02074838: .word 0x00000306
+_0207483C: .word 0x000005A4
+_02074840: .word 0x000005C8
+_02074844: .word 0x00000B23
+
+ thumb_func_start FUN_02074848
+FUN_02074848: ; 0x02074848
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ ldr r0, _02074990 ; =0x0000080C
+ str r1, [sp, #0x1c]
+ ldr r1, [sp, #0x1c]
+ add r4, r5, r0
+ add r2, r4, r1
+ mov r1, #0x3
+ lsl r1, r1, #0x8
+ ldrb r2, [r2, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r5, r1
+ add r1, r0, #0x0
+ sub r1, #0xf8
+ ldrsb r7, [r2, r1]
+ sub r0, #0xf7
+ ldrb r6, [r2, r0]
+ lsl r0, r7, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x20]
+ str r6, [sp, #0x0]
+ mov r1, #0x10
+ str r1, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r0, [r5, #0x0]
+ ldr r3, [sp, #0x20]
+ mov r1, #0x2
+ mov r2, #0x0
+ bl FUN_02018540
+ str r6, [sp, #0x0]
+ mov r1, #0x10
+ str r1, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r0, [r5, #0x0]
+ ldr r3, [sp, #0x20]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_02018540
+ ldr r0, [sp, #0x1c]
+ add r1, r4, r0
+ ldr r0, _02074994 ; =0x00000302
+ ldrb r1, [r1, r0]
+ cmp r1, #0x0
+ bne _02074918
+ add r0, r0, #0x4
+ ldrb r2, [r4, r0]
+ ldr r0, [sp, #0x1c]
+ mov r3, #0x10
+ add r7, r0, #0x0
+ sub r0, r3, r2
+ lsl r0, r0, #0x18
+ mov r1, #0xc0
+ lsr r0, r0, #0x18
+ mul r7, r1
+ str r0, [sp, #0x0]
+ mov r1, #0x6
+ str r1, [sp, #0x4]
+ add r0, r4, r7
+ str r0, [sp, #0x8]
+ str r2, [sp, #0xc]
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ str r3, [sp, #0x14]
+ str r1, [sp, #0x18]
+ ldr r0, [r5, #0x0]
+ ldr r2, [sp, #0x20]
+ mov r1, #0x2
+ add r3, r6, #0x0
+ bl FUN_02018170
+ ldr r0, _02074998 ; =0x00000306
+ mov r3, #0x10
+ ldrb r2, [r4, r0]
+ mov r1, #0x6
+ sub r0, r3, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ lsl r0, r1, #0x6
+ add r0, r4, r0
+ str r1, [sp, #0x4]
+ add r0, r0, r7
+ str r0, [sp, #0x8]
+ str r2, [sp, #0xc]
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ str r3, [sp, #0x14]
+ str r1, [sp, #0x18]
+ ldr r0, [r5, #0x0]
+ ldr r2, [sp, #0x20]
+ mov r1, #0x1
+ add r3, r6, #0x0
+ bl FUN_02018170
+ add sp, #0x28
+ pop {r3-r7, pc}
+_02074918:
+ ldr r1, [sp, #0x1c]
+ mov r2, #0xc0
+ mul r2, r1
+ str r2, [sp, #0x24]
+ add r0, r0, #0x4
+ ldrb r2, [r4, r0]
+ mov r3, #0x10
+ ldr r1, [sp, #0x24]
+ sub r0, r3, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ add r1, r4, r1
+ str r1, [sp, #0x8]
+ mov r1, #0x0
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ str r3, [sp, #0x14]
+ add r2, r7, r2
+ str r0, [sp, #0x18]
+ lsl r2, r2, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x18
+ add r3, r6, #0x0
+ bl FUN_02018170
+ ldr r0, _02074998 ; =0x00000306
+ ldrb r2, [r4, r0]
+ mov r0, #0x10
+ sub r0, r0, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ lsl r1, r0, #0x6
+ add r3, r4, r1
+ ldr r1, [sp, #0x24]
+ add r2, r7, r2
+ add r1, r3, r1
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ mov r1, #0x0
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x10]
+ mov r1, #0x10
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x18]
+ lsl r2, r2, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ lsr r2, r2, #0x18
+ add r3, r6, #0x0
+ bl FUN_02018170
+ add sp, #0x28
+ pop {r3-r7, pc}
+ nop
+_02074990: .word 0x0000080C
+_02074994: .word 0x00000302
+_02074998: .word 0x00000306
+
+ thumb_func_start FUN_0207499C
+FUN_0207499C: ; 0x0207499C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _02074AE0 ; =0x0000080C
+ add r4, r1, #0x0
+ add r1, r5, r0
+ mov r0, #0x3
+ lsl r0, r0, #0x8
+ add r6, r1, r0
+ ldrb r0, [r6, r4]
+ add r7, r2, #0x0
+ add r2, sp, #0x0
+ lsl r0, r0, #0x2
+ add r1, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ add r1, sp, #0x0
+ add r1, #0x2
+ bl FUN_0200C75C
+ cmp r7, #0x0
+ ldr r0, _02074AE4 ; =0x00000716
+ bne _02074A04
+ ldrb r3, [r6, r4]
+ mov r7, #0x2c
+ add r2, r5, r0
+ add r1, r3, #0x0
+ mul r1, r7
+ ldrsh r3, [r2, r1]
+ sub r3, #0x8
+ strh r3, [r2, r1]
+ ldrb r3, [r6, r4]
+ add r1, r0, #0x4
+ add r2, r5, r1
+ add r1, r3, #0x0
+ mul r1, r7
+ ldrsh r3, [r2, r1]
+ add r0, #0x8
+ add r0, r5, r0
+ sub r3, #0x8
+ strh r3, [r2, r1]
+ ldrb r1, [r6, r4]
+ add r2, r1, #0x0
+ mul r2, r7
+ ldrsh r1, [r0, r2]
+ sub r1, #0x8
+ strh r1, [r0, r2]
+ add r1, sp, #0x0
+ mov r0, #0x2
+ ldrsh r0, [r1, r0]
+ sub r0, #0x8
+ b _02074A3C
+_02074A04:
+ ldrb r3, [r6, r4]
+ mov r7, #0x2c
+ add r2, r5, r0
+ add r1, r3, #0x0
+ mul r1, r7
+ ldrsh r3, [r2, r1]
+ add r3, #0x8
+ strh r3, [r2, r1]
+ ldrb r3, [r6, r4]
+ add r1, r0, #0x4
+ add r2, r5, r1
+ add r1, r3, #0x0
+ mul r1, r7
+ ldrsh r3, [r2, r1]
+ add r0, #0x8
+ add r0, r5, r0
+ add r3, #0x8
+ strh r3, [r2, r1]
+ ldrb r1, [r6, r4]
+ add r2, r1, #0x0
+ mul r2, r7
+ ldrsh r1, [r0, r2]
+ add r1, #0x8
+ strh r1, [r0, r2]
+ add r1, sp, #0x0
+ mov r0, #0x2
+ ldrsh r0, [r1, r0]
+ add r0, #0x8
+_02074A3C:
+ strh r0, [r1, #0x2]
+ ldrb r1, [r6, r4]
+ mov r0, #0x2c
+ ldr r2, _02074AE8 ; =0x00000724
+ mul r0, r1
+ add r3, r5, r0
+ add r1, r2, #0x0
+ ldr r0, [r3, r2]
+ sub r1, #0xe
+ sub r2, #0xc
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ bl FUN_0200C6E4
+ ldrb r2, [r6, r4]
+ mov r0, #0x2c
+ ldr r3, _02074AEC ; =0x0000071A
+ add r1, r2, #0x0
+ add r2, #0xa
+ mul r1, r0
+ lsl r0, r2, #0x2
+ add r2, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r2, r0]
+ add r2, r5, r1
+ ldrsh r1, [r2, r3]
+ add r3, r3, #0x2
+ ldrsh r2, [r2, r3]
+ bl FUN_0200C6E4
+ ldrb r2, [r6, r4]
+ mov r0, #0x2c
+ ldr r3, _02074AF0 ; =0x0000071E
+ add r1, r2, #0x0
+ add r2, #0x10
+ mul r1, r0
+ lsl r0, r2, #0x2
+ add r2, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r2, r0]
+ add r2, r5, r1
+ ldrsh r1, [r2, r3]
+ add r3, r3, #0x2
+ ldrsh r2, [r2, r3]
+ bl FUN_0200C6E4
+ ldrb r2, [r6, r4]
+ mov r0, #0x2c
+ ldr r3, _02074AF0 ; =0x0000071E
+ add r1, r2, #0x0
+ add r2, #0x16
+ mul r1, r0
+ lsl r0, r2, #0x2
+ add r2, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r2, r0]
+ add r2, r5, r1
+ ldrsh r1, [r2, r3]
+ add r3, r3, #0x2
+ ldrsh r2, [r2, r3]
+ add r1, #0x8
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ bl FUN_0200C6E4
+ ldrb r0, [r6, r4]
+ add r3, sp, #0x0
+ mov r2, #0x0
+ lsl r0, r0, #0x2
+ add r1, r5, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ mov r1, #0x2
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ bl FUN_0200C6E4
+ pop {r3-r7, pc}
+ .balign 4
+_02074AE0: .word 0x0000080C
+_02074AE4: .word 0x00000716
+_02074AE8: .word 0x00000724
+_02074AEC: .word 0x0000071A
+_02074AF0: .word 0x0000071E
+
+ thumb_func_start FUN_02074AF4
+FUN_02074AF4: ; 0x02074AF4
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r5, r0, #0x0
+ ldr r0, _02074DD0 ; =0x0000080C
+ mov r1, #0x2c
+ add r4, r5, r0
+ mov r0, #0xc
+ bl FUN_02016998
+ add r7, r0, #0x0
+ mov r0, #0x3
+ lsl r0, r0, #0x8
+ ldrb r1, [r4, r0]
+ mov r0, #0x2c
+ add r3, r7, #0x0
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0x7
+ lsl r0, r0, #0x8
+ add r6, r1, r0
+ mov r2, #0x5
+_02074B1E:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02074B1E
+ ldr r0, [r6, #0x0]
+ mov r1, #0x3
+ lsl r1, r1, #0x8
+ str r0, [r3, #0x0]
+ ldrb r0, [r4, r1]
+ add r1, r1, #0x1
+ ldrb r1, [r4, r1]
+ mov r2, #0x2c
+ add r3, r0, #0x0
+ mul r3, r2
+ mul r2, r1
+ mov r1, #0x7
+ add r0, r5, r3
+ lsl r1, r1, #0x8
+ add r2, r5, r2
+ add r6, r2, r1
+ add r3, r0, r1
+ mov r2, #0x5
+_02074B4A:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02074B4A
+ ldr r0, [r6, #0x0]
+ add r6, r7, #0x0
+ str r0, [r3, #0x0]
+ ldr r0, _02074DD4 ; =0x00000301
+ mov r2, #0x5
+ ldrb r1, [r4, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r5, r0
+ mov r0, #0x7
+ lsl r0, r0, #0x8
+ add r3, r1, r0
+_02074B6A:
+ ldmia r6!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02074B6A
+ ldr r0, [r6, #0x0]
+ add r1, r7, #0x0
+ str r0, [r3, #0x0]
+ mov r0, #0xc
+ bl FUN_02016A8C
+ mov r1, #0x3
+ lsl r1, r1, #0x8
+ ldrb r3, [r4, r1]
+ ldr r0, _02074DD8 ; =0x00000716
+ add r2, r5, r0
+ mov r0, #0x2c
+ add r7, r3, #0x0
+ mul r7, r0
+ ldrsh r3, [r2, r7]
+ str r3, [sp, #0x0]
+ add r3, r1, #0x1
+ ldrb r3, [r4, r3]
+ add r6, r3, #0x0
+ mul r6, r0
+ ldr r3, _02074DD8 ; =0x00000716
+ add r6, r5, r6
+ ldrsh r3, [r6, r3]
+ strh r3, [r2, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r6, r5, r3
+ ldr r3, [sp, #0x0]
+ ldr r2, _02074DD8 ; =0x00000716
+ strh r3, [r6, r2]
+ add r2, r2, #0x2
+ add r3, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsh r2, [r3, r7]
+ str r2, [sp, #0x4]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r6, r2, #0x0
+ mul r6, r0
+ add r2, r5, r6
+ ldr r6, _02074DD8 ; =0x00000716
+ add r6, r6, #0x2
+ ldrsh r2, [r2, r6]
+ strh r2, [r3, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ add r6, r3, #0x2
+ ldr r3, [sp, #0x4]
+ strh r3, [r2, r6]
+ ldr r2, _02074DD8 ; =0x00000716
+ add r2, r2, #0x4
+ add r3, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsh r2, [r3, r7]
+ str r2, [sp, #0x8]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r6, r2, #0x0
+ mul r6, r0
+ add r2, r5, r6
+ ldr r6, _02074DD8 ; =0x00000716
+ add r6, r6, #0x4
+ ldrsh r2, [r2, r6]
+ strh r2, [r3, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ add r6, r3, #0x4
+ ldr r3, [sp, #0x8]
+ strh r3, [r2, r6]
+ ldr r2, _02074DD8 ; =0x00000716
+ add r2, r2, #0x6
+ add r3, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsh r2, [r3, r7]
+ str r2, [sp, #0xc]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r6, r2, #0x0
+ mul r6, r0
+ add r2, r5, r6
+ ldr r6, _02074DD8 ; =0x00000716
+ add r6, r6, #0x6
+ ldrsh r2, [r2, r6]
+ strh r2, [r3, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ add r6, r3, #0x6
+ ldr r3, [sp, #0xc]
+ strh r3, [r2, r6]
+ ldr r2, _02074DD8 ; =0x00000716
+ add r2, #0x8
+ add r6, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsh r2, [r6, r7]
+ str r2, [sp, #0x10]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ add r3, #0x8
+ ldrsh r2, [r2, r3]
+ strh r2, [r6, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r6, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ ldr r2, [sp, #0x10]
+ add r3, #0x8
+ strh r2, [r6, r3]
+ ldr r2, _02074DD8 ; =0x00000716
+ add r2, #0xa
+ add r6, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsh r2, [r6, r7]
+ str r2, [sp, #0x14]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ add r3, #0xa
+ ldrsh r2, [r2, r3]
+ strh r2, [r6, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r6, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ ldr r2, [sp, #0x14]
+ add r3, #0xa
+ strh r2, [r6, r3]
+ ldr r2, _02074DD8 ; =0x00000716
+ sub r2, r2, #0x2
+ add r3, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsb r2, [r3, r7]
+ str r2, [sp, #0x18]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r6, r2, #0x0
+ mul r6, r0
+ add r2, r5, r6
+ ldr r6, _02074DD8 ; =0x00000716
+ sub r6, r6, #0x2
+ ldrsb r2, [r2, r6]
+ strb r2, [r3, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ mul r3, r0
+ add r2, r5, r3
+ ldr r3, _02074DD8 ; =0x00000716
+ sub r6, r3, #0x2
+ ldr r3, [sp, #0x18]
+ strb r3, [r2, r6]
+ ldr r2, _02074DD8 ; =0x00000716
+ sub r2, r2, #0x1
+ add r6, r5, r2
+ ldrb r2, [r4, r1]
+ add r7, r2, #0x0
+ mul r7, r0
+ ldrsb r2, [r6, r7]
+ mov r12, r2
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ add r3, r2, #0x0
+ ldr r2, _02074DD8 ; =0x00000716
+ mul r3, r0
+ add r3, r5, r3
+ sub r2, r2, #0x1
+ ldrsb r2, [r3, r2]
+ strb r2, [r6, r7]
+ add r2, r1, #0x1
+ ldrb r2, [r4, r2]
+ mul r0, r2
+ ldr r2, _02074DD8 ; =0x00000716
+ add r0, r5, r0
+ sub r3, r2, #0x1
+ mov r2, r12
+ strb r2, [r0, r3]
+ ldrb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02072D1C
+ ldr r1, _02074DD4 ; =0x00000301
+ add r0, r5, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072D1C
+ mov r1, #0x3
+ lsl r1, r1, #0x8
+ ldrb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02072E14
+ ldr r1, _02074DD4 ; =0x00000301
+ add r0, r5, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072E14
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02074DE4
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02074DE4
+ mov r0, #0x3
+ lsl r0, r0, #0x8
+ ldrb r1, [r4, r0]
+ mov r2, #0x2c
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02074DDC ; =0x0000070E
+ ldrh r2, [r3, r2]
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ ldr r0, _02074DD4 ; =0x00000301
+ mov r2, #0x2c
+ ldrb r1, [r4, r0]
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02074DDC ; =0x0000070E
+ ldrh r2, [r3, r2]
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ mov r0, #0x3
+ lsl r0, r0, #0x8
+ ldrb r1, [r4, r0]
+ mov r2, #0x2c
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02074DE0 ; =0x0000070C
+ ldrh r2, [r3, r2]
+ bl FUN_02073A78
+ ldr r0, _02074DD4 ; =0x00000301
+ mov r2, #0x2c
+ ldrb r1, [r4, r0]
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02074DE0 ; =0x0000070C
+ ldrh r2, [r3, r2]
+ bl FUN_02073A78
+ mov r1, #0x3
+ lsl r1, r1, #0x8
+ ldrb r1, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_02073B3C
+ ldr r1, _02074DD4 ; =0x00000301
+ add r0, r5, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02073B3C
+ add sp, #0x1c
+ pop {r4-r7, pc}
+ .balign 4
+_02074DD0: .word 0x0000080C
+_02074DD4: .word 0x00000301
+_02074DD8: .word 0x00000716
+_02074DDC: .word 0x0000070E
+_02074DE0: .word 0x0000070C
+
+ thumb_func_start FUN_02074DE4
+FUN_02074DE4: ; 0x02074DE4
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ ldr r1, _02074E6C ; =0x0000080C
+ add r6, r0, #0x0
+ add r4, r6, r1
+ mov r1, #0xc0
+ mul r1, r7
+ add r5, r4, r1
+ bl FUN_020703BC
+ add r3, r0, #0x0
+ mov r0, #0x3
+ add r1, r4, r7
+ lsl r0, r0, #0x8
+ ldrb r1, [r1, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r6, r0
+ mov r0, #0x71
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02074E3C
+ mov r3, #0xf
+ mov r1, #0x0
+ lsl r3, r3, #0xc
+ mov r4, #0x17
+_02074E1A:
+ lsl r0, r1, #0x1
+ add r2, r5, r0
+ add r2, #0x6c
+ ldrh r2, [r2, #0x0]
+ add r0, r5, r0
+ add r0, #0x6c
+ and r2, r3
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ orr r2, r4
+ strh r2, [r0, #0x0]
+ add r0, r1, #0x1
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ cmp r1, #0x9
+ blo _02074E1A
+ pop {r3-r7, pc}
+_02074E3C:
+ mov r6, #0xf
+ ldr r0, _02074E70 ; =0x00000FFF
+ mov r4, #0x0
+ lsl r6, r6, #0xc
+_02074E44:
+ lsl r2, r4, #0x1
+ add r1, r5, r2
+ add r1, #0x6c
+ ldrh r1, [r1, #0x0]
+ ldrh r7, [r3, r2]
+ and r1, r6
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ and r7, r0
+ orr r7, r1
+ add r1, r5, r2
+ add r1, #0x6c
+ strh r7, [r1, #0x0]
+ add r1, r4, #0x1
+ lsl r1, r1, #0x10
+ lsr r4, r1, #0x10
+ cmp r4, #0x9
+ blo _02074E44
+ pop {r3-r7, pc}
+ nop
+_02074E6C: .word 0x0000080C
+_02074E70: .word 0x00000FFF
+
+ thumb_func_start FUN_02074E74
+FUN_02074E74: ; 0x02074E74
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r6, r1, #0x0
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ bl FUN_02073DB4
+ ldr r0, _02074F5C ; =0x000005A4
+ mov r4, #0x0
+ ldr r0, [r5, r0]
+ add r1, r0, #0x0
+ add r1, #0x32
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1c
+ beq _02074EFA
+_02074E9E:
+ add r2, r0, r4
+ add r2, #0x2c
+ ldrb r2, [r2, #0x0]
+ cmp r2, #0x0
+ bne _02074EF0
+ ldr r1, _02074F60 ; =0x00000B25
+ add r0, r0, r4
+ ldrb r2, [r5, r1]
+ add r0, #0x2c
+ add r2, r2, #0x1
+ strb r2, [r0, #0x0]
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_02073024
+ add r0, r5, #0x0
+ mov r1, #0x22
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02074F64 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ ldr r0, _02074F5C ; =0x000005A4
+ ldr r0, [r5, r0]
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ sub r0, r0, #0x1
+ cmp r4, r0
+ bne _02074EEA
+ add r0, r5, #0x0
+ mov r1, #0x6
+ bl FUN_02070E60
+_02074EEA:
+ mov r0, #0x1
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+_02074EF0:
+ add r2, r4, #0x1
+ lsl r2, r2, #0x18
+ lsr r4, r2, #0x18
+ cmp r4, r1
+ blo _02074E9E
+_02074EFA:
+ cmp r1, #0x5
+ bhi _02074F50
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02074F0A: ; jump table (using 16-bit offset)
+ .short _02074F50 - _02074F0A - 2; case 0
+ .short _02074F16 - _02074F0A - 2; case 1
+ .short _02074F22 - _02074F0A - 2; case 2
+ .short _02074F2E - _02074F0A - 2; case 3
+ .short _02074F3A - _02074F0A - 2; case 4
+ .short _02074F46 - _02074F0A - 2; case 5
+_02074F16:
+ add r0, r5, #0x0
+ mov r1, #0x7b
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F22:
+ add r0, r5, #0x0
+ mov r1, #0x64
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F2E:
+ add r0, r5, #0x0
+ mov r1, #0x7c
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F3A:
+ add r0, r5, #0x0
+ mov r1, #0x7d
+ mov r2, #0x1
+ bl FUN_020731E8
+ b _02074F50
+_02074F46:
+ add r0, r5, #0x0
+ mov r1, #0x7e
+ mov r2, #0x1
+ bl FUN_020731E8
+_02074F50:
+ ldr r0, _02074F68 ; =0x00000B22
+ mov r1, #0x13
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+ .balign 4
+_02074F5C: .word 0x000005A4
+_02074F60: .word 0x00000B25
+_02074F64: .word 0x000005C8
+_02074F68: .word 0x00000B22
+
+ thumb_func_start FUN_02074F6C
+FUN_02074F6C: ; 0x02074F6C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02074FA4 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02074F9E
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x22
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02074FA8 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+ pop {r4, pc}
+_02074F9E:
+ mov r0, #0x13
+ pop {r4, pc}
+ nop
+_02074FA4: .word 0x021C48B8
+_02074FA8: .word 0x000005C8
+
+ thumb_func_start FUN_02074FAC
+FUN_02074FAC: ; 0x02074FAC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _02075080 ; =0x000005A4
+ str r1, [sp, #0x0]
+ ldr r1, [r5, r0]
+ mov r4, #0x0
+ add r0, r1, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x1c
+ beq _0207502C
+ ldr r0, _02075084 ; =0x00000B25
+ ldrb r0, [r5, r0]
+ add r0, r0, #0x1
+_02074FCA:
+ add r3, r1, r4
+ add r3, #0x2c
+ ldrb r3, [r3, #0x0]
+ cmp r0, r3
+ bne _02075022
+ add r0, r1, r4
+ mov r2, #0x0
+ add r0, #0x2c
+ strb r2, [r0, #0x0]
+ ldr r0, _02075080 ; =0x000005A4
+ ldr r6, [r5, r0]
+ add r0, r6, #0x0
+ add r0, #0x32
+ ldrb r0, [r0, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ sub r0, r0, #0x1
+ cmp r4, r0
+ bge _0207502C
+ ldr r0, _02075080 ; =0x000005A4
+ add r1, r0, #0x0
+_02074FF4:
+ add r3, r6, r4
+ add r3, #0x2d
+ ldrb r3, [r3, #0x0]
+ add r6, r6, r4
+ add r6, #0x2c
+ strb r3, [r6, #0x0]
+ ldr r3, [r5, r0]
+ add r3, r3, r4
+ add r3, #0x2d
+ strb r2, [r3, #0x0]
+ add r3, r4, #0x1
+ lsl r3, r3, #0x18
+ ldr r6, [r5, r1]
+ lsr r4, r3, #0x18
+ add r3, r6, #0x0
+ add r3, #0x32
+ ldrb r3, [r3, #0x0]
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x1c
+ sub r3, r3, #0x1
+ cmp r4, r3
+ blt _02074FF4
+ b _0207502C
+_02075022:
+ add r3, r4, #0x1
+ lsl r3, r3, #0x18
+ lsr r4, r3, #0x18
+ cmp r4, r2
+ blo _02074FCA
+_0207502C:
+ ldr r6, _02075088 ; =0x00000729
+ mov r4, #0x0
+ mov r7, #0x2c
+_02075032:
+ add r0, r4, #0x0
+ mul r0, r7
+ add r0, r5, r0
+ ldrb r0, [r0, r6]
+ cmp r0, #0x0
+ beq _02075046
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02073024
+_02075046:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _02075032
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ bl FUN_02073DB4
+ add r0, r5, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _0207508C ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200C664
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ pop {r3-r7, pc}
+ nop
+_02075080: .word 0x000005A4
+_02075084: .word 0x00000B25
+_02075088: .word 0x00000729
+_0207508C: .word 0x000005C8
+
+ thumb_func_start FUN_02075090
+FUN_02075090: ; 0x02075090
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _020750B8 ; =0x000005A4
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020750BC ; =0x000006FC
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _020750C0 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ mov r0, #0x1b
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ nop
+_020750B8: .word 0x000005A4
+_020750BC: .word 0x000006FC
+_020750C0: .word 0x000006F8
+
+ thumb_func_start FUN_020750C4
+FUN_020750C4: ; 0x020750C4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _020750EC ; =0x000005A4
+ add r4, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020750F0 ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _020750F4 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ mov r0, #0x1b
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+ .balign 4
+_020750EC: .word 0x000005A4
+_020750F0: .word 0x000006FC
+_020750F4: .word 0x000006F8
+
+ thumb_func_start FUN_020750F8
+FUN_020750F8: ; 0x020750F8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02073DB4
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r5, #0x0
+ bl FUN_02075118
+ str r0, [r4, #0x0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02075118
+FUN_02075118: ; 0x02075118
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02075190 ; =0x000005A4
+ ldr r1, _02075194 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa1
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ ldr r2, _02075198 ; =0x0000069C
+ bne _0207515C
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ mov r1, #0x81
+ bl FUN_0200A8E0
+ ldr r0, _02075194 ; =0x00000B25
+ ldrb r0, [r4, r0]
+ add r0, #0x16
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ mov r0, #0x5b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ b _0207516E
+_0207515C:
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ mov r1, #0x82
+ bl FUN_0200A8E0
+ ldr r0, _02075194 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+_0207516E:
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02075190 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _0207519C ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ pop {r4, pc}
+ nop
+_02075190: .word 0x000005A4
+_02075194: .word 0x00000B25
+_02075198: .word 0x0000069C
+_0207519C: .word 0x00000B22
+
+ thumb_func_start FUN_020751A0
+FUN_020751A0: ; 0x020751A0
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ add r4, r0, #0x0
+ ldr r1, _02075234 ; =0x000005A4
+ mov r0, #0x1
+ ldr r1, [r4, r1]
+ add r1, #0x23
+ ldrb r1, [r1, #0x0]
+ sub r1, #0xb
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_02063948
+ add r1, r0, #0x0
+ beq _020751C8
+ ldr r0, _02075234 ; =0x000005A4
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x18]
+ blx r1
+ b _020751CA
+_020751C8:
+ mov r0, #0x1
+_020751CA:
+ cmp r0, #0x4
+ bhi _0207520A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020751DA: ; jump table (using 16-bit offset)
+ .short _020751E4 - _020751DA - 2; case 0
+ .short _020751FC - _020751DA - 2; case 1
+ .short _02075200 - _020751DA - 2; case 2
+ .short _02075204 - _020751DA - 2; case 3
+ .short _02075208 - _020751DA - 2; case 4
+_020751E4:
+ ldr r0, _02075238 ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_02001C5C
+ ldr r0, _0207523C ; =0x000006F8
+ ldr r0, [r4, r0]
+ bl FUN_02012870
+ mov r0, #0x1b
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+_020751FC:
+ mov r5, #0x68
+ b _0207520A
+_02075200:
+ mov r5, #0x4c
+ b _0207520A
+_02075204:
+ mov r5, #0xc4
+ b _0207520A
+_02075208:
+ mov r5, #0x66
+_0207520A:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ bl FUN_02073DB4
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02075240 ; =0x00000B22
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+ nop
+_02075234: .word 0x000005A4
+_02075238: .word 0x000006FC
+_0207523C: .word 0x000006F8
+_02075240: .word 0x00000B22
+
+ thumb_func_start FUN_02075244
+FUN_02075244: ; 0x02075244
+ ldr r2, _02075254 ; =0x000005A4
+ mov r3, #0xb
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075258 ; =FUN_020751A0
+ bx r3
+ nop
+_02075254: .word 0x000005A4
+_02075258: .word FUN_020751A0
+
+ thumb_func_start FUN_0207525C
+FUN_0207525C: ; 0x0207525C
+ ldr r2, _0207526C ; =0x000005A4
+ mov r3, #0x10
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075270 ; =FUN_020751A0
+ bx r3
+ nop
+_0207526C: .word 0x000005A4
+_02075270: .word FUN_020751A0
+
+ thumb_func_start FUN_02075274
+FUN_02075274: ; 0x02075274
+ ldr r2, _02075284 ; =0x000005A4
+ mov r3, #0xe
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075288 ; =FUN_020751A0
+ bx r3
+ nop
+_02075284: .word 0x000005A4
+_02075288: .word FUN_020751A0
+
+ thumb_func_start FUN_0207528C
+FUN_0207528C: ; 0x0207528C
+ ldr r2, _0207529C ; =0x000005A4
+ mov r3, #0xd
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _020752A0 ; =FUN_020751A0
+ bx r3
+ nop
+_0207529C: .word 0x000005A4
+_020752A0: .word FUN_020751A0
+
+ thumb_func_start FUN_020752A4
+FUN_020752A4: ; 0x020752A4
+ ldr r2, _020752B4 ; =0x000005A4
+ mov r3, #0xf
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _020752B8 ; =FUN_020751A0
+ bx r3
+ nop
+_020752B4: .word 0x000005A4
+_020752B8: .word FUN_020751A0
+
+ thumb_func_start FUN_020752BC
+FUN_020752BC: ; 0x020752BC
+ ldr r2, _020752CC ; =0x000005A4
+ mov r3, #0x12
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _020752D0 ; =FUN_020751A0
+ bx r3
+ nop
+_020752CC: .word 0x000005A4
+_020752D0: .word FUN_020751A0
+
+ thumb_func_start FUN_020752D4
+FUN_020752D4: ; 0x020752D4
+ ldr r2, _020752E4 ; =0x000005A4
+ mov r3, #0xc
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _020752E8 ; =FUN_020751A0
+ bx r3
+ nop
+_020752E4: .word 0x000005A4
+_020752E8: .word FUN_020751A0
+
+ thumb_func_start FUN_020752EC
+FUN_020752EC: ; 0x020752EC
+ ldr r2, _020752FC ; =0x000005A4
+ mov r3, #0x11
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075300 ; =FUN_020751A0
+ bx r3
+ nop
+_020752FC: .word 0x000005A4
+_02075300: .word FUN_020751A0
+
+ thumb_func_start FUN_02075304
+FUN_02075304: ; 0x02075304
+ ldr r2, _02075314 ; =0x000005A4
+ mov r3, #0x13
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075318 ; =FUN_020751A0
+ bx r3
+ nop
+_02075314: .word 0x000005A4
+_02075318: .word FUN_020751A0
+
+ thumb_func_start FUN_0207531C
+FUN_0207531C: ; 0x0207531C
+ ldr r2, _0207532C ; =0x000005A4
+ mov r3, #0x14
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075330 ; =FUN_020751A0
+ bx r3
+ nop
+_0207532C: .word 0x000005A4
+_02075330: .word FUN_020751A0
+
+ thumb_func_start FUN_02075334
+FUN_02075334: ; 0x02075334
+ ldr r2, _02075344 ; =0x000005A4
+ mov r3, #0x15
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075348 ; =FUN_020751A0
+ bx r3
+ nop
+_02075344: .word 0x000005A4
+_02075348: .word FUN_020751A0
+
+ thumb_func_start FUN_0207534C
+FUN_0207534C: ; 0x0207534C
+ ldr r2, _0207535C ; =0x000005A4
+ mov r3, #0x16
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075360 ; =FUN_020751A0
+ bx r3
+ nop
+_0207535C: .word 0x000005A4
+_02075360: .word FUN_020751A0
+
+ thumb_func_start FUN_02075364
+FUN_02075364: ; 0x02075364
+ ldr r2, _02075374 ; =0x000005A4
+ mov r3, #0x17
+ ldr r2, [r0, r2]
+ add r2, #0x23
+ strb r3, [r2, #0x0]
+ ldr r3, _02075378 ; =FUN_020751A0
+ bx r3
+ nop
+_02075374: .word 0x000005A4
+_02075378: .word FUN_020751A0
+
+ thumb_func_start FUN_0207537C
+FUN_0207537C: ; 0x0207537C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_020753B4
+ str r0, [r5, #0x0]
+ cmp r0, #0x1a
+ bne _02075392
+ ldr r0, _02075394 ; =0x00000B2E
+ mov r1, #0xd
+ strh r1, [r4, r0]
+_02075392:
+ pop {r3-r5, pc}
+ .balign 4
+_02075394: .word 0x00000B2E
+
+ thumb_func_start FUN_02075398
+FUN_02075398: ; 0x02075398
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_020753B4
+ str r0, [r5, #0x0]
+ cmp r0, #0x1a
+ bne _020753AE
+ ldr r0, _020753B0 ; =0x00000B2E
+ mov r1, #0xe
+ strh r1, [r4, r0]
+_020753AE:
+ pop {r3-r5, pc}
+ .balign 4
+_020753B0: .word 0x00000B2E
+
+ thumb_func_start FUN_020753B4
+FUN_020753B4: ; 0x020753B4
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ bl FUN_02073DB4
+ ldr r0, _020754A8 ; =0x00000B25
+ ldrb r1, [r4, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r4, r0
+ ldr r0, _020754AC ; =0x00000708
+ ldrh r0, [r1, r0]
+ mov r1, #0x5
+ bl _s32_div_f
+ ldr r1, _020754B0 ; =0x00000B28
+ strh r0, [r4, r1]
+ sub r0, r1, #0x3
+ ldrb r2, [r4, r0]
+ mov r0, #0x2c
+ mul r0, r2
+ add r2, r4, r0
+ ldr r0, _020754B4 ; =0x00000706
+ ldrh r2, [r2, r0]
+ ldrh r0, [r4, r1]
+ cmp r2, r0
+ bhi _0207540E
+ add r0, r4, #0x0
+ mov r1, #0x8a
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020754B8 ; =0x00000B22
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ add sp, #0x4
+ mov r0, #0x14
+ pop {r3-r4, pc}
+_0207540E:
+ sub r0, r1, #0x5
+ ldrb r2, [r4, r0]
+ mov r0, #0x40
+ orr r2, r0
+ sub r0, r1, #0x5
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r0]
+ mov r2, #0x3f
+ bic r0, r2
+ sub r2, r1, #0x3
+ ldrb r3, [r4, r2]
+ mov r2, #0x3f
+ and r2, r3
+ orr r2, r0
+ sub r0, r1, #0x5
+ strb r2, [r4, r0]
+ ldr r0, _020754BC ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ ldr r0, _020754BC ; =0x000005C8
+ add r1, sp, #0x0
+ ldr r0, [r4, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_0200C75C
+ ldr r0, _020754C0 ; =0x000005CC
+ add r3, sp, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ ldr r0, _020754C4 ; =0x000005A4
+ ldr r1, _020754C8 ; =0x00000B23
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ add r0, #0x21
+ ldrb r0, [r0, #0x0]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020714BC
+ add r1, r0, #0x0
+ ldr r0, _020754C0 ; =0x000005CC
+ add r1, r1, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02020130
+ ldr r0, _020754C0 ; =0x000005CC
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r1, _020754C8 ; =0x00000B23
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #0x1a
+ lsr r1, r1, #0x1a
+ bl FUN_020709FC
+ add r0, r4, #0x0
+ mov r1, #0x24
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _020754CC ; =0x00000B2A
+ mov r1, #0x0
+ strh r1, [r4, r0]
+ mov r0, #0x1a
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_020754A8: .word 0x00000B25
+_020754AC: .word 0x00000708
+_020754B0: .word 0x00000B28
+_020754B4: .word 0x00000706
+_020754B8: .word 0x00000B22
+_020754BC: .word 0x000005C8
+_020754C0: .word 0x000005CC
+_020754C4: .word 0x000005A4
+_020754C8: .word 0x00000B23
+_020754CC: .word 0x00000B2A
+
+ thumb_func_start FUN_020754D0
+FUN_020754D0: ; 0x020754D0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02075504 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r1, r0
+ beq _02075500
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0x1
+ bl FUN_020731C0
+ ldr r0, _02075508 ; =0x000005C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x1
+_02075500:
+ pop {r4, pc}
+ nop
+_02075504: .word 0x021C48B8
+_02075508: .word 0x000005C8
+
+ thumb_func_start FUN_0207550C
+FUN_0207550C: ; 0x0207550C
+ push {r3-r5, lr}
+ mov r1, #0x0
+ mov r2, #0xc
+ bl FUN_0206E710
+ mov r1, #0xe
+ add r4, r0, #0x0
+ bl FUN_0206E7DC
+ cmp r0, #0x1
+ beq _0207552C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1c
+ pop {r3-r5, pc}
+_0207552C:
+ add r0, r4, #0x0
+ mov r1, #0x1b
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x1c
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x1e
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x1f
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x20
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02075580
+ add r0, r4, #0x0
+ mov r1, #0x21
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0207558A
+_02075580:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0207558A:
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020755A0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020755A0:
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020755B6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_020755B6:
+ add r0, r4, #0x0
+ mov r1, #0xf
+ bl FUN_0206E7DC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_0206E7DC
+ lsl r0, r0, #0x1
+ add r5, r5, r0
+ add r0, r4, #0x0
+ mov r1, #0x11
+ bl FUN_0206E7DC
+ lsl r0, r0, #0x2
+ add r5, r5, r0
+ add r0, r4, #0x0
+ mov r1, #0x12
+ bl FUN_0206E7DC
+ lsl r0, r0, #0x3
+ add r5, r5, r0
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl FUN_0206E7DC
+ lsl r0, r0, #0x4
+ add r5, r5, r0
+ add r0, r4, #0x0
+ mov r1, #0x14
+ bl FUN_0206E7DC
+ lsl r0, r0, #0x5
+ add r5, r5, r0
+ cmp r5, #0x10
+ bgt _02075624
+ bge _0207565A
+ cmp r5, #0x8
+ bhi _0207568E
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02075612: ; jump table (using 16-bit offset)
+ .short _0207568E - _02075612 - 2; case 0
+ .short _02075632 - _02075612 - 2; case 1
+ .short _0207563C - _02075612 - 2; case 2
+ .short _0207568E - _02075612 - 2; case 3
+ .short _02075646 - _02075612 - 2; case 4
+ .short _0207568E - _02075612 - 2; case 5
+ .short _0207568E - _02075612 - 2; case 6
+ .short _0207568E - _02075612 - 2; case 7
+ .short _02075650 - _02075612 - 2; case 8
+_02075624:
+ cmp r5, #0x20
+ bgt _0207562C
+ beq _02075664
+ b _0207568E
+_0207562C:
+ cmp r5, #0x3f
+ beq _0207566E
+ b _0207568E
+_02075632:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x3
+ pop {r3-r5, pc}
+_0207563C:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_02075646:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x5
+ pop {r3-r5, pc}
+_02075650:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x6
+ pop {r3-r5, pc}
+_0207565A:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x7
+ pop {r3-r5, pc}
+_02075664:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x8
+ pop {r3-r5, pc}
+_0207566E:
+ add r0, r4, #0x0
+ mov r1, #0x26
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02075684
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xb
+ pop {r3-r5, pc}
+_02075684:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x9
+ pop {r3-r5, pc}
+_0207568E:
+ add r0, r4, #0x0
+ mov r1, #0x15
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020756A4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xa
+ pop {r3-r5, pc}
+_020756A4:
+ add r0, r4, #0x0
+ mov r1, #0x26
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020756BA
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xb
+ pop {r3-r5, pc}
+_020756BA:
+ add r0, r4, #0x0
+ mov r1, #0x30
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _020756D0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xc
+ pop {r3-r5, pc}
+_020756D0:
+ bge _020756DC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x12
+ pop {r3-r5, pc}
+_020756DC:
+ add r0, r4, #0x0
+ mov r1, #0x31
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _020756F2
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xd
+ pop {r3-r5, pc}
+_020756F2:
+ bge _020756FE
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x13
+ pop {r3-r5, pc}
+_020756FE:
+ add r0, r4, #0x0
+ mov r1, #0x32
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02075714
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xe
+ pop {r3-r5, pc}
+_02075714:
+ bge _02075720
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02075720:
+ add r0, r4, #0x0
+ mov r1, #0x33
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02075736
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0xf
+ pop {r3-r5, pc}
+_02075736:
+ bge _02075742
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x15
+ pop {r3-r5, pc}
+_02075742:
+ add r0, r4, #0x0
+ mov r1, #0x34
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02075758
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x10
+ pop {r3-r5, pc}
+_02075758:
+ bge _02075764
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x16
+ pop {r3-r5, pc}
+_02075764:
+ add r0, r4, #0x0
+ mov r1, #0x35
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _0207577A
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x11
+ pop {r3-r5, pc}
+_0207577A:
+ bge _02075786
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x17
+ pop {r3-r5, pc}
+_02075786:
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0207579C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x18
+ pop {r3-r5, pc}
+_0207579C:
+ add r0, r4, #0x0
+ mov r1, #0x22
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020757B2
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x19
+ pop {r3-r5, pc}
+_020757B2:
+ add r0, r4, #0x0
+ mov r1, #0x23
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020757C8
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1a
+ pop {r3-r5, pc}
+_020757C8:
+ add r0, r4, #0x0
+ mov r1, #0x24
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _020757E0
+ add r0, r4, #0x0
+ mov r1, #0x25
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020757EA
+_020757E0:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1b
+ pop {r3-r5, pc}
+_020757EA:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1c
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020757F4
+FUN_020757F4: ; 0x020757F4
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ ldr r0, _02075B8C ; =0x000005A4
+ add r6, r1, #0x0
+ ldr r1, _02075B90 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ add r5, r2, #0x0
+ bl FUN_0206B9B0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ add r0, r6, #0x0
+ bl FUN_0207550C
+ cmp r0, #0x1b
+ bls _02075828
+ b _02075C40
+_02075828:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02075834: ; jump table (using 16-bit offset)
+ .short _02075C40 - _02075834 - 2; case 0
+ .short _02075C40 - _02075834 - 2; case 1
+ .short _02075C40 - _02075834 - 2; case 2
+ .short _02075890 - _02075834 - 2; case 3
+ .short _0207586C - _02075834 - 2; case 4
+ .short _020758B4 - _02075834 - 2; case 5
+ .short _020758D8 - _02075834 - 2; case 6
+ .short _020758FC - _02075834 - 2; case 7
+ .short _02075920 - _02075834 - 2; case 8
+ .short _02075968 - _02075834 - 2; case 9
+ .short _02075944 - _02075834 - 2; case 10
+ .short _02075C40 - _02075834 - 2; case 11
+ .short _0207598C - _02075834 - 2; case 12
+ .short _020759BE - _02075834 - 2; case 13
+ .short _020759F0 - _02075834 - 2; case 14
+ .short _02075A22 - _02075834 - 2; case 15
+ .short _02075A54 - _02075834 - 2; case 16
+ .short _02075A86 - _02075834 - 2; case 17
+ .short _02075AB8 - _02075834 - 2; case 18
+ .short _02075AEC - _02075834 - 2; case 19
+ .short _02075B20 - _02075834 - 2; case 20
+ .short _02075B54 - _02075834 - 2; case 21
+ .short _02075B88 - _02075834 - 2; case 22
+ .short _02075BCA - _02075834 - 2; case 23
+ .short _02075C40 - _02075834 - 2; case 24
+ .short _02075BFE - _02075834 - 2; case 25
+ .short _02075BFE - _02075834 - 2; case 26
+ .short _02075C30 - _02075834 - 2; case 27
+_0207586C:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x41
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075890:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x5b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758B4:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x43
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758D8:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x44
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020758FC:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x42
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075920:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x49
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075944:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4a
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075968:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x47
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_0207598C:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020759BE:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ add r2, r1, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_020759F0:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x2
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A22:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x3
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A54:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x4
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075A86:
+ ldr r0, _02075B94 ; =0x0000069C
+ mov r1, #0x4b
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x5
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075AB8:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075AEC:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ add r2, r1, #0x0
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B20:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x2
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B54:
+ ldr r0, _02075B94 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x3
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075B88:
+ ldr r0, _02075B94 ; =0x0000069C
+ b _02075B98
+ .balign 4
+_02075B8C: .word 0x000005A4
+_02075B90: .word 0x00000B25
+_02075B94: .word 0x0000069C
+_02075B98:
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x4
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075BCA:
+ ldr r0, _02075C50 ; =0x0000069C
+ add r5, #0x6e
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ mov r2, #0x5
+ bl FUN_0200AF50
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075BFE:
+ ldr r0, _02075C50 ; =0x0000069C
+ mov r1, #0x48
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ pop {r4-r6, pc}
+_02075C30:
+ ldr r2, _02075C50 ; =0x0000069C
+ mov r1, #0x45
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ pop {r4-r6, pc}
+_02075C40:
+ ldr r2, _02075C50 ; =0x0000069C
+ mov r1, #0x69
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ pop {r4-r6, pc}
+ .balign 4
+_02075C50: .word 0x0000069C
+
+ thumb_func_start FUN_02075C54
+FUN_02075C54: ; 0x02075C54
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02075CCC ; =0x000005A4
+ ldr r0, [r4, r0]
+ ldrh r0, [r0, #0x24]
+ bl FUN_0207550C
+ cmp r0, #0x1c
+ bhi _02075CCA
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02075C72: ; jump table (using 16-bit offset)
+ .short _02075CCA - _02075C72 - 2; case 0
+ .short _02075CCA - _02075C72 - 2; case 1
+ .short _02075CAC - _02075C72 - 2; case 2
+ .short _02075CB4 - _02075C72 - 2; case 3
+ .short _02075CB4 - _02075C72 - 2; case 4
+ .short _02075CB4 - _02075C72 - 2; case 5
+ .short _02075CB4 - _02075C72 - 2; case 6
+ .short _02075CB4 - _02075C72 - 2; case 7
+ .short _02075CB4 - _02075C72 - 2; case 8
+ .short _02075CB4 - _02075C72 - 2; case 9
+ .short _02075CB4 - _02075C72 - 2; case 10
+ .short _02075CC4 - _02075C72 - 2; case 11
+ .short _02075CB4 - _02075C72 - 2; case 12
+ .short _02075CB4 - _02075C72 - 2; case 13
+ .short _02075CB4 - _02075C72 - 2; case 14
+ .short _02075CB4 - _02075C72 - 2; case 15
+ .short _02075CB4 - _02075C72 - 2; case 16
+ .short _02075CB4 - _02075C72 - 2; case 17
+ .short _02075CBC - _02075C72 - 2; case 18
+ .short _02075CBC - _02075C72 - 2; case 19
+ .short _02075CBC - _02075C72 - 2; case 20
+ .short _02075CBC - _02075C72 - 2; case 21
+ .short _02075CBC - _02075C72 - 2; case 22
+ .short _02075CBC - _02075C72 - 2; case 23
+ .short _02075CCA - _02075C72 - 2; case 24
+ .short _02075CB4 - _02075C72 - 2; case 25
+ .short _02075CB4 - _02075C72 - 2; case 26
+ .short _02075CB4 - _02075C72 - 2; case 27
+ .short _02075CCA - _02075C72 - 2; case 28
+_02075CAC:
+ ldr r1, _02075CD0 ; =FUN_0207640C
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+ pop {r4, pc}
+_02075CB4:
+ ldr r1, _02075CD8 ; =FUN_02075D20
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+ pop {r4, pc}
+_02075CBC:
+ ldr r1, _02075CDC ; =FUN_02075DC0
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+ pop {r4, pc}
+_02075CC4:
+ ldr r1, _02075CE0 ; =FUN_02075F60
+ ldr r0, _02075CD4 ; =0x00000B14
+ str r1, [r4, r0]
+_02075CCA:
+ pop {r4, pc}
+ .balign 4
+_02075CCC: .word 0x000005A4
+_02075CD0: .word FUN_0207640C
+_02075CD4: .word 0x00000B14
+_02075CD8: .word FUN_02075D20
+_02075CDC: .word FUN_02075DC0
+_02075CE0: .word FUN_02075F60
+
+ thumb_func_start FUN_02075CE4
+FUN_02075CE4: ; 0x02075CE4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02075D14 ; =0x00000B24
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ beq _02075CF8
+ mov r0, #0x5
+ pop {r4, pc}
+_02075CF8:
+ ldr r0, _02075D18 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02075D10
+ ldr r0, _02075D1C ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ mov r0, #0x1b
+ pop {r4, pc}
+_02075D10:
+ mov r0, #0x5
+ pop {r4, pc}
+ .balign 4
+_02075D14: .word 0x00000B24
+_02075D18: .word 0x021C48B8
+_02075D1C: .word 0x000005A4
+
+ thumb_func_start FUN_02075D20
+FUN_02075D20: ; 0x02075D20
+ push {r3-r5, lr}
+ sub sp, #0x8
+ ldr r1, _02075DA8 ; =0x000005A4
+ add r5, r0, #0x0
+ ldr r4, [r5, r1]
+ bl FUN_020772CC
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r2, _02075DAC ; =0x00000B25
+ ldrh r1, [r4, #0x24]
+ ldrb r2, [r5, r2]
+ ldr r0, [r4, #0x0]
+ mov r3, #0x0
+ bl FUN_02084DD0
+ ldr r1, _02075DAC ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_0207008C
+ ldr r1, _02075DAC ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072D1C
+ ldr r1, _02075DAC ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072DDC
+ ldr r0, _02075DAC ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r1, [r5, r0]
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02075DB0 ; =0x0000070E
+ ldrh r2, [r3, r2]
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ ldr r1, _02075DA8 ; =0x000005A4
+ add r0, r5, #0x0
+ ldr r1, [r5, r1]
+ mov r2, #0x0
+ ldrh r1, [r1, #0x24]
+ bl FUN_020757F4
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02075DB4 ; =0x000005EC
+ bl FUN_020054C8
+ ldr r1, _02075DB8 ; =FUN_02075CE4
+ ldr r0, _02075DBC ; =0x00000B14
+ str r1, [r5, r0]
+ mov r0, #0x5
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+_02075DA8: .word 0x000005A4
+_02075DAC: .word 0x00000B25
+_02075DB0: .word 0x0000070E
+_02075DB4: .word 0x000005EC
+_02075DB8: .word FUN_02075CE4
+_02075DBC: .word 0x00000B14
+
+ thumb_func_start FUN_02075DC0
+FUN_02075DC0: ; 0x02075DC0
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r5, r0, #0x0
+ ldr r0, _02075F4C ; =0x000005A4
+ ldr r1, _02075F50 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xd
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ add r0, r4, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r0, _02075F4C ; =0x000005A4
+ ldr r6, [r5, r0]
+ add r0, r5, #0x0
+ bl FUN_020772CC
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r2, _02075F50 ; =0x00000B25
+ ldrh r1, [r6, #0x24]
+ ldrb r2, [r5, r2]
+ ldr r0, [r6, #0x0]
+ mov r3, #0x0
+ bl FUN_02084DD0
+ ldr r1, _02075F50 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_0207008C
+ ldr r1, _02075F50 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072D1C
+ ldr r1, _02075F50 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072DDC
+ ldr r0, _02075F50 ; =0x00000B25
+ mov r2, #0x2c
+ ldrb r1, [r5, r0]
+ add r0, r5, #0x0
+ mul r2, r1
+ add r3, r5, r2
+ ldr r2, _02075F54 ; =0x0000070E
+ ldrh r2, [r3, r2]
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r0, r4, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x1c]
+ cmp r1, r0
+ bne _02075EFA
+ add r0, r4, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x18]
+ cmp r1, r0
+ bne _02075EFA
+ add r0, r4, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x14]
+ cmp r1, r0
+ bne _02075EFA
+ add r0, r4, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x10]
+ cmp r1, r0
+ bne _02075EFA
+ add r0, r4, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0xc]
+ cmp r1, r0
+ bne _02075EFA
+ add r0, r4, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x8]
+ cmp r1, r0
+ beq _02075F26
+_02075EFA:
+ add r0, r4, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r7, r0
+ ldr r1, _02075F4C ; =0x000005A4
+ beq _02075F18
+ ldr r1, [r5, r1]
+ add r0, r5, #0x0
+ ldrh r1, [r1, #0x24]
+ mov r2, #0x0
+ bl FUN_020757F4
+ b _02075F34
+_02075F18:
+ ldr r1, [r5, r1]
+ add r0, r5, #0x0
+ ldrh r1, [r1, #0x24]
+ mov r2, #0x1
+ bl FUN_020757F4
+ b _02075F34
+_02075F26:
+ ldr r1, _02075F4C ; =0x000005A4
+ add r0, r5, #0x0
+ ldr r1, [r5, r1]
+ mov r2, #0x2
+ ldrh r1, [r1, #0x24]
+ bl FUN_020757F4
+_02075F34:
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _02075F58 ; =FUN_02075CE4
+ ldr r0, _02075F5C ; =0x00000B14
+ str r1, [r5, r0]
+ mov r0, #0x5
+ add sp, #0x20
+ pop {r3-r7, pc}
+ .balign 4
+_02075F4C: .word 0x000005A4
+_02075F50: .word 0x00000B25
+_02075F54: .word 0x0000070E
+_02075F58: .word FUN_02075CE4
+_02075F5C: .word 0x00000B14
+
+ thumb_func_start FUN_02075F60
+FUN_02075F60: ; 0x02075F60
+ push {r4-r7, lr}
+ sub sp, #0xc
+ ldr r1, _02076080 ; =0x000005A4
+ add r5, r0, #0x0
+ ldr r4, [r5, r1]
+ bl FUN_020772CC
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r2, _02076084 ; =0x00000B25
+ ldrh r1, [r4, #0x24]
+ ldrb r2, [r5, r2]
+ ldr r0, [r4, #0x0]
+ mov r3, #0x0
+ bl FUN_02084DD0
+ ldr r0, _02076080 ; =0x000005A4
+ ldr r1, _02076084 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0x0
+ str r0, [sp, #0x8]
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ ldr r0, _02076084 ; =0x00000B25
+ ldrb r1, [r5, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, _02076088 ; =0x00000706
+ ldrh r1, [r1, r0]
+ cmp r1, #0x0
+ bne _02075FBC
+ sub r0, #0x6a
+ ldr r0, [r5, r0]
+ mov r1, #0x46
+ bl FUN_0200A914
+ add r7, r0, #0x0
+ b _02075FDA
+_02075FBC:
+ cmp r4, r1
+ bne _02075FCE
+ sub r0, #0x6a
+ ldr r0, [r5, r0]
+ mov r1, #0x47
+ bl FUN_0200A914
+ add r7, r0, #0x0
+ b _02075FDA
+_02075FCE:
+ sub r0, #0x6a
+ ldr r0, [r5, r0]
+ mov r1, #0x40
+ bl FUN_0200A914
+ add r7, r0, #0x0
+_02075FDA:
+ ldr r0, [sp, #0x8]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ mov r3, #0x6a
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ ldr r2, _02076084 ; =0x00000B25
+ str r1, [sp, #0x4]
+ ldrb r6, [r5, r2]
+ mov r2, #0x2c
+ lsl r3, r3, #0x4
+ mul r2, r6
+ ldr r0, [r5, r3]
+ add r2, r5, r2
+ add r3, #0x66
+ ldrh r2, [r2, r3]
+ mov r3, #0x3
+ sub r2, r4, r2
+ bl FUN_0200AD38
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r7, #0x0
+ bl FUN_0200B7B8
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ ldr r0, [sp, #0x8]
+ bl FUN_0207C2D4
+ add r4, r0, #0x0
+ ldr r1, _02076084 ; =0x00000B25
+ lsl r2, r4, #0x18
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ cmp r4, #0x7
+ bne _02076062
+ ldr r1, _02076084 ; =0x00000B25
+ ldr r0, _0207608C ; =0x0000070E
+ ldrb r3, [r5, r1]
+ add r2, r5, r0
+ mov r0, #0x2c
+ mul r0, r3
+ ldrh r4, [r2, r0]
+ ldr r3, _02076090 ; =0xFFFFF000
+ and r4, r3
+ mov r3, #0x7
+ orr r3, r4
+ strh r3, [r2, r0]
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_02072B20
+_02076062:
+ ldr r1, _02076084 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_020709FC
+ ldr r1, _02076094 ; =FUN_020760A0
+ ldr r0, _02076098 ; =0x00000B14
+ str r1, [r5, r0]
+ ldr r0, _0207609C ; =0x000005EC
+ bl FUN_020054C8
+ mov r0, #0x5
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02076080: .word 0x000005A4
+_02076084: .word 0x00000B25
+_02076088: .word 0x00000706
+_0207608C: .word 0x0000070E
+_02076090: .word 0xFFFFF000
+_02076094: .word FUN_020760A0
+_02076098: .word 0x00000B14
+_0207609C: .word 0x000005EC
+
+ thumb_func_start FUN_020760A0
+FUN_020760A0: ; 0x020760A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076130 ; =0x000005A4
+ ldr r1, _02076134 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _02076134 ; =0x00000B25
+ add r4, r0, #0x0
+ ldrb r2, [r5, r1]
+ ldr r0, _02076138 ; =0x00000706
+ mov r1, #0x2c
+ add r3, r2, #0x0
+ add r0, r5, r0
+ mul r3, r1
+ ldrh r1, [r0, r3]
+ cmp r4, r1
+ beq _020760D4
+ add r1, r1, #0x1
+ strh r1, [r0, r3]
+_020760D4:
+ ldr r1, _02076134 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072BBC
+ ldr r1, _02076134 ; =0x00000B25
+ add r0, r5, #0x4
+ ldrb r2, [r5, r1]
+ lsl r1, r2, #0x2
+ add r1, r2, r1
+ add r1, r1, #0x3
+ lsl r1, r1, #0x4
+ add r0, r0, r1
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r1, _02076134 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072B7C
+ ldr r1, _02076134 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072C28
+ ldr r0, _02076134 ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r0, [r5, r0]
+ add r2, r0, #0x0
+ mul r2, r1
+ ldr r0, _02076138 ; =0x00000706
+ add r2, r5, r2
+ ldrh r0, [r2, r0]
+ cmp r4, r0
+ bne _0207612C
+ add r0, r5, #0x0
+ sub r1, #0x2d
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _0207613C ; =FUN_02075CE4
+ ldr r0, _02076140 ; =0x00000B14
+ str r1, [r5, r0]
+_0207612C:
+ mov r0, #0x5
+ pop {r3-r5, pc}
+ .balign 4
+_02076130: .word 0x000005A4
+_02076134: .word 0x00000B25
+_02076138: .word 0x00000706
+_0207613C: .word FUN_02075CE4
+_02076140: .word 0x00000B14
+
+ thumb_func_start FUN_02076144
+FUN_02076144: ; 0x02076144
+ push {r3, lr}
+ mov r1, #0x18
+ mov r2, #0xc
+ bl FUN_0206E7B8
+ cmp r0, #0x0
+ beq _02076156
+ mov r0, #0x1
+ pop {r3, pc}
+_02076156:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207615C
+FUN_0207615C: ; 0x0207615C
+ push {r3-r6}
+ cmp r1, #0x6
+ blo _02076168
+ mov r0, #0xff
+ pop {r3-r6}
+ bx lr
+_02076168:
+ bhs _02076194
+ ldr r2, _0207619C ; =0x00000706
+ mov r3, #0x2c
+ add r4, r2, #0x0
+ add r4, #0x23
+_02076172:
+ add r5, r1, #0x0
+ mul r5, r3
+ add r6, r0, r5
+ ldrb r5, [r6, r4]
+ cmp r5, #0x0
+ beq _0207618A
+ ldrh r5, [r6, r2]
+ cmp r5, #0x0
+ bne _0207618A
+ add r0, r1, #0x0
+ pop {r3-r6}
+ bx lr
+_0207618A:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x6
+ blo _02076172
+_02076194:
+ mov r0, #0xff
+ pop {r3-r6}
+ bx lr
+ nop
+_0207619C: .word 0x00000706
+
+ thumb_func_start FUN_020761A0
+FUN_020761A0: ; 0x020761A0
+ push {r3-r7, lr}
+ ldr r1, _020763DC ; =0x00000B22
+ add r4, r0, #0x0
+ ldrb r2, [r4, r1]
+ cmp r2, #0x3
+ bls _020761AE
+ b _020763D6
+_020761AE:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_020761BA: ; jump table (using 16-bit offset)
+ .short _020761C2 - _020761BA - 2; case 0
+ .short _02076212 - _020761BA - 2; case 1
+ .short _020762DC - _020761BA - 2; case 2
+ .short _02076360 - _020761BA - 2; case 3
+_020761C2:
+ mov r1, #0x0
+ bl FUN_0207615C
+ ldr r1, _020763E0 ; =0x00000B25
+ strb r0, [r4, r1]
+ ldrb r0, [r4, r1]
+ cmp r0, #0xff
+ bne _02076206
+ ldr r2, _020763E4 ; =0x0000069C
+ mov r1, #0x69
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _020763E8 ; =FUN_02075CE4
+ ldr r0, _020763EC ; =0x00000B14
+ mov r2, #0x1
+ str r1, [r4, r0]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02073CB4
+ ldr r0, _020763E0 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+ mov r0, #0x5
+ pop {r3-r7, pc}
+_02076206:
+ cmp r0, #0x0
+ beq _02076212
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_020709FC
+_02076212:
+ ldr r0, _020763F0 ; =0x000005A4
+ ldr r1, _020763E0 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020772CC
+ add r3, r0, #0x0
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ ldr r1, _020763F0 ; =0x000005A4
+ add r0, r5, #0x0
+ ldr r1, [r4, r1]
+ mov r2, #0x0
+ ldrh r1, [r1, #0x24]
+ bl FUN_02084810
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r0, _020763E4 ; =0x0000069C
+ mov r1, #0x46
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r6, #0x0
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ ldr r7, _020763E0 ; =0x00000B25
+ ldr r3, _020763F4 ; =0x0000070E
+ ldrb r5, [r4, r7]
+ mov r2, #0x2c
+ add r1, r4, r3
+ add r0, r5, #0x0
+ mul r0, r2
+ ldrh r6, [r1, r0]
+ ldr r5, _020763F8 ; =0xFFFFF000
+ and r6, r5
+ mov r5, #0x7
+ orr r5, r6
+ strh r5, [r1, r0]
+ ldrb r1, [r4, r7]
+ add r0, r4, #0x0
+ mul r2, r1
+ add r2, r4, r2
+ ldrh r2, [r2, r3]
+ lsl r2, r2, #0x14
+ lsr r2, r2, #0x14
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ add r1, r7, #0x0
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_02072B20
+ add r1, r7, #0x0
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_020709FC
+ add r1, r7, #0x0
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02073CB4
+ ldr r0, _020763FC ; =0x000005EC
+ bl FUN_020054C8
+ sub r0, r7, #0x3
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ b _020763D6
+_020762DC:
+ ldr r0, _020763F0 ; =0x000005A4
+ add r1, r1, #0x3
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r2, _020763E0 ; =0x00000B25
+ add r5, r0, #0x0
+ ldr r0, _02076400 ; =0x00000706
+ ldrb r3, [r4, r2]
+ add r1, r4, r0
+ mov r0, #0x2c
+ mul r0, r3
+ ldrh r3, [r1, r0]
+ add r3, r3, #0x1
+ strh r3, [r1, r0]
+ ldrb r1, [r4, r2]
+ add r0, r4, #0x0
+ bl FUN_02072BBC
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x4
+ ldrb r2, [r4, r1]
+ lsl r1, r2, #0x2
+ add r1, r2, r1
+ add r1, r1, #0x3
+ lsl r1, r1, #0x4
+ add r0, r0, r1
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072B7C
+ ldr r1, _020763E0 ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02072C28
+ ldr r0, _020763E0 ; =0x00000B25
+ mov r1, #0x2c
+ ldrb r0, [r4, r0]
+ add r2, r0, #0x0
+ mul r2, r1
+ ldr r0, _02076400 ; =0x00000706
+ add r2, r4, r2
+ ldrh r0, [r2, r0]
+ cmp r5, r0
+ bne _020763D6
+ add r0, r4, #0x0
+ sub r1, #0x2d
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020763DC ; =0x00000B22
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ b _020763D6
+_02076360:
+ add r0, r1, #0x2
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020763D6
+ ldr r0, _02076404 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020763D6
+ ldr r0, _02076408 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _020763E0 ; =0x00000B25
+ ldrb r5, [r4, r0]
+ add r0, r4, #0x0
+ add r1, r5, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_0207615C
+ ldr r1, _020763E0 ; =0x00000B25
+ strb r0, [r4, r1]
+ ldrb r0, [r4, r1]
+ cmp r0, #0xff
+ beq _020763B2
+ mov r0, #0x89
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_0200D0E0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_020709FC
+ ldr r0, _020763DC ; =0x00000B22
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _020763D6
+_020763B2:
+ ldr r0, _020763F0 ; =0x000005A4
+ mov r2, #0x1
+ ldr r1, [r4, r0]
+ mov r3, #0xc
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+ ldr r0, _020763F0 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020763E0 ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+ mov r0, #0x1b
+ pop {r3-r7, pc}
+_020763D6:
+ mov r0, #0x7
+ pop {r3-r7, pc}
+ nop
+_020763DC: .word 0x00000B22
+_020763E0: .word 0x00000B25
+_020763E4: .word 0x0000069C
+_020763E8: .word FUN_02075CE4
+_020763EC: .word 0x00000B14
+_020763F0: .word 0x000005A4
+_020763F4: .word 0x0000070E
+_020763F8: .word 0xFFFFF000
+_020763FC: .word 0x000005EC
+_02076400: .word 0x00000706
+_02076404: .word 0x021C48B8
+_02076408: .word 0x000005DC
+
+ thumb_func_start FUN_0207640C
+FUN_0207640C: ; 0x0207640C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, _020765B0 ; =0x000005A4
+ ldr r1, _020765B4 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ mov r1, #0xa3
+ mov r2, #0x0
+ add r4, r0, #0x0
+ bl FUN_020671BC
+ ldr r1, _020765B8 ; =0x00000B28
+ mov r2, #0x0
+ strh r0, [r5, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa4
+ bl FUN_020671BC
+ ldr r1, _020765BC ; =0x00000B2A
+ mov r2, #0x0
+ strh r0, [r5, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa5
+ bl FUN_020671BC
+ ldr r1, _020765C0 ; =0x00000B2C
+ mov r2, #0x0
+ strh r0, [r5, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa7
+ bl FUN_020671BC
+ ldr r1, _020765C4 ; =0x00000B2E
+ mov r2, #0x0
+ strh r0, [r5, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa8
+ bl FUN_020671BC
+ mov r1, #0xb3
+ lsl r1, r1, #0x4
+ strh r0, [r5, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa6
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020765C8 ; =0x00000B32
+ strh r0, [r5, r1]
+ ldr r0, _020765B0 ; =0x000005A4
+ ldr r6, [r5, r0]
+ add r0, r5, #0x0
+ bl FUN_020772CC
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r2, _020765B4 ; =0x00000B25
+ ldrh r1, [r6, #0x24]
+ ldrb r2, [r5, r2]
+ ldr r0, [r6, #0x0]
+ mov r3, #0x0
+ bl FUN_02084DD0
+ add r0, r4, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020765B4 ; =0x00000B25
+ ldrb r2, [r5, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, _020765CC ; =0x0000070A
+ strh r0, [r2, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020765B4 ; =0x00000B25
+ ldrb r2, [r5, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, _020765D0 ; =0x00000706
+ strh r0, [r2, r1]
+ add r0, r4, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020765B4 ; =0x00000B25
+ ldrb r2, [r5, r1]
+ mov r1, #0x2c
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, _020765D4 ; =0x00000708
+ strh r0, [r2, r1]
+ sub r1, #0x6c
+ ldr r0, [r5, r1]
+ mov r1, #0xc1
+ bl FUN_0200A914
+ add r7, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r0, #0x0
+ mov r3, #0x6a
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ ldr r2, _020765B4 ; =0x00000B25
+ str r1, [sp, #0x4]
+ ldrb r6, [r5, r2]
+ mov r2, #0x2c
+ lsl r3, r3, #0x4
+ mul r2, r6
+ ldr r0, [r5, r3]
+ add r2, r5, r2
+ add r3, #0x6a
+ ldrh r2, [r2, r3]
+ mov r3, #0x3
+ bl FUN_0200AD38
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r7, #0x0
+ bl FUN_0200B7B8
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_0207C2D4
+ add r4, r0, #0x0
+ ldr r1, _020765B4 ; =0x00000B25
+ lsl r2, r4, #0x18
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02073A4C
+ cmp r4, #0x7
+ bne _0207656E
+ ldr r1, _020765B4 ; =0x00000B25
+ ldr r0, _020765D8 ; =0x0000070E
+ ldrb r3, [r5, r1]
+ add r2, r5, r0
+ mov r0, #0x2c
+ mul r0, r3
+ ldrh r4, [r2, r0]
+ ldr r3, _020765DC ; =0xFFFFF000
+ and r4, r3
+ mov r3, #0x7
+ orr r3, r4
+ strh r3, [r2, r0]
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_02072B20
+_0207656E:
+ ldr r1, _020765B4 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_020709FC
+ ldr r0, _020765E0 ; =FUN_020760A0
+ ldr r1, _020765E4 ; =0x00000B14
+ str r0, [r5, r1]
+ add r1, #0x11
+ ldrb r1, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_02072D1C
+ ldr r1, _020765B4 ; =0x00000B25
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_02072DDC
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r1, _020765E8 ; =FUN_020765EC
+ ldr r0, _020765E4 ; =0x00000B14
+ str r1, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x13
+ strb r1, [r5, r0]
+ mov r0, #0x5
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020765B0: .word 0x000005A4
+_020765B4: .word 0x00000B25
+_020765B8: .word 0x00000B28
+_020765BC: .word 0x00000B2A
+_020765C0: .word 0x00000B2C
+_020765C4: .word 0x00000B2E
+_020765C8: .word 0x00000B32
+_020765CC: .word 0x0000070A
+_020765D0: .word 0x00000706
+_020765D4: .word 0x00000708
+_020765D8: .word 0x0000070E
+_020765DC: .word 0xFFFFF000
+_020765E0: .word FUN_020760A0
+_020765E4: .word 0x00000B14
+_020765E8: .word FUN_020765EC
+
+ thumb_func_start FUN_020765EC
+FUN_020765EC: ; 0x020765EC
+ push {r3-r5, lr}
+ ldr r1, _0207686C ; =0x00000B27
+ add r4, r0, #0x0
+ ldrb r0, [r4, r1]
+ cmp r0, #0x6
+ bhi _020766A8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02076604: ; jump table (using 16-bit offset)
+ .short _02076612 - _02076604 - 2; case 0
+ .short _0207663C - _02076604 - 2; case 1
+ .short _0207665A - _02076604 - 2; case 2
+ .short _02076680 - _02076604 - 2; case 3
+ .short _02076780 - _02076604 - 2; case 4
+ .short _020767A4 - _02076604 - 2; case 5
+ .short _02076814 - _02076604 - 2; case 6
+_02076612:
+ sub r0, r1, #0x3
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _020766A8
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020766A8
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020734C0
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _02076868
+_0207663C:
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020766A8
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207363C
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _02076868
+_0207665A:
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _020766A8
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_020736F4
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ ldr r0, _02076878 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ str r1, [r0, #0x34]
+ b _02076868
+_02076680:
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r1, _02076878 ; =0x000005A4
+ add r5, r0, #0x0
+ ldr r2, [r4, r1]
+ add r1, r2, #0x0
+ add r1, #0x34
+ add r2, #0x26
+ bl FUN_02069818
+ cmp r0, #0x0
+ beq _020766B2
+ ldr r1, _0207687C ; =0x0000FFFE
+ cmp r0, r1
+ bne _020766AA
+_020766A8:
+ b _02076868
+_020766AA:
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _020766BA
+ b _02076724
+_020766B2:
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x6
+ strb r1, [r4, r0]
+ b _02076868
+_020766BA:
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0x34
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076884 ; =FUN_02076950
+ ldr r1, _02076888 ; =0x00000B18
+ ldr r2, _0207688C ; =FUN_020769A4
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r4, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02076724:
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0xc2
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x4
+ strb r1, [r4, r0]
+ b _02076868
+_02076780:
+ sub r0, r1, #0x3
+ ldrb r0, [r4, r0]
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02076868
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02076868
+ ldr r0, _02076874 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _02076868
+_020767A4:
+ ldr r0, _02076870 ; =0x021C48B8
+ ldr r2, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r2
+ beq _02076868
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r2, _02076878 ; =0x000005A4
+ add r1, r0, #0x0
+ ldr r2, [r4, r2]
+ add r0, r4, #0x0
+ add r2, #0x28
+ ldrb r2, [r2, #0x0]
+ bl FUN_02076F2C
+ ldr r0, _02076880 ; =0x0000069C
+ mov r1, #0x3d
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r5, r0, #0x0
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207686C ; =0x00000B27
+ mov r1, #0x4
+ strb r1, [r4, r0]
+ b _02076868
+_02076814:
+ ldr r0, _02076878 ; =0x000005A4
+ sub r1, r1, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ ldr r0, _02076878 ; =0x000005A4
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034A04
+ add r3, r0, #0x0
+ ldr r0, _02076878 ; =0x000005A4
+ lsl r3, r3, #0x10
+ ldr r1, [r4, r0]
+ mov r2, #0x0
+ add r0, r1, #0x0
+ add r0, #0x3c
+ str r0, [sp, #0x0]
+ ldr r0, [r1, #0x0]
+ add r1, r5, #0x0
+ lsr r3, r3, #0x10
+ bl FUN_02069168
+ ldr r1, _02076878 ; =0x000005A4
+ ldr r2, [r4, r1]
+ strh r0, [r2, #0x38]
+ ldr r1, [r4, r1]
+ ldrh r0, [r1, #0x38]
+ cmp r0, #0x0
+ beq _0207685E
+ mov r0, #0x9
+ b _02076860
+_0207685E:
+ mov r0, #0x0
+_02076860:
+ add r1, #0x23
+ strb r0, [r1, #0x0]
+ mov r0, #0x1b
+ pop {r3-r5, pc}
+_02076868:
+ mov r0, #0x5
+ pop {r3-r5, pc}
+ .balign 4
+_0207686C: .word 0x00000B27
+_02076870: .word 0x021C48B8
+_02076874: .word 0x000005DC
+_02076878: .word 0x000005A4
+_0207687C: .word 0x0000FFFE
+_02076880: .word 0x0000069C
+_02076884: .word FUN_02076950
+_02076888: .word 0x00000B18
+_0207688C: .word FUN_020769A4
+
+ thumb_func_start FUN_02076890
+FUN_02076890: ; 0x02076890
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207693C ; =FUN_020765EC
+ ldr r1, _02076940 ; =0x00000B14
+ mov r2, #0x3
+ str r0, [r4, r1]
+ add r0, r1, #0x0
+ add r0, #0x13
+ strb r2, [r4, r0]
+ ldr r0, _02076944 ; =0x000005A4
+ add r1, #0x11
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r0, _02076944 ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r1, r2, #0x0
+ add r1, #0x28
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x4
+ bne _020768E6
+ add r0, #0xfc
+ ldrh r2, [r2, #0x26]
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ add r0, r4, #0x0
+ bl FUN_020769A4
+ pop {r3-r5, pc}
+_020768E6:
+ add r0, r5, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r0, _02076948 ; =0x0000069C
+ mov r1, #0x3c
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _0207694C ; =0x00000B22
+ mov r1, #0x5
+ strb r1, [r4, r0]
+ add r0, r0, #0x5
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_0207693C: .word FUN_020765EC
+_02076940: .word 0x00000B14
+_02076944: .word 0x000005A4
+_02076948: .word 0x0000069C
+_0207694C: .word 0x00000B22
+
+ thumb_func_start FUN_02076950
+FUN_02076950: ; 0x02076950
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076998 ; =0x0000069C
+ mov r1, #0x3b
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _0207699C ; =0x000005A4
+ mov r1, #0x5
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020769A0 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_02076998: .word 0x0000069C
+_0207699C: .word 0x000005A4
+_020769A0: .word 0x00000B22
+
+ thumb_func_start FUN_020769A4
+FUN_020769A4: ; 0x020769A4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _020769EC ; =0x0000069C
+ mov r1, #0x37
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020769F0 ; =FUN_020769FC
+ ldr r1, _020769F4 ; =0x00000B18
+ ldr r2, _020769F8 ; =FUN_02076A48
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_020769EC: .word 0x0000069C
+_020769F0: .word FUN_020769FC
+_020769F4: .word 0x00000B18
+_020769F8: .word FUN_02076A48
+
+ thumb_func_start FUN_020769FC
+FUN_020769FC: ; 0x020769FC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076A40 ; =0x0000069C
+ mov r1, #0x3a
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076A44 ; =0x00000B22
+ mov r1, #0x5
+ strb r1, [r5, r0]
+ mov r1, #0x4
+ add r0, r0, #0x5
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_02076A40: .word 0x0000069C
+_02076A44: .word 0x00000B22
+
+ thumb_func_start FUN_02076A48
+FUN_02076A48: ; 0x02076A48
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076A90 ; =0x0000069C
+ mov r1, #0x34
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076A94 ; =FUN_02076950
+ ldr r1, _02076A98 ; =0x00000B18
+ ldr r2, _02076A9C ; =FUN_020769A4
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_02076A90: .word 0x0000069C
+_02076A94: .word FUN_02076950
+_02076A98: .word 0x00000B18
+_02076A9C: .word FUN_020769A4
+
+ thumb_func_start FUN_02076AA0
+FUN_02076AA0: ; 0x02076AA0
+ push {r3-r7, lr}
+ ldr r7, _02076AF4 ; =0x000005A4
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r4, #0x0
+_02076AAA:
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ ldr r0, [r5, r7]
+ ldrh r1, [r0, #0x26]
+ cmp r2, r1
+ bne _02076AC6
+ mov r0, #0xfd
+ pop {r3-r7, pc}
+_02076AC6:
+ cmp r2, #0x0
+ beq _02076AD4
+ add r1, r4, #0x1
+ lsl r1, r1, #0x18
+ lsr r4, r1, #0x18
+ cmp r4, #0x4
+ blo _02076AAA
+_02076AD4:
+ ldrh r0, [r0, #0x24]
+ bl FUN_0206EA7C
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0206A13C
+ cmp r0, #0x0
+ bne _02076AEA
+ mov r0, #0xff
+ pop {r3-r7, pc}
+_02076AEA:
+ cmp r4, #0x4
+ bne _02076AF0
+ mov r4, #0xfe
+_02076AF0:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02076AF4: .word 0x000005A4
+
+ thumb_func_start FUN_02076AF8
+FUN_02076AF8: ; 0x02076AF8
+ push {r4-r6, lr}
+ add r4, r0, #0x0
+ ldr r0, _02076C78 ; =0x000005A4
+ ldr r1, _02076C7C ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02076AA0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ ldr r0, [r4, r2]
+ sub r2, #0xfc
+ ldr r2, [r4, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ cmp r5, #0xfd
+ bhi _02076B5A
+ bhs _02076BB2
+ cmp r5, #0x3
+ bhi _02076B60
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02076B52: ; jump table (using 16-bit offset)
+ .short _02076B68 - _02076B52 - 2; case 0
+ .short _02076B68 - _02076B52 - 2; case 1
+ .short _02076B68 - _02076B52 - 2; case 2
+ .short _02076B68 - _02076B52 - 2; case 3
+_02076B5A:
+ cmp r5, #0xfe
+ bhi _02076B62
+ beq _02076BF2
+_02076B60:
+ b _02076C72
+_02076B62:
+ cmp r5, #0xff
+ beq _02076C34
+ b _02076C72
+_02076B68:
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_02076F2C
+ ldr r0, _02076C80 ; =0x0000069C
+ mov r1, #0x3d
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076C78 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076C84 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+ b _02076C72
+_02076BB2:
+ ldr r0, _02076C80 ; =0x0000069C
+ mov r1, #0x3f
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076C78 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076C84 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+ b _02076C72
+_02076BF2:
+ ldr r0, _02076C80 ; =0x0000069C
+ mov r1, #0x34
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076C88 ; =FUN_02076DD4
+ ldr r1, _02076C8C ; =0x00000B18
+ ldr r2, _02076C90 ; =FUN_02076E28
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ str r2, [r4, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r4, r1]
+ b _02076C72
+_02076C34:
+ ldr r0, _02076C80 ; =0x0000069C
+ mov r1, #0x3e
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076C78 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076C84 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+_02076C72:
+ mov r0, #0x14
+ pop {r4-r6, pc}
+ nop
+_02076C78: .word 0x000005A4
+_02076C7C: .word 0x00000B25
+_02076C80: .word 0x0000069C
+_02076C84: .word 0x00000B22
+_02076C88: .word FUN_02076DD4
+_02076C8C: .word 0x00000B18
+_02076C90: .word FUN_02076E28
+
+ thumb_func_start FUN_02076C94
+FUN_02076C94: ; 0x02076C94
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _02076D2C ; =0x000005A4
+ ldr r1, _02076D30 ; =0x00000B25
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r5, r0, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ACF8
+ ldr r0, _02076D2C ; =0x000005A4
+ ldr r2, [r4, r0]
+ add r1, r2, #0x0
+ add r1, #0x28
+ ldrb r1, [r1, #0x0]
+ cmp r1, #0x4
+ bne _02076CDC
+ add r0, #0xfc
+ ldrh r2, [r2, #0x26]
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ add r0, r4, #0x0
+ bl FUN_02076E28
+ pop {r3-r5, pc}
+_02076CDC:
+ add r0, r5, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_0200AD5C
+ ldr r0, _02076D34 ; =0x0000069C
+ mov r1, #0x3c
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r5, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076D38 ; =0x00000B22
+ mov r1, #0x12
+ strb r1, [r4, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_02076D2C: .word 0x000005A4
+_02076D30: .word 0x00000B25
+_02076D34: .word 0x0000069C
+_02076D38: .word 0x00000B22
+
+ thumb_func_start FUN_02076D3C
+FUN_02076D3C: ; 0x02076D3C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076DC0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _02076DBC
+ ldr r0, _02076DC4 ; =0x000005A4
+ ldr r1, _02076DC8 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ ldr r2, _02076DC4 ; =0x000005A4
+ add r1, r0, #0x0
+ ldr r2, [r5, r2]
+ add r0, r5, #0x0
+ add r2, #0x28
+ ldrb r2, [r2, #0x0]
+ bl FUN_02076F2C
+ ldr r0, _02076DCC ; =0x0000069C
+ mov r1, #0x3d
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r2, #0x6a
+ lsl r2, r2, #0x4
+ add r4, r0, #0x0
+ ldr r0, [r5, r2]
+ sub r2, #0xfc
+ ldr r2, [r5, r2]
+ mov r1, #0x1
+ ldrh r2, [r2, #0x26]
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076DC4 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076DD0 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+_02076DBC:
+ mov r0, #0x12
+ pop {r3-r5, pc}
+ .balign 4
+_02076DC0: .word 0x021C48B8
+_02076DC4: .word 0x000005A4
+_02076DC8: .word 0x00000B25
+_02076DCC: .word 0x0000069C
+_02076DD0: .word 0x00000B22
+
+ thumb_func_start FUN_02076DD4
+FUN_02076DD4: ; 0x02076DD4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076E1C ; =0x0000069C
+ mov r1, #0x3b
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076E20 ; =0x000005A4
+ mov r1, #0x4
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076E24 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_02076E1C: .word 0x0000069C
+_02076E20: .word 0x000005A4
+_02076E24: .word 0x00000B22
+
+ thumb_func_start FUN_02076E28
+FUN_02076E28: ; 0x02076E28
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076E70 ; =0x0000069C
+ mov r1, #0x37
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02076E74 ; =FUN_02076E80
+ ldr r1, _02076E78 ; =0x00000B18
+ ldr r2, _02076E7C ; =FUN_02076ED4
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_02076E70: .word 0x0000069C
+_02076E74: .word FUN_02076E80
+_02076E78: .word 0x00000B18
+_02076E7C: .word FUN_02076ED4
+
+ thumb_func_start FUN_02076E80
+FUN_02076E80: ; 0x02076E80
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076EC8 ; =0x0000069C
+ mov r1, #0x3a
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076ECC ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02076ED0 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ nop
+_02076EC8: .word 0x0000069C
+_02076ECC: .word 0x000005A4
+_02076ED0: .word 0x00000B22
+
+ thumb_func_start FUN_02076ED4
+FUN_02076ED4: ; 0x02076ED4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02076F1C ; =0x0000069C
+ mov r1, #0x34
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x6a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x0
+ bl FUN_020731E8
+ ldr r0, _02076F20 ; =FUN_02076DD4
+ ldr r1, _02076F24 ; =0x00000B18
+ ldr r2, _02076F28 ; =FUN_02076E28
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ str r2, [r5, r0]
+ mov r0, #0x16
+ add r1, #0xa
+ strb r0, [r5, r1]
+ mov r0, #0x14
+ pop {r3-r5, pc}
+ .balign 4
+_02076F1C: .word 0x0000069C
+_02076F20: .word FUN_02076DD4
+_02076F24: .word 0x00000B18
+_02076F28: .word FUN_02076E28
+
+ thumb_func_start FUN_02076F2C
+FUN_02076F2C: ; 0x02076F2C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ ldr r0, _02076FAC ; =0x000005A4
+ add r6, r2, #0x0
+ ldr r0, [r5, r0]
+ add r4, r1, #0x0
+ ldrh r0, [r0, #0x26]
+ add r1, r6, #0x0
+ add r1, #0x36
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r2, sp, #0x0
+ bl FUN_02067830
+ mov r0, #0x0
+ add r1, r6, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, #0x3e
+ add r2, sp, #0x0
+ bl FUN_02067830
+ ldr r0, _02076FAC ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x26]
+ bl FUN_0206AB30
+ add r6, #0x3a
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, sp, #0x0
+ bl FUN_02067830
+ ldr r0, _02076FAC ; =0x000005A4
+ ldr r1, [r5, r0]
+ ldrh r0, [r1, #0x24]
+ cmp r0, #0x0
+ beq _02076FA8
+ ldrh r0, [r1, #0x26]
+ bl FUN_0206EA54
+ cmp r0, #0x0
+ bne _02076F98
+ ldr r0, _02076FAC ; =0x000005A4
+ mov r2, #0x1
+ ldr r1, [r5, r0]
+ mov r3, #0xc
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+_02076F98:
+ add r0, r5, #0x0
+ bl FUN_020772CC
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020688E8
+_02076FA8:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02076FAC: .word 0x000005A4
+
+ thumb_func_start FUN_02076FB0
+FUN_02076FB0: ; 0x02076FB0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0207702C ; =0x000005A4
+ add r6, r1, #0x0
+ ldr r1, _02077030 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r1, r6, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, _02077034 ; =0x0000069C
+ add r1, r6, #0x0
+ ldr r0, [r5, r0]
+ add r1, #0xa2
+ bl FUN_0200A914
+ add r7, r0, #0x0
+ mov r0, #0x6a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200AD5C
+ mov r1, #0x6a
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ add r1, #0x8
+ ldr r1, [r5, r1]
+ add r2, r7, #0x0
+ bl FUN_0200B7B8
+ add r0, r7, #0x0
+ bl FUN_02021A20
+ cmp r4, #0x0
+ ldr r1, _02077038 ; =0x000006F8
+ bne _0207701C
+ ldr r0, [r5, r1]
+ sub r1, #0x50
+ mov r2, #0x2
+ ldr r1, [r5, r1]
+ mvn r2, r2
+ bl FUN_020128A0
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0207701C:
+ ldr r0, [r5, r1]
+ sub r1, #0x50
+ ldr r1, [r5, r1]
+ add r2, r6, #0x0
+ bl FUN_020128A0
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_0207702C: .word 0x000005A4
+_02077030: .word 0x00000B25
+_02077034: .word 0x0000069C
+_02077038: .word 0x000006F8
+
+ thumb_func_start FUN_0207703C
+FUN_0207703C: ; 0x0207703C
+ push {r4-r5, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ bne _02077050
+ mov r1, #0x29
+ mov r2, #0x1
+ bl FUN_020731D4
+ b _02077058
+_02077050:
+ mov r1, #0x28
+ mov r2, #0x1
+ bl FUN_020731D4
+_02077058:
+ mov r0, #0x4
+ mov r1, #0xc
+ bl FUN_02012838
+ ldr r1, _02077108 ; =0x000006F8
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02076FB0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02076FB0
+ add r0, r5, r0
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02076FB0
+ add r0, r5, r0
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_02076FB0
+ add r0, r5, r0
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r0, _02077108 ; =0x000006F8
+ mov r2, #0x0
+ ldr r0, [r4, r0]
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ str r0, [sp, #0xc]
+ add r0, sp, #0x8
+ strb r2, [r0, #0x8]
+ mov r2, #0x1
+ strb r2, [r0, #0x9]
+ mov r2, #0x4
+ strb r2, [r0, #0xa]
+ ldrb r3, [r0, #0xb]
+ mov r2, #0xf
+ bic r3, r2
+ strb r3, [r0, #0xb]
+ ldrb r3, [r0, #0xb]
+ mov r2, #0x30
+ bic r3, r2
+ strb r3, [r0, #0xb]
+ cmp r1, #0x4
+ ldrb r2, [r0, #0xb]
+ bne _020770D6
+ mov r1, #0xc0
+ bic r2, r1
+ mov r1, #0x40
+ orr r1, r2
+ strb r1, [r0, #0xb]
+ b _020770DC
+_020770D6:
+ mov r1, #0xc0
+ bic r2, r1
+ strb r2, [r0, #0xb]
+_020770DC:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ mov r1, #0x1
+ add r0, r4, r0
+ add r2, r1, #0x0
+ mov r3, #0xe
+ bl FUN_0200CCA4
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x8
+ mov r1, #0x8
+ add r3, r2, #0x0
+ bl FUN_02001C14
+ ldr r1, _0207710C ; =0x000006FC
+ str r0, [r4, r1]
+ add sp, #0x14
+ pop {r4-r5, pc}
+ .balign 4
+_02077108: .word 0x000006F8
+_0207710C: .word 0x000006FC
+
+ thumb_func_start FUN_02077110
+FUN_02077110: ; 0x02077110
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, _0207722C ; =0x000006FC
+ ldr r0, [r5, r0]
+ bl FUN_02001C78
+ add r4, r0, #0x0
+ mov r0, #0x1
+ mvn r0, r0
+ cmp r4, r0
+ beq _02077130
+ add r0, r0, #0x1
+ cmp r4, r0
+ beq _02077226
+ b _0207716A
+_02077130:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ ldr r0, _0207722C ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _02077230 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ add r0, r5, #0x0
+ mov r1, #0x20
+ mov r2, #0x1
+ bl FUN_020731C0
+ add sp, #0x8
+ mov r0, #0x4
+ pop {r4-r6, pc}
+_0207716A:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ ldr r0, _0207722C ; =0x000006FC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02001C5C
+ ldr r0, _02077230 ; =0x000006F8
+ ldr r0, [r5, r0]
+ bl FUN_02012870
+ ldr r0, _02077234 ; =0x000005A4
+ ldr r6, [r5, r0]
+ add r0, r5, #0x0
+ bl FUN_020772CC
+ str r0, [sp, #0x0]
+ mov r0, #0xc
+ str r0, [sp, #0x4]
+ ldr r2, _02077238 ; =0x00000B25
+ lsl r3, r4, #0x18
+ ldrh r1, [r6, #0x24]
+ ldrb r2, [r5, r2]
+ ldr r0, [r6, #0x0]
+ lsr r3, r3, #0x18
+ bl FUN_02084DD0
+ cmp r0, #0x1
+ bne _020771F6
+ ldr r0, _02077234 ; =0x000005A4
+ ldr r1, _02077238 ; =0x00000B25
+ ldr r0, [r5, r0]
+ ldrb r1, [r5, r1]
+ ldr r0, [r0, #0x0]
+ bl FUN_0206B9B0
+ add r4, #0x36
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _02077234 ; =0x000005A4
+ add r2, r0, #0x0
+ ldr r1, [r5, r1]
+ add r0, r5, #0x0
+ ldrh r1, [r1, #0x24]
+ bl FUN_020757F4
+ ldr r0, _02077234 ; =0x000005A4
+ mov r2, #0x1
+ ldr r1, [r5, r0]
+ mov r3, #0xc
+ ldr r0, [r1, #0x4]
+ ldrh r1, [r1, #0x24]
+ bl FUN_0206EDD4
+ ldr r0, _0207723C ; =0x000005EC
+ bl FUN_020054C8
+ b _02077204
+_020771F6:
+ ldr r2, _02077240 ; =0x0000069C
+ mov r1, #0x69
+ ldr r0, [r5, r2]
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+_02077204:
+ mov r1, #0x0
+ add r0, r5, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _02077234 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ add sp, #0x8
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _02077244 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r5, r0]
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_02077226:
+ mov r0, #0x6
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0207722C: .word 0x000006FC
+_02077230: .word 0x000006F8
+_02077234: .word 0x000005A4
+_02077238: .word 0x00000B25
+_0207723C: .word 0x000005EC
+_02077240: .word 0x0000069C
+_02077244: .word 0x00000B22
+
+ thumb_func_start FUN_02077248
+FUN_02077248: ; 0x02077248
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_0200D0E0
+ ldr r0, _020772BC ; =0x00000B25
+ ldr r2, _020772C0 ; =0x0000070C
+ ldrb r1, [r4, r0]
+ mov r0, #0x2c
+ mul r0, r1
+ add r0, r4, r0
+ ldrh r0, [r0, r2]
+ cmp r0, #0x0
+ bne _02077286
+ add r0, r2, #0x0
+ sub r0, #0x70
+ sub r2, #0x68
+ ldr r0, [r4, r0]
+ ldr r2, [r4, r2]
+ mov r1, #0x7f
+ bl FUN_0200A8E0
+ ldr r1, _020772BC ; =0x00000B25
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_02073AB8
+ b _0207729C
+_02077286:
+ add r0, r2, #0x0
+ sub r0, #0x70
+ sub r2, #0x68
+ ldr r0, [r4, r0]
+ ldr r2, [r4, r2]
+ mov r1, #0x80
+ bl FUN_0200A8E0
+ ldr r0, _020772BC ; =0x00000B25
+ mov r1, #0x7
+ strb r1, [r4, r0]
+_0207729C:
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ mov r2, #0x1
+ bl FUN_020731E8
+ ldr r0, _020772C4 ; =0x000005A4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ add r0, #0x23
+ strb r1, [r0, #0x0]
+ ldr r0, _020772C8 ; =0x00000B22
+ mov r1, #0x15
+ strb r1, [r4, r0]
+ pop {r4, pc}
+ nop
+_020772BC: .word 0x00000B25
+_020772C0: .word 0x0000070C
+_020772C4: .word 0x000005A4
+_020772C8: .word 0x00000B22
+
+ thumb_func_start FUN_020772CC
+FUN_020772CC: ; 0x020772CC
+ push {r3, lr}
+ ldr r1, _020772E4 ; =0x000005A4
+ ldr r0, [r0, r1]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ pop {r3, pc}
+ nop
+_020772E4: .word 0x000005A4
+
+ thumb_func_start FUN_020772E8
+FUN_020772E8: ; 0x020772E8
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ ldr r1, [r5, #0x0]
+ add r6, r0, #0x0
+ cmp r1, #0x0
+ beq _020772FE
+ cmp r1, #0x1
+ bne _020772FC
+ b _02077456
+_020772FC:
+ b _02077490
+_020772FE:
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ bl FUN_02015F1C
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _02077498 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _0207749C ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r2, #0xa
+ mov r0, #0x3
+ mov r1, #0x12
+ lsl r2, r2, #0xe
+ bl FUN_0201681C
+ mov r1, #0x5d
+ add r0, r6, #0x0
+ lsl r1, r1, #0x4
+ mov r2, #0x12
+ bl FUN_02006268
+ mov r2, #0x5d
+ mov r1, #0x0
+ lsl r2, r2, #0x4
+ add r4, r0, #0x0
+ bl memset
+ mov r0, #0x12
+ bl FUN_02016B94
+ mov r1, #0x16
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ mov r0, #0x12
+ bl FUN_0200AA80
+ mov r2, #0x5a
+ lsl r2, r2, #0x2
+ str r0, [r4, r2]
+ mov r0, #0x0
+ mov r1, #0x1a
+ add r2, #0xb
+ mov r3, #0x12
+ bl FUN_0200A86C
+ mov r2, #0x5b
+ lsl r2, r2, #0x2
+ str r0, [r4, r2]
+ mov r0, #0x1
+ mov r1, #0x1a
+ add r2, #0xc
+ mov r3, #0x12
+ bl FUN_0200A86C
+ mov r2, #0x17
+ lsl r2, r2, #0x4
+ str r0, [r4, r2]
+ mov r0, #0x1
+ mov r1, #0x1a
+ sub r2, #0x2c
+ mov r3, #0x12
+ bl FUN_0200A86C
+ mov r1, #0x5d
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ bl FUN_02077B24
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02077B44
+ add r0, r6, #0x0
+ bl FUN_0200628C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02077B08
+ add r0, r4, #0x0
+ bl FUN_02077FE8
+ mov r0, #0x2
+ mov r1, #0x12
+ bl FUN_02002C50
+ ldr r0, _020774A0 ; =FUN_02077AE8
+ mov r1, #0x0
+ bl FUN_02015F10
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02077CD4
+ mov r0, #0x0
+ mov r1, #0x12
+ bl FUN_02002C84
+ bl FUN_02078110
+ add r0, r4, #0x0
+ bl FUN_02078140
+ add r0, r4, #0x0
+ bl FUN_0207835C
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0207890C
+ ldr r0, _020774A4 ; =0x000004C4
+ mov r3, #0x5f
+ add r1, r4, r0
+ lsl r3, r3, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r4, r3]
+ add r2, r3, #0x0
+ str r1, [sp, #0x4]
+ sub r2, #0x24
+ sub r0, #0xcc
+ add r1, r4, #0x0
+ sub r3, #0x22
+ ldrh r2, [r4, r2]
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r4, r3
+ bl FUN_0207907C
+ mov r1, #0x0
+ mov r0, #0x34
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x1
+ bl FUN_02077C84
+ ldr r0, _020774A8 ; =0x021C4918
+ mov r1, #0x1
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _02077490
+_02077456:
+ bl FUN_02006278
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _02077472
+ ldr r1, _020774AC ; =0x000004B8
+ ldr r2, [r4, #0x4]
+ ldr r0, [r4, r1]
+ add r1, #0x8
+ ldr r1, [r4, r1]
+ ldr r3, [r4, #0x8]
+ bl FUN_020774B8
+_02077472:
+ ldr r0, _020774B0 ; =0x021C5C54
+ mov r1, #0x1
+ str r4, [r0, #0x0]
+ mov r0, #0x0
+ mov r2, #0xc
+ mov r3, #0x12
+ bl FUN_020142EC
+ ldr r1, _020774B4 ; =0x000005C4
+ add sp, #0xc
+ str r0, [r4, r1]
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+ mov r0, #0x1
+ pop {r3-r6, pc}
+_02077490:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r3-r6, pc}
+ nop
+_02077498: .word 0xFFFFE0FF
+_0207749C: .word 0x04001000
+_020774A0: .word FUN_02077AE8
+_020774A4: .word 0x000004C4
+_020774A8: .word 0x021C4918
+_020774AC: .word 0x000004B8
+_020774B0: .word 0x021C5C54
+_020774B4: .word 0x000005C4
+
+ thumb_func_start FUN_020774B8
+FUN_020774B8: ; 0x020774B8
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r2, #0x0
+ mov r2, #0x2
+ ldr r0, [r0, #0x14]
+ ldr r1, _020774E8 ; =0x000057E0
+ add r6, r3, #0x0
+ lsl r2, r2, #0x8
+ bl GX_LoadOBJ
+ ldr r4, [r4, #0xc]
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ mov r2, #0x0
+ bl FUN_0206B7BC
+ lsl r0, r0, #0x5
+ add r0, r4, r0
+ mov r1, #0xc0
+ mov r2, #0x20
+ bl GX_LoadOBJPltt
+ pop {r4-r6, pc}
+ nop
+_020774E8: .word 0x000057E0
+
+ thumb_func_start FUN_020774EC
+FUN_020774EC: ; 0x020774EC
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ bl FUN_02006278
+ ldr r1, [r5, #0x0]
+ add r4, r0, #0x0
+ cmp r1, #0x3
+ bhi _02077550
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0207750C: ; jump table (using 16-bit offset)
+ .short _02077514 - _0207750C - 2; case 0
+ .short _02077528 - _0207750C - 2; case 1
+ .short _0207755C - _0207750C - 2; case 2
+ .short _0207768A - _0207750C - 2; case 3
+_02077514:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02077550
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ ldr r0, _020776A8 ; =0x000005CC
+ mov r1, #0x0
+ str r1, [r4, r0]
+ b _02077698
+_02077528:
+ ldr r1, _020776A8 ; =0x000005CC
+ ldr r2, [r4, r1]
+ add r2, r2, #0x1
+ str r2, [r4, r1]
+ bl FUN_020798C4
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r0, r4, r2
+ mov r1, #0xcb
+ sub r2, #0x30
+ lsl r1, r1, #0x2
+ ldr r2, [r4, r2]
+ add r1, r4, r1
+ bl FUN_02079834
+ ldr r0, _020776A8 ; =0x000005CC
+ ldr r1, [r4, r0]
+ cmp r1, #0x5
+ bgt _02077552
+_02077550:
+ b _02077698
+_02077552:
+ mov r1, #0x2
+ str r1, [r5, #0x0]
+ mov r1, #0x0
+ str r1, [r4, r0]
+ b _02077698
+_0207755C:
+ ldr r3, _020776AC ; =0x0000045C
+ ldr r2, [r4, r3]
+ cmp r2, #0x7
+ bhi _02077636
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02077570: ; jump table (using 16-bit offset)
+ .short _02077636 - _02077570 - 2; case 0
+ .short _02077636 - _02077570 - 2; case 1
+ .short _02077636 - _02077570 - 2; case 2
+ .short _02077636 - _02077570 - 2; case 3
+ .short _02077580 - _02077570 - 2; case 4
+ .short _02077594 - _02077570 - 2; case 5
+ .short _020775E0 - _02077570 - 2; case 6
+ .short _0207760C - _02077570 - 2; case 7
+_02077580:
+ ldr r2, [r4, #0x34]
+ cmp r2, #0x0
+ bne _0207758C
+ bl FUN_020776C4
+ str r0, [r5, #0x0]
+_0207758C:
+ add r0, r4, #0x0
+ bl FUN_020798C4
+ b _02077636
+_02077594:
+ add r1, r6, #0x0
+ bl FUN_02077E90
+ ldr r0, _020776B0 ; =0x00000448
+ mov r1, #0xf
+ add r0, r4, r0
+ bl FUN_02019620
+ ldr r0, _020776B0 ; =0x00000448
+ mov r2, #0x1
+ add r0, r4, r0
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ mov r3, #0xa
+ bl FUN_0200D0BC
+ mov r3, #0x0
+ mov r2, #0x6
+ ldr r0, _020776B0 ; =0x00000448
+ str r3, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ str r3, [sp, #0x8]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r0, r4, r0
+ bl FUN_0201BD84
+ ldr r1, _020776B4 ; =0x00000458
+ str r0, [r4, r1]
+ sub r1, #0x10
+ add r0, r4, r1
+ bl FUN_020191D0
+ ldr r0, _020776AC ; =0x0000045C
+ mov r1, #0x6
+ str r1, [r4, r0]
+ b _02077636
+_020775E0:
+ sub r0, r3, #0x4
+ ldr r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02077636
+ ldr r0, _020776B8 ; =0x000005E2
+ bl FUN_020054C8
+ ldr r1, _020776BC ; =0x000004A8
+ mov r2, #0x0
+ ldr r0, [r4, r1]
+ add r0, r0, #0x1
+ str r0, [r4, r1]
+ ldr r0, _020776A8 ; =0x000005CC
+ sub r1, #0x4c
+ str r2, [r4, r0]
+ mov r0, #0x7
+ str r0, [r4, r1]
+ b _02077636
+_0207760C:
+ ldr r0, _020776A8 ; =0x000005CC
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, [r4, r0]
+ cmp r0, #0x1e
+ ble _02077636
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r1, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+_02077636:
+ ldr r3, _020776C0 ; =0x00000464
+ mov r1, #0xcb
+ add r0, r4, r3
+ str r0, [sp, #0x0]
+ add r0, r3, #0x4
+ add r0, r4, r0
+ lsl r1, r1, #0x2
+ str r0, [sp, #0x4]
+ add r0, r4, r1
+ str r0, [sp, #0x8]
+ add r0, r3, #0x0
+ add r0, #0x4c
+ ldr r0, [r4, r0]
+ add r2, r3, #0x0
+ ldr r0, [r0, #0x14]
+ add r1, #0x8c
+ str r0, [sp, #0xc]
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ sub r3, r3, #0x4
+ sub r2, #0x8
+ ldr r0, [r4, r0]
+ ldr r3, [r4, r3]
+ add r1, r4, r1
+ add r2, r4, r2
+ bl FUN_020786B0
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r0, r4, r2
+ mov r1, #0xcb
+ sub r2, #0x30
+ lsl r1, r1, #0x2
+ ldr r2, [r4, r2]
+ add r1, r4, r1
+ bl FUN_02079834
+ add r0, r4, #0x0
+ add r0, #0x38
+ bl FUN_02078E3C
+ b _02077698
+_0207768A:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _02077698
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02077698:
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201FDEC
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_020776A8: .word 0x000005CC
+_020776AC: .word 0x0000045C
+_020776B0: .word 0x00000448
+_020776B4: .word 0x00000458
+_020776B8: .word 0x000005E2
+_020776BC: .word 0x000004A8
+_020776C0: .word 0x00000464
+
+ thumb_func_start FUN_020776C4
+FUN_020776C4: ; 0x020776C4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02078C98
+ ldr r0, _020777BC ; =0x021C48B8
+ mov r1, #0x4
+ ldr r0, [r0, #0x48]
+ tst r1, r0
+ beq _02077746
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x4
+ beq _0207771E
+ ldr r1, _020777C0 ; =0x0000045C
+ mov r0, #0x0
+ str r0, [r5, r1]
+ add r2, r1, #0x4
+ ldr r2, [r5, r2]
+ add r3, r2, #0x1
+ add r2, r1, #0x4
+ str r3, [r5, r2]
+ ldr r2, [r5, r2]
+ cmp r2, #0x3
+ blt _020776F8
+ add r1, r1, #0x4
+ str r0, [r5, r1]
+_020776F8:
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r1, r2, #0x0
+ sub r1, #0x30
+ ldr r1, [r5, r1]
+ add r0, r5, r2
+ lsl r3, r1, #0x2
+ ldr r1, [r0, r3]
+ sub r2, #0x30
+ add r1, r1, #0x1
+ str r1, [r0, r3]
+ add r0, r5, #0x0
+ ldr r1, [r5, r2]
+ add r0, #0x3a
+ bl FUN_0207916C
+ ldr r0, _020777C4 ; =0x0000069E
+ bl FUN_020054C8
+_0207771E:
+ mov r2, #0x49
+ lsl r2, r2, #0x4
+ add r1, r2, #0x0
+ sub r1, #0x30
+ ldr r1, [r5, r1]
+ add r0, r5, r2
+ lsl r3, r1, #0x2
+ ldr r1, [r0, r3]
+ sub r2, #0x30
+ add r1, r1, #0x1
+ str r1, [r0, r3]
+ add r0, r5, #0x0
+ ldr r1, [r5, r2]
+ add r0, #0x3a
+ bl FUN_0207916C
+ ldr r0, _020777C4 ; =0x0000069E
+ bl FUN_020054C8
+ b _020777B8
+_02077746:
+ mov r2, #0x1
+ add r1, r0, #0x0
+ tst r1, r2
+ beq _0207776C
+ ldr r3, [r5, #0x20]
+ mov r1, #0x1a
+ mul r1, r3
+ add r3, r5, r1
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x1
+ add r1, r3, r1
+ ldrh r1, [r1, #0x3a]
+ bl FUN_020791C0
+ add r4, r0, #0x0
+ mov r0, #0x1
+ str r0, [r5, #0x30]
+ b _020777B8
+_0207776C:
+ ldr r1, _020777C8 ; =0x000005C8
+ ldr r1, [r5, r1]
+ cmp r1, #0x1
+ bne _02077794
+ ldr r2, [r5, #0x20]
+ mov r1, #0x1a
+ mul r1, r2
+ add r2, r5, r1
+ ldr r1, [r5, #0x1c]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x1
+ add r1, r2, r1
+ ldrh r1, [r1, #0x3a]
+ mov r2, #0x0
+ bl FUN_020791C0
+ add r4, r0, #0x0
+ mov r0, #0x0
+ str r0, [r5, #0x30]
+ b _020777B8
+_02077794:
+ mov r1, #0x2
+ add r3, r0, #0x0
+ tst r3, r1
+ beq _020777A8
+ ldr r1, _020777CC ; =0x0000E007
+ add r0, r5, #0x0
+ bl FUN_020791C0
+ add r4, r0, #0x0
+ b _020777B8
+_020777A8:
+ add r1, #0xfe
+ tst r0, r1
+ beq _020777B8
+ ldr r1, _020777D0 ; =0x0000E006
+ add r0, r5, #0x0
+ bl FUN_020791C0
+ add r4, r0, #0x0
+_020777B8:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_020777BC: .word 0x021C48B8
+_020777C0: .word 0x0000045C
+_020777C4: .word 0x0000069E
+_020777C8: .word 0x000005C8
+_020777CC: .word 0x0000E007
+_020777D0: .word 0x0000E006
+
+ thumb_func_start FUN_020777D4
+FUN_020777D4: ; 0x020777D4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ add r4, r1, #0x0
+ cmp r0, #0x0
+ bne _02077836
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ bne _020777FE
+ bl rand_LC
+ mov r1, #0x12
+ bl _s32_div_f
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ b _0207781A
+_020777FE:
+ cmp r0, #0x1
+ bne _0207781A
+ bl rand_LC
+ mov r1, #0x12
+ bl _s32_div_f
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ add r1, #0x12
+ bl FUN_0200A914
+ add r6, r0, #0x0
+_0207781A:
+ ldr r0, [r4, #0x18]
+ add r1, r6, #0x0
+ bl FUN_02021A74
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ ldr r0, [r4, #0x18]
+ add r4, #0x1c
+ add r1, r4, #0x0
+ mov r2, #0xa
+ bl FUN_02021EF0
+ pop {r4-r6, pc}
+_02077836:
+ cmp r0, #0x3
+ bne _02077864
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x58
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x18]
+ add r1, r5, #0x0
+ bl FUN_02021A74
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ ldr r0, [r4, #0x18]
+ add r4, #0x1c
+ add r1, r4, #0x0
+ mov r2, #0xa
+ bl FUN_02021EF0
+ pop {r4-r6, pc}
+_02077864:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207786C
+FUN_0207786C: ; 0x0207786C
+ push {r4-r5}
+ ldr r1, _0207788C ; =0x000001DE
+ ldr r2, _02077890 ; =0x0000FFFF
+ mov r5, #0x1
+ mov r3, #0x0
+_02077876:
+ ldrh r4, [r0, #0x0]
+ cmp r4, r2
+ beq _02077886
+ cmp r4, r1
+ beq _02077882
+ add r5, r3, #0x0
+_02077882:
+ add r0, r0, #0x2
+ b _02077876
+_02077886:
+ add r0, r5, #0x0
+ pop {r4-r5}
+ bx lr
+ .balign 4
+_0207788C: .word 0x000001DE
+_02077890: .word 0x0000FFFF
+
+ thumb_func_start FUN_02077894
+FUN_02077894: ; 0x02077894
+ push {r4-r7, lr}
+ sub sp, #0x14
+ str r0, [sp, #0x10]
+ bl FUN_02006278
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x10]
+ bl FUN_0200628C
+ add r5, r0, #0x0
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ ldr r1, _02077A6C ; =0x0000FFFF
+ lsl r0, r0, #0x1
+ add r0, r4, r0
+ add r0, #0xd8
+ strh r1, [r0, #0x0]
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _020778DE
+ mov r0, #0x12
+ bl FUN_020669C0
+ mov r3, #0xa
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ str r3, [sp, #0x8]
+ str r3, [sp, #0xc]
+ ldr r1, [r4, #0x4]
+ add r6, r0, #0x0
+ mov r2, #0x5
+ bl FUN_02066ACC
+ add r0, r6, #0x0
+ bl FUN_02016A18
+_020778DE:
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ ldrh r0, [r4, r1]
+ cmp r0, #0x0
+ beq _02077904
+ add r0, r4, #0x0
+ sub r1, #0x40
+ add r0, #0xd8
+ add r1, r4, r1
+ bl StringNotEqual
+ cmp r0, #0x0
+ beq _02077904
+ add r0, r4, #0x0
+ add r0, #0xd8
+ bl FUN_0207786C
+ cmp r0, #0x0
+ beq _0207790E
+_02077904:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_020777D4
+ b _02077932
+_0207790E:
+ mov r0, #0x46
+ lsl r0, r0, #0x2
+ add r1, r4, #0x0
+ add r0, r4, r0
+ add r1, #0xd8
+ bl StringCopy
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r0, #0x1c
+ add r1, #0xd8
+ bl StringCopy
+ add r1, r4, #0x0
+ ldr r0, [r5, #0x18]
+ add r1, #0xd8
+ bl FUN_02021E28
+_02077932:
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r7, #0xe7
+ mov r6, #0x0
+ add r5, r4, #0x0
+ lsl r7, r7, #0x2
+_02077944:
+ ldr r0, [r5, r7]
+ bl FUN_0200621C
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ cmp r6, #0x7
+ blt _02077944
+ mov r0, #0xb1
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02009C0C
+ mov r0, #0xb5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02009C0C
+ mov r0, #0xb2
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02009E04
+ mov r0, #0xb6
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02009E04
+ mov r7, #0xad
+ mov r6, #0x0
+ add r5, r4, #0x0
+ lsl r7, r7, #0x2
+_02077982:
+ ldr r0, [r5, r7]
+ bl FUN_02008E2C
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ cmp r6, #0x4
+ blt _02077982
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201FD58
+ bl FUN_02009FA0
+ ldr r1, _02077A70 ; =0x000004AC
+ mov r0, #0x12
+ ldr r1, [r4, r1]
+ bl FUN_02016A8C
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _020779C2
+ ldr r1, _02077A74 ; =0x000004B4
+ mov r0, #0x12
+ ldr r1, [r4, r1]
+ bl FUN_02016A8C
+ ldr r1, _02077A78 ; =0x000004BC
+ mov r0, #0x12
+ ldr r1, [r4, r1]
+ bl FUN_02016A8C
+_020779C2:
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x7
+ bl FUN_020178A0
+ bl FUN_0201D12C
+ bl FUN_0201E08C
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ mov r1, #0xee
+ lsl r1, r1, #0x2
+ ldr r0, [r4, r0]
+ add r1, r4, r1
+ bl FUN_02077FA8
+ mov r0, #0x0
+ bl FUN_02002CC0
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _02077A7C ; =0xFFFF1FFF
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x2
+ bl FUN_02002CF8
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ beq _02077A0C
+ bl FUN_02021A20
+_02077A0C:
+ mov r0, #0x5e
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r0, #0x5f
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r0, #0x5d
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0200AB18
+ ldr r0, [sp, #0x10]
+ bl FUN_0200627C
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r0, #0x12
+ bl FUN_020168D0
+ ldr r0, _02077A80 ; =0x021C4918
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ mov r0, #0x1
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+_02077A6C: .word 0x0000FFFF
+_02077A70: .word 0x000004AC
+_02077A74: .word 0x000004B4
+_02077A78: .word 0x000004BC
+_02077A7C: .word 0xFFFF1FFF
+_02077A80: .word 0x021C4918
+
+ thumb_func_start FUN_02077A84
+FUN_02077A84: ; 0x02077A84
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ mov r1, #0x50
+ str r0, [sp, #0x0]
+ add r7, r2, #0x0
+ add r5, r3, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ str r6, [r4, #0x0]
+ str r7, [r4, #0x4]
+ str r5, [r4, #0xc]
+ mov r0, #0x0
+ str r0, [r4, #0x14]
+ ldr r0, _02077AC0 ; =0x0000FFFF
+ ldr r1, [sp, #0x0]
+ strh r0, [r4, #0x1c]
+ add r0, r5, #0x1
+ bl FUN_020219F4
+ str r0, [r4, #0x18]
+ mov r1, #0x0
+ str r1, [r4, #0x44]
+ str r1, [r4, #0x48]
+ ldr r0, [sp, #0x18]
+ str r1, [r4, #0x10]
+ str r0, [r4, #0x4c]
+ str r1, [r4, #0x8]
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02077AC0: .word 0x0000FFFF
+
+ thumb_func_start FUN_02077AC4
+FUN_02077AC4: ; 0x02077AC4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ bne _02077AD2
+ bl ErrorHandling
+_02077AD2:
+ cmp r4, #0x0
+ bne _02077ADA
+ bl ErrorHandling
+_02077ADA:
+ ldr r0, [r4, #0x18]
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_02077AE8
+FUN_02077AE8: ; 0x02077AE8
+ push {r3, lr}
+ bl FUN_0201C30C
+ bl FUN_02009F80
+ ldr r3, _02077B00 ; =0x027E0000
+ ldr r1, _02077B04 ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r3, pc}
+ .balign 4
+_02077B00: .word 0x027E0000
+_02077B04: .word 0x00003FF8
+
+ thumb_func_start FUN_02077B08
+FUN_02077B08: ; 0x02077B08
+ ldr r2, [r1, #0x0]
+ str r2, [r0, #0x0]
+ ldr r2, [r1, #0x4]
+ str r2, [r0, #0x4]
+ ldr r2, [r1, #0x8]
+ str r2, [r0, #0x8]
+ ldr r2, [r1, #0xc]
+ str r2, [r0, #0xc]
+ ldr r2, [r1, #0x10]
+ str r2, [r0, #0x10]
+ ldr r1, [r1, #0x4c]
+ str r1, [r0, #0x18]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02077B24
+FUN_02077B24: ; 0x02077B24
+ push {r4, lr}
+ sub sp, #0x28
+ ldr r4, _02077B40 ; =0x020FA12C
+ add r3, sp, #0x0
+ mov r2, #0x5
+_02077B2E:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02077B2E
+ add r0, sp, #0x0
+ bl FUN_0201E66C
+ add sp, #0x28
+ pop {r4, pc}
+ .balign 4
+_02077B40: .word 0x020FA12C
+
+ thumb_func_start FUN_02077B44
+FUN_02077B44: ; 0x02077B44
+ push {r3-r5, lr}
+ sub sp, #0x80
+ ldr r5, _02077C68 ; =0x020F9D4C
+ add r3, sp, #0x70
+ add r4, r0, #0x0
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _02077C6C ; =0x020F9EC0
+ add r3, sp, #0x54
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x0
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02018744
+ ldr r5, _02077C70 ; =0x020F9FA0
+ add r3, sp, #0x38
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02018744
+ ldr r5, _02077C74 ; =0x020FA064
+ add r3, sp, #0x1c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02018744
+ ldr r5, _02077C78 ; =0x020F9DFC
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02018744
+ mov r0, #0x0
+ bl FUN_02077C84
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ mov r3, #0x12
+ bl FUN_02017F18
+ mov r0, #0x4
+ mov r1, #0x20
+ mov r2, #0x0
+ mov r3, #0x12
+ bl FUN_02017F18
+ mov r0, #0x1
+ lsl r0, r0, #0x1a
+ add r4, r0, #0x0
+ ldr r2, [r0, #0x0]
+ ldr r1, _02077C7C ; =0xFFFF1FFF
+ add r4, #0x48
+ and r2, r1
+ lsr r1, r0, #0xd
+ orr r1, r2
+ str r1, [r0, #0x0]
+ ldrh r3, [r4, #0x0]
+ mov r2, #0x3f
+ mov r1, #0x14
+ bic r3, r2
+ orr r1, r3
+ mov r3, #0x20
+ orr r1, r3
+ strh r1, [r4, #0x0]
+ add r4, r0, #0x0
+ add r4, #0x4a
+ ldrh r5, [r4, #0x0]
+ mov r1, #0x1f
+ bic r5, r2
+ orr r1, r5
+ orr r1, r3
+ strh r1, [r4, #0x0]
+ add r1, r0, #0x0
+ mov r2, #0xff
+ add r1, #0x40
+ strh r2, [r1, #0x0]
+ mov r1, #0x40
+ add r0, #0x44
+ strh r1, [r0, #0x0]
+ ldr r0, _02077C80 ; =0x04001050
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ add sp, #0x80
+ pop {r3-r5, pc}
+ .balign 4
+_02077C68: .word 0x020F9D4C
+_02077C6C: .word 0x020F9EC0
+_02077C70: .word 0x020F9FA0
+_02077C74: .word 0x020FA064
+_02077C78: .word 0x020F9DFC
+_02077C7C: .word 0xFFFF1FFF
+_02077C80: .word 0x04001050
+
+ thumb_func_start FUN_02077C84
+FUN_02077C84: ; 0x02077C84
+ push {r4, lr}
+ add r4, r0, #0x0
+ lsl r1, r4, #0x18
+ mov r0, #0x1
+ lsr r1, r1, #0x18
+ bl FUN_0201E6E4
+ lsl r1, r4, #0x18
+ mov r0, #0x2
+ lsr r1, r1, #0x18
+ bl FUN_0201E6E4
+ lsl r1, r4, #0x18
+ mov r0, #0x4
+ lsr r1, r1, #0x18
+ bl FUN_0201E6E4
+ mov r0, #0x8
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ lsl r1, r4, #0x18
+ mov r0, #0x10
+ lsr r1, r1, #0x18
+ bl FUN_0201E6E4
+ lsl r1, r4, #0x18
+ mov r0, #0x1
+ lsr r1, r1, #0x18
+ bl FUN_0201E74C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x10
+ mov r1, #0x0
+ bl FUN_0201E74C
+ pop {r4, pc}
+
+ thumb_func_start FUN_02077CD4
+FUN_02077CD4: ; 0x02077CD4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0200628C
+ add r7, r0, #0x0
+ ldr r0, _02077E7C ; =0x0000045C
+ mov r1, #0x4
+ str r1, [r4, r0]
+ add r0, #0xc
+ add r0, r4, r0
+ mov r1, #0x0
+ bl FUN_02078BA8
+ ldr r6, _02077E80 ; =0x00000464
+ mov r0, #0x16
+ ldr r3, [r4, r6]
+ mov r5, #0xc
+ lsl r0, r0, #0x4
+ lsl r1, r3, #0x18
+ mul r5, r3
+ add r3, r4, r5
+ add r5, r6, #0x4
+ ldr r0, [r4, r0]
+ ldr r3, [r3, r5]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r3, [r4, r6]
+ mov r5, #0xc
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ lsl r1, r3, #0x18
+ mul r5, r3
+ add r3, r4, r5
+ add r6, #0x8
+ ldr r0, [r4, r0]
+ ldr r3, [r3, r6]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ ldr r6, _02077E80 ; =0x00000464
+ mov r0, #0x1
+ ldr r1, [r4, r6]
+ mov r5, #0xc
+ add r3, r1, #0x0
+ eor r3, r0
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ lsl r1, r3, #0x18
+ mul r5, r3
+ add r3, r4, r5
+ add r5, r6, #0x4
+ ldr r0, [r4, r0]
+ ldr r3, [r3, r5]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r1, [r4, r6]
+ mov r0, #0x1
+ add r3, r1, #0x0
+ eor r3, r0
+ mov r5, #0xc
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ lsl r1, r3, #0x18
+ mul r5, r3
+ add r3, r4, r5
+ add r6, #0x8
+ ldr r0, [r4, r0]
+ ldr r3, [r3, r6]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ mov r1, #0x46
+ ldr r0, _02077E84 ; =0x0000FFFF
+ lsl r1, r1, #0x2
+ strh r0, [r4, r1]
+ ldr r0, [r7, #0x18]
+ cmp r0, #0x0
+ beq _02077D88
+ add r1, r4, r1
+ mov r2, #0x20
+ bl FUN_02021EF0
+_02077D88:
+ add r1, r4, #0x0
+ mov r0, #0x1
+ add r1, #0xd8
+ mov r2, #0x40
+ bl MIi_CpuClear16
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x1
+ bne _02077DCE
+ mov r0, #0x12
+ bl FUN_020669C0
+ mov r3, #0xa
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ str r3, [sp, #0x8]
+ str r3, [sp, #0xc]
+ ldr r1, [r4, #0x4]
+ add r5, r0, #0x0
+ mov r2, #0x5
+ bl FUN_02066ACC
+ add r0, r5, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200AC60
+ add r0, r5, #0x0
+ bl FUN_02016A18
+_02077DCE:
+ ldr r0, [r7, #0x44]
+ cmp r0, #0x0
+ beq _02077DD8
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+_02077DD8:
+ ldr r2, [r4, #0x0]
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ lsl r3, r2, #0x2
+ ldr r2, _02077E88 ; =0x020FA0A0
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r2, [r2, r3]
+ ldr r1, [r4, r1]
+ mov r3, #0x12
+ bl FUN_0200A9C4
+ mov r1, #0x5e
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r1, #0x0
+ sub r0, #0x10
+ sub r1, #0xc
+ ldr r0, [r4, r0]
+ ldr r1, [r4, r1]
+ mov r2, #0x8
+ mov r3, #0x12
+ bl FUN_0200A9C4
+ mov r1, #0x5f
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ sub r1, #0x10
+ ldr r0, [r4, r1]
+ mov r1, #0x7
+ bl FUN_0200A914
+ mov r1, #0x61
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ sub r1, #0x6c
+ add r0, r4, r1
+ bl StringLength
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ strh r0, [r4, r1]
+ mov r0, #0x0
+ str r0, [r4, #0x1c]
+ mov r1, #0x1
+ str r1, [r4, #0x20]
+ sub r1, r1, #0x2
+ str r1, [r4, #0x24]
+ str r1, [r4, #0x28]
+ str r0, [r4, #0x30]
+ ldr r2, _02077E8C ; =0x00000484
+ str r0, [r4, #0x34]
+ str r1, [r4, r2]
+ add r1, r2, #0x4
+ str r0, [r4, r1]
+ add r2, #0x8
+ str r0, [r4, r2]
+ ldr r1, [r4, #0xc]
+ ldr r2, _02077E84 ; =0x0000FFFF
+ lsl r1, r1, #0x1
+ add r1, r4, r1
+ add r1, #0xd8
+ strh r2, [r1, #0x0]
+ mov r1, #0x49
+ add r3, r4, #0x0
+ add r2, r0, #0x0
+ lsl r1, r1, #0x4
+_02077E5E:
+ add r0, r0, #0x1
+ str r2, [r3, r1]
+ add r3, r3, #0x4
+ cmp r0, #0x7
+ blt _02077E5E
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x4
+ beq _02077E76
+ mov r0, #0x49
+ mov r1, #0x1
+ lsl r0, r0, #0x4
+ str r1, [r4, r0]
+_02077E76:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_02077E7C: .word 0x0000045C
+_02077E80: .word 0x00000464
+_02077E84: .word 0x0000FFFF
+_02077E88: .word 0x020FA0A0
+_02077E8C: .word 0x00000484
+
+ thumb_func_start FUN_02077E90
+FUN_02077E90: ; 0x02077E90
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_0200628C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x44]
+ cmp r0, #0x0
+ beq _02077FA0
+ mov r0, #0xc8
+ mov r1, #0x12
+ bl FUN_020219F4
+ add r7, r0, #0x0
+ mov r0, #0x6
+ mov r1, #0x0
+ lsl r0, r0, #0x6
+ str r1, [r5, r0]
+ ldr r0, [r4, #0x48]
+ bl FUN_0206B330
+ add r6, r0, #0x0
+ ldr r0, [r4, #0x48]
+ bl FUN_0206B334
+ str r0, [sp, #0x10]
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r4, #0x48]
+ mov r1, #0x1
+ add r3, r6, #0x0
+ bl FUN_0200B410
+ ldr r0, [sp, #0x10]
+ cmp r6, r0
+ beq _02077EF4
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r4, #0x48]
+ ldr r3, [sp, #0x10]
+ mov r1, #0x2
+ bl FUN_0200B410
+ ldr r0, [r4, #0x44]
+ add r0, r0, #0x2
+ str r0, [r4, #0x44]
+ b _02077F04
+_02077EF4:
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r4, #0x48]
+ mov r1, #0x2
+ add r3, r6, #0x0
+ bl FUN_0200B410
+_02077F04:
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r5, r0]
+ cmp r0, #0x0
+ beq _02077F1A
+ add r0, r5, #0x0
+ add r0, #0xd8
+ bl FUN_0207786C
+ cmp r0, #0x0
+ beq _02077F50
+_02077F1A:
+ mov r0, #0x12
+ bl FUN_020669C0
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ str r3, [sp, #0x8]
+ str r3, [sp, #0xc]
+ ldr r1, [r5, #0x4]
+ add r6, r0, #0x0
+ mov r2, #0x1
+ bl FUN_02066ACC
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ mov r0, #0x5a
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200AC60
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ b _02077F7E
+_02077F50:
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ ldrh r1, [r5, r1]
+ ldr r0, _02077FA4 ; =0x0000FFFF
+ lsl r1, r1, #0x1
+ add r1, r5, r1
+ add r1, #0xd8
+ strh r0, [r1, #0x0]
+ add r1, r5, #0x0
+ add r0, r7, #0x0
+ add r1, #0xd8
+ bl FUN_02021E28
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x5a
+ str r1, [sp, #0x4]
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r2, r7, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200ABB4
+_02077F7E:
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ ldr r0, [r5, r1]
+ add r1, #0xc
+ ldr r1, [r5, r1]
+ ldr r2, [r4, #0x44]
+ mov r3, #0x12
+ bl FUN_0200A9C4
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ str r0, [r5, r1]
+ mov r0, #0x1
+ str r0, [r5, #0x14]
+ add r0, r7, #0x0
+ bl FUN_02021A20
+_02077FA0:
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+_02077FA4: .word 0x0000FFFF
+
+ thumb_func_start FUN_02077FA8
+FUN_02077FA8: ; 0x02077FA8
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ mov r4, #0x0
+_02077FB0:
+ add r0, r5, #0x0
+ bl FUN_02019178
+ add r4, r4, #0x1
+ add r5, #0x10
+ cmp r4, #0xa
+ blt _02077FB0
+ add r0, r6, #0x0
+ mov r1, #0x4
+ bl FUN_020178A0
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_020178A0
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_020178A0
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_020178A0
+ mov r0, #0x12
+ add r1, r6, #0x0
+ bl FUN_02016A8C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02077FE8
+FUN_02077FE8: ; 0x02077FE8
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ ldr r4, [r5, r0]
+ mov r1, #0x0
+ mov r0, #0x60
+ str r0, [sp, #0x0]
+ mov r0, #0x12
+ str r0, [sp, #0x4]
+ mov r0, #0x1f
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_02006930
+ mov r0, #0x20
+ str r0, [sp, #0x0]
+ mov r0, #0x12
+ str r0, [sp, #0x4]
+ mov r0, #0xc
+ add r1, r0, #0x0
+ mov r2, #0x4
+ mov r3, #0x0
+ bl FUN_02006930
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x12
+ mov r1, #0x2
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ lsl r0, r0, #0x8
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ mov r1, #0x4
+ add r2, r4, #0x0
+ mov r3, #0x2
+ bl FUN_020068C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x4]
+ mov r3, #0x1
+ str r3, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ mov r1, #0x2
+ add r2, r4, #0x0
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xe
+ lsl r0, r0, #0x6
+ str r0, [sp, #0x4]
+ mov r3, #0x1
+ str r3, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ mov r1, #0x6
+ add r2, r4, #0x0
+ bl FUN_020068C8
+ mov r3, #0x0
+ mov r0, #0xe
+ str r3, [sp, #0x0]
+ lsl r0, r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ mov r0, #0x1f
+ mov r1, #0x7
+ add r2, r4, #0x0
+ bl FUN_020068C8
+ mov r1, #0x6
+ mov r0, #0x0
+ lsl r1, r1, #0x6
+ mov r2, #0x12
+ bl FUN_02002EEC
+ ldr r0, [r5, #0x18]
+ bl FUN_02025084
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x12
+ str r0, [sp, #0x4]
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ mov r1, #0x4
+ add r2, r1, #0x0
+ ldr r0, [r5, r0]
+ add r2, #0xfc
+ mov r3, #0xa
+ bl FUN_0200CD68
+ mov r1, #0x6
+ mov r0, #0x4
+ lsl r1, r1, #0x6
+ mov r2, #0x12
+ bl FUN_02002EEC
+ mov r3, #0x4b
+ mov r0, #0x12
+ lsl r3, r3, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0x1f
+ mov r1, #0x10
+ mov r2, #0x1
+ add r3, r5, r3
+ bl FUN_02006BB0
+ ldr r1, _0207810C ; =0x000004AC
+ str r0, [r5, r1]
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_0207810C: .word 0x000004AC
+
+ thumb_func_start FUN_02078110
+FUN_02078110: ; 0x02078110
+ push {r4, lr}
+ sub sp, #0x10
+ ldr r4, _0207813C ; =0x020F9D5C
+ add r3, sp, #0x0
+ add r2, r3, #0x0
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_0201D040
+ mov r0, #0x14
+ mov r1, #0x12
+ bl FUN_0201E00C
+ bl FUN_0201D168
+ bl FUN_0201E0BC
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_0207813C: .word 0x020F9D5C
+
+ thumb_func_start FUN_02078140
+FUN_02078140: ; 0x02078140
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ bl FUN_020B0FC0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r1, #0x80
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r3, #0x20
+ str r3, [sp, #0xc]
+ mov r2, #0x12
+ str r2, [sp, #0x10]
+ add r2, r0, #0x0
+ bl FUN_02009EAC
+ mov r1, #0x63
+ lsl r1, r1, #0x2
+ mov r0, #0x2c
+ add r1, r5, r1
+ mov r2, #0x12
+ bl FUN_02008C9C
+ mov r1, #0x62
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ mov r2, #0x1
+ add r0, r5, r0
+ mov r1, #0x0
+ lsl r2, r2, #0x14
+ bl FUN_02008D24
+ mov r7, #0xad
+ mov r6, #0x0
+ add r4, r5, #0x0
+ lsl r7, r7, #0x2
+_0207818C:
+ mov r0, #0x2
+ add r1, r6, #0x0
+ mov r2, #0x12
+ bl FUN_02008DEC
+ str r0, [r4, r7]
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x4
+ blt _0207818C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r3, #0x1
+ str r3, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1f
+ mov r2, #0xa
+ bl FUN_02008F34
+ mov r1, #0xb1
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r2, #0x1
+ str r2, [sp, #0x4]
+ mov r0, #0x9
+ str r0, [sp, #0x8]
+ mov r0, #0x12
+ sub r1, #0xc
+ str r0, [sp, #0xc]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ bl FUN_02008FEC
+ mov r1, #0xb2
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ sub r1, #0xc
+ str r0, [sp, #0x8]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ mov r2, #0xc
+ mov r3, #0x1
+ bl FUN_020090AC
+ mov r1, #0xb3
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x3
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ sub r1, #0xc
+ str r0, [sp, #0x8]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ mov r2, #0xe
+ mov r3, #0x1
+ bl FUN_020090AC
+ mov r1, #0x2d
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _02078272
+ ldr r0, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ mov r1, #0x0
+ bl FUN_0206B6D4
+ ldr r3, _0207831C ; =0x000004B8
+ add r1, r0, #0x0
+ mov r0, #0x12
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ mov r2, #0x0
+ add r3, r5, r3
+ bl FUN_02006BB0
+ ldr r1, _02078320 ; =0x000004B4
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ mov r1, #0x2
+ ldr r0, [r5, r0]
+ lsl r1, r1, #0x8
+ bl DC_FlushRange
+ bl FUN_0206B888
+ add r1, r0, #0x0
+ mov r0, #0x13
+ lsl r2, r0, #0x6
+ add r2, r5, r2
+ mov r3, #0x12
+ bl FUN_02006C08
+ ldr r1, _02078324 ; =0x000004BC
+ str r0, [r5, r1]
+ add r0, r1, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x80
+ bl DC_FlushRange
+_02078272:
+ mov r3, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1f
+ mov r2, #0xb
+ bl FUN_02008F34
+ mov r1, #0xb5
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r2, #0x1
+ str r2, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x3
+ str r0, [sp, #0x8]
+ mov r0, #0x12
+ sub r1, #0x1c
+ str r0, [sp, #0xc]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ mov r3, #0x0
+ bl FUN_02008FEC
+ mov r1, #0xb6
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r3, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ sub r1, #0x1c
+ str r0, [sp, #0x8]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ mov r2, #0xd
+ bl FUN_020090AC
+ mov r1, #0xb7
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r3, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x3
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ sub r1, #0x1c
+ str r0, [sp, #0x8]
+ ldr r0, [r5, r1]
+ mov r1, #0x1f
+ mov r2, #0xf
+ bl FUN_020090AC
+ mov r1, #0x2e
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ sub r1, #0x1c
+ ldr r0, [r5, r1]
+ bl FUN_02009A50
+ mov r0, #0xb5
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02009A50
+ mov r0, #0xb2
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02009CF0
+ mov r0, #0xb6
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02009CF0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_0207831C: .word 0x000004B8
+_02078320: .word 0x000004B4
+_02078324: .word 0x000004BC
+
+ thumb_func_start FUN_02078328
+FUN_02078328: ; 0x02078328
+ push {r3-r4, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0202011C
+ ldr r1, [r0, #0x0]
+ ldr r0, [r4, #0x8]
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0xc]
+ lsl r1, r0, #0x4
+ ldr r0, _02078358 ; =0x020FA1D8
+ ldr r0, [r0, r1]
+ add r1, sp, #0x0
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x4]
+ bl FUN_02020044
+ add sp, #0xc
+ pop {r3-r4, pc}
+ .balign 4
+_02078358: .word 0x020FA1D8
+
+ thumb_func_start FUN_0207835C
+FUN_0207835C: ; 0x0207835C
+ push {r4-r7, lr}
+ sub sp, #0x5c
+ mov r1, #0x0
+ add r6, r0, #0x0
+ str r1, [sp, #0x0]
+ sub r0, r1, #0x1
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r2, #0xad
+ str r1, [sp, #0xc]
+ mov r0, #0x1
+ lsl r2, r2, #0x2
+ str r0, [sp, #0x10]
+ ldr r0, [r6, r2]
+ add r3, r1, #0x0
+ str r0, [sp, #0x14]
+ add r0, r2, #0x4
+ ldr r0, [r6, r0]
+ str r0, [sp, #0x18]
+ add r0, r2, #0x0
+ add r0, #0x8
+ ldr r0, [r6, r0]
+ str r0, [sp, #0x1c]
+ add r0, r2, #0x0
+ add r0, #0xc
+ ldr r0, [r6, r0]
+ add r2, #0x30
+ str r0, [sp, #0x20]
+ str r1, [sp, #0x24]
+ add r0, r6, r2
+ add r2, r1, #0x0
+ str r1, [sp, #0x28]
+ bl FUN_02008AA4
+ mov r1, #0x1
+ mov r3, #0xad
+ str r1, [sp, #0x0]
+ sub r0, r1, #0x2
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ lsl r3, r3, #0x2
+ ldr r2, [r6, r3]
+ str r2, [sp, #0x14]
+ add r2, r3, #0x4
+ ldr r2, [r6, r2]
+ str r2, [sp, #0x18]
+ add r2, r3, #0x0
+ add r2, #0x8
+ ldr r2, [r6, r2]
+ str r2, [sp, #0x1c]
+ add r2, r3, #0x0
+ add r2, #0xc
+ ldr r2, [r6, r2]
+ add r3, #0x54
+ str r2, [sp, #0x20]
+ str r0, [sp, #0x24]
+ str r0, [sp, #0x28]
+ add r0, r6, r3
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_02008AA4
+ mov r0, #0x62
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ mov r1, #0x2
+ str r0, [sp, #0x2c]
+ mov r0, #0xb9
+ lsl r0, r0, #0x2
+ add r0, r6, r0
+ str r0, [sp, #0x30]
+ mov r0, #0x6
+ lsl r1, r1, #0x10
+ lsl r0, r0, #0x10
+ str r0, [sp, #0x38]
+ lsr r0, r1, #0x5
+ mov r7, #0x0
+ str r1, [sp, #0x34]
+ str r7, [sp, #0x3c]
+ str r0, [sp, #0x40]
+ str r0, [sp, #0x44]
+ str r0, [sp, #0x48]
+ add r0, sp, #0x2c
+ strh r7, [r0, #0x20]
+ mov r0, #0x1
+ str r0, [sp, #0x50]
+ str r0, [sp, #0x54]
+ mov r0, #0x12
+ ldr r4, _02078528 ; =0x020FA1D4
+ str r0, [sp, #0x58]
+ add r5, r6, #0x0
+_02078418:
+ ldr r0, [r4, #0x0]
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x34]
+ ldr r0, [r4, #0x4]
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x38]
+ add r0, sp, #0x2c
+ bl FUN_0201FE94
+ mov r1, #0xcb
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200BC
+ mov r0, #0xcb
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r1, [r4, #0x8]
+ bl FUN_02020130
+ mov r0, #0xcb
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r1, [r4, #0xc]
+ bl FUN_02020310
+ add r7, r7, #0x1
+ add r4, #0x10
+ add r5, r5, #0x4
+ cmp r7, #0x9
+ blt _02078418
+ mov r0, #0xcf
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r7, _02078528 ; =0x020FA1D4
+ mov r5, #0x0
+ add r4, r6, #0x0
+_0207847A:
+ ldr r0, _0207852C ; =FUN_02078328
+ mov r1, #0x10
+ mov r2, #0x5
+ mov r3, #0x12
+ bl FUN_020061E8
+ mov r1, #0xe7
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0201B6C8
+ mov r1, #0xd2
+ lsl r1, r1, #0x2
+ ldr r1, [r6, r1]
+ str r1, [r0, #0x0]
+ mov r1, #0xcb
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r4, r4, #0x4
+ str r1, [r0, #0x4]
+ ldr r1, [r7, #0x0]
+ add r7, #0x10
+ lsl r1, r1, #0xc
+ str r1, [r0, #0x8]
+ str r5, [r0, #0xc]
+ add r5, r5, #0x1
+ cmp r5, #0x7
+ blt _0207847A
+ ldr r2, [r6, #0xc]
+ mov r7, #0x0
+ cmp r2, #0x0
+ ble _020784FA
+ mov r5, #0x50
+ add r4, r6, #0x0
+_020784C2:
+ lsl r0, r5, #0xc
+ str r0, [sp, #0x34]
+ mov r0, #0x27
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x38]
+ add r0, sp, #0x2c
+ bl FUN_0201FE94
+ mov r1, #0xd9
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r1, #0x0
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200BC
+ mov r0, #0xd9
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2b
+ bl FUN_02020130
+ ldr r2, [r6, #0xc]
+ add r7, r7, #0x1
+ add r5, #0xc
+ add r4, r4, #0x4
+ cmp r7, r2
+ blt _020784C2
+_020784FA:
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ mov r0, #0xd9
+ lsl r0, r0, #0x2
+ ldrh r1, [r6, r1]
+ add r0, r6, r0
+ bl FUN_02079710
+ add r0, r6, #0x0
+ add r1, sp, #0x2c
+ bl FUN_02078530
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E74C
+ add sp, #0x5c
+ pop {r4-r7, pc}
+ nop
+_02078528: .word 0x020FA1D4
+_0207852C: .word FUN_02078328
+
+ thumb_func_start FUN_02078530
+FUN_02078530: ; 0x02078530
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ mov r0, #0x6
+ add r5, r1, #0x0
+ lsl r0, r0, #0xe
+ str r0, [r5, #0x8]
+ mov r0, #0x2
+ lsl r0, r0, #0xe
+ str r0, [r5, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0201FE94
+ mov r1, #0xe5
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ mov r1, #0x1
+ bl FUN_020200BC
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x7
+ bhi _02078626
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02078568: ; jump table (using 16-bit offset)
+ .short _02078578 - _02078568 - 2; case 0
+ .short _020785E0 - _02078568 - 2; case 1
+ .short _020785D2 - _02078568 - 2; case 2
+ .short _0207859A - _02078568 - 2; case 3
+ .short _020785C4 - _02078568 - 2; case 4
+ .short _020785B6 - _02078568 - 2; case 5
+ .short _020785A8 - _02078568 - 2; case 6
+ .short _020785C4 - _02078568 - 2; case 7
+_02078578:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ bne _0207858C
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x30
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_0207858C:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x31
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_0207859A:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x33
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785A8:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x37
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785B6:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x36
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785C4:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x35
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785D2:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x2f
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_020785E0:
+ mov r0, #0xe5
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x32
+ bl FUN_02020130
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x2
+ beq _02078626
+ ldr r1, [r4, #0xc]
+ mov r0, #0xd
+ mul r0, r1
+ add r0, #0x50
+ lsl r0, r0, #0xc
+ str r0, [r5, #0x8]
+ mov r0, #0x1b
+ lsl r0, r0, #0xc
+ str r0, [r5, #0xc]
+ add r0, r5, #0x0
+ bl FUN_0201FE94
+ mov r1, #0xe6
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x0
+ ldr r0, [r4, r1]
+ bne _02078620
+ mov r1, #0x2d
+ bl FUN_02020130
+ pop {r3-r5, pc}
+_02078620:
+ mov r1, #0x2e
+ bl FUN_02020130
+_02078626:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02078628
+FUN_02078628: ; 0x02078628
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0xc]
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x6
+ bhi _020786A6
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207864A: ; jump table (using 16-bit offset)
+ .short _02078658 - _0207864A - 2; case 0
+ .short _020786A6 - _0207864A - 2; case 1
+ .short _0207866C - _0207864A - 2; case 2
+ .short _020786A6 - _0207864A - 2; case 3
+ .short _02078680 - _0207864A - 2; case 4
+ .short _020786A6 - _0207864A - 2; case 5
+ .short _02078694 - _0207864A - 2; case 6
+_02078658:
+ mov r0, #0x1
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0xe
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ b _020786A6
+_0207866C:
+ mov r0, #0x3
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ b _020786A6
+_02078680:
+ mov r0, #0x2
+ ldr r1, [r4, #0x8]
+ lsl r0, r0, #0xc
+ add r0, r1, r0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+ b _020786A6
+_02078694:
+ ldr r0, [r4, #0x8]
+ add r1, sp, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ bl FUN_02020044
+ add r0, r5, #0x0
+ bl FUN_0200621C
+_020786A6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_020786B0
+FUN_020786B0: ; 0x020786B0
+ push {r3-r7, lr}
+ sub sp, #0x28
+ str r1, [sp, #0x14]
+ ldr r1, [sp, #0x40]
+ add r5, r2, #0x0
+ str r1, [sp, #0x40]
+ ldr r1, [sp, #0x48]
+ mov r2, #0x1
+ str r1, [sp, #0x48]
+ ldr r1, [sp, #0x40]
+ str r0, [sp, #0x10]
+ ldr r6, [r1, #0x0]
+ add r7, r3, #0x0
+ add r1, r6, #0x0
+ eor r1, r2
+ str r1, [sp, #0x18]
+ ldr r1, [r5, #0x0]
+ ldr r4, [sp, #0x44]
+ cmp r1, #0x4
+ bls _020786DA
+ b _0207887E
+_020786DA:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020786E6: ; jump table (using 16-bit offset)
+ .short _020786F0 - _020786E6 - 2; case 0
+ .short _0207873C - _020786E6 - 2; case 1
+ .short _02078762 - _020786E6 - 2; case 2
+ .short _020787FC - _020786E6 - 2; case 3
+ .short _0207887E - _020786E6 - 2; case 4
+_020786F0:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xe
+ lsl r0, r0, #0x6
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ ldr r2, [sp, #0x10]
+ mov r0, #0x1f
+ add r1, r7, #0x6
+ add r3, r6, #0x0
+ bl FUN_020068C8
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02078BA8
+ ldr r0, _02078884 ; =0x020F9D2C
+ lsl r2, r6, #0x4
+ ldrb r1, [r0, r7]
+ ldr r0, [sp, #0x4c]
+ ldr r3, _02078888 ; =0x000E0F00
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x14]
+ add r0, r0, r2
+ lsl r2, r1, #0x4
+ orr r1, r2
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r2, r7, #0x0
+ bl FUN_0207974C
+ ldr r0, [r5, #0x0]
+ add sp, #0x28
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ pop {r3-r7, pc}
+_0207873C:
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ mov r3, #0xee
+ bl FUN_020179E0
+ mov r2, #0x3
+ lsl r1, r6, #0x18
+ add r3, r2, #0x0
+ ldr r0, [sp, #0x10]
+ lsr r1, r1, #0x18
+ sub r3, #0x53
+ bl FUN_020179E0
+ ldr r0, [r5, #0x0]
+ add sp, #0x28
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ pop {r3-r7, pc}
+_02078762:
+ mov r1, #0xc
+ add r0, r6, #0x0
+ mul r0, r1
+ ldr r2, [r4, r0]
+ str r0, [sp, #0x1c]
+ sub r2, #0x18
+ str r2, [r4, r0]
+ ldr r0, [r4, r0]
+ sub r1, #0xd
+ cmp r0, r1
+ bge _020787BA
+ ldr r0, _0207888C ; =FUN_02078628
+ mov r1, #0x10
+ mov r2, #0x0
+ mov r3, #0x12
+ bl FUN_020061E8
+ bl FUN_0201B6C8
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ str r0, [r7, #0x0]
+ mov r0, #0x0
+ str r0, [r7, #0x4]
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ bl FUN_0202011C
+ ldr r0, [r0, #0x0]
+ str r0, [r7, #0x8]
+ ldr r0, [sp, #0x48]
+ ldr r0, [r0, #0x1c]
+ bl FUN_0202011C
+ ldr r0, [r0, #0x4]
+ mov r1, #0xa
+ str r0, [r7, #0xc]
+ ldr r0, [sp, #0x1c]
+ mvn r1, r1
+ str r1, [r4, r0]
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+_020787BA:
+ ldr r0, [sp, #0x18]
+ mov r1, #0xc
+ add r7, r0, #0x0
+ add r5, r4, #0x4
+ mul r7, r1
+ ldr r0, [r5, r7]
+ sub r0, #0xa
+ str r0, [r5, r7]
+ add r0, r1, #0x0
+ ldr r2, [r5, r7]
+ sub r0, #0xd0
+ cmp r2, r0
+ bge _020787D8
+ sub r1, #0xd0
+ str r1, [r5, r7]
+_020787D8:
+ ldr r3, [sp, #0x1c]
+ lsl r1, r6, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r4, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x10]
+ lsl r1, r1, #0x18
+ ldr r3, [r5, r7]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ add sp, #0x28
+ pop {r3-r7, pc}
+_020787FC:
+ ldr r1, [sp, #0x18]
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ str r2, [sp, #0x20]
+ add r7, r4, #0x4
+ ldr r2, [r7, r2]
+ ldr r1, [sp, #0x20]
+ sub r2, #0xa
+ str r2, [r7, r1]
+ ldr r2, [r7, r1]
+ add r1, r0, #0x0
+ sub r1, #0xd0
+ cmp r2, r1
+ bge _02078820
+ ldr r1, [sp, #0x20]
+ sub r0, #0xd0
+ str r0, [r7, r1]
+_02078820:
+ mov r0, #0xc
+ mul r0, r6
+ str r0, [sp, #0x24]
+ ldr r3, [sp, #0x24]
+ lsl r1, r6, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r4, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_020179E0
+ ldr r1, [sp, #0x18]
+ ldr r3, [sp, #0x20]
+ lsl r1, r1, #0x18
+ ldr r0, [sp, #0x10]
+ ldr r3, [r7, r3]
+ lsr r1, r1, #0x18
+ mov r2, #0x3
+ bl FUN_020179E0
+ ldr r0, [sp, #0x24]
+ mov r1, #0xa
+ ldr r0, [r4, r0]
+ mvn r1, r1
+ cmp r0, r1
+ bne _0207887E
+ ldr r0, [sp, #0x20]
+ sub r1, #0xb9
+ ldr r0, [r7, r0]
+ cmp r0, r1
+ bne _0207887E
+ ldr r0, [r5, #0x0]
+ add r2, r4, #0x0
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ ldr r0, [sp, #0x40]
+ ldr r1, [r0, #0x0]
+ mov r0, #0x1
+ eor r1, r0
+ ldr r0, [sp, #0x40]
+ str r1, [r0, #0x0]
+ ldr r0, [sp, #0x10]
+ bl FUN_02078B88
+ ldr r0, _02078890 ; =0x0000069B
+ bl FUN_020054C8
+_0207887E:
+ add sp, #0x28
+ pop {r3-r7, pc}
+ nop
+_02078884: .word 0x020F9D2C
+_02078888: .word 0x000E0F00
+_0207888C: .word FUN_02078628
+_02078890: .word 0x0000069B
+
+ thumb_func_start FUN_02078894
+FUN_02078894: ; 0x02078894
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r2, #0x0
+ mov r2, #0x1
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ mov r3, #0xa
+ add r5, r0, #0x0
+ bl FUN_0200D0BC
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r3, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0201BD84
+ add r0, r5, #0x0
+ bl FUN_020191D0
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_020788C4
+FUN_020788C4: ; 0x020788C4
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ mov r0, #0x0
+ add r1, r6, #0x0
+ add r2, r0, #0x0
+ mov r4, #0x10
+ bl FUN_02002E14
+ cmp r0, #0x82
+ ble _020788DE
+ mov r4, #0x0
+_020788DE:
+ add r0, r5, #0x0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, _02078908 ; =0x000E0F01
+ str r1, [sp, #0x4]
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+ add r0, r5, #0x0
+ bl FUN_020191D0
+ add sp, #0x10
+ pop {r4-r6, pc}
+ nop
+_02078908: .word 0x000E0F01
+
+ thumb_func_start FUN_0207890C
+FUN_0207890C: ; 0x0207890C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r6, r1, #0x0
+ mov r1, #0x1
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1a
+ str r0, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ add r0, #0xf4
+ str r0, [sp, #0x10]
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ mov r1, #0xee
+ lsl r1, r1, #0x2
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ mov r2, #0x0
+ mov r3, #0x2
+ bl FUN_02019064
+ mov r2, #0x1
+ mov r1, #0xf2
+ lsl r1, r1, #0x2
+ str r2, [sp, #0x0]
+ mov r0, #0x1a
+ str r0, [sp, #0x4]
+ mov r0, #0xc
+ str r0, [sp, #0x8]
+ mov r0, #0x8e
+ str r2, [sp, #0xc]
+ lsl r0, r0, #0x2
+ str r0, [sp, #0x10]
+ sub r0, #0xd8
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ mov r3, #0x2
+ bl FUN_02019064
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x4
+ bne _020789AE
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0xe
+ lsl r0, r0, #0x6
+ str r0, [sp, #0x4]
+ mov r3, #0x1
+ mov r2, #0x16
+ str r3, [sp, #0x8]
+ mov r0, #0x12
+ str r0, [sp, #0xc]
+ lsl r2, r2, #0x4
+ ldr r2, [r5, r2]
+ mov r0, #0x1f
+ mov r1, #0x9
+ bl FUN_020068C8
+ mov r0, #0x46
+ mov r1, #0x4
+ lsl r0, r0, #0x4
+ str r1, [r5, r0]
+ add r0, r5, #0x0
+ add r0, #0x3a
+ bl FUN_0207916C
+ mov r0, #0x4b
+ lsl r0, r0, #0x4
+ ldr r1, [r5, r0]
+ sub r0, #0xe8
+ ldr r1, [r1, #0x14]
+ ldr r3, _02078B6C ; =0x000E0F00
+ str r1, [sp, #0x0]
+ ldr r1, _02078B70 ; =0x00000A0A
+ add r0, r5, r0
+ mov r2, #0x4
+ bl FUN_0207974C
+ b _020789D8
+_020789AE:
+ mov r0, #0x46
+ mov r1, #0x0
+ lsl r0, r0, #0x4
+ str r1, [r5, r0]
+ add r0, r5, #0x0
+ add r0, #0x3a
+ bl FUN_0207916C
+ mov r1, #0x4b
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ ldr r3, _02078B6C ; =0x000E0F00
+ ldr r0, [r0, #0x14]
+ mov r2, #0x0
+ str r0, [sp, #0x0]
+ add r0, r1, #0x0
+ sub r0, #0xe8
+ add r0, r5, r0
+ sub r1, #0xac
+ bl FUN_0207974C
+_020789D8:
+ mov r2, #0x2
+ str r2, [sp, #0x0]
+ mov r3, #0x16
+ str r3, [sp, #0x4]
+ mov r1, #0x37
+ str r2, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ lsl r1, r1, #0x4
+ str r1, [sp, #0x10]
+ lsl r0, r3, #0x4
+ add r1, #0x68
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ mov r3, #0x7
+ bl FUN_02019064
+ ldr r1, [r5, #0xc]
+ mov r0, #0xc
+ add r2, r1, #0x0
+ mul r2, r0
+ asr r0, r2, #0x2
+ lsr r0, r0, #0x1d
+ add r0, r2, r0
+ asr r0, r0, #0x3
+ add r4, r0, #0x1
+ mov r0, #0x3
+ str r0, [sp, #0x0]
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ mov r2, #0x2
+ mov r1, #0xe7
+ str r2, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ lsl r1, r1, #0x2
+ mov r0, #0x16
+ str r1, [sp, #0x10]
+ lsl r0, r0, #0x4
+ add r1, #0x4c
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ mov r3, #0xa
+ bl FUN_02019064
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0x3
+ str r0, [sp, #0x0]
+ mov r0, #0x7
+ str r0, [sp, #0x4]
+ mov r2, #0x2
+ mov r1, #0xf
+ add r4, #0x9
+ lsl r3, r4, #0x18
+ str r2, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ lsl r1, r1, #0x6
+ mov r0, #0x16
+ str r1, [sp, #0x10]
+ lsl r0, r0, #0x4
+ add r1, #0x78
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ lsr r3, r3, #0x18
+ bl FUN_02019064
+ ldr r0, _02078B74 ; =0x00000438
+ mov r1, #0x1
+ add r0, r5, r0
+ bl FUN_02019620
+ ldr r1, [r5, #0x0]
+ cmp r1, #0x5
+ bne _02078A90
+ mov r2, #0x61
+ ldr r0, _02078B74 ; =0x00000438
+ lsl r2, r2, #0x2
+ ldr r2, [r5, r2]
+ add r0, r5, r0
+ bl FUN_020788C4
+ ldr r0, _02078B74 ; =0x00000438
+ add r0, r5, r0
+ bl FUN_020191D0
+_02078A90:
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r2, #0x4
+ ldr r1, _02078B78 ; =0x00000448
+ str r2, [sp, #0x8]
+ mov r0, #0xc
+ str r0, [sp, #0xc]
+ mov r0, #0x84
+ str r0, [sp, #0x10]
+ add r0, #0xdc
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ mov r3, #0x2
+ bl FUN_02019064
+ ldr r0, _02078B78 ; =0x00000448
+ mov r1, #0xf
+ add r0, r5, r0
+ bl FUN_02019620
+ mov r2, #0x5e
+ ldr r0, _02078B78 ; =0x00000448
+ lsl r2, r2, #0x2
+ ldr r1, [r5, #0x0]
+ ldr r2, [r5, r2]
+ add r0, r5, r0
+ bl FUN_02078894
+ add r0, r6, #0x0
+ bl FUN_0200628C
+ mov r1, #0x46
+ lsl r1, r1, #0x2
+ ldrh r2, [r5, r1]
+ ldr r0, _02078B7C ; =0x0000FFFF
+ cmp r2, r0
+ beq _02078B06
+ add r0, r5, #0x0
+ add r0, #0xd8
+ add r1, r5, r1
+ bl StringCopy
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ add r1, r5, #0x0
+ ldr r0, _02078B80 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+_02078B06:
+ mov r0, #0xee
+ lsl r0, r0, #0x2
+ mov r4, #0x0
+ add r7, r5, r0
+_02078B0E:
+ add r0, r4, #0x4
+ lsl r6, r0, #0x4
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0x78
+ str r0, [sp, #0x10]
+ add r0, #0xe8
+ ldr r0, [r5, r0]
+ add r1, r7, r6
+ mov r2, #0x2
+ mov r3, #0x0
+ bl FUN_02019064
+ add r0, r7, r6
+ mov r1, #0x0
+ bl FUN_02019620
+ add r4, r4, #0x1
+ cmp r4, #0x3
+ blt _02078B0E
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ str r0, [sp, #0x4]
+ mov r2, #0x2
+ str r2, [sp, #0x8]
+ ldr r1, _02078B84 ; =0x00000428
+ str r3, [sp, #0xc]
+ mov r0, #0x84
+ str r0, [sp, #0x10]
+ add r0, #0xdc
+ ldr r0, [r5, r0]
+ add r1, r5, r1
+ bl FUN_02019064
+ ldr r0, _02078B84 ; =0x00000428
+ mov r1, #0x0
+ add r0, r5, r0
+ bl FUN_02019620
+ add sp, #0x14
+ pop {r4-r7, pc}
+ .balign 4
+_02078B6C: .word 0x000E0F00
+_02078B70: .word 0x00000A0A
+_02078B74: .word 0x00000438
+_02078B78: .word 0x00000448
+_02078B7C: .word 0x0000FFFF
+_02078B80: .word 0x000E0F01
+_02078B84: .word 0x00000428
+
+ thumb_func_start FUN_02078B88
+FUN_02078B88: ; 0x02078B88
+ push {r4, lr}
+ add r4, r1, #0x0
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x1
+ bl FUN_020178BC
+ mov r0, #0x1
+ eor r0, r4
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x2
+ bl FUN_020178BC
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02078BA8
+FUN_02078BA8: ; 0x02078BA8
+ push {r3-r4}
+ mov r3, #0xc
+ add r4, r1, #0x0
+ mul r4, r3
+ mov r2, #0xee
+ str r2, [r0, r4]
+ add r2, r3, #0x0
+ sub r2, #0x5c
+ add r4, r0, r4
+ str r2, [r4, #0x4]
+ mov r4, #0x1
+ eor r1, r4
+ mul r3, r1
+ sub r4, #0xc
+ str r4, [r0, r3]
+ add r0, r0, r3
+ str r2, [r0, #0x4]
+ pop {r3-r4}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02078BD0
+FUN_02078BD0: ; 0x02078BD0
+ cmp r0, r2
+ blt _02078BD6
+ add r0, r1, #0x0
+_02078BD6:
+ cmp r0, r1
+ bge _02078BDC
+ sub r0, r2, #0x1
+_02078BDC:
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02078BE0
+FUN_02078BE0: ; 0x02078BE0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ cmp r1, #0x0
+ beq _02078C84
+ ldr r3, [r5, #0x20]
+ mov r2, #0x1a
+ mul r2, r3
+ ldr r0, [r5, #0x1c]
+ add r3, r5, r2
+ lsl r2, r0, #0x1
+ add r2, r3, r2
+ ldrh r2, [r2, #0x3a]
+ lsl r6, r1, #0x3
+ ldr r1, _02078C88 ; =0x020FA154
+ str r2, [sp, #0x0]
+ ldr r1, [r1, r6]
+ mov r2, #0xd
+ add r0, r0, r1
+ mov r1, #0x0
+ bl FUN_02078BD0
+ add r4, r0, #0x0
+ ldr r0, _02078C8C ; =0x020FA158
+ ldr r1, [r5, #0x20]
+ ldr r0, [r0, r6]
+ mov r2, #0x6
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02078BD0
+ add r7, r0, #0x0
+ ldr r0, _02078C88 ; =0x020FA154
+ add r6, r0, r6
+ b _02078C62
+_02078C24:
+ ldr r1, [r5, #0x28]
+ cmp r1, #0x0
+ bne _02078C46
+ ldr r1, _02078C90 ; =0x0000D004
+ cmp r0, r1
+ bne _02078C46
+ ldr r0, [r6, #0x4]
+ cmp r0, #0x0
+ beq _02078C46
+ ldr r0, [r5, #0x2c]
+ mov r1, #0x0
+ add r0, r4, r0
+ mov r2, #0xd
+ bl FUN_02078BD0
+ add r4, r0, #0x0
+ b _02078C62
+_02078C46:
+ ldr r0, [r6, #0x0]
+ mov r1, #0x0
+ add r0, r4, r0
+ mov r2, #0xd
+ bl FUN_02078BD0
+ add r4, r0, #0x0
+ ldr r0, [r6, #0x4]
+ mov r1, #0x0
+ add r0, r7, r0
+ mov r2, #0x6
+ bl FUN_02078BD0
+ add r7, r0, #0x0
+_02078C62:
+ mov r0, #0x1a
+ mul r0, r7
+ lsl r1, r4, #0x1
+ add r0, r5, r0
+ add r0, r1, r0
+ ldrh r0, [r0, #0x3a]
+ ldr r1, _02078C90 ; =0x0000D004
+ cmp r0, r1
+ beq _02078C24
+ ldr r1, [sp, #0x0]
+ cmp r1, r0
+ bne _02078C80
+ ldr r1, _02078C94 ; =0x0000E001
+ cmp r0, r1
+ bhi _02078C24
+_02078C80:
+ str r4, [r5, #0x1c]
+ str r7, [r5, #0x20]
+_02078C84:
+ pop {r3-r7, pc}
+ nop
+_02078C88: .word 0x020FA154
+_02078C8C: .word 0x020FA158
+_02078C90: .word 0x0000D004
+_02078C94: .word 0x0000E001
+
+ thumb_func_start FUN_02078C98
+FUN_02078C98: ; 0x02078C98
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _02078D70 ; =0x021C48B8
+ mov r4, #0x0
+ ldr r1, [r0, #0x4c]
+ mov r0, #0x40
+ add r6, r4, #0x0
+ tst r0, r1
+ beq _02078CC0
+ ldr r0, _02078D74 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r6, #0x1
+ add r4, r4, #0x1
+_02078CC0:
+ ldr r0, _02078D70 ; =0x021C48B8
+ ldr r1, [r0, #0x4c]
+ mov r0, #0x80
+ tst r0, r1
+ beq _02078CE0
+ ldr r0, _02078D74 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r6, #0x2
+ add r4, r4, #0x1
+_02078CE0:
+ ldr r0, _02078D70 ; =0x021C48B8
+ ldr r1, [r0, #0x4c]
+ mov r0, #0x20
+ tst r0, r1
+ beq _02078D00
+ ldr r0, _02078D74 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r6, #0x3
+ add r4, r4, #0x1
+_02078D00:
+ ldr r0, _02078D70 ; =0x021C48B8
+ ldr r1, [r0, #0x4c]
+ mov r0, #0x10
+ tst r0, r1
+ beq _02078D20
+ ldr r0, _02078D74 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r6, #0x4
+ add r4, r4, #0x1
+_02078D20:
+ ldr r0, _02078D70 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x8
+ tst r0, r1
+ beq _02078D46
+ ldr r0, _02078D74 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r0, #0xc
+ str r0, [r5, #0x1c]
+ mov r0, #0x0
+ str r0, [r5, #0x20]
+ add r4, r4, #0x1
+_02078D46:
+ add r0, r5, #0x0
+ bl FUN_02079930
+ ldr r1, _02078D78 ; =0x000005C8
+ str r0, [r5, r1]
+ ldr r0, [r5, r1]
+ cmp r0, #0x1
+ bne _02078D5A
+ mov r6, #0x0
+ add r4, r4, #0x1
+_02078D5A:
+ cmp r4, #0x0
+ beq _02078D6E
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02078BE0
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ bl FUN_02078D7C
+_02078D6E:
+ pop {r4-r6, pc}
+ .balign 4
+_02078D70: .word 0x021C48B8
+_02078D74: .word 0x000005DC
+_02078D78: .word 0x000005C8
+
+ thumb_func_start FUN_02078D7C
+FUN_02078D7C: ; 0x02078D7C
+ push {r3-r5, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x20]
+ cmp r1, #0x0
+ beq _02078DC6
+ ldr r0, [r5, #0x28]
+ cmp r0, #0x0
+ bne _02078DA0
+ cmp r0, r1
+ beq _02078DA0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x27
+ bl FUN_02020130
+_02078DA0:
+ ldr r0, [r5, #0x1c]
+ lsl r0, r0, #0x4
+ add r0, #0x1a
+ lsl r0, r0, #0xc
+ str r0, [sp, #0xc]
+ ldr r0, [r5, #0x20]
+ sub r1, r0, #0x1
+ mov r0, #0x13
+ mul r0, r1
+ add r0, #0x5b
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x10]
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, sp, #0xc
+ bl FUN_02020044
+ b _02078E02
+_02078DC6:
+ mov r0, #0x1a
+ mul r0, r1
+ add r1, r5, r0
+ ldr r0, [r5, #0x1c]
+ lsl r0, r0, #0x1
+ add r0, r1, r0
+ ldrh r1, [r0, #0x3a]
+ ldr r0, _02078E2C ; =0x0000E002
+ sub r1, r1, r0
+ ldr r0, _02078E30 ; =0x020F9D6C
+ lsl r2, r1, #0x1
+ ldrh r0, [r0, r2]
+ ldr r2, _02078E34 ; =0x020F9D38
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x0]
+ mov r0, #0x11
+ lsl r0, r0, #0xe
+ str r0, [sp, #0x4]
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldrb r1, [r2, r1]
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, sp, #0x0
+ bl FUN_02020044
+_02078E02:
+ mov r0, #0xb4
+ strh r0, [r5, #0x38]
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02020208
+ ldr r0, [r5, #0x1c]
+ lsl r1, r4, #0x3
+ str r0, [r5, #0x24]
+ ldr r0, [r5, #0x20]
+ str r0, [r5, #0x28]
+ ldr r0, _02078E38 ; =0x020FA154
+ ldr r0, [r0, r1]
+ cmp r0, #0x0
+ beq _02078E26
+ str r0, [r5, #0x2c]
+_02078E26:
+ add sp, #0x18
+ pop {r3-r5, pc}
+ nop
+_02078E2C: .word 0x0000E002
+_02078E30: .word 0x020F9D6C
+_02078E34: .word 0x020F9D38
+_02078E38: .word 0x020FA154
+
+ thumb_func_start FUN_02078E3C
+FUN_02078E3C: ; 0x02078E3C
+ push {r3, lr}
+ ldrh r1, [r0, #0x0]
+ add r1, #0x14
+ strh r1, [r0, #0x0]
+ ldrh r2, [r0, #0x0]
+ mov r1, #0x5a
+ lsl r1, r1, #0x2
+ cmp r2, r1
+ bls _02078E52
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+_02078E52:
+ ldrh r0, [r0, #0x0]
+ bl FUN_0201B970
+ mov r1, #0xa
+ mul r1, r0
+ asr r0, r1, #0xb
+ lsr r0, r0, #0x14
+ add r0, r1, r0
+ asr r0, r0, #0xc
+ add r0, #0xf
+ lsl r1, r0, #0x5
+ mov r0, #0x1d
+ orr r1, r0
+ add r0, sp, #0x0
+ strh r1, [r0, #0x0]
+ add r0, sp, #0x0
+ mov r1, #0x3a
+ mov r2, #0x2
+ bl GX_LoadOBJPltt
+ pop {r3, pc}
+
+ thumb_func_start FUN_02078E7C
+FUN_02078E7C: ; 0x02078E7C
+ push {r4-r7, lr}
+ sub sp, #0x3c
+ str r0, [sp, #0x18]
+ add r7, r1, #0x0
+ mov r0, #0x2
+ mov r1, #0x12
+ str r2, [sp, #0x1c]
+ str r3, [sp, #0x20]
+ mov r4, #0x0
+ bl FUN_020219F4
+ str r0, [sp, #0x28]
+ ldrh r1, [r7, #0x0]
+ ldr r0, _02078F6C ; =0x0000FFFF
+ cmp r1, r0
+ beq _02078F62
+ ldr r0, [sp, #0x54]
+ ldr r6, [sp, #0x50]
+ str r0, [sp, #0x24]
+ ldr r0, [sp, #0x58]
+ str r0, [sp, #0x34]
+ ldr r0, [sp, #0x20]
+ add r0, r0, #0x2
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x2c]
+ ldr r0, [sp, #0x5c]
+ str r0, [sp, #0x30]
+_02078EB4:
+ lsl r0, r4, #0x1
+ ldrh r1, [r7, r0]
+ ldr r0, _02078F70 ; =0x00002FFF
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x2
+ bhi _02078F00
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ add r2, r4, #0x0
+ ldr r0, [sp, #0x1c]
+ mul r2, r6
+ add r0, r0, r2
+ ldr r2, _02078F74 ; =0x0000D001
+ lsl r0, r0, #0x10
+ sub r1, r1, r2
+ lsl r1, r1, #0x10
+ lsr r0, r0, #0x10
+ lsr r2, r1, #0x8
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x2c]
+ lsr r1, r2, #0x1f
+ add r1, r2, r1
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ asr r2, r1, #0x1
+ ldr r1, [sp, #0x30]
+ str r0, [sp, #0x10]
+ str r0, [sp, #0x14]
+ add r1, r1, r2
+ mov r2, #0x0
+ ldr r0, [sp, #0x18]
+ add r3, r2, #0x0
+ bl FUN_02019658
+ b _02078F56
+_02078F00:
+ ldr r0, _02078F78 ; =0x0000D004
+ cmp r1, r0
+ bne _02078F0A
+ add r4, r4, #0x1
+ b _02078F58
+_02078F0A:
+ add r0, sp, #0x38
+ strh r1, [r0, #0x0]
+ ldr r1, _02078F6C ; =0x0000FFFF
+ strh r1, [r0, #0x2]
+ mov r0, #0x0
+ add r1, sp, #0x38
+ add r2, r0, #0x0
+ bl FUN_02002DE0
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x28]
+ add r1, sp, #0x38
+ bl FUN_02021E28
+ ldr r0, [sp, #0x20]
+ sub r3, r6, r5
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x24]
+ lsr r5, r3, #0x1f
+ add r5, r3, r5
+ asr r3, r5, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x34]
+ mov r12, r3
+ add r5, r4, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ ldr r3, [sp, #0x1c]
+ mul r5, r6
+ add r3, r3, r5
+ mov r5, r12
+ ldr r0, [sp, #0x18]
+ ldr r2, [sp, #0x28]
+ mov r1, #0x0
+ add r3, r5, r3
+ bl FUN_0201BDE0
+_02078F56:
+ add r4, r4, #0x1
+_02078F58:
+ lsl r0, r4, #0x1
+ ldrh r1, [r7, r0]
+ ldr r0, _02078F6C ; =0x0000FFFF
+ cmp r1, r0
+ bne _02078EB4
+_02078F62:
+ ldr r0, [sp, #0x28]
+ bl FUN_02021A20
+ add sp, #0x3c
+ pop {r4-r7, pc}
+ .balign 4
+_02078F6C: .word 0x0000FFFF
+_02078F70: .word 0x00002FFF
+_02078F74: .word 0x0000D001
+_02078F78: .word 0x0000D004
+
+ thumb_func_start FUN_02078F7C
+FUN_02078F7C: ; 0x02078F7C
+ push {r4-r6, lr}
+ sub sp, #0x10
+ mov r5, #0x0
+ add r6, r1, #0x0
+ str r5, [sp, #0x0]
+ mov r1, #0xff
+ str r1, [sp, #0x4]
+ str r3, [sp, #0x8]
+ add r1, r2, #0x0
+ add r2, r6, #0x0
+ add r3, r5, #0x0
+ add r4, r0, #0x0
+ str r5, [sp, #0xc]
+ bl FUN_0201BDE0
+ ldr r0, [r4, #0xc]
+ add sp, #0x10
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02078FA0
+FUN_02078FA0: ; 0x02078FA0
+ push {r3-r7, lr}
+ sub sp, #0x38
+ add r6, r0, #0x0
+ str r1, [sp, #0x8]
+ add r0, #0x30
+ mov r1, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x0
+ ldr r3, _0207906C ; =0x000D0E0F
+ add r0, #0x30
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02078F7C
+ mov r1, #0x2
+ lsl r1, r1, #0xa
+ bl DC_FlushRange
+ add r7, r6, #0x0
+ mov r4, #0x0
+ add r7, #0x30
+_02078FD0:
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r7, #0x0
+ mov r1, #0x4
+ mov r2, #0x2
+ lsl r3, r4, #0x2
+ str r5, [sp, #0x4]
+ bl FUN_02011B20
+ mov r1, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x8
+ bl DC_FlushRange
+ ldr r1, _02079070 ; =0x020F9D28
+ mov r2, #0x1
+ ldrb r1, [r1, r4]
+ add r0, r5, #0x0
+ lsl r2, r2, #0x8
+ lsl r1, r1, #0x5
+ bl GXS_LoadOBJ
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _02078FD0
+ mov r0, #0x15
+ mov r1, #0x12
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ mov r5, #0x0
+_02079012:
+ ldr r0, [sp, #0x8]
+ lsl r1, r5, #0x1
+ ldrh r1, [r0, r1]
+ add r0, sp, #0xc
+ lsl r7, r5, #0x4
+ strh r1, [r0, #0x0]
+ ldr r1, _02079074 ; =0x0000FFFF
+ strh r1, [r0, #0x2]
+ add r0, r6, r7
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r4, #0x0
+ add r1, sp, #0xc
+ bl FUN_02021E28
+ ldr r3, _0207906C ; =0x000D0E0F
+ add r0, r6, r7
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02078F7C
+ mov r1, #0x80
+ add r7, r0, #0x0
+ bl DC_FlushRange
+ ldr r1, _02079078 ; =0x020F9D40
+ lsl r2, r5, #0x2
+ ldr r1, [r1, r2]
+ add r0, r7, #0x0
+ lsl r1, r1, #0x5
+ mov r2, #0x80
+ bl GXS_LoadOBJ
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x3
+ blo _02079012
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x38
+ pop {r3-r7, pc}
+ nop
+_0207906C: .word 0x000D0E0F
+_02079070: .word 0x020F9D28
+_02079074: .word 0x0000FFFF
+_02079078: .word 0x020F9D40
+
+ thumb_func_start FUN_0207907C
+FUN_0207907C: ; 0x0207907C
+ push {r3-r5, lr}
+ cmp r2, #0x0
+ bne _02079086
+ ldr r1, _02079158 ; =0x0000D003
+ b _0207908C
+_02079086:
+ sub r2, r2, #0x1
+ lsl r2, r2, #0x1
+ ldrh r1, [r1, r2]
+_0207908C:
+ ldr r4, _0207915C ; =0x0000E003
+ cmp r1, r4
+ bgt _020790BC
+ bge _020790E2
+ ldr r2, _02079160 ; =0x0000D004
+ cmp r1, r2
+ bgt _020790B4
+ sub r2, r2, #0x3
+ sub r2, r1, r2
+ bmi _020790E4
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_020790AC: ; jump table (using 16-bit offset)
+ .short _020790E2 - _020790AC - 2; case 0
+ .short _020790E2 - _020790AC - 2; case 1
+ .short _020790E2 - _020790AC - 2; case 2
+ .short _020790E2 - _020790AC - 2; case 3
+_020790B4:
+ ldr r2, _02079164 ; =0x0000E002
+ cmp r1, r2
+ beq _020790E2
+ b _020790E4
+_020790BC:
+ add r2, r4, #0x1
+ cmp r1, r2
+ bgt _020790C6
+ beq _020790E2
+ b _020790E4
+_020790C6:
+ add r2, r4, #0x2
+ sub r2, r1, r2
+ cmp r2, #0x3
+ bhi _020790E4
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_020790DA: ; jump table (using 16-bit offset)
+ .short _020790E2 - _020790DA - 2; case 0
+ .short _020790E2 - _020790DA - 2; case 1
+ .short _020790E2 - _020790DA - 2; case 2
+ .short _020790E2 - _020790DA - 2; case 3
+_020790E2:
+ mov r1, #0x1
+_020790E4:
+ mov r4, #0x0
+ add r5, r3, #0x0
+ mov r2, #0x1
+_020790EA:
+ add r4, r4, #0x1
+ strh r2, [r5, #0x0]
+ add r5, r5, #0x2
+ cmp r4, #0x3
+ blt _020790EA
+ strh r1, [r3, #0x0]
+ cmp r1, #0x1
+ beq _0207914A
+ ldr r5, _02079168 ; =0x020FA40E
+ mov r2, #0x0
+_020790FE:
+ ldrh r4, [r5, #0x0]
+ cmp r1, r4
+ bne _02079120
+ mov r4, #0x6
+ ldr r5, _02079168 ; =0x020FA40E
+ mul r4, r2
+ add r4, r5, r4
+ mov r1, #0x0
+ add r5, r3, #0x0
+_02079110:
+ ldrh r2, [r4, #0x0]
+ add r1, r1, #0x1
+ add r4, r4, #0x2
+ strh r2, [r5, #0x0]
+ add r5, r5, #0x2
+ cmp r1, #0x3
+ blt _02079110
+ b _0207914A
+_02079120:
+ ldrh r4, [r5, #0x4]
+ cmp r1, r4
+ bne _02079142
+ mov r4, #0x6
+ ldr r5, _02079168 ; =0x020FA40E
+ mul r4, r2
+ add r4, r5, r4
+ mov r1, #0x0
+ add r5, r3, #0x0
+_02079132:
+ ldrh r2, [r4, #0x0]
+ add r1, r1, #0x1
+ add r4, r4, #0x2
+ strh r2, [r5, #0x0]
+ add r5, r5, #0x2
+ cmp r1, #0x3
+ blt _02079132
+ b _0207914A
+_02079142:
+ add r2, r2, #0x1
+ add r5, r5, #0x6
+ cmp r2, #0x52
+ blo _020790FE
+_0207914A:
+ add r1, r3, #0x0
+ ldr r2, [sp, #0x10]
+ ldr r3, [sp, #0x14]
+ bl FUN_02078FA0
+ pop {r3-r5, pc}
+ nop
+_02079158: .word 0x0000D003
+_0207915C: .word 0x0000E003
+_02079160: .word 0x0000D004
+_02079164: .word 0x0000E002
+_02079168: .word 0x020FA40E
+
+ thumb_func_start FUN_0207916C
+FUN_0207916C: ; 0x0207916C
+ push {r4-r7}
+ mov r4, #0x0
+ ldr r3, _020791B8 ; =0x02106058
+ add r5, r4, #0x0
+ add r6, r0, #0x0
+ lsl r2, r1, #0x2
+_02079178:
+ ldr r7, [r3, r2]
+ add r4, r4, #0x1
+ ldrh r7, [r7, r5]
+ add r5, r5, #0x2
+ strh r7, [r6, #0x0]
+ add r6, r6, #0x2
+ cmp r4, #0xd
+ blt _02079178
+ mov r3, #0x14
+ ldr r4, _020791BC ; =0x0210606C
+ mul r3, r1
+ mov r2, #0x0
+ add r3, r4, r3
+ add r1, r2, #0x0
+_02079194:
+ add r6, r1, #0x0
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+_0207919A:
+ ldr r7, [r3, #0x0]
+ add r6, r6, #0x1
+ ldrh r7, [r7, r4]
+ add r4, r4, #0x2
+ strh r7, [r5, #0x1a]
+ add r5, r5, #0x2
+ cmp r6, #0xd
+ blt _0207919A
+ add r2, r2, #0x1
+ add r3, r3, #0x4
+ add r0, #0x1a
+ cmp r2, #0x5
+ blt _02079194
+ pop {r4-r7}
+ bx lr
+ .balign 4
+_020791B8: .word 0x02106058
+_020791BC: .word 0x0210606C
+
+ thumb_func_start FUN_020791C0
+FUN_020791C0: ; 0x020791C0
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r0, _0207952C ; =0x00002FFD
+ add r6, r2, #0x0
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x1
+ bhi _020791D6
+ mov r1, #0x1
+_020791D6:
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x4
+ bne _020791EA
+ ldr r0, _02079530 ; =0x00001FFE
+ add r0, r1, r0
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ cmp r0, #0x3
+ bhi _020791EA
+ mov r1, #0x1
+_020791EA:
+ ldr r0, _02079534 ; =0x0000E002
+ cmp r1, r0
+ bgt _02079208
+ blt _020791F4
+ b _0207931C
+_020791F4:
+ ldr r3, _02079538 ; =0x0000D002
+ cmp r1, r3
+ bgt _02079206
+ sub r0, r3, #0x1
+ cmp r1, r0
+ blt _02079206
+ beq _0207922A
+ cmp r1, r3
+ beq _0207927C
+_02079206:
+ b _0207945C
+_02079208:
+ add r0, r0, #0x1
+ sub r0, r1, r0
+ cmp r0, #0x5
+ bls _02079212
+ b _0207945C
+_02079212:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207921E: ; jump table (using 16-bit offset)
+ .short _0207931C - _0207921E - 2; case 0
+ .short _0207931C - _0207921E - 2; case 1
+ .short _0207931C - _0207921E - 2; case 2
+ .short _020792CA - _0207921E - 2; case 3
+ .short _0207935E - _0207921E - 2; case 4
+ .short _0207940E - _0207921E - 2; case 5
+_0207922A:
+ add r0, r4, #0x0
+ add r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ ldr r3, _0207953C ; =0x0000D001
+ mov r1, #0x52
+ str r0, [sp, #0x4]
+ mov r0, #0x2a
+ mov r2, #0x1
+ bl FUN_020795FC
+ cmp r0, #0x0
+ bne _0207924A
+ b _02079526
+_0207924A:
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ add r4, #0xd8
+ add r1, r4, #0x0
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+ ldr r0, _02079544 ; =0x000005EB
+ bl FUN_020054C8
+ b _02079526
+_0207927C:
+ add r0, r4, #0x0
+ add r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ mov r1, #0x52
+ mov r2, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x48
+ bl FUN_020795FC
+ cmp r0, #0x0
+ beq _02079368
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ add r4, #0xd8
+ add r1, r4, #0x0
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+ ldr r0, _02079544 ; =0x000005EB
+ bl FUN_020054C8
+ b _02079526
+_020792CA:
+ mov r3, #0x56
+ lsl r3, r3, #0x2
+ ldrh r3, [r4, r3]
+ add r2, r4, #0x0
+ mov r0, #0x0
+ mov r1, #0x52
+ add r2, #0xd8
+ bl FUN_02079590
+ cmp r0, #0x0
+ beq _02079368
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ add r1, r4, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+ mov r0, #0x4a
+ lsl r0, r0, #0x4
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, _02079544 ; =0x000005EB
+ bl FUN_020054C8
+ b _02079526
+_0207931C:
+ mov r2, #0x46
+ lsl r2, r2, #0x4
+ ldr r0, _02079534 ; =0x0000E002
+ ldr r3, [r4, r2]
+ sub r5, r1, r0
+ cmp r3, r5
+ beq _02079368
+ mov r1, #0x0
+ sub r0, r2, #0x4
+ str r1, [r4, r0]
+ str r5, [r4, r2]
+ add r0, r4, #0x0
+ ldr r1, [r4, r2]
+ add r0, #0x3a
+ bl FUN_0207916C
+ mov r0, #0x49
+ lsl r0, r0, #0x4
+ add r2, r4, r0
+ lsl r1, r5, #0x2
+ ldr r0, [r2, r1]
+ add r0, r0, #0x1
+ str r0, [r2, r1]
+ ldr r0, _02079548 ; =0x0000069E
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+ b _02079526
+_0207935E:
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ ldrh r0, [r4, r1]
+ cmp r0, #0x0
+ bne _0207936A
+_02079368:
+ b _02079526
+_0207936A:
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x1
+ add r0, r4, r0
+ ldr r2, _0207954C ; =0x0000FFFF
+ add r0, #0xd8
+ strh r2, [r0, #0x0]
+ ldrh r0, [r4, r1]
+ sub r0, r0, #0x1
+ strh r0, [r4, r1]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0207939E
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_020191D0
+ b _020793BC
+_0207939E:
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r1, r4, #0x0
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+_020793BC:
+ ldr r0, _02079550 ; =0x000004C4
+ mov r3, #0x5f
+ add r1, r4, r0
+ lsl r3, r3, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r4, r3]
+ add r2, r3, #0x0
+ str r1, [sp, #0x4]
+ sub r2, #0x24
+ sub r0, #0xcc
+ add r1, r4, #0x0
+ sub r3, #0x22
+ ldrh r2, [r4, r2]
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r4, r3
+ bl FUN_0207907C
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ mov r0, #0xd9
+ lsl r0, r0, #0x2
+ ldrh r1, [r4, r1]
+ ldr r2, [r4, #0xc]
+ add r0, r4, r0
+ bl FUN_02079710
+ ldr r0, _02079554 ; =0x000004A4
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ ldr r0, _02079558 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+ b _02079526
+_0207940E:
+ ldr r0, _0207955C ; =0x000005C4
+ ldr r0, [r4, r0]
+ bl FUN_020143D0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ bne _02079454
+ ldr r0, _02079560 ; =0x000005E2
+ bl FUN_020054C8
+ ldr r0, _02079564 ; =0x000004A8
+ ldr r1, [r4, r0]
+ add r1, r1, #0x1
+ str r1, [r4, r0]
+ mov r1, #0x0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x12
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ add r2, r1, #0x0
+ add r3, r1, #0x0
+ bl FUN_0200E1D0
+ add sp, #0x10
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_02079454:
+ ldr r0, _02079568 ; =0x0000045C
+ mov r1, #0x5
+ str r1, [r4, r0]
+ b _02079526
+_0207945C:
+ mov r0, #0x46
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ cmp r0, #0x4
+ bne _02079470
+ cmp r1, #0x1
+ bne _02079470
+ add sp, #0x10
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_02079470:
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r2, [r4, r0]
+ ldr r0, [r4, #0xc]
+ cmp r2, r0
+ beq _02079526
+ lsl r0, r2, #0x1
+ add r0, r4, r0
+ add r0, #0xd8
+ strh r1, [r0, #0x0]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ mov r1, #0x1
+ bl FUN_02019620
+ mov r0, #0xc
+ str r0, [sp, #0x0]
+ mov r2, #0x0
+ add r1, r4, #0x0
+ ldr r0, _02079540 ; =0x000E0F01
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0xfa
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r2, #0x0
+ str r2, [sp, #0xc]
+ bl FUN_02078E7C
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ ldrh r0, [r4, r1]
+ add r0, r0, #0x1
+ strh r0, [r4, r1]
+ mov r0, #0xd9
+ lsl r0, r0, #0x2
+ ldrh r1, [r4, r1]
+ ldr r2, [r4, #0xc]
+ add r0, r4, r0
+ bl FUN_02079710
+ ldr r0, _02079544 ; =0x000005EB
+ bl FUN_020054C8
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_02020398
+ mov r3, #0x8
+ ldr r0, _0207956C ; =0x04000050
+ mov r1, #0x0
+ mov r2, #0x7
+ str r3, [sp, #0x0]
+ bl G2x_SetBlendAlpha_
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x3c
+ bl FUN_02020130
+ mov r0, #0x1
+ str r0, [r4, #0x34]
+ ldr r0, _02079550 ; =0x000004C4
+ mov r3, #0x5f
+ add r1, r4, r0
+ lsl r3, r3, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r4, r3]
+ add r2, r3, #0x0
+ str r1, [sp, #0x4]
+ sub r2, #0x24
+ sub r0, #0xcc
+ add r1, r4, #0x0
+ sub r3, #0x22
+ ldrh r2, [r4, r2]
+ add r0, r4, r0
+ add r1, #0xd8
+ add r3, r4, r3
+ bl FUN_0207907C
+_02079526:
+ mov r0, #0x2
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_0207952C: .word 0x00002FFD
+_02079530: .word 0x00001FFE
+_02079534: .word 0x0000E002
+_02079538: .word 0x0000D002
+_0207953C: .word 0x0000D001
+_02079540: .word 0x000E0F01
+_02079544: .word 0x000005EB
+_02079548: .word 0x0000069E
+_0207954C: .word 0x0000FFFF
+_02079550: .word 0x000004C4
+_02079554: .word 0x000004A4
+_02079558: .word 0x000005DC
+_0207955C: .word 0x000005C4
+_02079560: .word 0x000005E2
+_02079564: .word 0x000004A8
+_02079568: .word 0x0000045C
+_0207956C: .word 0x04000050
+
+ thumb_func_start FUN_02079570
+FUN_02079570: ; 0x02079570
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+ mov r6, #0x3
+_02079578:
+ add r0, r1, #0x1
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02078BD0
+ add r1, r0, #0x0
+ lsl r0, r1, #0x1
+ ldrh r0, [r5, r0]
+ cmp r0, #0x1
+ beq _02079578
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02079590
+FUN_02079590: ; 0x02079590
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ str r2, [sp, #0x0]
+ cmp r3, #0x0
+ bne _020795A4
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_020795A4:
+ sub r1, r3, #0x1
+ lsl r1, r1, #0x1
+ str r1, [sp, #0x4]
+ ldrh r3, [r2, r1]
+ cmp r4, r0
+ bge _020795F2
+ mov r1, #0x6
+ ldr r2, _020795F8 ; =0x020FA40E
+ mul r1, r4
+ add r5, r2, r1
+ mov r7, #0x0
+_020795BA:
+ add r2, r7, #0x0
+ add r6, r5, #0x0
+_020795BE:
+ ldrh r1, [r6, #0x0]
+ cmp r3, r1
+ bne _020795E2
+ cmp r3, #0x1
+ beq _020795E2
+ mov r0, #0x6
+ ldr r1, _020795F8 ; =0x020FA40E
+ mul r0, r4
+ add r0, r1, r0
+ add r1, r2, #0x0
+ bl FUN_02079570
+ ldr r2, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ add sp, #0x8
+ strh r0, [r2, r1]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020795E2:
+ add r2, r2, #0x1
+ add r6, r6, #0x2
+ cmp r2, #0x3
+ blt _020795BE
+ add r4, r4, #0x1
+ add r5, r5, #0x6
+ cmp r4, r0
+ blt _020795BA
+_020795F2:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020795F8: .word 0x020FA40E
+
+ thumb_func_start FUN_020795FC
+FUN_020795FC: ; 0x020795FC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ ldr r1, [sp, #0x1c]
+ mov lr, r2
+ mov r12, r3
+ cmp r1, #0x0
+ beq _02079618
+ sub r1, r1, #0x1
+ ldr r6, [sp, #0x18]
+ lsl r7, r1, #0x1
+ ldrh r5, [r6, r7]
+ cmp r5, #0x1
+ bne _0207961C
+_02079618:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_0207961C:
+ add r2, r4, #0x0
+ cmp r4, r0
+ bge _0207964E
+ mov r1, #0x6
+ ldr r3, _020796F4 ; =0x020FA40E
+ mul r1, r4
+ add r3, r3, r1
+_0207962A:
+ ldrh r1, [r3, #0x0]
+ cmp r5, r1
+ bne _02079646
+ add r3, r2, #0x0
+ mov r0, #0x6
+ mul r3, r0
+ mov r0, lr
+ ldr r2, _020796F4 ; =0x020FA40E
+ lsl r1, r0, #0x1
+ add r0, r2, r3
+ ldrh r0, [r1, r0]
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02079646:
+ add r2, r2, #0x1
+ add r3, r3, #0x6
+ cmp r2, r0
+ blt _0207962A
+_0207964E:
+ cmp r4, r0
+ bge _0207967E
+ mov r2, lr
+ ldr r1, _020796F4 ; =0x020FA40E
+ lsl r2, r2, #0x1
+ add r1, r1, r2
+ mov r2, #0x6
+ mul r2, r4
+ add r2, r1, r2
+_02079660:
+ ldrh r1, [r2, #0x0]
+ cmp r5, r1
+ bne _02079676
+ mov r0, #0x6
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _020796F4 ; =0x020FA40E
+ ldrh r0, [r0, r1]
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02079676:
+ add r4, r4, #0x1
+ add r2, r2, #0x6
+ cmp r4, r0
+ blt _02079660
+_0207967E:
+ ldr r1, _020796F8 ; =0x0000D001
+ mov r0, r12
+ cmp r0, r1
+ beq _02079698
+ add r1, r1, #0x1
+ mov r0, r12
+ cmp r0, r1
+ beq _020796B8
+ ldr r1, _020796FC ; =0x0000E006
+ mov r0, r12
+ cmp r0, r1
+ beq _020796D8
+ b _020796F0
+_02079698:
+ ldr r1, _02079700 ; =0x020FA1A4
+ mov r2, #0x0
+_0207969C:
+ ldrh r0, [r1, #0x0]
+ cmp r5, r0
+ bne _020796AE
+ ldr r0, _02079704 ; =0x020FA1A6
+ lsl r1, r2, #0x2
+ ldrh r0, [r0, r1]
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020796AE:
+ add r2, r2, #0x1
+ add r1, r1, #0x4
+ cmp r2, #0xc
+ blo _0207969C
+ b _020796F0
+_020796B8:
+ ldr r1, _02079708 ; =0x020FA17C
+ mov r2, #0x0
+_020796BC:
+ ldrh r0, [r1, #0x0]
+ cmp r5, r0
+ bne _020796CE
+ ldr r0, _0207970C ; =0x020FA17E
+ lsl r1, r2, #0x2
+ ldrh r0, [r0, r1]
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020796CE:
+ add r2, r2, #0x1
+ add r1, r1, #0x4
+ cmp r2, #0xa
+ blo _020796BC
+ b _020796F0
+_020796D8:
+ cmp r5, #0x26
+ bne _020796E4
+ mov r0, #0x24
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020796E4:
+ cmp r5, #0x76
+ bne _020796F0
+ mov r0, #0x74
+ strh r0, [r6, r7]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020796F0:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_020796F4: .word 0x020FA40E
+_020796F8: .word 0x0000D001
+_020796FC: .word 0x0000E006
+_02079700: .word 0x020FA1A4
+_02079704: .word 0x020FA1A6
+_02079708: .word 0x020FA17C
+_0207970C: .word 0x020FA17E
+
+ thumb_func_start FUN_02079710
+FUN_02079710: ; 0x02079710
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, r2, #0x0
+ mov r4, #0x0
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ cmp r6, #0x0
+ ble _02079734
+ add r5, r0, #0x0
+ mov r7, #0x2b
+_02079724:
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ bl FUN_02020130
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, r6
+ blt _02079724
+_02079734:
+ ldr r0, [sp, #0x4]
+ cmp r0, r6
+ beq _02079746
+ lsl r1, r0, #0x2
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, r1]
+ mov r1, #0x2c
+ bl FUN_02020130
+_02079746:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207974C
+FUN_0207974C: ; 0x0207974C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r2, [sp, #0x10]
+ ldr r2, [sp, #0x30]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r5, r0, #0x0
+ str r3, [sp, #0x14]
+ str r2, [sp, #0x30]
+ bl FUN_02019620
+ ldr r1, _0207982C ; =0x020F9D30
+ ldr r0, [sp, #0x10]
+ mov r7, #0x0
+ ldrb r4, [r1, r0]
+ mov r6, #0x10
+_0207976C:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ lsl r2, r6, #0x10
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x0
+ bl FUN_020196F4
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ lsl r2, r6, #0x10
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x26
+ bl FUN_020196F4
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ lsl r2, r6, #0x10
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x4c
+ bl FUN_020196F4
+ add r7, r7, #0x1
+ add r6, #0x20
+ cmp r7, #0x6
+ blt _0207976C
+ mov r7, #0x0
+ add r6, r7, #0x0
+_020797BA:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ lsl r2, r6, #0x10
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x13
+ bl FUN_020196F4
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ lsl r2, r6, #0x10
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x10
+ mov r3, #0x39
+ bl FUN_020196F4
+ add r7, r7, #0x1
+ add r6, #0x20
+ cmp r7, #0x7
+ blt _020797BA
+ ldr r0, [sp, #0x10]
+ mov r1, #0x14
+ ldr r2, _02079830 ; =0x0210606C
+ mul r1, r0
+ mov r7, #0x0
+ mov r6, #0x4
+ add r4, r2, r1
+_020797FC:
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x14]
+ mov r2, #0x0
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x30]
+ add r3, r6, #0x0
+ str r0, [sp, #0xc]
+ ldr r1, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02078E7C
+ add r7, r7, #0x1
+ add r6, #0x13
+ add r4, r4, #0x4
+ cmp r7, #0x5
+ blt _020797FC
+ add r0, r5, #0x0
+ bl FUN_020191D0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+_0207982C: .word 0x020F9D30
+_02079830: .word 0x0210606C
+
+ thumb_func_start FUN_02079834
+FUN_02079834: ; 0x02079834
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r7, #0x0
+ add r1, r0, #0x0
+_02079840:
+ ldr r0, [r1, #0x0]
+ cmp r0, #0x0
+ beq _02079876
+ mov r0, #0x0
+ ldr r4, _020798B8 ; =0x020FA1D4
+ str r0, [sp, #0x4]
+ add r5, r6, #0x0
+_0207984E:
+ ldr r0, [r5, #0x0]
+ ldr r1, [r4, #0x8]
+ bl FUN_02020130
+ ldr r0, [sp, #0x4]
+ add r4, #0x10
+ add r0, r0, #0x1
+ add r5, r5, #0x4
+ str r0, [sp, #0x4]
+ cmp r0, #0x3
+ blt _0207984E
+ ldr r1, _020798BC ; =0x020FA1DC
+ lsl r2, r7, #0x4
+ lsl r0, r7, #0x2
+ ldr r1, [r1, r2]
+ ldr r0, [r6, r0]
+ sub r1, r1, #0x3
+ bl FUN_02020130
+ b _0207987E
+_02079876:
+ add r7, r7, #0x1
+ add r1, r1, #0x4
+ cmp r7, #0x3
+ blt _02079840
+_0207987E:
+ ldr r4, [sp, #0x0]
+ ldr r5, _020798C0 ; =0x020FA224
+ mov r7, #0x5
+ add r4, #0x14
+ add r6, #0x14
+_02079888:
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02079898
+ ldr r1, [r5, #0x8]
+ ldr r0, [r6, #0x0]
+ add r1, r1, #0x1
+ bl FUN_02020130
+_02079898:
+ add r7, r7, #0x1
+ add r4, r4, #0x4
+ add r5, #0x10
+ add r6, r6, #0x4
+ cmp r7, #0x7
+ blt _02079888
+ mov r2, #0x0
+ add r1, r2, #0x0
+_020798A8:
+ ldr r0, [sp, #0x0]
+ add r2, r2, #0x1
+ stmia r0!, {r1}
+ str r0, [sp, #0x0]
+ cmp r2, #0x7
+ blt _020798A8
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020798B8: .word 0x020FA1D4
+_020798BC: .word 0x020FA1DC
+_020798C0: .word 0x020FA224
+
+ thumb_func_start FUN_020798C4
+FUN_020798C4: ; 0x020798C4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02020388
+ cmp r0, #0x0
+ bne _0207992E
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldrh r1, [r4, r0]
+ ldr r0, [r4, #0xc]
+ cmp r1, r0
+ bne _020798F8
+ mov r0, #0xc
+ str r0, [r4, #0x1c]
+ mov r0, #0x0
+ str r0, [r4, #0x20]
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x27
+ bl FUN_02020130
+ b _02079904
+_020798F8:
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x27
+ bl FUN_02020130
+_02079904:
+ ldr r0, [r4, #0x30]
+ cmp r0, #0x0
+ bne _02079918
+ mov r0, #0xd3
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ b _02079920
+_02079918:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02078D7C
+_02079920:
+ mov r1, #0x0
+ mov r0, #0xd3
+ str r1, [r4, #0x34]
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02020398
+_0207992E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02079930
+FUN_02079930: ; 0x02079930
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ mov r0, #0x0
+ mov r12, r0
+ ldr r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x4
+ bne _02079944
+ mov r0, #0x4
+ mov r12, r0
+_02079944:
+ ldr r2, _020799E0 ; =0x021C48F8
+ ldrh r0, [r2, #0x20]
+ cmp r0, #0x0
+ beq _020799DA
+ ldrh r0, [r2, #0x1c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov lr, r0
+ ldrh r0, [r2, #0x1e]
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ mov r0, r12
+ cmp r0, #0x47
+ bhs _020799DA
+ mov r0, #0x6
+ mov r2, r12
+ mul r0, r2
+ ldr r2, _020799E4 ; =0x020FA264
+ add r2, r2, r0
+ add r3, r2, #0x0
+_0207996C:
+ ldrh r4, [r3, #0x2]
+ ldrb r0, [r2, #0x0]
+ ldrb r6, [r2, #0x1]
+ lsl r4, r4, #0x1e
+ lsr r4, r4, #0x1e
+ beq _02079982
+ cmp r4, #0x1
+ beq _02079988
+ cmp r4, #0x2
+ beq _0207998E
+ b _02079992
+_02079982:
+ mov r5, #0x1f
+ mov r1, #0x16
+ b _02079992
+_02079988:
+ mov r5, #0x20
+ mov r1, #0x16
+ b _02079992
+_0207998E:
+ mov r5, #0x10
+ mov r1, #0x13
+_02079992:
+ mov r4, lr
+ cmp r4, r0
+ blo _020799CC
+ cmp r7, r6
+ blo _020799CC
+ add r4, r0, r5
+ mov r0, lr
+ cmp r0, r4
+ bgt _020799CC
+ add r0, r6, r1
+ cmp r7, r0
+ bgt _020799CC
+ ldr r2, _020799E4 ; =0x020FA264
+ mov r1, #0x6
+ mov r0, r12
+ mul r1, r0
+ add r2, r2, r1
+ ldrb r0, [r2, #0x4]
+ lsl r0, r0, #0x1b
+ lsr r1, r0, #0x1b
+ ldr r0, [sp, #0x0]
+ str r1, [r0, #0x1c]
+ ldrb r0, [r2, #0x5]
+ lsl r0, r0, #0x1b
+ lsr r1, r0, #0x1b
+ ldr r0, [sp, #0x0]
+ str r1, [r0, #0x20]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020799CC:
+ mov r0, r12
+ add r0, r0, #0x1
+ add r2, r2, #0x6
+ add r3, r3, #0x6
+ mov r12, r0
+ cmp r0, #0x47
+ blo _0207996C
+_020799DA:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_020799E0: .word 0x021C48F8
+_020799E4: .word 0x020FA264
+
+ thumb_func_start FUN_020799E8
+FUN_020799E8: ; 0x020799E8
+ lsl r1, r0, #0x1
+ ldr r0, _020799F0 ; =0x020FA60C
+ ldrh r0, [r0, r1]
+ bx lr
+ .balign 4
+_020799F0: .word 0x020FA60C
+
+ thumb_func_start FUN_020799F4
+FUN_020799F4: ; 0x020799F4
+ push {r3, lr}
+ add r2, r0, #0x0
+ mul r2, r0
+ add r0, r1, #0x0
+ mul r0, r1
+ add r0, r2, r0
+ lsl r0, r0, #0x4
+ bl SVC_Sqrt
+ lsr r0, r0, #0x2
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02079A0C
+FUN_02079A0C: ; 0x02079A0C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mul r0, r2
+ bl _u32_div_f
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bne _02079A22
+ cmp r4, #0x0
+ beq _02079A22
+ mov r0, #0x1
+_02079A22:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02079A24
+FUN_02079A24: ; 0x02079A24
+ push {r4, lr}
+ add r4, r0, #0x0
+ lsl r0, r1, #0x8
+ lsl r4, r4, #0x8
+ lsr r1, r0, #0x1
+ cmp r4, r1
+ bls _02079A36
+ mov r0, #0x3
+ pop {r4, pc}
+_02079A36:
+ mov r1, #0x5
+ bl _u32_div_f
+ cmp r4, r0
+ bls _02079A44
+ mov r0, #0x2
+ pop {r4, pc}
+_02079A44:
+ cmp r4, #0x0
+ beq _02079A4C
+ mov r0, #0x1
+ b _02079A4E
+_02079A4C:
+ mov r0, #0x0
+_02079A4E:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r4, pc}
+
+ thumb_func_start FUN_02079A54
+FUN_02079A54: ; 0x02079A54
+ push {r4, lr}
+ add r4, r2, #0x0
+ cmp r0, r1
+ bne _02079A60
+ mov r0, #0x4
+ pop {r4, pc}
+_02079A60:
+ lsl r2, r4, #0x18
+ lsr r2, r2, #0x18
+ bl FUN_02079A0C
+ add r1, r4, #0x0
+ bl FUN_02079A24
+ pop {r4, pc}
+
+ thumb_func_start FUN_02079A70
+FUN_02079A70: ; 0x02079A70
+ push {lr}
+ sub sp, #0xc
+ cmp r0, #0x0
+ bne _02079A90
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r2, #0x1
+ str r2, [sp, #0x4]
+ mov r0, #0x0
+ str r1, [sp, #0x8]
+ add r1, r2, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ add sp, #0xc
+ pop {pc}
+_02079A90:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r1, [sp, #0x8]
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_02079AAC
+FUN_02079AAC: ; 0x02079AAC
+ push {r4-r5}
+ ldr r3, _02079B5C ; =0x021C48B8
+ mov r2, #0x0
+ ldr r3, [r3, #0x4c]
+ mov r5, #0x40
+ ldrsh r4, [r0, r2]
+ tst r5, r3
+ beq _02079ADE
+ add r3, r4, #0x1
+ strh r3, [r0, #0x0]
+ ldrsh r2, [r0, r2]
+ cmp r2, r1
+ ble _02079ACA
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+_02079ACA:
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, r4
+ bne _02079AD8
+ add r0, r1, #0x0
+ pop {r4-r5}
+ bx lr
+_02079AD8:
+ mov r0, #0x1
+ pop {r4-r5}
+ bx lr
+_02079ADE:
+ mov r5, #0x80
+ tst r5, r3
+ beq _02079B04
+ sub r3, r4, #0x1
+ strh r3, [r0, #0x0]
+ ldrsh r2, [r0, r2]
+ cmp r2, #0x0
+ bgt _02079AF0
+ strh r1, [r0, #0x0]
+_02079AF0:
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, r4
+ bne _02079AFE
+ add r0, r1, #0x0
+ pop {r4-r5}
+ bx lr
+_02079AFE:
+ mov r0, #0x2
+ pop {r4-r5}
+ bx lr
+_02079B04:
+ mov r5, #0x20
+ tst r5, r3
+ beq _02079B2E
+ add r1, r4, #0x0
+ sub r1, #0xa
+ strh r1, [r0, #0x0]
+ ldrsh r1, [r0, r2]
+ cmp r1, #0x0
+ bgt _02079B1A
+ mov r1, #0x1
+ strh r1, [r0, #0x0]
+_02079B1A:
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, r4
+ bne _02079B28
+ add r0, r1, #0x0
+ pop {r4-r5}
+ bx lr
+_02079B28:
+ mov r0, #0x2
+ pop {r4-r5}
+ bx lr
+_02079B2E:
+ mov r5, #0x10
+ tst r3, r5
+ beq _02079B56
+ add r3, r4, #0x0
+ add r3, #0xa
+ strh r3, [r0, #0x0]
+ ldrsh r2, [r0, r2]
+ cmp r2, r1
+ ble _02079B42
+ strh r1, [r0, #0x0]
+_02079B42:
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, r4
+ bne _02079B50
+ add r0, r1, #0x0
+ pop {r4-r5}
+ bx lr
+_02079B50:
+ mov r0, #0x1
+ pop {r4-r5}
+ bx lr
+_02079B56:
+ add r0, r2, #0x0
+ pop {r4-r5}
+ bx lr
+ .balign 4
+_02079B5C: .word 0x021C48B8
+
+ thumb_func_start FUN_02079B60
+FUN_02079B60: ; 0x02079B60
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r7, r1, #0x0
+ add r6, r0, #0x0
+ ldr r1, [sp, #0x28]
+ add r0, r3, #0x0
+ str r2, [sp, #0x4]
+ ldr r5, [sp, #0x2c]
+ ldr r4, [sp, #0x34]
+ bl LoadFromNARC_7
+ add r1, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_020169D8
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x28]
+ add r2, r7, #0x0
+ bl FUN_02006774
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x0
+ beq _02079B9A
+ cmp r0, #0x1
+ beq _02079BC6
+ cmp r0, #0x2
+ beq _02079C10
+ b _02079C36
+_02079B9A:
+ add r0, r7, #0x0
+ add r1, sp, #0x10
+ bl FUN_020B0088
+ cmp r4, #0x0
+ bne _02079BAE
+ ldr r0, [sp, #0x10]
+ ldr r0, [r0, #0x10]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02079BAE:
+ add r0, sp, #0x18
+ ldrh r0, [r0, #0x20]
+ lsl r1, r5, #0x18
+ lsr r1, r1, #0x18
+ str r0, [sp, #0x0]
+ ldr r2, [sp, #0x10]
+ add r0, r6, #0x0
+ ldr r2, [r2, #0x14]
+ add r3, r4, #0x0
+ bl FUN_02017E14
+ b _02079C36
+_02079BC6:
+ add r0, r7, #0x0
+ add r1, sp, #0xc
+ bl FUN_020B0180
+ cmp r4, #0x0
+ bne _02079BDA
+ ldr r0, [sp, #0xc]
+ ldr r0, [r0, #0x8]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02079BDA:
+ lsl r1, r5, #0x18
+ add r0, r6, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0201886C
+ cmp r0, #0x0
+ beq _02079BF8
+ ldr r2, [sp, #0xc]
+ lsl r1, r5, #0x18
+ add r0, r6, #0x0
+ lsr r1, r1, #0x18
+ add r2, #0xc
+ add r3, r4, #0x0
+ bl FUN_02017DFC
+_02079BF8:
+ add r0, sp, #0x18
+ ldrh r0, [r0, #0x20]
+ lsl r1, r5, #0x18
+ lsr r1, r1, #0x18
+ str r0, [sp, #0x0]
+ ldr r2, [sp, #0xc]
+ add r0, r6, #0x0
+ add r2, #0xc
+ add r3, r4, #0x0
+ bl FUN_02017CE8
+ b _02079C36
+_02079C10:
+ add r0, r7, #0x0
+ add r1, sp, #0x8
+ bl FUN_020B0138
+ cmp r4, #0x0
+ bne _02079C24
+ ldr r0, [sp, #0x8]
+ ldr r0, [r0, #0x8]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+_02079C24:
+ ldr r1, [sp, #0x8]
+ add r3, sp, #0x18
+ lsl r0, r5, #0x18
+ ldrh r3, [r3, #0x20]
+ ldr r1, [r1, #0xc]
+ lsr r0, r0, #0x18
+ add r2, r4, #0x0
+ bl FUN_02017FB4
+_02079C36:
+ add r0, r7, #0x0
+ bl FUN_02016A18
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_02079C40
+FUN_02079C40: ; 0x02079C40
+ push {r3-r7, lr}
+ add r5, r2, #0x0
+ add r6, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r5, #0x0
+ add r7, r3, #0x0
+ bl LoadFromNARC_7
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x18]
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02006774
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_020B0180
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02079C70
+FUN_02079C70: ; 0x02079C70
+ push {r3, lr}
+ bl FUN_020462AC
+ bl FUN_0205F184
+ pop {r3, pc}
+
+ thumb_func_start FUN_02079C7C
+FUN_02079C7C: ; 0x02079C7C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ bl FUN_02015F1C
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r1, #0x1
+ lsl r1, r1, #0x1a
+ ldr r0, [r1, #0x0]
+ ldr r2, _02079DA0 ; =0xFFFFE0FF
+ and r0, r2
+ str r0, [r1, #0x0]
+ ldr r0, _02079DA4 ; =0x04001000
+ ldr r3, [r0, #0x0]
+ and r2, r3
+ str r2, [r0, #0x0]
+ ldr r3, [r1, #0x0]
+ ldr r2, _02079DA8 ; =0xFFFF1FFF
+ and r3, r2
+ str r3, [r1, #0x0]
+ ldr r3, [r0, #0x0]
+ add r1, #0x50
+ and r2, r3
+ str r2, [r0, #0x0]
+ mov r2, #0x0
+ strh r2, [r1, #0x0]
+ add r0, #0x50
+ strh r2, [r0, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ mov r2, #0x1
+ mov r0, #0x3
+ mov r1, #0x13
+ lsl r2, r2, #0x12
+ bl FUN_0201681C
+ ldr r1, _02079DAC ; =0x0000069C
+ add r0, r4, #0x0
+ mov r2, #0x13
+ bl FUN_02006268
+ ldr r2, _02079DAC ; =0x0000069C
+ mov r1, #0x0
+ add r5, r0, #0x0
+ bl memset
+ add r0, r4, #0x0
+ bl FUN_0200628C
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ mov r0, #0x13
+ bl FUN_02016B94
+ mov r1, #0x1
+ str r0, [r5, #0x0]
+ mov r0, #0x13
+ add r2, r1, #0x0
+ bl FUN_02014BF4
+ mov r1, #0x2d
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ mov r0, #0x0
+ mov r1, #0x13
+ bl FUN_02002C84
+ bl FUN_0201CC08
+ mov r0, #0x4
+ bl FUN_0201CC24
+ add r0, r5, #0x0
+ bl FUN_0207B028
+ bl FUN_02079F58
+ ldr r0, [r5, #0x0]
+ bl FUN_02079F78
+ add r0, r5, #0x0
+ bl FUN_0207A0CC
+ bl FUN_0207A188
+ add r0, r5, #0x0
+ bl FUN_0207EF6C
+ add r0, r5, #0x0
+ bl FUN_0207A1A0
+ add r0, r5, #0x0
+ bl FUN_0207AAB0
+ add r0, r5, #0x0
+ bl FUN_0207C328
+ add r0, r5, #0x0
+ bl FUN_0207C448
+ add r0, r5, #0x0
+ bl FUN_0207F840
+ add r0, r5, #0x0
+ bl FUN_0207C71C
+ add r0, r5, #0x0
+ bl FUN_0207C77C
+ add r0, r5, #0x0
+ bl FUN_0207D5BC
+ add r0, r5, #0x0
+ bl FUN_0207AF58
+ add r0, r5, #0x0
+ bl FUN_0207F95C
+ add r0, r5, #0x0
+ bl FUN_0207F098
+ ldr r0, _02079DB0 ; =FUN_02079F24
+ add r1, r5, #0x0
+ bl FUN_02015F10
+ bl FUN_0201E788
+ mov r1, #0x0
+ mov r0, #0x3d
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ bl FUN_02033F20
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ nop
+_02079DA0: .word 0xFFFFE0FF
+_02079DA4: .word 0x04001000
+_02079DA8: .word 0xFFFF1FFF
+_02079DAC: .word 0x0000069C
+_02079DB0: .word FUN_02079F24
+
+ thumb_func_start FUN_02079DB4
+FUN_02079DB4: ; 0x02079DB4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r4, #0x0]
+ add r5, r0, #0x0
+ cmp r1, #0x13
+ bhi _02079EA2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02079DD0: ; jump table (using 16-bit offset)
+ .short _02079DF8 - _02079DD0 - 2; case 0
+ .short _02079E06 - _02079DD0 - 2; case 1
+ .short _02079E0E - _02079DD0 - 2; case 2
+ .short _02079E16 - _02079DD0 - 2; case 3
+ .short _02079E1E - _02079DD0 - 2; case 4
+ .short _02079E26 - _02079DD0 - 2; case 5
+ .short _02079E2E - _02079DD0 - 2; case 6
+ .short _02079E36 - _02079DD0 - 2; case 7
+ .short _02079E3E - _02079DD0 - 2; case 8
+ .short _02079E46 - _02079DD0 - 2; case 9
+ .short _02079E4E - _02079DD0 - 2; case 10
+ .short _02079E56 - _02079DD0 - 2; case 11
+ .short _02079E5E - _02079DD0 - 2; case 12
+ .short _02079E66 - _02079DD0 - 2; case 13
+ .short _02079E6E - _02079DD0 - 2; case 14
+ .short _02079E76 - _02079DD0 - 2; case 15
+ .short _02079E7E - _02079DD0 - 2; case 16
+ .short _02079E86 - _02079DD0 - 2; case 17
+ .short _02079E8E - _02079DD0 - 2; case 18
+ .short _02079E96 - _02079DD0 - 2; case 19
+_02079DF8:
+ mov r0, #0x0
+ mov r1, #0x13
+ bl FUN_02079A70
+ mov r0, #0x1
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E06:
+ bl FUN_0207A2D8
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E0E:
+ bl FUN_0207A310
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E16:
+ bl FUN_0207A448
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E1E:
+ bl FUN_0207A45C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E26:
+ bl FUN_0207A470
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E2E:
+ bl FUN_0207A484
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E36:
+ bl FUN_0207A498
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E3E:
+ bl FUN_0207A57C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E46:
+ bl FUN_0207A654
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E4E:
+ bl FUN_0207A760
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E56:
+ bl FUN_0207A77C
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E5E:
+ bl FUN_0207A790
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E66:
+ bl FUN_0207A7A4
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E6E:
+ bl FUN_0207A818
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E76:
+ bl FUN_0207A884
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E7E:
+ bl FUN_0207AA20
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E86:
+ bl FUN_0207AA70
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E8E:
+ bl FUN_0207AA88
+ str r0, [r4, #0x0]
+ b _02079EA2
+_02079E96:
+ bl FUN_0207AA98
+ cmp r0, #0x1
+ bne _02079EA2
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02079EA2:
+ add r0, r5, #0x0
+ bl FUN_0207C3F4
+ add r0, r5, #0x0
+ bl FUN_0207CC88
+ add r0, r5, #0x0
+ bl FUN_0207D3F4
+ ldr r0, _02079EC8 ; =0x00000404
+ ldr r0, [r5, r0]
+ bl FUN_0200BC1C
+ add r0, r5, #0x0
+ bl FUN_0207F008
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_02079EC8: .word 0x00000404
+
+ thumb_func_start FUN_02079ECC
+FUN_02079ECC: ; 0x02079ECC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_02006278
+ add r5, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ add r0, r5, #0x0
+ bl FUN_0207F068
+ add r0, r5, #0x0
+ bl FUN_0207C3D4
+ add r0, r5, #0x0
+ bl FUN_0207D74C
+ ldr r0, [r5, #0x0]
+ bl FUN_0207A08C
+ bl FUN_0201CD04
+ bl FUN_0201C29C
+ add r0, r5, #0x0
+ bl FUN_0207A264
+ mov r0, #0x0
+ bl FUN_02002CC0
+ ldr r0, _02079F20 ; =0x04000050
+ mov r1, #0x0
+ strh r1, [r0, #0x0]
+ add r0, r4, #0x0
+ bl FUN_0200627C
+ mov r0, #0x13
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_02079F20: .word 0x04000050
+
+ thumb_func_start FUN_02079F24
+FUN_02079F24: ; 0x02079F24
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_0201AB60
+ mov r0, #0xae
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020081C4
+ bl FUN_0201C30C
+ bl FUN_0200BC30
+ ldr r3, _02079F50 ; =0x027E0000
+ ldr r1, _02079F54 ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r4, pc}
+ nop
+_02079F50: .word 0x027E0000
+_02079F54: .word 0x00003FF8
+
+ thumb_func_start FUN_02079F58
+FUN_02079F58: ; 0x02079F58
+ push {r4, lr}
+ sub sp, #0x28
+ ldr r4, _02079F74 ; =0x020FA6C0
+ add r3, sp, #0x0
+ mov r2, #0x5
+_02079F62:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02079F62
+ add r0, sp, #0x0
+ bl FUN_0201E66C
+ add sp, #0x28
+ pop {r4, pc}
+ .balign 4
+_02079F74: .word 0x020FA6C0
+
+ thumb_func_start FUN_02079F78
+FUN_02079F78: ; 0x02079F78
+ push {r4-r5, lr}
+ sub sp, #0x9c
+ ldr r5, _0207A074 ; =0x020FA624
+ add r3, sp, #0x8c
+ add r4, r0, #0x0
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _0207A078 ; =0x020FA650
+ add r3, sp, #0x70
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02018744
+ ldr r5, _0207A07C ; =0x020FA66C
+ add r3, sp, #0x54
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02018744
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x88
+ bl FUN_0201AEE4
+ ldr r5, _0207A080 ; =0x020FA688
+ add r3, sp, #0x38
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ ldr r5, _0207A084 ; =0x020FA6A4
+ add r3, sp, #0x1c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02018744
+ ldr r5, _0207A088 ; =0x020FA634
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x5
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ mov r0, #0x1
+ mov r1, #0x20
+ mov r2, #0x0
+ mov r3, #0x13
+ bl FUN_02017F18
+ mov r0, #0x4
+ mov r1, #0x20
+ mov r2, #0x0
+ mov r3, #0x13
+ bl FUN_02017F18
+ add sp, #0x9c
+ pop {r4-r5, pc}
+ nop
+_0207A074: .word 0x020FA624
+_0207A078: .word 0x020FA650
+_0207A07C: .word 0x020FA66C
+_0207A080: .word 0x020FA688
+_0207A084: .word 0x020FA6A4
+_0207A088: .word 0x020FA634
+
+ thumb_func_start FUN_0207A08C
+FUN_0207A08C: ; 0x0207A08C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ add r0, r4, #0x0
+ mov r1, #0x5
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_020178A0
+ mov r0, #0x13
+ add r1, r4, #0x0
+ bl FUN_02016A8C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A0CC
+FUN_0207A0CC: ; 0x0207A0CC
+ push {r4, lr}
+ sub sp, #0x10
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r4, r0, #0x0
+ str r1, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ mov r3, #0x3
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ mov r1, #0x3
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ add r3, r1, #0x0
+ bl FUN_020068C8
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x27
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_02006930
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ mov r1, #0xb
+ mov r3, #0x2
+ bl FUN_020068C8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ mov r1, #0x2
+ mov r3, #0x4
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ mov r1, #0x10
+ mov r3, #0x5
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x13
+ str r0, [sp, #0xc]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x27
+ mov r1, #0xf
+ mov r3, #0x5
+ bl FUN_020068C8
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x27
+ mov r1, #0xe
+ mov r2, #0x4
+ bl FUN_02006930
+ add sp, #0x10
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207A188
+FUN_0207A188: ; 0x0207A188
+ push {r3, lr}
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ ldr r0, _0207A19C ; =0x04000050
+ mov r1, #0x1
+ mov r2, #0x1e
+ mov r3, #0x17
+ bl G2x_SetBlendAlpha_
+ pop {r3, pc}
+ .balign 4
+_0207A19C: .word 0x04000050
+
+ thumb_func_start FUN_0207A1A0
+FUN_0207A1A0: ; 0x0207A1A0
+ push {r4, lr}
+ mov r2, #0x65
+ add r4, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ mov r3, #0x13
+ bl FUN_0200A86C
+ ldr r1, _0207A250 ; =0x00000674
+ mov r2, #0x79
+ str r0, [r4, r1]
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ mov r3, #0x13
+ bl FUN_0200A86C
+ ldr r1, _0207A254 ; =0x00000678
+ mov r2, #0x0
+ str r0, [r4, r1]
+ mov r0, #0x1
+ mov r1, #0x2
+ mov r3, #0x13
+ bl FUN_0200B870
+ mov r1, #0x67
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ mov r0, #0x13
+ bl FUN_0200AA80
+ ldr r1, _0207A258 ; =0x0000067C
+ str r0, [r4, r1]
+ mov r0, #0xc
+ mov r1, #0x13
+ bl FUN_020219F4
+ mov r1, #0x25
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ mov r0, #0xc
+ mov r1, #0x13
+ bl FUN_020219F4
+ mov r1, #0x95
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x8
+ mov r1, #0x13
+ bl FUN_020219F4
+ mov r1, #0x96
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x80
+ mov r1, #0x13
+ bl FUN_020219F4
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ str r0, [r4, r1]
+ mov r2, #0x93
+ mov r0, #0x0
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ mov r3, #0x13
+ bl FUN_0200A86C
+ ldr r1, _0207A25C ; =0x00000688
+ str r0, [r4, r1]
+ mov r0, #0x8
+ mov r1, #0x13
+ bl FUN_020219F4
+ ldr r2, _0207A260 ; =0x00000684
+ str r0, [r4, r2]
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r1, [r0, #0x8]
+ cmp r1, #0x0
+ beq _0207A24C
+ ldr r0, [r4, r2]
+ bl FUN_02021E28
+_0207A24C:
+ pop {r4, pc}
+ nop
+_0207A250: .word 0x00000674
+_0207A254: .word 0x00000678
+_0207A258: .word 0x0000067C
+_0207A25C: .word 0x00000688
+_0207A260: .word 0x00000684
+
+ thumb_func_start FUN_0207A264
+FUN_0207A264: ; 0x0207A264
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207A2C4 ; =0x00000688
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ ldr r0, _0207A2C8 ; =0x00000678
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ ldr r0, _0207A2CC ; =0x00000674
+ ldr r0, [r4, r0]
+ bl FUN_0200A8B8
+ mov r0, #0x67
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_0200B990
+ ldr r0, _0207A2D0 ; =0x0000067C
+ ldr r0, [r4, r0]
+ bl FUN_0200AB18
+ mov r0, #0x25
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r0, #0x95
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r0, #0x96
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ mov r0, #0x1a
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ ldr r0, _0207A2D4 ; =0x00000684
+ ldr r0, [r4, r0]
+ bl FUN_02021A20
+ pop {r4, pc}
+ .balign 4
+_0207A2C4: .word 0x00000688
+_0207A2C8: .word 0x00000678
+_0207A2CC: .word 0x00000674
+_0207A2D0: .word 0x0000067C
+_0207A2D4: .word 0x00000684
+
+ thumb_func_start FUN_0207A2D8
+FUN_0207A2D8: ; 0x0207A2D8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0207A30C
+ add r0, r4, #0x0
+ bl FUN_0207F8D0
+ add r0, r4, #0x0
+ bl FUN_0207AF20
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x2
+ bne _0207A300
+ mov r0, #0x9
+ pop {r4, pc}
+_0207A300:
+ cmp r0, #0x4
+ bne _0207A308
+ mov r0, #0xf
+ pop {r4, pc}
+_0207A308:
+ mov r0, #0x2
+ pop {r4, pc}
+_0207A30C:
+ mov r0, #0x1
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207A310
+FUN_0207A310: ; 0x0207A310
+ push {r4-r6, lr}
+ ldr r3, _0207A438 ; =0x0000068F
+ add r4, r0, #0x0
+ ldrb r1, [r4, r3]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1c
+ cmp r1, #0x1
+ bne _0207A32E
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ strb r1, [r0, #0x17]
+ mov r0, #0x12
+ pop {r4-r6, pc}
+_0207A32E:
+ ldr r2, _0207A43C ; =0x021C48B8
+ mov r1, #0x20
+ ldr r5, [r2, #0x4c]
+ add r6, r5, #0x0
+ tst r6, r1
+ beq _0207A344
+ sub r1, #0x21
+ bl FUN_0207B178
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0207A344:
+ mov r1, #0x10
+ tst r1, r5
+ beq _0207A354
+ mov r1, #0x1
+ bl FUN_0207B178
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0207A354:
+ mov r1, #0x40
+ add r6, r5, #0x0
+ tst r6, r1
+ beq _0207A366
+ sub r1, #0x41
+ bl FUN_0207B3F0
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0207A366:
+ mov r1, #0x80
+ tst r1, r5
+ beq _0207A376
+ mov r1, #0x1
+ bl FUN_0207B3F0
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_0207A376:
+ ldr r1, [r2, #0x48]
+ mov r0, #0x2
+ tst r0, r1
+ beq _0207A394
+ sub r3, #0xb2
+ add r0, r3, #0x0
+ bl FUN_020054C8
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ strb r1, [r0, #0x17]
+ mov r0, #0x12
+ pop {r4-r6, pc}
+_0207A394:
+ mov r0, #0x1
+ tst r0, r1
+ beq _0207A420
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ bne _0207A3BE
+ sub r0, r3, #0x3
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x4
+ bne _0207A3BE
+ sub r3, #0xb2
+ add r0, r3, #0x0
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207C23C
+ pop {r4-r6, pc}
+_0207A3BE:
+ ldr r0, _0207A440 ; =0x0000068C
+ ldrsb r1, [r4, r0]
+ cmp r1, #0x3
+ bne _0207A3D6
+ add r0, #0x10
+ bl FUN_020054C8
+ ldr r0, _0207A444 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_0207A3D6:
+ cmp r1, #0x5
+ bne _0207A3EA
+ add r0, #0x10
+ bl FUN_020054C8
+ ldr r0, _0207A444 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_0207A3EA:
+ cmp r1, #0x6
+ bne _0207A408
+ add r1, r0, #0x0
+ add r1, #0xd
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ beq _0207A420
+ sub r0, #0xaf
+ bl FUN_020054C8
+ ldr r0, _0207A444 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r0, #0xb
+ pop {r4-r6, pc}
+_0207A408:
+ cmp r1, #0x7
+ bne _0207A420
+ sub r0, #0xaf
+ bl FUN_020054C8
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ strb r1, [r0, #0x17]
+ mov r0, #0x12
+ pop {r4-r6, pc}
+_0207A420:
+ add r0, r4, #0x0
+ bl FUN_0207B200
+ cmp r0, #0x1
+ bne _0207A434
+ ldr r0, _0207A444 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ mov r0, #0xe
+ pop {r4-r6, pc}
+_0207A434:
+ mov r0, #0x2
+ pop {r4-r6, pc}
+ .balign 4
+_0207A438: .word 0x0000068F
+_0207A43C: .word 0x021C48B8
+_0207A440: .word 0x0000068C
+_0207A444: .word 0x0000068E
+
+ thumb_func_start FUN_0207A448
+FUN_0207A448: ; 0x0207A448
+ push {r3, lr}
+ bl FUN_0207B66C
+ cmp r0, #0x1
+ bne _0207A456
+ mov r0, #0x7
+ pop {r3, pc}
+_0207A456:
+ mov r0, #0x3
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A45C
+FUN_0207A45C: ; 0x0207A45C
+ push {r3, lr}
+ bl FUN_0207B788
+ cmp r0, #0x1
+ bne _0207A46A
+ mov r0, #0x2
+ pop {r3, pc}
+_0207A46A:
+ mov r0, #0x4
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A470
+FUN_0207A470: ; 0x0207A470
+ push {r3, lr}
+ bl FUN_0207BAEC
+ cmp r0, #0x1
+ bne _0207A47E
+ mov r0, #0x7
+ pop {r3, pc}
+_0207A47E:
+ mov r0, #0x5
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A484
+FUN_0207A484: ; 0x0207A484
+ push {r3, lr}
+ bl FUN_0207BBF0
+ cmp r0, #0x1
+ bne _0207A492
+ mov r0, #0x2
+ pop {r3, pc}
+_0207A492:
+ mov r0, #0x6
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A498
+FUN_0207A498: ; 0x0207A498
+ push {r4, lr}
+ ldr r1, _0207A568 ; =0x021C48B8
+ add r4, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x40
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207A4C2
+ sub r1, #0x41
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A4BE
+ ldr r0, _0207A56C ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A4BE:
+ mov r0, #0x7
+ pop {r4, pc}
+_0207A4C2:
+ mov r1, #0x80
+ tst r1, r2
+ beq _0207A4E2
+ mov r1, #0x1
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A4DE
+ ldr r0, _0207A56C ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A4DE:
+ mov r0, #0x7
+ pop {r4, pc}
+_0207A4E2:
+ mov r0, #0x1
+ tst r0, r2
+ beq _0207A542
+ ldr r0, _0207A570 ; =0x0000068D
+ ldrb r1, [r4, r0]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ cmp r1, #0x4
+ bne _0207A510
+ add r0, #0xf
+ bl FUN_020054C8
+ ldr r0, _0207A574 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ sub r0, r0, #0x2
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207A50C
+ mov r0, #0x4
+ pop {r4, pc}
+_0207A50C:
+ mov r0, #0x6
+ pop {r4, pc}
+_0207A510:
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldrb r1, [r1, #0x12]
+ cmp r1, #0x1
+ beq _0207A542
+ sub r0, #0xb0
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207CBE8
+ ldr r2, _0207A570 ; =0x0000068D
+ mov r1, #0xf0
+ ldrb r3, [r4, r2]
+ add r0, r3, #0x0
+ bic r0, r1
+ lsl r1, r3, #0x1c
+ lsr r1, r1, #0x1c
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x18
+ orr r0, r1
+ strb r0, [r4, r2]
+ mov r0, #0x8
+ pop {r4, pc}
+_0207A542:
+ mov r0, #0x2
+ tst r0, r2
+ beq _0207A564
+ ldr r0, _0207A578 ; =0x0000069C
+ bl FUN_020054C8
+ ldr r0, _0207A574 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ sub r0, r0, #0x2
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207A560
+ mov r0, #0x4
+ pop {r4, pc}
+_0207A560:
+ mov r0, #0x6
+ pop {r4, pc}
+_0207A564:
+ mov r0, #0x7
+ pop {r4, pc}
+ .balign 4
+_0207A568: .word 0x021C48B8
+_0207A56C: .word 0x000005DC
+_0207A570: .word 0x0000068D
+_0207A574: .word 0x0000068E
+_0207A578: .word 0x0000069C
+
+ thumb_func_start FUN_0207A57C
+FUN_0207A57C: ; 0x0207A57C
+ push {r4, lr}
+ ldr r1, _0207A644 ; =0x021C48B8
+ add r4, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x40
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207A5A6
+ sub r1, #0x41
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A5A2
+ ldr r0, _0207A648 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A5A2:
+ mov r0, #0x8
+ pop {r4, pc}
+_0207A5A6:
+ mov r1, #0x80
+ tst r1, r2
+ beq _0207A5C6
+ mov r1, #0x1
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A5C2
+ ldr r0, _0207A648 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A5C2:
+ mov r0, #0x8
+ pop {r4, pc}
+_0207A5C6:
+ mov r0, #0x1
+ tst r0, r2
+ beq _0207A622
+ mov r0, #0x43
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207A64C ; =0x0000068D
+ ldrb r1, [r4, r0]
+ lsl r2, r1, #0x1c
+ lsr r2, r2, #0x1c
+ cmp r2, #0x4
+ beq _0207A618
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1c
+ cmp r2, r1
+ beq _0207A618
+ sub r0, #0xb0
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B9C0
+ ldr r1, _0207A64C ; =0x0000068D
+ add r0, r4, #0x0
+ ldrb r2, [r4, r1]
+ lsl r1, r2, #0x1c
+ lsl r2, r2, #0x18
+ lsr r1, r1, #0x1c
+ lsr r2, r2, #0x1c
+ bl FUN_0207CB08
+ add r0, r4, #0x0
+ bl FUN_0207ED30
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+ b _0207A61E
+_0207A618:
+ ldr r0, _0207A650 ; =0x000005DD
+ bl FUN_020054C8
+_0207A61E:
+ mov r0, #0x7
+ pop {r4, pc}
+_0207A622:
+ mov r0, #0x2
+ tst r0, r2
+ beq _0207A63E
+ ldr r0, _0207A650 ; =0x000005DD
+ bl FUN_020054C8
+ mov r0, #0x43
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ mov r0, #0x7
+ pop {r4, pc}
+_0207A63E:
+ mov r0, #0x8
+ pop {r4, pc}
+ nop
+_0207A644: .word 0x021C48B8
+_0207A648: .word 0x000005DC
+_0207A64C: .word 0x0000068D
+_0207A650: .word 0x000005DD
+
+ thumb_func_start FUN_0207A654
+FUN_0207A654: ; 0x0207A654
+ push {r4, lr}
+ ldr r1, _0207A750 ; =0x021C48B8
+ add r4, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x20
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207A66E
+ sub r1, #0x21
+ bl FUN_0207B178
+ mov r0, #0x9
+ pop {r4, pc}
+_0207A66E:
+ mov r1, #0x10
+ tst r1, r2
+ beq _0207A67E
+ mov r1, #0x1
+ bl FUN_0207B178
+ mov r0, #0x9
+ pop {r4, pc}
+_0207A67E:
+ mov r1, #0x40
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207A6A0
+ sub r1, #0x41
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A69C
+ ldr r0, _0207A754 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A69C:
+ mov r0, #0x9
+ pop {r4, pc}
+_0207A6A0:
+ mov r1, #0x80
+ tst r1, r2
+ beq _0207A6C0
+ mov r1, #0x1
+ bl FUN_0207B878
+ cmp r0, #0x1
+ bne _0207A6BC
+ ldr r0, _0207A754 ; =0x000005DC
+ bl FUN_020054C8
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+_0207A6BC:
+ mov r0, #0x9
+ pop {r4, pc}
+_0207A6C0:
+ mov r0, #0x1
+ tst r0, r2
+ beq _0207A72C
+ ldr r0, _0207A758 ; =0x000005DD
+ bl FUN_020054C8
+ ldr r0, _0207A75C ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ cmp r0, #0x4
+ beq _0207A712
+ lsl r0, r0, #0x1
+ add r1, r4, r0
+ mov r0, #0xa1
+ lsl r0, r0, #0x2
+ ldrh r0, [r1, r0]
+ bl FUN_0206EA54
+ cmp r0, #0x1
+ bne _0207A712
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrh r0, [r0, #0x18]
+ cmp r0, #0x0
+ beq _0207A712
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C63C
+ add r0, r4, #0x0
+ bl FUN_0207BD58
+ add r0, r4, #0x0
+ bl FUN_0207EDB4
+ mov r0, #0xa
+ pop {r4, pc}
+_0207A712:
+ ldr r0, _0207A75C ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1c
+ lsr r2, r0, #0x1c
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ strb r2, [r1, #0x16]
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ strb r1, [r0, #0x17]
+ mov r0, #0x12
+ pop {r4, pc}
+_0207A72C:
+ mov r0, #0x2
+ tst r0, r2
+ beq _0207A74C
+ ldr r0, _0207A758 ; =0x000005DD
+ bl FUN_020054C8
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ mov r2, #0x4
+ strb r2, [r1, #0x16]
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ strb r1, [r0, #0x17]
+ mov r0, #0x12
+ pop {r4, pc}
+_0207A74C:
+ mov r0, #0x9
+ pop {r4, pc}
+ .balign 4
+_0207A750: .word 0x021C48B8
+_0207A754: .word 0x000005DC
+_0207A758: .word 0x000005DD
+_0207A75C: .word 0x0000068D
+
+ thumb_func_start FUN_0207A760
+FUN_0207A760: ; 0x0207A760
+ push {r3, lr}
+ ldr r1, _0207A778 ; =0x021C48B8
+ ldr r2, [r1, #0x48]
+ mov r1, #0x3
+ tst r1, r2
+ beq _0207A774
+ bl FUN_0207B8D8
+ mov r0, #0x9
+ pop {r3, pc}
+_0207A774:
+ mov r0, #0xa
+ pop {r3, pc}
+ .balign 4
+_0207A778: .word 0x021C48B8
+
+ thumb_func_start FUN_0207A77C
+FUN_0207A77C: ; 0x0207A77C
+ push {r3, lr}
+ bl FUN_0207BE68
+ cmp r0, #0x1
+ bne _0207A78A
+ mov r0, #0xd
+ pop {r3, pc}
+_0207A78A:
+ mov r0, #0xb
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A790
+FUN_0207A790: ; 0x0207A790
+ push {r3, lr}
+ bl FUN_0207BF90
+ cmp r0, #0x1
+ bne _0207A79E
+ mov r0, #0x2
+ pop {r3, pc}
+_0207A79E:
+ mov r0, #0xc
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207A7A4
+FUN_0207A7A4: ; 0x0207A7A4
+ push {r3-r5, lr}
+ ldr r3, _0207A80C ; =0x021C48B8
+ mov r1, #0x20
+ ldr r2, [r3, #0x4c]
+ add r4, r0, #0x0
+ add r5, r2, #0x0
+ tst r5, r1
+ beq _0207A7BE
+ sub r1, #0x21
+ bl FUN_0207C07C
+ mov r0, #0xd
+ pop {r3-r5, pc}
+_0207A7BE:
+ mov r1, #0x10
+ tst r1, r2
+ beq _0207A7CE
+ mov r1, #0x1
+ bl FUN_0207C07C
+ mov r0, #0xd
+ pop {r3-r5, pc}
+_0207A7CE:
+ mov r1, #0x40
+ add r5, r2, #0x0
+ tst r5, r1
+ beq _0207A7E0
+ sub r1, #0x44
+ bl FUN_0207C07C
+ mov r0, #0xd
+ pop {r3-r5, pc}
+_0207A7E0:
+ mov r1, #0x80
+ tst r1, r2
+ beq _0207A7F0
+ mov r1, #0x4
+ bl FUN_0207C07C
+ mov r0, #0xd
+ pop {r3-r5, pc}
+_0207A7F0:
+ ldr r1, [r3, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0207A808
+ ldr r0, _0207A810 ; =0x000005DD
+ bl FUN_020054C8
+ ldr r0, _0207A814 ; =0x0000068E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r0, #0xc
+ pop {r3-r5, pc}
+_0207A808:
+ mov r0, #0xd
+ pop {r3-r5, pc}
+ .balign 4
+_0207A80C: .word 0x021C48B8
+_0207A810: .word 0x000005DD
+_0207A814: .word 0x0000068E
+
+ thumb_func_start FUN_0207A818
+FUN_0207A818: ; 0x0207A818
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207FB28
+ cmp r0, #0x1
+ bne _0207A82A
+ ldr r0, _0207A878 ; =0x0000068E
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+_0207A82A:
+ ldr r1, _0207A87C ; =0x00000695
+ ldrb r0, [r4, r1]
+ cmp r0, #0x1
+ bne _0207A874
+ add r1, r1, #0x1
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0207FC40
+ add r1, r0, #0x0
+ cmp r1, #0x7
+ bne _0207A850
+ ldr r2, _0207A880 ; =0x0000068F
+ mov r0, #0xf0
+ ldrb r3, [r4, r2]
+ bic r3, r0
+ mov r0, #0x10
+ orr r0, r3
+ strb r0, [r4, r2]
+_0207A850:
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ cmp r0, #0x1
+ bne _0207A86E
+ cmp r1, #0x1
+ beq _0207A866
+ cmp r1, #0x7
+ bne _0207A874
+_0207A866:
+ add r0, r4, #0x0
+ bl FUN_0207B0CC
+ b _0207A874
+_0207A86E:
+ add r0, r4, #0x0
+ bl FUN_0207B0CC
+_0207A874:
+ mov r0, #0xe
+ pop {r4, pc}
+ .balign 4
+_0207A878: .word 0x0000068E
+_0207A87C: .word 0x00000695
+_0207A880: .word 0x0000068F
+
+ thumb_func_start FUN_0207A884
+FUN_0207A884: ; 0x0207A884
+ push {r4-r6, lr}
+ sub sp, #0x8
+ ldr r1, _0207AA00 ; =0x021C48B8
+ add r5, r0, #0x0
+ ldr r2, [r1, #0x48]
+ mov r1, #0x3
+ tst r1, r2
+ bne _0207A896
+ b _0207A9FA
+_0207A896:
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ ldrb r1, [r1, #0x11]
+ cmp r1, #0x2
+ bne _0207A8BA
+ bl FUN_0207B628
+ add r6, r0, #0x0
+ mov r0, #0x13
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02069A64
+ b _0207A8C0
+_0207A8BA:
+ bl FUN_0207B628
+ add r4, r0, #0x0
+_0207A8C0:
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x24]
+ bl FUN_0208821C
+ ldr r0, _0207AA04 ; =0x0000068E
+ mov r2, #0x0
+ strb r2, [r5, r0]
+ ldr r0, _0207AA08 ; =0x00000295
+ mov r1, #0x13
+ ldrb r6, [r5, r0]
+ add r0, r4, #0x0
+ bl FUN_020671BC
+ ldr r1, _0207AA08 ; =0x00000295
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ cmp r6, r0
+ beq _0207A8F4
+ ldr r1, _0207AA04 ; =0x0000068E
+ mov r0, #0x1
+ ldrb r2, [r5, r1]
+ orr r0, r2
+ strb r0, [r5, r1]
+_0207A8F4:
+ ldr r0, _0207AA0C ; =0x00000296
+ mov r1, #0x14
+ ldrb r6, [r5, r0]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _0207AA0C ; =0x00000296
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ cmp r6, r0
+ beq _0207A916
+ ldr r1, _0207AA04 ; =0x0000068E
+ mov r0, #0x2
+ ldrb r2, [r5, r1]
+ orr r0, r2
+ strb r0, [r5, r1]
+_0207A916:
+ ldr r0, _0207AA10 ; =0x00000297
+ mov r1, #0x15
+ ldrb r6, [r5, r0]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _0207AA10 ; =0x00000297
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ cmp r6, r0
+ beq _0207A938
+ ldr r1, _0207AA04 ; =0x0000068E
+ mov r0, #0x4
+ ldrb r2, [r5, r1]
+ orr r0, r2
+ strb r0, [r5, r1]
+_0207A938:
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldrb r6, [r5, r0]
+ add r0, r4, #0x0
+ mov r1, #0x16
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r1, #0xa6
+ lsl r1, r1, #0x2
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ cmp r6, r0
+ beq _0207A95E
+ ldr r1, _0207AA04 ; =0x0000068E
+ mov r0, #0x8
+ ldrb r2, [r5, r1]
+ orr r0, r2
+ strb r0, [r5, r1]
+_0207A95E:
+ ldr r0, _0207AA14 ; =0x00000299
+ mov r1, #0x17
+ ldrb r6, [r5, r0]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _0207AA14 ; =0x00000299
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ cmp r6, r0
+ beq _0207A980
+ ldr r1, _0207AA04 ; =0x0000068E
+ mov r0, #0x10
+ ldrb r2, [r5, r1]
+ orr r0, r2
+ strb r0, [r5, r1]
+_0207A980:
+ add r0, r4, #0x0
+ mov r1, #0x18
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _0207AA18 ; =0x0000029A
+ strb r0, [r5, r1]
+ sub r1, #0x4e
+ ldr r0, [r5, r1]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #0x2
+ bne _0207A99E
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_0207A99E:
+ mov r1, #0x7
+ mov r0, #0x0
+ lsl r1, r1, #0x6
+ mov r2, #0x13
+ bl FUN_02002EEC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x4]
+ bl FUN_02025084
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ ldr r2, _0207AA1C ; =0x000003E2
+ mov r1, #0x1
+ mov r3, #0xd
+ bl FUN_0200CD68
+ ldr r0, _0207AA04 ; =0x0000068E
+ ldrb r0, [r5, r0]
+ cmp r0, #0x0
+ bne _0207A9E2
+ add r0, r5, #0x0
+ mov r1, #0xfe
+ bl FUN_0207EECC
+ add sp, #0x8
+ mov r0, #0x11
+ pop {r4-r6, pc}
+_0207A9E2:
+ add r0, r5, #0x0
+ bl FUN_0207F608
+ add r0, r5, #0x0
+ bl FUN_0207CC24
+ add r0, r5, #0x0
+ bl FUN_0207CF78
+ add sp, #0x8
+ mov r0, #0x10
+ pop {r4-r6, pc}
+_0207A9FA:
+ mov r0, #0xf
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0207AA00: .word 0x021C48B8
+_0207AA04: .word 0x0000068E
+_0207AA08: .word 0x00000295
+_0207AA0C: .word 0x00000296
+_0207AA10: .word 0x00000297
+_0207AA14: .word 0x00000299
+_0207AA18: .word 0x0000029A
+_0207AA1C: .word 0x000003E2
+
+ thumb_func_start FUN_0207AA20
+FUN_0207AA20: ; 0x0207AA20
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0207AA68 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0207AA62
+ ldr r0, _0207AA6C ; =0x0000068E
+ mov r1, #0x0
+ ldrb r2, [r5, r0]
+ mov r0, #0x1
+_0207AA36:
+ add r4, r0, #0x0
+ lsl r4, r1
+ add r3, r2, #0x0
+ tst r3, r4
+ beq _0207AA58
+ add r0, r5, #0x0
+ bl FUN_0207EECC
+ ldr r0, _0207AA6C ; =0x0000068E
+ ldrb r1, [r5, r0]
+ eor r1, r4
+ strb r1, [r5, r0]
+ ldrb r0, [r5, r0]
+ cmp r0, #0x0
+ bne _0207AA62
+ mov r0, #0x11
+ pop {r3-r5, pc}
+_0207AA58:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x5
+ blo _0207AA36
+_0207AA62:
+ mov r0, #0x10
+ pop {r3-r5, pc}
+ nop
+_0207AA68: .word 0x021C48B8
+_0207AA6C: .word 0x0000068E
+
+ thumb_func_start FUN_0207AA70
+FUN_0207AA70: ; 0x0207AA70
+ ldr r0, _0207AA84 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x3
+ tst r0, r1
+ beq _0207AA7E
+ mov r0, #0x12
+ bx lr
+_0207AA7E:
+ mov r0, #0x11
+ bx lr
+ nop
+_0207AA84: .word 0x021C48B8
+
+ thumb_func_start FUN_0207AA88
+FUN_0207AA88: ; 0x0207AA88
+ push {r3, lr}
+ mov r0, #0x1
+ mov r1, #0x13
+ bl FUN_02079A70
+ mov r0, #0x13
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207AA98
+FUN_0207AA98: ; 0x0207AA98
+ push {r3, lr}
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0207AAA6
+ mov r0, #0x1
+ b _0207AAA8
+_0207AAA6:
+ mov r0, #0x0
+_0207AAA8:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207AAB0
+FUN_0207AAB0: ; 0x0207AAB0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207B628
+ mov r2, #0x93
+ lsl r2, r2, #0x2
+ add r1, r0, #0x0
+ ldr r0, [r4, r2]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #0x2
+ bne _0207AAD2
+ add r2, r2, #0x4
+ add r0, r4, #0x0
+ add r2, r4, r2
+ bl FUN_0207AAE0
+ pop {r4, pc}
+_0207AAD2:
+ add r2, r2, #0x4
+ add r0, r4, #0x0
+ add r2, r4, r2
+ bl FUN_0207AB0C
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207AAE0
+FUN_0207AAE0: ; 0x0207AAE0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x13
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02069A64
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0207AB0C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207AB0C
+FUN_0207AB0C: ; 0x0207AB0C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r6, r1, #0x0
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ add r5, r2, #0x0
+ bl FUN_020669D4
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0xc]
+ add r0, r6, #0x0
+ bl FUN_020690E4
+ ldr r2, _0207AEAC ; =0x00000674
+ add r4, r0, #0x0
+ ldr r0, [r7, r2]
+ add r2, #0xc
+ ldr r2, [r7, r2]
+ mov r1, #0xb
+ bl FUN_0200A8E0
+ ldr r0, _0207AEB0 ; =0x0000067C
+ mov r1, #0x0
+ ldr r0, [r7, r0]
+ add r2, r4, #0x0
+ bl FUN_0200AC60
+ ldr r2, _0207AEB0 ; =0x0000067C
+ mov r1, #0x25
+ ldr r0, [r7, r2]
+ lsl r1, r1, #0x4
+ add r2, r2, #0x4
+ ldr r1, [r7, r1]
+ ldr r2, [r7, r2]
+ bl FUN_0200B7B8
+ ldr r2, _0207AEAC ; =0x00000674
+ mov r1, #0x0
+ ldr r0, [r7, r2]
+ add r2, #0xc
+ ldr r2, [r7, r2]
+ bl FUN_0200A8E0
+ ldr r0, _0207AEB0 ; =0x0000067C
+ mov r1, #0x0
+ ldr r0, [r7, r0]
+ add r2, r4, #0x0
+ bl FUN_0200ACF8
+ ldr r2, _0207AEB0 ; =0x0000067C
+ mov r1, #0x95
+ ldr r0, [r7, r2]
+ lsl r1, r1, #0x2
+ add r2, r2, #0x4
+ ldr r1, [r7, r1]
+ ldr r2, [r7, r2]
+ bl FUN_0200B7B8
+ ldr r2, _0207AEAC ; =0x00000674
+ mov r1, #0xe
+ ldr r0, [r7, r2]
+ add r2, #0xc
+ ldr r2, [r7, r2]
+ bl FUN_0200A8E0
+ ldr r0, _0207AEB0 ; =0x0000067C
+ mov r1, #0x0
+ ldr r0, [r7, r0]
+ add r2, r4, #0x0
+ bl FUN_0200AD18
+ ldr r2, _0207AEB0 ; =0x0000067C
+ mov r1, #0x96
+ ldr r0, [r7, r2]
+ lsl r1, r1, #0x2
+ add r2, r2, #0x4
+ ldr r1, [r7, r1]
+ ldr r2, [r7, r2]
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0xe]
+ add r0, r6, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldrb r1, [r5, #0x12]
+ mov r2, #0x7f
+ lsl r0, r0, #0x18
+ bic r1, r2
+ lsr r2, r0, #0x18
+ mov r0, #0x7f
+ and r0, r2
+ orr r0, r1
+ strb r0, [r5, #0x12]
+ add r0, r6, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x1f
+ ldr r2, [r5, #0x50]
+ ldr r1, _0207AEB4 ; =0xEFFFFFFF
+ lsr r0, r0, #0x3
+ and r1, r2
+ orr r0, r1
+ str r0, [r5, #0x50]
+ add r0, r6, #0x0
+ mov r1, #0xaf
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _0207AC16
+ ldr r0, [r5, #0x50]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ bne _0207AC16
+ ldrb r1, [r5, #0x12]
+ mov r0, #0x80
+ bic r1, r0
+ strb r1, [r5, #0x12]
+ b _0207AC1E
+_0207AC16:
+ ldrb r1, [r5, #0x12]
+ mov r0, #0x80
+ orr r0, r1
+ strb r0, [r5, #0x12]
+_0207AC1E:
+ add r0, r6, #0x0
+ bl FUN_020689E0
+ ldrb r1, [r5, #0x13]
+ mov r2, #0x3
+ bic r1, r2
+ mov r2, #0x3
+ and r0, r2
+ orr r0, r1
+ strb r0, [r5, #0x13]
+ add r0, r6, #0x0
+ mov r1, #0x9a
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ lsl r0, r0, #0x1a
+ ldrb r1, [r5, #0x13]
+ mov r2, #0xfc
+ lsr r0, r0, #0x18
+ bic r1, r2
+ orr r0, r1
+ strb r0, [r5, #0x13]
+ add r0, r6, #0x0
+ mov r1, #0xb0
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r5, #0x10]
+ add r0, r6, #0x0
+ mov r1, #0xb1
+ mov r2, #0x0
+ bl FUN_020671BC
+ strb r0, [r5, #0x11]
+ add r0, r6, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [r5, #0x14]
+ add r0, r6, #0x0
+ mov r1, #0x8
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [r5, #0x18]
+ add r0, r6, #0x0
+ mov r1, #0x9c
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x44
+ strb r0, [r1, #0x0]
+ ldrb r1, [r5, #0x12]
+ ldrh r0, [r5, #0xc]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x19
+ bl FUN_02068758
+ str r0, [r5, #0x1c]
+ ldrb r0, [r5, #0x12]
+ lsl r0, r0, #0x19
+ lsr r1, r0, #0x19
+ cmp r1, #0x64
+ bne _0207ACAA
+ ldr r0, [r5, #0x1c]
+ b _0207ACB2
+_0207ACAA:
+ ldrh r0, [r5, #0xc]
+ add r1, r1, #0x1
+ bl FUN_02068758
+_0207ACB2:
+ str r0, [r5, #0x20]
+ add r0, r6, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x24]
+ add r0, r6, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x26]
+ add r0, r6, #0x0
+ mov r1, #0xa4
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x28]
+ add r0, r6, #0x0
+ mov r1, #0xa5
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x2a]
+ add r0, r6, #0x0
+ mov r1, #0xa7
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x2c]
+ add r0, r6, #0x0
+ mov r1, #0xa8
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x2e]
+ add r0, r6, #0x0
+ mov r1, #0xa6
+ mov r2, #0x0
+ bl FUN_020671BC
+ strh r0, [r5, #0x30]
+ add r0, r6, #0x0
+ mov r1, #0xa
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x32
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_02068854
+ add r1, r5, #0x0
+ add r1, #0x33
+ strb r0, [r1, #0x0]
+ mov r4, #0x0
+_0207AD26:
+ lsl r0, r4, #0x1
+ add r0, r5, r0
+ add r1, r4, #0x0
+ str r0, [sp, #0x0]
+ add r0, r6, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [sp, #0x0]
+ mov r2, #0x0
+ strh r0, [r1, #0x34]
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x3a
+ bl FUN_020671BC
+ add r1, r5, r4
+ add r1, #0x3c
+ strb r0, [r1, #0x0]
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x3e
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ ldr r0, [sp, #0x0]
+ ldrh r0, [r0, #0x34]
+ bl FUN_0206AB30
+ add r1, r5, r4
+ add r1, #0x40
+ strb r0, [r1, #0x0]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _0207AD26
+ add r0, r6, #0x0
+ mov r1, #0x13
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x45
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x14
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x46
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x15
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x47
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x16
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x48
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x17
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x49
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x18
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x4a
+ strb r0, [r1, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ add r0, #0x4b
+ strb r1, [r0, #0x0]
+ mov r4, #0x0
+_0207ADE0:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02069BC8
+ cmp r0, #0x1
+ bne _0207ADF4
+ add r0, r5, #0x0
+ add r0, #0x4b
+ strb r4, [r0, #0x0]
+ b _0207ADFE
+_0207ADF4:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x5
+ blo _0207ADE0
+_0207ADFE:
+ add r0, r6, #0x0
+ mov r1, #0xb
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x4c
+ strh r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r5, #0x0
+ add r1, #0x4e
+ strh r0, [r1, #0x0]
+ add r0, r6, #0x0
+ bl FUN_0207C2D4
+ mov r1, #0xf
+ ldr r2, [r5, #0x50]
+ lsl r1, r1, #0x1c
+ and r2, r1
+ ldr r1, _0207AEB8 ; =0x0FFFFFFF
+ and r0, r1
+ orr r0, r2
+ str r0, [r5, #0x50]
+ add r0, r6, #0x0
+ bl FUN_02069E94
+ cmp r0, #0x1
+ bne _0207AE4E
+ ldr r1, [r5, #0x50]
+ ldr r0, _0207AEBC ; =0x3FFFFFFF
+ and r1, r0
+ mov r0, #0x2
+ lsl r0, r0, #0x1e
+ orr r0, r1
+ str r0, [r5, #0x50]
+ b _0207AE84
+_0207AE4E:
+ add r0, r6, #0x0
+ bl FUN_02069E74
+ cmp r0, #0x1
+ bne _0207AE7C
+ ldr r2, [r5, #0x50]
+ ldr r1, _0207AEBC ; =0x3FFFFFFF
+ add r0, r5, #0x0
+ and r2, r1
+ add r1, r1, #0x1
+ orr r1, r2
+ str r1, [r5, #0x50]
+ lsl r1, r1, #0x4
+ lsr r1, r1, #0x4
+ add r0, #0x50
+ cmp r1, #0x7
+ bne _0207AE84
+ mov r1, #0xf
+ ldr r2, [r0, #0x0]
+ lsl r1, r1, #0x1c
+ and r1, r2
+ str r1, [r0, #0x0]
+ b _0207AE84
+_0207AE7C:
+ ldr r1, [r5, #0x50]
+ ldr r0, _0207AEBC ; =0x3FFFFFFF
+ and r0, r1
+ str r0, [r5, #0x50]
+_0207AE84:
+ add r0, r6, #0x0
+ bl FUN_02068A80
+ cmp r0, #0x1
+ ldr r1, [r5, #0x50]
+ bne _0207AE98
+ mov r0, #0x2
+ lsl r0, r0, #0x1c
+ orr r0, r1
+ b _0207AE9C
+_0207AE98:
+ ldr r0, _0207AEC0 ; =0xDFFFFFFF
+ and r0, r1
+_0207AE9C:
+ str r0, [r5, #0x50]
+ mov r4, #0x0
+ str r4, [r5, #0x54]
+ str r4, [r5, #0x58]
+ str r4, [r5, #0x5c]
+ ldr r0, _0207AEC4 ; =0x00000699
+ b _0207AEC8
+ nop
+_0207AEAC: .word 0x00000674
+_0207AEB0: .word 0x0000067C
+_0207AEB4: .word 0xEFFFFFFF
+_0207AEB8: .word 0x0FFFFFFF
+_0207AEBC: .word 0x3FFFFFFF
+_0207AEC0: .word 0xDFFFFFFF
+_0207AEC4: .word 0x00000699
+_0207AEC8:
+ str r4, [r5, #0x60]
+ strb r4, [r7, r0]
+_0207AECC:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x0
+ bl FUN_0207FC5C
+ add r1, r0, #0x0
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207AF04
+ lsr r0, r4, #0x5
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x1f
+ add r2, r4, #0x0
+ and r2, r1
+ mov r1, #0x1
+ ldr r3, [r0, #0x54]
+ lsl r1, r2
+ orr r1, r3
+ str r1, [r0, #0x54]
+ ldr r0, _0207AF1C ; =0x00000699
+ ldrb r0, [r7, r0]
+ add r1, r0, #0x1
+ ldr r0, _0207AF1C ; =0x00000699
+ strb r1, [r7, r0]
+_0207AF04:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x50
+ blo _0207AECC
+ ldr r1, [sp, #0x4]
+ add r0, r6, #0x0
+ bl FUN_02066A20
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0207AF1C: .word 0x00000699
+
+ thumb_func_start FUN_0207AF20
+FUN_0207AF20: ; 0x0207AF20
+ push {r3, lr}
+ mov r2, #0x2a
+ lsl r2, r2, #0x4
+ ldr r1, [r0, r2]
+ lsl r1, r1, #0x3
+ lsr r1, r1, #0x1f
+ bne _0207AF54
+ add r1, r2, #0x0
+ sub r1, #0x44
+ ldrh r3, [r0, r1]
+ add r1, r2, #0x0
+ sub r1, #0xe7
+ cmp r3, r1
+ bne _0207AF4E
+ sub r2, #0x54
+ ldr r0, [r0, r2]
+ mov r1, #0x0
+ ldr r0, [r0, #0x28]
+ mov r2, #0x64
+ add r3, r1, #0x0
+ bl FUN_02005E90
+ pop {r3, pc}
+_0207AF4E:
+ add r0, r3, #0x0
+ bl FUN_02005578
+_0207AF54:
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207AF58
+FUN_0207AF58: ; 0x0207AF58
+ push {r4, lr}
+ mov r1, #0x93
+ add r4, r0, #0x0
+ lsl r1, r1, #0x2
+ ldr r0, [r4, r1]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x4
+ bhi _0207AFA4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207AF74: ; jump table (using 16-bit offset)
+ .short _0207AF7E - _0207AF74 - 2; case 0
+ .short _0207AF7E - _0207AF74 - 2; case 1
+ .short _0207AF96 - _0207AF74 - 2; case 2
+ .short _0207AF9E - _0207AF74 - 2; case 3
+ .short _0207AF9E - _0207AF74 - 2; case 4
+_0207AF7E:
+ add r1, #0x54
+ ldr r0, [r4, r1]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ ldr r0, _0207AFFC ; =0x0000068C
+ bne _0207AF90
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ b _0207AFA4
+_0207AF90:
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _0207AFA4
+_0207AF96:
+ ldr r0, _0207AFFC ; =0x0000068C
+ mov r1, #0x3
+ strb r1, [r4, r0]
+ b _0207AFA4
+_0207AF9E:
+ ldr r0, _0207AFFC ; =0x0000068C
+ mov r1, #0x4
+ strb r1, [r4, r0]
+_0207AFA4:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ add r0, r4, #0x0
+ bl FUN_0207C5D4
+ add r0, r4, #0x0
+ bl FUN_0207C838
+ add r0, r4, #0x0
+ bl FUN_0207D2C8
+ add r0, r4, #0x0
+ bl FUN_0207C6A4
+ add r0, r4, #0x0
+ bl FUN_0207CE4C
+ add r0, r4, #0x0
+ bl FUN_0207CC24
+ add r0, r4, #0x0
+ bl FUN_0207D604
+ add r0, r4, #0x0
+ bl FUN_0207DD88
+ add r0, r4, #0x0
+ bl FUN_0207B228
+ add r0, r4, #0x0
+ bl FUN_0207F2A0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x2
+ bne _0207AFFA
+ add r0, r4, #0x0
+ bl FUN_0207BA74
+_0207AFFA:
+ pop {r4, pc}
+ .balign 4
+_0207AFFC: .word 0x0000068C
+
+ thumb_func_start FUN_0207B000
+FUN_0207B000: ; 0x0207B000
+ push {r3-r6}
+ mov r6, #0x0
+ strb r6, [r0, #0x15]
+ add r0, #0x15
+ mov r3, #0x1
+_0207B00A:
+ ldrb r5, [r1, r6]
+ cmp r5, #0x8
+ beq _0207B024
+ add r2, r3, #0x0
+ ldrb r4, [r0, #0x0]
+ lsl r2, r5
+ orr r2, r4
+ strb r2, [r0, #0x0]
+ add r2, r6, #0x1
+ lsl r2, r2, #0x18
+ lsr r6, r2, #0x18
+ cmp r6, #0x8
+ blo _0207B00A
+_0207B024:
+ pop {r3-r6}
+ bx lr
+
+ thumb_func_start FUN_0207B028
+FUN_0207B028: ; 0x0207B028
+ push {r3-r4}
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r4, [r0, r1]
+ ldr r1, [r4, #0x2c]
+ cmp r1, #0x1
+ beq _0207B06C
+ ldrb r2, [r4, #0x15]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207B044
+ eor r1, r2
+ strb r1, [r4, #0x15]
+_0207B044:
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r4, [r0, r1]
+ mov r1, #0x20
+ ldrb r2, [r4, #0x15]
+ add r3, r2, #0x0
+ tst r3, r1
+ beq _0207B058
+ eor r1, r2
+ strb r1, [r4, #0x15]
+_0207B058:
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r3, [r0, r1]
+ mov r0, #0x40
+ ldrb r1, [r3, #0x15]
+ add r2, r1, #0x0
+ tst r2, r0
+ beq _0207B06C
+ eor r0, r1
+ strb r0, [r3, #0x15]
+_0207B06C:
+ pop {r3-r4}
+ bx lr
+
+ thumb_func_start FUN_0207B070
+FUN_0207B070: ; 0x0207B070
+ mov r2, #0x2a
+ lsl r2, r2, #0x4
+ ldr r2, [r0, r2]
+ lsl r2, r2, #0x3
+ lsr r2, r2, #0x1f
+ beq _0207B088
+ cmp r1, #0x1
+ beq _0207B088
+ cmp r1, #0x7
+ beq _0207B088
+ mov r0, #0x0
+ bx lr
+_0207B088:
+ mov r2, #0x93
+ lsl r2, r2, #0x2
+ ldr r0, [r0, r2]
+ ldrb r2, [r0, #0x15]
+ mov r0, #0x1
+ lsl r0, r1
+ and r0, r2
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+
+ thumb_func_start FUN_0207B09C
+FUN_0207B09C: ; 0x0207B09C
+ push {r3-r4}
+ mov r3, #0x93
+ lsl r3, r3, #0x2
+ ldr r0, [r0, r3]
+ mov r2, #0x0
+ ldrb r0, [r0, #0x15]
+ add r1, r2, #0x0
+ mov r3, #0x1
+_0207B0AC:
+ add r4, r3, #0x0
+ lsl r4, r1
+ tst r4, r0
+ beq _0207B0BA
+ add r2, r2, #0x1
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x18
+_0207B0BA:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x8
+ blo _0207B0AC
+ add r0, r2, #0x0
+ pop {r3-r4}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0207B0CC
+FUN_0207B0CC: ; 0x0207B0CC
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ ldr r1, _0207B174 ; =0x0000068C
+ add r5, r0, #0x0
+ ldrsb r1, [r5, r1]
+ cmp r1, r4
+ beq _0207B170
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ ldrb r1, [r1, #0x12]
+ cmp r1, #0x2
+ bne _0207B0EC
+ bl FUN_0207BDD8
+_0207B0EC:
+ add r0, r5, #0x0
+ bl FUN_0207D6F8
+ ldr r0, _0207B174 ; =0x0000068C
+ mov r1, #0x0
+ strb r4, [r5, r0]
+ add r0, r5, #0x0
+ bl FUN_0207CFAC
+ add r0, r5, #0x0
+ bl FUN_0207C5D4
+ add r0, r5, #0x0
+ bl FUN_0207C6A4
+ add r0, r5, #0x0
+ bl FUN_0207C838
+ add r0, r5, #0x0
+ bl FUN_0207D2C8
+ add r0, r5, #0x0
+ bl FUN_0207CC24
+ add r0, r5, #0x0
+ bl FUN_0207D604
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0207D418
+ mov r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ mov r0, #0x14
+ str r0, [sp, #0x8]
+ mov r2, #0x0
+ str r2, [sp, #0xc]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ mov r3, #0xe
+ bl FUN_02018540
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ bl FUN_02017CD0
+ add r0, r5, #0x0
+ bl FUN_0207DD88
+ add r0, r5, #0x0
+ bl FUN_0207B228
+ add r0, r5, #0x0
+ bl FUN_0207F2A0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x2
+ bne _0207B170
+ add r0, r5, #0x0
+ bl FUN_0207BDF4
+_0207B170:
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+_0207B174: .word 0x0000068C
+
+ thumb_func_start FUN_0207B178
+FUN_0207B178: ; 0x0207B178
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ ldr r0, _0207B1F8 ; =0x0000068C
+ mov r6, #0x1
+ ldrsb r4, [r5, r0]
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r12, r4
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ add r7, r6, #0x0
+_0207B190:
+ add r2, r4, r1
+ lsl r2, r2, #0x18
+ asr r4, r2, #0x18
+ bpl _0207B19C
+ mov r4, #0x7
+ b _0207B1A2
+_0207B19C:
+ cmp r4, #0x7
+ ble _0207B1A2
+ mov r4, #0x0
+_0207B1A2:
+ cmp r0, #0x0
+ bne _0207B1B8
+ mov r2, #0x93
+ lsl r2, r2, #0x2
+ ldr r2, [r5, r2]
+ ldrb r3, [r2, #0x15]
+ add r2, r6, #0x0
+ lsl r2, r4
+ tst r2, r3
+ bne _0207B1D0
+ b _0207B190
+_0207B1B8:
+ mov r2, #0x93
+ lsl r2, r2, #0x2
+ ldr r2, [r5, r2]
+ ldrb r3, [r2, #0x15]
+ add r2, r7, #0x0
+ lsl r2, r4
+ tst r2, r3
+ beq _0207B190
+ cmp r4, #0x1
+ beq _0207B1D0
+ cmp r4, #0x7
+ bne _0207B190
+_0207B1D0:
+ mov r0, r12
+ cmp r4, r0
+ beq _0207B1F4
+ ldr r0, _0207B1FC ; =0x000005E1
+ bl FUN_020054C8
+ add r0, r5, #0x0
+ bl FUN_0207FA38
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0207D418
+ lsl r1, r4, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0207B0CC
+_0207B1F4:
+ pop {r3-r7, pc}
+ nop
+_0207B1F8: .word 0x0000068C
+_0207B1FC: .word 0x000005E1
+
+ thumb_func_start FUN_0207B200
+FUN_0207B200: ; 0x0207B200
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207FA80
+ cmp r0, #0xff
+ bne _0207B210
+ mov r0, #0x0
+ pop {r4, pc}
+_0207B210:
+ ldr r1, _0207B224 ; =0x00000694
+ mov r3, #0x0
+ strb r3, [r4, r1]
+ add r2, r1, #0x2
+ strb r0, [r4, r2]
+ add r0, r1, #0x1
+ strb r3, [r4, r0]
+ mov r0, #0x1
+ pop {r4, pc}
+ nop
+_0207B224: .word 0x00000694
+
+ thumb_func_start FUN_0207B228
+FUN_0207B228: ; 0x0207B228
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r5, r0]
+ ldrb r0, [r1, #0x12]
+ cmp r0, #0x2
+ bne _0207B250
+ ldrh r0, [r1, #0x18]
+ cmp r0, #0x0
+ beq _0207B250
+ ldr r0, _0207B2AC ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x3
+ bne _0207B24C
+ mov r1, #0xc
+ b _0207B256
+_0207B24C:
+ mov r1, #0xd
+ b _0207B256
+_0207B250:
+ ldr r0, _0207B2AC ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ add r1, r0, #0x3
+_0207B256:
+ mov r0, #0x27
+ mov r2, #0x13
+ bl LoadFromNarc_2
+ add r1, sp, #0xc
+ add r4, r0, #0x0
+ bl FUN_020B0180
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r2, [sp, #0xc]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ add r2, #0xc
+ bl FUN_02018148
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, _0207B2AC ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x0
+ bne _0207B29C
+ add r0, r5, #0x0
+ bl FUN_0207B364
+ add sp, #0x10
+ pop {r3-r5, pc}
+_0207B29C:
+ cmp r0, #0x2
+ bne _0207B2A6
+ add r0, r5, #0x0
+ bl FUN_0207B2B0
+_0207B2A6:
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_0207B2AC: .word 0x0000068C
+
+ thumb_func_start FUN_0207B2B0
+FUN_0207B2B0: ; 0x0207B2B0
+ push {r4-r7, lr}
+ sub sp, #0x14
+ mov r1, #0x9d
+ add r6, r0, #0x0
+ lsl r1, r1, #0x2
+ ldrh r0, [r6, r1]
+ add r1, r1, #0x2
+ ldrh r1, [r6, r1]
+ mov r2, #0x30
+ bl FUN_02079A54
+ cmp r0, #0x4
+ bhi _0207B2EC
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207B2D6: ; jump table (using 16-bit offset)
+ .short _0207B2E0 - _0207B2D6 - 2; case 0
+ .short _0207B2E8 - _0207B2D6 - 2; case 1
+ .short _0207B2E4 - _0207B2D6 - 2; case 2
+ .short _0207B2E0 - _0207B2D6 - 2; case 3
+ .short _0207B2E0 - _0207B2D6 - 2; case 4
+_0207B2E0:
+ ldr r7, _0207B35C ; =0x0000A0C0
+ b _0207B2EC
+_0207B2E4:
+ ldr r7, _0207B360 ; =0x0000A0E0
+ b _0207B2EC
+_0207B2E8:
+ mov r7, #0xa1
+ lsl r7, r7, #0x8
+_0207B2EC:
+ mov r1, #0x9d
+ lsl r1, r1, #0x2
+ ldrh r0, [r6, r1]
+ add r1, r1, #0x2
+ ldrh r1, [r6, r1]
+ mov r2, #0x30
+ bl FUN_02079A0C
+ add r4, r0, #0x0
+ add r0, r7, #0x0
+ add r0, #0x8
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r5, #0x0
+ str r0, [sp, #0x10]
+_0207B30A:
+ cmp r4, #0x8
+ blo _0207B312
+ ldr r2, [sp, #0x10]
+ b _0207B318
+_0207B312:
+ add r0, r7, r4
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+_0207B318:
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r3, r5, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x11
+ add r3, #0x18
+ str r0, [sp, #0xc]
+ lsl r3, r3, #0x18
+ ldr r0, [r6, #0x0]
+ mov r1, #0x3
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ cmp r4, #0x8
+ bhs _0207B33E
+ mov r4, #0x0
+ b _0207B344
+_0207B33E:
+ sub r4, #0x8
+ lsl r0, r4, #0x18
+ lsr r4, r0, #0x18
+_0207B344:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x6
+ blo _0207B30A
+ ldr r0, [r6, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_0207B35C: .word 0x0000A0C0
+_0207B360: .word 0x0000A0E0
+
+ thumb_func_start FUN_0207B364
+FUN_0207B364: ; 0x0207B364
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r2, _0207B3EC ; =0x00000262
+ add r6, r0, #0x0
+ ldrb r0, [r6, r2]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x19
+ cmp r0, #0x64
+ bhs _0207B38C
+ add r0, r2, #0x0
+ add r1, r2, #0x0
+ add r0, #0xa
+ add r1, #0xe
+ add r2, r2, #0x6
+ ldr r0, [r6, r0]
+ ldr r1, [r6, r1]
+ ldr r2, [r6, r2]
+ sub r1, r1, r0
+ sub r0, r2, r0
+ b _0207B390
+_0207B38C:
+ mov r1, #0x0
+ add r0, r1, #0x0
+_0207B390:
+ mov r2, #0x38
+ bl FUN_02079A0C
+ add r4, r0, #0x0
+ mov r5, #0x0
+ mov r7, #0x17
+_0207B39C:
+ cmp r4, #0x8
+ blo _0207B3A4
+ mov r2, #0xb4
+ b _0207B3AC
+_0207B3A4:
+ add r0, r4, #0x0
+ add r0, #0xac
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+_0207B3AC:
+ str r7, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r3, r5, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x11
+ add r3, #0x17
+ str r0, [sp, #0xc]
+ lsl r3, r3, #0x18
+ ldr r0, [r6, #0x0]
+ mov r1, #0x3
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ cmp r4, #0x8
+ bhs _0207B3D0
+ mov r4, #0x0
+ b _0207B3D6
+_0207B3D0:
+ sub r4, #0x8
+ lsl r0, r4, #0x18
+ lsr r4, r0, #0x18
+_0207B3D6:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x7
+ blo _0207B39C
+ ldr r0, [r6, #0x0]
+ mov r1, #0x3
+ bl FUN_0201AC68
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_0207B3EC: .word 0x00000262
+
+ thumb_func_start FUN_0207B3F0
+FUN_0207B3F0: ; 0x0207B3F0
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207B4A4
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0207B49C
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ strb r0, [r1, #0x14]
+ add r0, r4, #0x0
+ bl FUN_0207AAB0
+ add r0, r4, #0x0
+ bl FUN_0207AF20
+ add r0, r4, #0x0
+ bl FUN_0207D768
+ add r0, r4, #0x0
+ bl FUN_0207D800
+ add r0, r4, #0x0
+ bl FUN_0207D8A0
+ ldr r0, _0207B4A0 ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0207B436
+ add r0, r4, #0x0
+ bl FUN_0207B364
+ b _0207B44C
+_0207B436:
+ cmp r0, #0x2
+ bne _0207B442
+ add r0, r4, #0x0
+ bl FUN_0207B2B0
+ b _0207B44C
+_0207B442:
+ cmp r0, #0x4
+ bne _0207B44C
+ add r0, r4, #0x0
+ bl FUN_0207F608
+_0207B44C:
+ add r0, r4, #0x0
+ bl FUN_0207F934
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ add r0, r4, #0x0
+ bl FUN_0207C5D4
+ add r0, r4, #0x0
+ bl FUN_0207C6A4
+ add r0, r4, #0x0
+ bl FUN_0207CA44
+ add r0, r4, #0x0
+ bl FUN_0207C838
+ add r0, r4, #0x0
+ bl FUN_0207D2C8
+ add r0, r4, #0x0
+ bl FUN_0207CFEC
+ add r0, r4, #0x0
+ bl FUN_0207C71C
+ add r0, r4, #0x0
+ bl FUN_0207C77C
+ add r0, r4, #0x0
+ bl FUN_0207CC24
+ add r0, r4, #0x0
+ bl FUN_0207CE4C
+ add r0, r4, #0x0
+ bl FUN_0207DD88
+_0207B49C:
+ pop {r4, pc}
+ nop
+_0207B4A0: .word 0x0000068C
+
+ thumb_func_start FUN_0207B4A4
+FUN_0207B4A4: ; 0x0207B4A4
+ push {r3, lr}
+ mov r2, #0x93
+ lsl r2, r2, #0x2
+ ldr r2, [r0, r2]
+ ldrb r2, [r2, #0x11]
+ cmp r2, #0x0
+ beq _0207B4BC
+ cmp r2, #0x1
+ beq _0207B4C2
+ cmp r2, #0x2
+ beq _0207B4C8
+ b _0207B4CE
+_0207B4BC:
+ bl FUN_0207B4FC
+ pop {r3, pc}
+_0207B4C2:
+ bl FUN_0207B564
+ pop {r3, pc}
+_0207B4C8:
+ bl FUN_0207B5C0
+ pop {r3, pc}
+_0207B4CE:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3, pc}
+
+ thumb_func_start FUN_0207B4D4
+FUN_0207B4D4: ; 0x0207B4D4
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r0, r1]
+ ldrb r1, [r1, #0x12]
+ cmp r1, #0x3
+ bne _0207B4E4
+ mov r0, #0x0
+ bx lr
+_0207B4E4:
+ ldr r1, _0207B4F8 ; =0x0000068C
+ ldrsb r0, [r0, r1]
+ cmp r0, #0x1
+ beq _0207B4F4
+ cmp r0, #0x7
+ beq _0207B4F4
+ mov r0, #0x0
+ bx lr
+_0207B4F4:
+ mov r0, #0x1
+ bx lr
+ .balign 4
+_0207B4F8: .word 0x0000068C
+
+ thumb_func_start FUN_0207B4FC
+FUN_0207B4FC: ; 0x0207B4FC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r5, r0]
+ mov r0, #0x14
+ ldrsb r4, [r1, r0]
+_0207B50C:
+ ldr r0, [sp, #0x0]
+ add r0, r4, r0
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ bmi _0207B522
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldrb r0, [r0, #0x13]
+ cmp r4, r0
+ blt _0207B528
+_0207B522:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0207B528:
+ bl FUN_020690C4
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ add r7, r4, #0x0
+ ldr r6, [r1, #0x0]
+ mul r7, r0
+ add r0, r6, r7
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207B50C
+ add r0, r6, r7
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207B55E
+ add r0, r5, #0x0
+ bl FUN_0207B4D4
+ cmp r0, #0x1
+ bne _0207B50C
+_0207B55E:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207B564
+FUN_0207B564: ; 0x0207B564
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ add r7, r1, #0x0
+ ldr r1, [r5, r0]
+ mov r0, #0x14
+ ldrsb r4, [r1, r0]
+_0207B574:
+ add r0, r4, r7
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ bmi _0207B588
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r5, r0]
+ ldrb r0, [r1, #0x13]
+ cmp r4, r0
+ blt _0207B58E
+_0207B588:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0207B58E:
+ ldr r0, [r1, #0x0]
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0x5
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207B574
+ add r0, r6, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0207B5BC
+ add r0, r5, #0x0
+ bl FUN_0207B4D4
+ cmp r0, #0x1
+ bne _0207B574
+_0207B5BC:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0207B5C0
+FUN_0207B5C0: ; 0x0207B5C0
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ str r1, [sp, #0x0]
+ ldr r1, [r5, r0]
+ mov r0, #0x14
+ ldrsb r4, [r1, r0]
+_0207B5D0:
+ ldr r0, [sp, #0x0]
+ add r0, r4, r0
+ lsl r0, r0, #0x18
+ asr r4, r0, #0x18
+ bmi _0207B5E6
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldrb r0, [r0, #0x13]
+ cmp r4, r0
+ blt _0207B5EC
+_0207B5E6:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_0207B5EC:
+ bl FUN_020690C8
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ add r7, r4, #0x0
+ ldr r6, [r1, #0x0]
+ mul r7, r0
+ add r0, r6, r7
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0207B5D0
+ add r0, r6, r7
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _0207B622
+ add r0, r5, #0x0
+ bl FUN_0207B4D4
+ cmp r0, #0x1
+ bne _0207B5D0
+_0207B622:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207B628
+FUN_0207B628: ; 0x0207B628
+ push {r4, lr}
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r4, [r0, r1]
+ ldrb r0, [r4, #0x11]
+ cmp r0, #0x0
+ beq _0207B640
+ cmp r0, #0x1
+ beq _0207B64E
+ cmp r0, #0x2
+ beq _0207B658
+ b _0207B666
+_0207B640:
+ bl FUN_020690C4
+ ldrb r1, [r4, #0x14]
+ ldr r2, [r4, #0x0]
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0207B64E:
+ ldrb r1, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9B0
+ pop {r4, pc}
+_0207B658:
+ bl FUN_020690C8
+ ldrb r1, [r4, #0x14]
+ ldr r2, [r4, #0x0]
+ mul r0, r1
+ add r0, r2, r0
+ pop {r4, pc}
+_0207B666:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207B66C
+FUN_0207B66C: ; 0x0207B66C
+ push {r4, lr}
+ ldr r1, _0207B774 ; =0x0000068E
+ add r4, r0, #0x0
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ beq _0207B682
+ cmp r1, #0x1
+ beq _0207B6E2
+ cmp r1, #0x2
+ beq _0207B70E
+ b _0207B76E
+_0207B682:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x88
+ bl FUN_0201AEE4
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x0
+ bl FUN_0201AEE4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207C6F0
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201958C
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ ldr r1, _0207B778 ; =0x0000068D
+ mov r0, #0xf
+ ldrb r2, [r4, r1]
+ bic r2, r0
+ strb r2, [r4, r1]
+ mov r2, #0x1
+ add r0, r1, #0x1
+ strb r2, [r4, r0]
+ b _0207B76E
+_0207B6E2:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B48
+ cmp r0, #0x40
+ ldr r0, [r4, #0x0]
+ bgt _0207B702
+ mov r2, #0x0
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0201AEE4
+ ldr r0, _0207B774 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207B76E
+_0207B702:
+ mov r1, #0x2
+ add r2, r1, #0x0
+ mov r3, #0x40
+ bl FUN_0201AEE4
+ b _0207B76E
+_0207B70E:
+ bl FUN_0207ECDC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x1
+ beq _0207B732
+ add r0, r4, #0x0
+ mov r1, #0x98
+ bl FUN_0207D924
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+_0207B732:
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+ ldr r0, _0207B77C ; =0x00000434
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ add r0, r4, #0x0
+ bl FUN_0207D06C
+ mov r0, #0x26
+ lsl r0, r0, #0x4
+ ldrb r1, [r4, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r4, r0]
+ cmp r1, r0
+ beq _0207B760
+ ldr r0, _0207B780 ; =0x00000438
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+_0207B760:
+ ldr r0, _0207B784 ; =0x0000042C
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x1
+ pop {r4, pc}
+_0207B76E:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207B774: .word 0x0000068E
+_0207B778: .word 0x0000068D
+_0207B77C: .word 0x00000434
+_0207B780: .word 0x00000438
+_0207B784: .word 0x0000042C
+
+ thumb_func_start FUN_0207B788
+FUN_0207B788: ; 0x0207B788
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207B864 ; =0x0000068E
+ ldrb r0, [r4, r0]
+ cmp r0, #0x0
+ beq _0207B79E
+ cmp r0, #0x1
+ beq _0207B7F8
+ cmp r0, #0x2
+ beq _0207B824
+ b _0207B860
+_0207B79E:
+ ldr r0, _0207B868 ; =0x00000434
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207B86C ; =0x00000438
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200C63C
+ ldr r0, _0207B870 ; =0x00000454
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207B874 ; =0x0000042C
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ add r0, r4, #0x0
+ bl FUN_0207ED18
+ add r0, r4, #0x0
+ bl FUN_0207EC94
+ ldr r0, _0207B864 ; =0x0000068E
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _0207B860
+_0207B7F8:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B48
+ cmp r0, #0x80
+ ldr r0, [r4, #0x0]
+ blt _0207B818
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x88
+ bl FUN_0201AEE4
+ ldr r0, _0207B864 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207B860
+_0207B818:
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x40
+ bl FUN_0201AEE4
+ b _0207B860
+_0207B824:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_02019220
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ add r0, r4, #0x0
+ mov r1, #0x81
+ bl FUN_0207D924
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0207C6F0
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x1
+ pop {r4, pc}
+_0207B860:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0207B864: .word 0x0000068E
+_0207B868: .word 0x00000434
+_0207B86C: .word 0x00000438
+_0207B870: .word 0x00000454
+_0207B874: .word 0x0000042C
+
+ thumb_func_start FUN_0207B878
+FUN_0207B878: ; 0x0207B878
+ push {r4-r7}
+ add r5, r0, #0x0
+ ldr r0, _0207B8D4 ; =0x0000068D
+ mov r6, #0xa1
+ ldrb r0, [r5, r0]
+ mov r2, #0x4
+ lsl r6, r6, #0x2
+ lsl r0, r0, #0x1c
+ lsr r4, r0, #0x1c
+ add r3, r4, #0x0
+ mov r0, #0x0
+_0207B88E:
+ add r3, r3, r1
+ lsl r3, r3, #0x18
+ asr r3, r3, #0x18
+ bpl _0207B89A
+ add r3, r2, #0x0
+ b _0207B8A0
+_0207B89A:
+ cmp r3, #0x5
+ bne _0207B8A0
+ add r3, r0, #0x0
+_0207B8A0:
+ lsl r7, r3, #0x1
+ add r7, r5, r7
+ ldrh r7, [r7, r6]
+ cmp r7, #0x0
+ bne _0207B8AE
+ cmp r3, #0x4
+ bne _0207B88E
+_0207B8AE:
+ cmp r3, r4
+ beq _0207B8CC
+ ldr r2, _0207B8D4 ; =0x0000068D
+ mov r1, #0xf
+ ldrb r0, [r5, r2]
+ bic r0, r1
+ lsl r1, r3, #0x18
+ lsr r3, r1, #0x18
+ mov r1, #0xf
+ and r1, r3
+ orr r0, r1
+ strb r0, [r5, r2]
+ mov r0, #0x1
+ pop {r4-r7}
+ bx lr
+_0207B8CC:
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+ nop
+_0207B8D4: .word 0x0000068D
+
+ thumb_func_start FUN_0207B8D8
+FUN_0207B8D8: ; 0x0207B8D8
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207CBC0
+ ldr r2, _0207B95C ; =0x0000068D
+ ldrb r0, [r4, r2]
+ lsl r0, r0, #0x1c
+ lsr r1, r0, #0x1c
+ cmp r1, #0x4
+ bne _0207B930
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrh r1, [r0, #0x18]
+ cmp r1, #0x0
+ beq _0207B910
+ sub r0, r2, #0x1
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207B908
+ add r0, r4, #0x0
+ bl FUN_0207B960
+ pop {r4, pc}
+_0207B908:
+ add r0, r4, #0x0
+ bl FUN_0207B99C
+ pop {r4, pc}
+_0207B910:
+ sub r0, r2, #0x1
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207B924
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ bl FUN_0207B960
+ pop {r4, pc}
+_0207B924:
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ bl FUN_0207B99C
+ pop {r4, pc}
+_0207B930:
+ sub r0, r2, #0x1
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207B94A
+ lsl r1, r1, #0x1
+ add r2, r4, r1
+ mov r1, #0xa1
+ lsl r1, r1, #0x2
+ ldrh r1, [r2, r1]
+ add r0, r4, #0x0
+ bl FUN_0207B960
+ pop {r4, pc}
+_0207B94A:
+ lsl r1, r1, #0x1
+ add r2, r4, r1
+ mov r1, #0xa1
+ lsl r1, r1, #0x2
+ ldrh r1, [r2, r1]
+ add r0, r4, #0x0
+ bl FUN_0207B99C
+ pop {r4, pc}
+ .balign 4
+_0207B95C: .word 0x0000068D
+
+ thumb_func_start FUN_0207B960
+FUN_0207B960: ; 0x0207B960
+ push {r3-r5, lr}
+ mov r2, #0x0
+ add r4, r1, #0x0
+ mvn r2, r2
+ add r5, r0, #0x0
+ cmp r4, r2
+ bne _0207B980
+ bl FUN_0207EC94
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_0200C63C
+ pop {r3-r5, pc}
+_0207B980:
+ bl FUN_0207EB64
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207CB70
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_0200C63C
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207B99C
+FUN_0207B99C: ; 0x0207B99C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0207BD84
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ bne _0207B9B6
+ add r0, r5, #0x0
+ bl FUN_0207EEB0
+ pop {r3-r5, pc}
+_0207B9B6:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207EE2C
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0207B9C0
+FUN_0207B9C0: ; 0x0207B9C0
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ bl FUN_0207B628
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldrb r1, [r1, #0x11]
+ cmp r1, #0x2
+ ldr r1, _0207BA70 ; =0x0000068D
+ bne _0207B9E6
+ ldrb r2, [r4, r1]
+ lsl r1, r2, #0x1c
+ lsl r2, r2, #0x18
+ lsr r1, r1, #0x1c
+ lsr r2, r2, #0x1c
+ bl FUN_020698E8
+ b _0207B9F4
+_0207B9E6:
+ ldrb r2, [r4, r1]
+ lsl r1, r2, #0x1c
+ lsl r2, r2, #0x18
+ lsr r1, r1, #0x1c
+ lsr r2, r2, #0x1c
+ bl FUN_020698E0
+_0207B9F4:
+ ldr r0, _0207BA70 ; =0x0000068D
+ mov r1, #0xa1
+ ldrb r6, [r4, r0]
+ lsl r1, r1, #0x2
+ add r5, r4, r1
+ lsl r2, r6, #0x1c
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x1c
+ lsl r6, r6, #0x1
+ lsr r3, r2, #0x1b
+ add r6, r4, r6
+ ldrh r2, [r5, r3]
+ ldrh r6, [r6, r1]
+ strh r6, [r5, r3]
+ ldrb r3, [r4, r0]
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x1c
+ lsl r3, r3, #0x1
+ add r3, r4, r3
+ strh r2, [r3, r1]
+ add r2, r1, #0x0
+ add r2, #0x8
+ ldrb r6, [r4, r0]
+ add r5, r4, r2
+ lsl r2, r6, #0x1c
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x1c
+ add r7, r4, r6
+ add r6, r1, #0x0
+ lsr r3, r2, #0x1c
+ add r6, #0x8
+ ldrb r2, [r5, r3]
+ ldrb r6, [r7, r6]
+ strb r6, [r5, r3]
+ ldrb r3, [r4, r0]
+ lsl r3, r3, #0x18
+ lsr r3, r3, #0x1c
+ add r5, r4, r3
+ add r3, r1, #0x0
+ add r3, #0x8
+ strb r2, [r5, r3]
+ add r2, r1, #0x0
+ add r2, #0xc
+ ldrb r6, [r4, r0]
+ add r5, r4, r2
+ lsl r2, r6, #0x1c
+ lsl r6, r6, #0x18
+ lsr r6, r6, #0x1c
+ add r7, r4, r6
+ add r6, r1, #0x0
+ lsr r3, r2, #0x1c
+ add r6, #0xc
+ ldrb r2, [r5, r3]
+ ldrb r6, [r7, r6]
+ add r1, #0xc
+ strb r6, [r5, r3]
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ add r0, r4, r0
+ strb r2, [r0, r1]
+ pop {r3-r7, pc}
+ .balign 4
+_0207BA70: .word 0x0000068D
+
+ thumb_func_start FUN_0207BA74
+FUN_0207BA74: ; 0x0207BA74
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201958C
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r2, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0201AEE4
+ add r0, r4, #0x0
+ bl FUN_0207ECDC
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+ ldr r0, _0207BAE0 ; =0x00000434
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ add r0, r4, #0x0
+ bl FUN_0207D06C
+ mov r0, #0x26
+ lsl r0, r0, #0x4
+ ldrb r1, [r4, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r4, r0]
+ cmp r1, r0
+ beq _0207BAD4
+ ldr r0, _0207BAE4 ; =0x00000438
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+_0207BAD4:
+ ldr r0, _0207BAE8 ; =0x0000042C
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+ .balign 4
+_0207BAE0: .word 0x00000434
+_0207BAE4: .word 0x00000438
+_0207BAE8: .word 0x0000042C
+
+ thumb_func_start FUN_0207BAEC
+FUN_0207BAEC: ; 0x0207BAEC
+ push {r4, lr}
+ ldr r1, _0207BBE4 ; =0x0000068E
+ add r4, r0, #0x0
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ beq _0207BB02
+ cmp r1, #0x1
+ beq _0207BB6E
+ cmp r1, #0x2
+ beq _0207BB9A
+ b _0207BBDE
+_0207BB02:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x88
+ bl FUN_0201AEE4
+ mov r2, #0x3
+ add r3, r2, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ add r3, #0xfd
+ bl FUN_0201AEE4
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ bl FUN_0207BD84
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207C6F0
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201958C
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ ldr r1, _0207BBE8 ; =0x0000068D
+ mov r0, #0xf
+ ldrb r2, [r4, r1]
+ bic r2, r0
+ strb r2, [r4, r1]
+ mov r2, #0x1
+ add r0, r1, #0x1
+ strb r2, [r4, r0]
+ b _0207BBDE
+_0207BB6E:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B48
+ cmp r0, #0x40
+ ldr r0, [r4, #0x0]
+ bgt _0207BB8E
+ mov r2, #0x0
+ mov r1, #0x2
+ add r3, r2, #0x0
+ bl FUN_0201AEE4
+ ldr r0, _0207BBE4 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207BBDE
+_0207BB8E:
+ mov r1, #0x2
+ add r2, r1, #0x0
+ mov r3, #0x40
+ bl FUN_0201AEE4
+ b _0207BBDE
+_0207BB9A:
+ bl FUN_0207ECDC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x1
+ beq _0207BBBE
+ add r0, r4, #0x0
+ mov r1, #0x98
+ bl FUN_0207D924
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+_0207BBBE:
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+ add r0, r4, #0x0
+ bl FUN_0207D06C
+ add r0, r4, #0x0
+ bl FUN_0207D10C
+ ldr r0, _0207BBEC ; =0x0000042C
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x1
+ pop {r4, pc}
+_0207BBDE:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207BBE4: .word 0x0000068E
+_0207BBE8: .word 0x0000068D
+_0207BBEC: .word 0x0000042C
+
+ thumb_func_start FUN_0207BBF0
+FUN_0207BBF0: ; 0x0207BBF0
+ push {r4, lr}
+ ldr r1, _0207BCBC ; =0x0000068E
+ add r4, r0, #0x0
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ beq _0207BC06
+ cmp r1, #0x1
+ beq _0207BC4E
+ cmp r1, #0x2
+ beq _0207BC7A
+ b _0207BCB6
+_0207BC06:
+ bl FUN_0207D22C
+ ldr r0, _0207BCC0 ; =0x00000454
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mvn r1, r1
+ bl FUN_0207BD84
+ ldr r0, _0207BCC4 ; =0x0000042C
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ add r0, r4, #0x0
+ bl FUN_0207ED18
+ add r0, r4, #0x0
+ bl FUN_0207EEB0
+ ldr r0, _0207BCBC ; =0x0000068E
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _0207BCB6
+_0207BC4E:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B48
+ cmp r0, #0x80
+ ldr r0, [r4, #0x0]
+ blt _0207BC6E
+ mov r1, #0x2
+ mov r2, #0x0
+ mov r3, #0x88
+ bl FUN_0201AEE4
+ ldr r0, _0207BCBC ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207BCB6
+_0207BC6E:
+ mov r1, #0x2
+ mov r2, #0x1
+ mov r3, #0x40
+ bl FUN_0201AEE4
+ b _0207BCB6
+_0207BC7A:
+ mov r0, #0x85
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_02019220
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ add r0, r4, #0x0
+ mov r1, #0x9e
+ bl FUN_0207D924
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0207C6F0
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x1
+ pop {r4, pc}
+_0207BCB6:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207BCBC: .word 0x0000068E
+_0207BCC0: .word 0x00000454
+_0207BCC4: .word 0x0000042C
+
+ thumb_func_start FUN_0207BCC8
+FUN_0207BCC8: ; 0x0207BCC8
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x2f
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ lsl r6, r2, #0x1
+ add r4, r1, #0x0
+ str r0, [sp, #0x4]
+ add r7, r6, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ lsl r3, r7, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ add r2, r4, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ mov r0, #0x2f
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r6, r6, #0x3
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ add r2, r4, #0x1
+ str r0, [sp, #0xc]
+ lsl r2, r2, #0x10
+ lsl r3, r6, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x10
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ mov r0, #0x30
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r2, r4, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ add r2, #0x20
+ str r0, [sp, #0xc]
+ lsl r2, r2, #0x10
+ lsl r3, r7, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x10
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ mov r0, #0x30
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ add r4, #0x21
+ str r0, [sp, #0xc]
+ lsl r2, r4, #0x10
+ lsl r3, r6, #0x18
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ lsr r2, r2, #0x10
+ lsr r3, r3, #0x18
+ bl FUN_02018540
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0207BD58
+FUN_0207BD58: ; 0x0207BD58
+ push {r4-r6, lr}
+ ldr r6, _0207BD80 ; =0x0000012E
+ add r5, r0, #0x0
+ mov r4, #0x0
+_0207BD60:
+ lsl r2, r4, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_0207BCC8
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x6
+ blo _0207BD60
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ pop {r4-r6, pc}
+ .balign 4
+_0207BD80: .word 0x0000012E
+
+ thumb_func_start FUN_0207BD84
+FUN_0207BD84: ; 0x0207BD84
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0207BD58
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _0207BDCC
+ add r0, r4, #0x0
+ mov r1, #0xa
+ bl FUN_0206AB18
+ bl FUN_02083114
+ mov r1, #0xa
+ bl _s32_div_f
+ lsl r0, r0, #0x18
+ asr r6, r0, #0x18
+ mov r4, #0x0
+ cmp r6, #0x0
+ ble _0207BDCC
+ mov r7, #0x4b
+ lsl r7, r7, #0x2
+_0207BDB6:
+ lsl r2, r4, #0x18
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_0207BCC8
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, r6
+ blt _0207BDB6
+_0207BDCC:
+ ldr r0, [r5, #0x0]
+ mov r1, #0x2
+ bl FUN_0201AC68
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207BDD8
+FUN_0207BDD8: ; 0x0207BDD8
+ push {r3, lr}
+ ldr r1, _0207BDF0 ; =0x0000068C
+ ldrsb r1, [r0, r1]
+ cmp r1, #0x3
+ bne _0207BDE8
+ bl FUN_0207EC94
+ pop {r3, pc}
+_0207BDE8:
+ bl FUN_0207EEB0
+ pop {r3, pc}
+ nop
+_0207BDF0: .word 0x0000068C
+
+ thumb_func_start FUN_0207BDF4
+FUN_0207BDF4: ; 0x0207BDF4
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0207ECDC
+ add r0, r4, #0x0
+ bl FUN_0207B8D8
+ add r0, r4, #0x0
+ bl FUN_0207D06C
+ ldr r0, _0207BE5C ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ bne _0207BE46
+ add r0, r4, #0x0
+ bl FUN_0207D22C
+ ldr r0, _0207BE60 ; =0x00000434
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ mov r0, #0x26
+ lsl r0, r0, #0x4
+ ldrb r1, [r4, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r4, r0]
+ cmp r1, r0
+ beq _0207BE38
+ ldr r0, _0207BE64 ; =0x00000438
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+_0207BE38:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x0
+ bl FUN_0201AEE4
+ pop {r4, pc}
+_0207BE46:
+ add r0, r4, #0x0
+ bl FUN_0207D10C
+ mov r2, #0x3
+ add r3, r2, #0x0
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ add r3, #0xfd
+ bl FUN_0201AEE4
+ pop {r4, pc}
+ .balign 4
+_0207BE5C: .word 0x0000068C
+_0207BE60: .word 0x00000434
+_0207BE64: .word 0x00000438
+
+ thumb_func_start FUN_0207BE68
+FUN_0207BE68: ; 0x0207BE68
+ push {r4, lr}
+ ldr r1, _0207BF78 ; =0x0000068E
+ add r4, r0, #0x0
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ beq _0207BE7E
+ cmp r1, #0x1
+ beq _0207BEEA
+ cmp r1, #0x2
+ beq _0207BF16
+ b _0207BF74
+_0207BE7E:
+ mov r1, #0x2
+ add r3, r1, #0x0
+ ldr r0, [r4, #0x0]
+ mov r2, #0x0
+ add r3, #0xfe
+ bl FUN_0201AEE4
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x0
+ bl FUN_0201AEE4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207C6F0
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_0201958C
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ ldr r1, _0207BF7C ; =0x00000697
+ mov r2, #0x0
+ strb r2, [r4, r1]
+ add r0, r1, #0x1
+ strb r2, [r4, r0]
+ mov r0, #0x1
+ sub r1, #0x9
+ strb r0, [r4, r1]
+ b _0207BF74
+_0207BEEA:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B54
+ cmp r0, #0x30
+ ldr r0, [r4, #0x0]
+ blt _0207BF0A
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x38
+ bl FUN_0201AEE4
+ ldr r0, _0207BF78 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207BF74
+_0207BF0A:
+ mov r1, #0x2
+ mov r2, #0x4
+ mov r3, #0x10
+ bl FUN_0201AEE4
+ b _0207BF74
+_0207BF16:
+ mov r1, #0xb5
+ bl FUN_0207D924
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ ldr r0, _0207BF80 ; =0x00000514
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x52
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, _0207BF84 ; =0x00000504
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207BF88 ; =0x00000508
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207BF8C ; =0x0000050C
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x51
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207C07C
+ mov r0, #0x1
+ pop {r4, pc}
+_0207BF74:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+_0207BF78: .word 0x0000068E
+_0207BF7C: .word 0x00000697
+_0207BF80: .word 0x00000514
+_0207BF84: .word 0x00000504
+_0207BF88: .word 0x00000508
+_0207BF8C: .word 0x0000050C
+
+ thumb_func_start FUN_0207BF90
+FUN_0207BF90: ; 0x0207BF90
+ push {r4, lr}
+ ldr r1, _0207C078 ; =0x0000068E
+ add r4, r0, #0x0
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ beq _0207BFA6
+ cmp r0, #0x1
+ beq _0207BFF6
+ cmp r0, #0x2
+ beq _0207C022
+ b _0207C072
+_0207BFA6:
+ add r0, r1, #0x0
+ mov r2, #0x0
+ add r0, #0x9
+ strb r2, [r4, r0]
+ add r1, #0xa
+ mov r0, #0x91
+ strb r2, [r4, r1]
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_0201958C
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207CFAC
+ add r0, r4, #0x0
+ bl FUN_0207D2C8
+ ldr r0, _0207C078 ; =0x0000068E
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ b _0207C072
+_0207BFF6:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ bl FUN_02017B54
+ cmp r0, #0x8
+ ldr r0, [r4, #0x0]
+ bgt _0207C016
+ mov r1, #0x2
+ mov r2, #0x3
+ mov r3, #0x0
+ bl FUN_0201AEE4
+ ldr r0, _0207C078 ; =0x0000068E
+ mov r1, #0x2
+ strb r1, [r4, r0]
+ b _0207C072
+_0207C016:
+ mov r1, #0x2
+ mov r2, #0x5
+ mov r3, #0x10
+ bl FUN_0201AEE4
+ b _0207C072
+_0207C022:
+ add r0, r4, #0x0
+ add r0, #0x64
+ bl FUN_02019220
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ add r0, r4, #0x0
+ mov r1, #0xb4
+ bl FUN_0207D924
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0207C6F0
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x1
+ pop {r4, pc}
+_0207C072:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207C078: .word 0x0000068E
+
+ thumb_func_start FUN_0207C07C
+FUN_0207C07C: ; 0x0207C07C
+ push {r4-r6, lr}
+ ldr r2, _0207C1D0 ; =0x00000697
+ add r5, r0, #0x0
+ add r3, r2, #0x1
+ ldrb r0, [r5, r2]
+ ldrb r4, [r5, r3]
+ cmp r1, #0x1
+ bne _0207C0A8
+ mov r1, #0x3
+ and r1, r0
+ cmp r1, #0x3
+ beq _0207C0B6
+ lsl r1, r4, #0x2
+ add r1, r0, r1
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ ldrb r1, [r5, r1]
+ cmp r3, r1
+ bge _0207C14A
+ add r1, r0, #0x1
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C0A8:
+ mov r3, #0x0
+ mvn r3, r3
+ cmp r1, r3
+ bne _0207C0BE
+ mov r1, #0x3
+ tst r1, r0
+ bne _0207C0B8
+_0207C0B6:
+ b _0207C1CE
+_0207C0B8:
+ sub r1, r0, #0x1
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C0BE:
+ cmp r1, #0x4
+ bne _0207C12C
+ cmp r0, #0x4
+ bhs _0207C0F2
+ add r1, r2, #0x2
+ ldrb r3, [r5, r1]
+ lsl r1, r4, #0x2
+ add r1, r0, r1
+ add r1, r1, #0x4
+ cmp r1, r3
+ blt _0207C0EC
+ cmp r3, #0x4
+ bls _0207C14A
+ lsr r1, r3, #0x1f
+ lsl r6, r3, #0x1e
+ sub r6, r6, r1
+ mov r3, #0x1e
+ ror r6, r3
+ add r1, r1, r6
+ beq _0207C14A
+ add r1, r1, #0x3
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C0EC:
+ add r1, r0, #0x4
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C0F2:
+ add r1, r2, #0x2
+ ldrb r1, [r5, r1]
+ lsl r3, r4, #0x2
+ add r3, #0x8
+ cmp r3, r1
+ bge _0207C14A
+ add r1, r2, #0x1
+ ldrb r1, [r5, r1]
+ add r6, r2, #0x1
+ add r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r5, r1]
+ add r1, r2, #0x2
+ ldrb r6, [r5, r6]
+ ldrb r3, [r5, r1]
+ ldrb r1, [r5, r2]
+ lsl r6, r6, #0x2
+ add r1, r1, r6
+ cmp r1, r3
+ blt _0207C14A
+ lsr r1, r3, #0x1f
+ lsl r6, r3, #0x1e
+ sub r6, r6, r1
+ mov r3, #0x1e
+ ror r6, r3
+ add r1, r1, r6
+ add r1, r1, #0x3
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C12C:
+ sub r3, r3, #0x3
+ cmp r1, r3
+ bne _0207C14A
+ cmp r0, #0x4
+ blo _0207C13C
+ sub r1, r0, #0x4
+ strb r1, [r5, r2]
+ b _0207C14A
+_0207C13C:
+ cmp r4, #0x0
+ beq _0207C14A
+ add r1, r2, #0x1
+ ldrb r1, [r5, r1]
+ sub r3, r1, #0x1
+ add r1, r2, #0x1
+ strb r3, [r5, r1]
+_0207C14A:
+ ldr r1, _0207C1D0 ; =0x00000697
+ ldrb r2, [r5, r1]
+ cmp r0, r2
+ bne _0207C15A
+ add r0, r1, #0x1
+ ldrb r0, [r5, r0]
+ cmp r4, r0
+ beq _0207C160
+_0207C15A:
+ ldr r0, _0207C1D4 ; =0x000005DC
+ bl FUN_020054C8
+_0207C160:
+ ldr r1, _0207C1D0 ; =0x00000697
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ bl FUN_0207C1E8
+ ldr r1, _0207C1D8 ; =0x0000069A
+ strb r0, [r5, r1]
+ add r0, r5, #0x0
+ bl FUN_0207D3C4
+ ldr r0, _0207C1DC ; =0x00000698
+ ldrb r0, [r5, r0]
+ cmp r4, r0
+ beq _0207C182
+ add r0, r5, #0x0
+ bl FUN_0207D364
+_0207C182:
+ add r0, r5, #0x0
+ bl FUN_0207E9A0
+ add r0, r5, #0x0
+ bl FUN_0207E840
+ ldr r0, _0207C1DC ; =0x00000698
+ ldrb r0, [r5, r0]
+ cmp r0, #0x0
+ ldr r0, _0207C1E0 ; =0x00000518
+ beq _0207C1A2
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ b _0207C1AA
+_0207C1A2:
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+_0207C1AA:
+ ldr r0, _0207C1DC ; =0x00000698
+ ldrb r1, [r5, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r5, r0]
+ lsl r1, r1, #0x2
+ add r1, #0x8
+ cmp r1, r0
+ ldr r0, _0207C1E4 ; =0x0000051C
+ bge _0207C1C6
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ pop {r4-r6, pc}
+_0207C1C6:
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+_0207C1CE:
+ pop {r4-r6, pc}
+ .balign 4
+_0207C1D0: .word 0x00000697
+_0207C1D4: .word 0x000005DC
+_0207C1D8: .word 0x0000069A
+_0207C1DC: .word 0x00000698
+_0207C1E0: .word 0x00000518
+_0207C1E4: .word 0x0000051C
+
+ thumb_func_start FUN_0207C1E8
+FUN_0207C1E8: ; 0x0207C1E8
+ push {r4-r7}
+ ldr r2, _0207C238 ; =0x00000698
+ mov r6, #0x0
+ ldrb r2, [r0, r2]
+ add r4, r6, #0x0
+ lsl r2, r2, #0x2
+ add r1, r1, r2
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ mov r1, #0xa9
+ mov r2, #0x1
+ lsl r1, r1, #0x2
+_0207C200:
+ mov r3, #0x1f
+ add r7, r4, #0x0
+ and r7, r3
+ add r3, r2, #0x0
+ lsl r3, r7
+ lsr r7, r4, #0x5
+ lsl r7, r7, #0x2
+ add r7, r0, r7
+ ldr r7, [r7, r1]
+ tst r3, r7
+ beq _0207C228
+ cmp r5, r6
+ bne _0207C222
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ pop {r4-r7}
+ bx lr
+_0207C222:
+ add r3, r6, #0x1
+ lsl r3, r3, #0x18
+ lsr r6, r3, #0x18
+_0207C228:
+ add r3, r4, #0x1
+ lsl r3, r3, #0x10
+ lsr r4, r3, #0x10
+ cmp r4, #0x50
+ blo _0207C200
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+ .balign 4
+_0207C238: .word 0x00000698
+
+ thumb_func_start FUN_0207C23C
+FUN_0207C23C: ; 0x0207C23C
+ push {r4, lr}
+ sub sp, #0x8
+ ldr r1, _0207C29C ; =0x0000029A
+ add r4, r0, #0x0
+ ldrb r0, [r4, r1]
+ cmp r0, #0xff
+ bne _0207C28E
+ mov r0, #0x0
+ sub r1, #0xda
+ mov r2, #0x13
+ bl FUN_02002EEC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldr r0, [r0, #0x4]
+ bl FUN_02025084
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ mov r0, #0x13
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ ldr r2, _0207C2A0 ; =0x000003E2
+ mov r1, #0x1
+ mov r3, #0xd
+ bl FUN_0200CD68
+ add r0, r4, #0x0
+ mov r1, #0xff
+ bl FUN_0207EECC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ strb r1, [r0, #0x17]
+ add sp, #0x8
+ mov r0, #0x11
+ pop {r4, pc}
+_0207C28E:
+ sub r1, #0x4e
+ ldr r0, [r4, r1]
+ mov r2, #0x0
+ strb r2, [r0, #0x17]
+ mov r0, #0x12
+ add sp, #0x8
+ pop {r4, pc}
+ .balign 4
+_0207C29C: .word 0x0000029A
+_0207C2A0: .word 0x000003E2
+
+ thumb_func_start FUN_0207C2A4
+FUN_0207C2A4: ; 0x0207C2A4
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0202398C
+ str r0, [r5, #0x8]
+ add r0, r4, #0x0
+ bl FUN_020239BC
+ str r0, [r5, #0xc]
+ add r0, r4, #0x0
+ bl FUN_020239CC
+ strb r0, [r5, #0x10]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0207C2C4
+FUN_0207C2C4: ; 0x0207C2C4
+ mov r0, #0x40
+ bx lr
+
+ thumb_func_start FUN_0207C2C8
+FUN_0207C2C8: ; 0x0207C2C8
+ mov r0, #0x41
+ bx lr
+
+ thumb_func_start FUN_0207C2CC
+FUN_0207C2CC: ; 0x0207C2CC
+ mov r0, #0x3f
+ bx lr
+
+ thumb_func_start FUN_0207C2D0
+FUN_0207C2D0: ; 0x0207C2D0
+ mov r0, #0x3e
+ bx lr
+
+ thumb_func_start FUN_0207C2D4
+FUN_0207C2D4: ; 0x0207C2D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r1, #0x9f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _0207C2F4
+ mov r0, #0x6
+ pop {r3-r5, pc}
+_0207C2F4:
+ mov r0, #0x88
+ tst r0, r4
+ beq _0207C2FE
+ mov r0, #0x4
+ pop {r3-r5, pc}
+_0207C2FE:
+ mov r0, #0x7
+ add r1, r4, #0x0
+ tst r1, r0
+ beq _0207C30A
+ mov r0, #0x3
+ pop {r3-r5, pc}
+_0207C30A:
+ mov r1, #0x10
+ tst r1, r4
+ beq _0207C314
+ mov r0, #0x5
+ pop {r3-r5, pc}
+_0207C314:
+ mov r1, #0x20
+ tst r1, r4
+ beq _0207C31E
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_0207C31E:
+ mov r1, #0x40
+ tst r1, r4
+ beq _0207C326
+ mov r0, #0x1
+_0207C326:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0207C328
+FUN_0207C328: ; 0x0207C328
+ push {r3-r7, lr}
+ sub sp, #0x50
+ add r4, r0, #0x0
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E74C
+ mov r0, #0x20
+ mov r1, #0x13
+ bl FUN_0201C24C
+ mov r0, #0x13
+ bl FUN_0200BB14
+ mov r1, #0x1
+ lsl r1, r1, #0xa
+ str r0, [r4, r1]
+ ldr r0, [r4, r1]
+ bl FUN_0200BB34
+ ldr r7, _0207C3C4 ; =0x00000404
+ add r2, sp, #0x30
+ ldr r3, _0207C3C8 ; =0x020FA73C
+ str r0, [r4, r7]
+ ldmia r3!, {r0-r1}
+ add r6, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ ldr r5, _0207C3CC ; =0x020FA70C
+ stmia r2!, {r0-r1}
+ add r3, sp, #0x1c
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ add r1, r6, #0x0
+ str r0, [r3, #0x0]
+ sub r0, r7, #0x4
+ ldr r0, [r4, r0]
+ mov r3, #0x20
+ bl FUN_0200BB6C
+ sub r1, r7, #0x4
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ mov r2, #0x4d
+ bl FUN_0200BBF0
+ ldr r5, _0207C3D0 ; =0x020FA720
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ sub r1, r7, #0x4
+ str r0, [r3, #0x0]
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ bl FUN_0200BD20
+ add sp, #0x50
+ pop {r3-r7, pc}
+ .balign 4
+_0207C3C4: .word 0x00000404
+_0207C3C8: .word 0x020FA73C
+_0207C3CC: .word 0x020FA70C
+_0207C3D0: .word 0x020FA720
+
+ thumb_func_start FUN_0207C3D4
+FUN_0207C3D4: ; 0x0207C3D4
+ push {r4, lr}
+ mov r1, #0x1
+ add r4, r0, #0x0
+ lsl r1, r1, #0xa
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ bl FUN_0200BCE0
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ ldr r0, [r4, r0]
+ bl FUN_0200BD04
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207C3F4
+FUN_0207C3F4: ; 0x0207C3F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207C438 ; =0x0000045C
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ mov r0, #0x46
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, _0207C43C ; =0x000004AC
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, _0207C440 ; =0x00000518
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, _0207C444 ; =0x0000051C
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ pop {r4, pc}
+ .balign 4
+_0207C438: .word 0x0000045C
+_0207C43C: .word 0x000004AC
+_0207C440: .word 0x00000518
+_0207C444: .word 0x0000051C
+
+ thumb_func_start FUN_0207C448
+FUN_0207C448: ; 0x0207C448
+ push {r3-r7, lr}
+ ldr r6, _0207C550 ; =0x020FA784
+ ldr r7, _0207C554 ; =0x00000408
+ add r5, r0, #0x0
+ mov r4, #0x0
+_0207C452:
+ mov r0, #0x1
+ ldr r1, _0207C558 ; =0x00000404
+ lsl r0, r0, #0xa
+ mov r2, #0x28
+ mul r2, r4
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ add r2, r6, r2
+ bl FUN_0200BE38
+ lsl r1, r4, #0x2
+ add r1, r5, r1
+ str r0, [r1, r7]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4d
+ blo _0207C452
+ add r0, r5, #0x0
+ bl FUN_0207C7EC
+ ldr r0, _0207C55C ; =0x0000042C
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x43
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C560 ; =0x000004AC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x4b
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C564 ; =0x000004B4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C568 ; =0x000004B8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C56C ; =0x000004BC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x13
+ lsl r0, r0, #0x6
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C570 ; =0x000004C4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C574 ; =0x000004C8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C578 ; =0x000004CC
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x4d
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C57C ; =0x000004D4
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C580 ; =0x000004D8
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C584 ; =0x00000524
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C588 ; =0x00000528
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C58C ; =0x0000052C
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x53
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C590 ; =0x00000534
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C594 ; =0x00000538
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ pop {r3-r7, pc}
+ .balign 4
+_0207C550: .word 0x020FA784
+_0207C554: .word 0x00000408
+_0207C558: .word 0x00000404
+_0207C55C: .word 0x0000042C
+_0207C560: .word 0x000004AC
+_0207C564: .word 0x000004B4
+_0207C568: .word 0x000004B8
+_0207C56C: .word 0x000004BC
+_0207C570: .word 0x000004C4
+_0207C574: .word 0x000004C8
+_0207C578: .word 0x000004CC
+_0207C57C: .word 0x000004D4
+_0207C580: .word 0x000004D8
+_0207C584: .word 0x00000524
+_0207C588: .word 0x00000528
+_0207C58C: .word 0x0000052C
+_0207C590: .word 0x00000534
+_0207C594: .word 0x00000538
+
+ thumb_func_start FUN_0207C598
+FUN_0207C598: ; 0x0207C598
+ push {r4-r6, lr}
+ mov r5, #0x0
+ add r6, r0, #0x0
+ add r4, r5, #0x0
+_0207C5A0:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207B070
+ cmp r0, #0x0
+ beq _0207C5B2
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+_0207C5B2:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x8
+ blo _0207C5A0
+ sub r0, r5, #0x1
+ lsl r1, r0, #0x4
+ add r1, #0x18
+ lsr r0, r1, #0x1f
+ add r0, r1, r0
+ asr r1, r0, #0x1
+ mov r0, #0xbc
+ sub r0, r0, r1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207C5D4
+FUN_0207C5D4: ; 0x0207C5D4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r7, r0, #0x0
+ bl FUN_0207C598
+ str r0, [sp, #0x4]
+ ldr r0, _0207C69C ; =0x00000408
+ mov r5, #0x0
+ add r4, r7, r0
+ ldr r0, [sp, #0x4]
+ str r5, [sp, #0x8]
+ str r0, [sp, #0x0]
+ add r0, #0x18
+ str r0, [sp, #0x0]
+_0207C5F0:
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ bl FUN_0207B070
+ cmp r0, #0x0
+ bne _0207C608
+ lsl r0, r5, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ b _0207C68E
+_0207C608:
+ lsl r6, r5, #0x2
+ ldr r0, [r4, r6]
+ bl FUN_020201DC
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, _0207C6A0 ; =0x0000068C
+ ldrsb r0, [r7, r0]
+ cmp r0, r5
+ bne _0207C62A
+ cmp r1, #0x8
+ bhs _0207C636
+ ldr r0, [r4, r6]
+ add r1, #0x8
+ bl FUN_02020130
+ b _0207C636
+_0207C62A:
+ cmp r1, #0x8
+ blo _0207C636
+ ldr r0, [r4, r6]
+ sub r1, #0x8
+ bl FUN_02020130
+_0207C636:
+ add r1, sp, #0xc
+ ldr r0, [r4, r6]
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C75C
+ ldr r0, _0207C6A0 ; =0x0000068C
+ ldrsb r0, [r7, r0]
+ cmp r0, r5
+ blt _0207C652
+ ldr r0, [sp, #0x8]
+ lsl r1, r0, #0x4
+ ldr r0, [sp, #0x4]
+ b _0207C65A
+_0207C652:
+ ldr r0, [sp, #0x8]
+ sub r0, r0, #0x1
+ lsl r1, r0, #0x4
+ ldr r0, [sp, #0x0]
+_0207C65A:
+ add r0, r0, r1
+ lsl r0, r0, #0x10
+ asr r1, r0, #0x10
+ add r0, sp, #0xc
+ strh r1, [r0, #0x2]
+ lsl r0, r5, #0x2
+ add r1, r7, r0
+ ldr r0, _0207C69C ; =0x00000408
+ add r2, sp, #0xc
+ ldr r0, [r1, r0]
+ mov r1, #0x2
+ ldrsh r1, [r2, r1]
+ add r3, r2, #0x0
+ mov r2, #0x0
+ ldrsh r2, [r3, r2]
+ bl FUN_0200C6E4
+ ldr r0, [r4, r6]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, [sp, #0x8]
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+_0207C68E:
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x8
+ blo _0207C5F0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_0207C69C: .word 0x00000408
+_0207C6A0: .word 0x0000068C
+
+ thumb_func_start FUN_0207C6A4
+FUN_0207C6A4: ; 0x0207C6A4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0207B09C
+ cmp r0, #0x1
+ bhi _0207C6B8
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0207C6F0
+_0207C6B8:
+ add r0, r5, #0x0
+ bl FUN_0207C598
+ add r4, r0, #0x0
+ ldr r0, _0207C6EC ; =0x0000045C
+ add r1, r4, #0x0
+ sub r1, #0xc
+ lsl r1, r1, #0x10
+ ldr r0, [r5, r0]
+ asr r1, r1, #0x10
+ mov r2, #0x18
+ bl FUN_0200C6E4
+ mov r1, #0x5d
+ mov r0, #0x46
+ lsl r1, r1, #0x2
+ lsl r0, r0, #0x4
+ sub r1, r1, r4
+ lsl r1, r1, #0x10
+ ldr r0, [r5, r0]
+ asr r1, r1, #0x10
+ mov r2, #0x18
+ bl FUN_0200C6E4
+ pop {r3-r5, pc}
+ nop
+_0207C6EC: .word 0x0000045C
+
+ thumb_func_start FUN_0207C6F0
+FUN_0207C6F0: ; 0x0207C6F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0207B09C
+ cmp r0, #0x1
+ bhi _0207C700
+ mov r4, #0x0
+_0207C700:
+ ldr r0, _0207C718 ; =0x0000045C
+ add r1, r4, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ mov r0, #0x46
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ add r1, r4, #0x0
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ .balign 4
+_0207C718: .word 0x0000045C
+
+ thumb_func_start FUN_0207C71C
+FUN_0207C71C: ; 0x0207C71C
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r0, _0207C774 ; =0x00000263
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x1a
+ bne _0207C730
+ mov r3, #0x15
+ b _0207C732
+_0207C730:
+ add r3, #0x14
+_0207C732:
+ mov r0, #0x0
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x4]
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ mov r2, #0x27
+ bl FUN_0200C9D8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ mov r1, #0x1
+ ldr r3, _0207C774 ; =0x00000263
+ str r0, [sp, #0x4]
+ ldrb r3, [r4, r3]
+ lsl r1, r1, #0xa
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ lsl r3, r3, #0x18
+ ldr r1, [r4, r1]
+ lsr r4, r3, #0x1a
+ ldr r3, _0207C778 ; =0x020FA6F8
+ mov r2, #0x27
+ ldrb r3, [r3, r4]
+ add r3, #0x25
+ bl FUN_0200CA0C
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_0207C774: .word 0x00000263
+_0207C778: .word 0x020FA6F8
+
+ thumb_func_start FUN_0207C77C
+FUN_0207C77C: ; 0x0207C77C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ lsl r0, r0, #0x4
+ lsr r0, r0, #0x4
+ cmp r0, #0x7
+ bne _0207C7A4
+ ldr r0, _0207C7E4 ; =0x00000458
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207C7E8 ; =0x00000538
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+_0207C7A4:
+ cmp r0, #0x0
+ ldr r0, _0207C7E8 ; =0x00000538
+ beq _0207C7D0
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207C7E4 ; =0x00000458
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r1, #0x2a
+ lsl r1, r1, #0x4
+ ldr r0, _0207C7E4 ; =0x00000458
+ ldr r1, [r4, r1]
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0x4
+ lsr r1, r1, #0x4
+ bl FUN_02020130
+ pop {r4, pc}
+_0207C7D0:
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, _0207C7E4 ; =0x00000458
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+ .balign 4
+_0207C7E4: .word 0x00000458
+_0207C7E8: .word 0x00000538
+
+ thumb_func_start FUN_0207C7EC
+FUN_0207C7EC: ; 0x0207C7EC
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ bl FUN_0207CA44
+ mov r6, #0xa1
+ mov r4, #0x0
+ mov r7, #0x3
+ lsl r6, r6, #0x2
+_0207C7FC:
+ lsl r0, r4, #0x1
+ add r0, r5, r0
+ ldrh r0, [r0, r6]
+ cmp r0, #0x0
+ beq _0207C826
+ add r1, r7, #0x0
+ bl FUN_0206AB18
+ add r3, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0xd
+ add r2, r4, #0x5
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0207CA6C
+_0207C826:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _0207C7FC
+ add r0, r5, #0x0
+ bl FUN_0207CFEC
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0207C838
+FUN_0207C838: ; 0x0207C838
+ push {r3-r7, lr}
+ ldr r6, _0207CA2C ; =0x00000408
+ add r5, r0, #0x0
+ mov r4, #0xb
+ mov r7, #0x0
+_0207C842:
+ lsl r0, r4, #0x2
+ add r0, r5, r0
+ ldr r0, [r0, r6]
+ add r1, r7, #0x0
+ bl FUN_0200C63C
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x13
+ bls _0207C842
+ ldr r0, _0207CA30 ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x0
+ beq _0207C86C
+ cmp r0, #0x3
+ beq _0207C8B4
+ cmp r0, #0x5
+ bne _0207C86A
+ b _0207C96E
+_0207C86A:
+ pop {r3-r7, pc}
+_0207C86C:
+ ldr r0, _0207CA34 ; =0x00000434
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_0200C63C
+ mov r0, #0x26
+ lsl r0, r0, #0x4
+ ldrb r1, [r5, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r5, r0]
+ cmp r1, r0
+ ldr r0, _0207CA34 ; =0x00000434
+ bne _0207C892
+ ldr r0, [r5, r0]
+ mov r1, #0xd8
+ mov r2, #0x50
+ bl FUN_0200C6E4
+ pop {r3-r7, pc}
+_0207C892:
+ ldr r0, [r5, r0]
+ mov r1, #0xc7
+ mov r2, #0x50
+ bl FUN_0200C6E4
+ ldr r0, _0207CA38 ; =0x00000438
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207CA38 ; =0x00000438
+ mov r1, #0xe9
+ ldr r0, [r5, r0]
+ mov r2, #0x50
+ bl FUN_0200C6E4
+ pop {r3-r7, pc}
+_0207C8B4:
+ mov r7, #0xa1
+ mov r4, #0x0
+ lsl r7, r7, #0x2
+_0207C8BA:
+ lsl r0, r4, #0x1
+ add r0, r5, r0
+ ldrh r0, [r0, r7]
+ cmp r0, #0x0
+ beq _0207C904
+ mov r1, #0x3
+ bl FUN_0206AB18
+ add r3, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0xd
+ add r2, r4, #0x5
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0207CA6C
+ lsl r0, r4, #0x2
+ add r6, r5, r0
+ ldr r0, _0207CA3C ; =0x0000043C
+ mov r1, #0x1
+ ldr r0, [r6, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207CA3C ; =0x0000043C
+ lsl r2, r4, #0x5
+ add r2, #0x2a
+ lsl r2, r2, #0x10
+ ldr r0, [r6, r0]
+ mov r1, #0x97
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+_0207C904:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _0207C8BA
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x18]
+ cmp r0, #0x0
+ beq _0207C946
+ mov r1, #0x3
+ bl FUN_0206AB18
+ add r3, r0, #0x0
+ lsl r3, r3, #0x18
+ add r0, r5, #0x0
+ mov r1, #0x11
+ mov r2, #0x9
+ lsr r3, r3, #0x18
+ bl FUN_0207CA6C
+ ldr r0, _0207CA40 ; =0x0000044C
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207CA40 ; =0x0000044C
+ mov r1, #0x97
+ ldr r0, [r5, r0]
+ mov r2, #0xaa
+ bl FUN_0200C6E4
+_0207C946:
+ ldr r0, _0207CA34 ; =0x00000434
+ mov r1, #0x3f
+ ldr r0, [r5, r0]
+ mov r2, #0x34
+ bl FUN_0200C6E4
+ ldr r0, _0207CA38 ; =0x00000438
+ mov r1, #0x61
+ ldr r0, [r5, r0]
+ mov r2, #0x34
+ bl FUN_0200C6E4
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x6c
+ mov r2, #0x48
+ bl FUN_0200C6E4
+ pop {r3-r7, pc}
+_0207C96E:
+ mov r7, #0xa1
+ mov r4, #0x0
+ lsl r7, r7, #0x2
+_0207C974:
+ lsl r0, r4, #0x1
+ add r0, r5, r0
+ ldrh r0, [r0, r7]
+ cmp r0, #0x0
+ beq _0207C9C0
+ mov r1, #0xb
+ bl FUN_0206AB18
+ add r3, r0, #0x0
+ add r1, r4, #0x0
+ add r1, #0xd
+ add r2, r4, #0x5
+ add r3, #0x12
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x18
+ lsl r3, r3, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ lsr r3, r3, #0x18
+ bl FUN_0207CA6C
+ lsl r0, r4, #0x2
+ add r6, r5, r0
+ ldr r0, _0207CA3C ; =0x0000043C
+ mov r1, #0x1
+ ldr r0, [r6, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207CA3C ; =0x0000043C
+ lsl r2, r4, #0x5
+ add r2, #0x2a
+ lsl r2, r2, #0x10
+ ldr r0, [r6, r0]
+ mov r1, #0x97
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+_0207C9C0:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x4
+ blo _0207C974
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldrh r0, [r0, #0x18]
+ cmp r0, #0x0
+ beq _0207CA04
+ mov r1, #0xb
+ bl FUN_0206AB18
+ add r3, r0, #0x0
+ add r3, #0x12
+ lsl r3, r3, #0x18
+ add r0, r5, #0x0
+ mov r1, #0x11
+ mov r2, #0x9
+ lsr r3, r3, #0x18
+ bl FUN_0207CA6C
+ ldr r0, _0207CA40 ; =0x0000044C
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_0200C63C
+ ldr r0, _0207CA40 ; =0x0000044C
+ mov r1, #0x97
+ ldr r0, [r5, r0]
+ mov r2, #0xaa
+ bl FUN_0200C6E4
+_0207CA04:
+ ldr r0, _0207CA34 ; =0x00000434
+ mov r1, #0x3f
+ ldr r0, [r5, r0]
+ mov r2, #0x34
+ bl FUN_0200C6E4
+ ldr r0, _0207CA38 ; =0x00000438
+ mov r1, #0x61
+ ldr r0, [r5, r0]
+ mov r2, #0x34
+ bl FUN_0200C6E4
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x6c
+ mov r2, #0x48
+ bl FUN_0200C6E4
+ pop {r3-r7, pc}
+ .balign 4
+_0207CA2C: .word 0x00000408
+_0207CA30: .word 0x0000068C
+_0207CA34: .word 0x00000434
+_0207CA38: .word 0x00000438
+_0207CA3C: .word 0x0000043C
+_0207CA40: .word 0x0000044C
+
+ thumb_func_start FUN_0207CA44
+FUN_0207CA44: ; 0x0207CA44
+ push {r4, lr}
+ mov r3, #0x26
+ add r4, r0, #0x0
+ lsl r3, r3, #0x4
+ ldrb r3, [r4, r3]
+ mov r1, #0xb
+ mov r2, #0x3
+ bl FUN_0207CA6C
+ ldr r3, _0207CA68 ; =0x00000261
+ add r0, r4, #0x0
+ ldrb r3, [r4, r3]
+ mov r1, #0xc
+ mov r2, #0x4
+ bl FUN_0207CA6C
+ pop {r4, pc}
+ nop
+_0207CA68: .word 0x00000261
+
+ thumb_func_start FUN_0207CA6C
+FUN_0207CA6C: ; 0x0207CA6C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r7, r3, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0206E12C
+ str r0, [sp, #0x8]
+ add r0, r7, #0x0
+ bl FUN_0206E0F0
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r1, _0207CAB4 ; =0x00000404
+ str r6, [sp, #0x4]
+ lsl r0, r0, #0xa
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ ldr r2, [sp, #0x8]
+ bl FUN_0200C9D8
+ add r0, r7, #0x0
+ bl FUN_0206E114
+ add r2, r0, #0x0
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ ldr r0, _0207CAB8 ; =0x00000408
+ ldr r0, [r1, r0]
+ add r1, r2, #0x3
+ bl FUN_0200C664
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_0207CAB4: .word 0x00000404
+_0207CAB8: .word 0x00000408
+
+ thumb_func_start FUN_0207CABC
+FUN_0207CABC: ; 0x0207CABC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ ldrb r0, [r0, #0x0]
+ str r1, [sp, #0x0]
+ str r2, [sp, #0x4]
+ lsl r0, r0, #0x5
+ add r0, #0x2a
+ lsl r0, r0, #0x10
+ add r4, r3, #0x0
+ asr r7, r0, #0x10
+ mov r6, #0x0
+_0207CAD6:
+ ldr r0, _0207CB04 ; =0x0000043C
+ ldr r1, [sp, #0x4]
+ ldr r0, [r5, r0]
+ add r2, r4, #0x0
+ bl FUN_0200C75C
+ mov r0, #0x0
+ ldrsh r0, [r4, r0]
+ cmp r7, r0
+ bne _0207CAF2
+ ldr r0, [sp, #0x0]
+ add sp, #0x8
+ strb r6, [r0, #0x0]
+ pop {r3-r7, pc}
+_0207CAF2:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x10
+ asr r6, r0, #0x10
+ add r5, r5, #0x4
+ cmp r6, #0x4
+ blt _0207CAD6
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_0207CB04: .word 0x0000043C
+
+ thumb_func_start FUN_0207CB08
+FUN_0207CB08: ; 0x0207CB08
+ push {r0-r3}
+ push {r4, lr}
+ sub sp, #0x8
+ add r2, sp, #0x4
+ add r1, sp, #0x14
+ add r2, #0x2
+ add r3, sp, #0x4
+ add r4, r0, #0x0
+ bl FUN_0207CABC
+ add r2, sp, #0x0
+ add r0, r4, #0x0
+ add r1, sp, #0x18
+ add r2, #0x2
+ add r3, sp, #0x0
+ bl FUN_0207CABC
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x4]
+ add r3, sp, #0x0
+ mov r2, #0x0
+ add r0, #0xd
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CB6C ; =0x00000408
+ ldrsh r2, [r3, r2]
+ ldr r0, [r1, r0]
+ mov r1, #0x2
+ ldrsh r1, [r3, r1]
+ bl FUN_0200C6E4
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x8]
+ add r3, sp, #0x0
+ mov r2, #0x4
+ add r0, #0xd
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CB6C ; =0x00000408
+ ldrsh r2, [r3, r2]
+ ldr r0, [r1, r0]
+ mov r1, #0x6
+ ldrsh r1, [r3, r1]
+ bl FUN_0200C6E4
+ add sp, #0x8
+ pop {r4}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .balign 4
+_0207CB6C: .word 0x00000408
+
+ thumb_func_start FUN_0207CB70
+FUN_0207CB70: ; 0x0207CB70
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ mov r1, #0x1
+ bl FUN_0206AB18
+ add r4, r0, #0x0
+ bl FUN_0206E2A8
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0206E278
+ mov r1, #0x1
+ add r3, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ lsl r0, r1, #0xa
+ ldr r1, _0207CBBC ; =0x00000404
+ ldr r0, [r5, r0]
+ ldr r1, [r5, r1]
+ add r2, r6, #0x0
+ bl FUN_0200C9D8
+ add r0, r4, #0x0
+ bl FUN_0206E290
+ add r1, r0, #0x0
+ mov r0, #0x45
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ add r1, r1, #0x3
+ bl FUN_0200C664
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0207CBBC: .word 0x00000404
+
+ thumb_func_start FUN_0207CBC0
+FUN_0207CBC0: ; 0x0207CBC0
+ ldr r2, _0207CBDC ; =0x0000068D
+ add r3, r0, #0x0
+ ldrb r2, [r3, r2]
+ ldr r0, _0207CBE0 ; =0x0000042C
+ mov r1, #0xc2
+ lsl r2, r2, #0x1c
+ lsr r2, r2, #0x1c
+ lsl r2, r2, #0x5
+ ldr r0, [r3, r0]
+ add r2, #0x30
+ lsl r2, r2, #0x10
+ ldr r3, _0207CBE4 ; =FUN_0200C6E4
+ asr r2, r2, #0x10
+ bx r3
+ .balign 4
+_0207CBDC: .word 0x0000068D
+_0207CBE0: .word 0x0000042C
+_0207CBE4: .word FUN_0200C6E4
+
+ thumb_func_start FUN_0207CBE8
+FUN_0207CBE8: ; 0x0207CBE8
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ ldr r0, _0207CC20 ; =0x0000042C
+ add r1, sp, #0x0
+ ldr r0, [r4, r0]
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_0200C75C
+ mov r0, #0x43
+ lsl r0, r0, #0x4
+ add r3, sp, #0x0
+ mov r1, #0x2
+ mov r2, #0x0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ mov r0, #0x43
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0207CC20: .word 0x0000042C
+
+ thumb_func_start FUN_0207CC24
+FUN_0207CC24: ; 0x0207CC24
+ push {r3-r7, lr}
+ mov r2, #0x69
+ lsl r2, r2, #0x4
+ mov r1, #0x0
+ strb r1, [r0, r2]
+ add r3, r2, #0x3
+ strb r1, [r0, r3]
+ add r3, r2, #0x2
+ strb r1, [r0, r3]
+ ldr r3, _0207CC80 ; =0x0000029A
+ ldrb r3, [r0, r3]
+ cmp r3, #0x0
+ bne _0207CC44
+ add r2, r2, #0x1
+ strb r1, [r0, r2]
+ b _0207CC5A
+_0207CC44:
+ cmp r3, #0xff
+ bne _0207CC50
+ mov r3, #0xc
+ add r1, r2, #0x1
+ strb r3, [r0, r1]
+ b _0207CC5A
+_0207CC50:
+ mov r1, #0xc
+ mul r1, r3
+ asr r3, r1, #0x8
+ add r1, r2, #0x1
+ strb r3, [r0, r1]
+_0207CC5A:
+ ldr r7, _0207CC84 ; =0x00000408
+ add r5, r0, #0x0
+ mov r4, #0x1d
+ add r5, #0x74
+ add r6, r7, #0x0
+_0207CC64:
+ ldr r0, [r5, r7]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, [r5, r6]
+ mov r1, #0x0
+ bl FUN_02020208
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x28
+ bls _0207CC64
+ pop {r3-r7, pc}
+ nop
+_0207CC80: .word 0x0000029A
+_0207CC84: .word 0x00000408
+
+ thumb_func_start FUN_0207CC88
+FUN_0207CC88: ; 0x0207CC88
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207CE38 ; =0x0000068C
+ ldrsb r1, [r4, r0]
+ cmp r1, #0x4
+ bne _0207CC9C
+ add r1, r0, #0x5
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ bne _0207CC9E
+_0207CC9C:
+ b _0207CE34
+_0207CC9E:
+ add r2, r0, #0x4
+ ldrb r2, [r4, r2]
+ cmp r2, #0x4
+ bhi _0207CCCC
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0207CCB2: ; jump table (using 16-bit offset)
+ .short _0207CCBC - _0207CCB2 - 2; case 0
+ .short _0207CCE0 - _0207CCB2 - 2; case 1
+ .short _0207CD50 - _0207CCB2 - 2; case 2
+ .short _0207CD70 - _0207CCB2 - 2; case 3
+ .short _0207CDCA - _0207CCB2 - 2; case 4
+_0207CCBC:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ add r2, r1, #0x1
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ cmp r1, #0x8
+ beq _0207CCCE
+_0207CCCC:
+ b _0207CDE8
+_0207CCCE:
+ mov r2, #0x1
+ add r1, r0, #0x4
+ strb r2, [r4, r1]
+ add r1, r0, #0x7
+ mov r2, #0x0
+ strb r2, [r4, r1]
+ add r0, r0, #0x6
+ strb r2, [r4, r0]
+ b _0207CDE8
+_0207CCE0:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ cmp r1, #0x0
+ bne _0207CD3E
+ add r0, r0, #0x6
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_02020208
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+ ldr r0, _0207CE40 ; =0x00000692
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ sub r1, r0, #0x1
+ ldrb r2, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r2, r1
+ bne _0207CD3E
+ mov r1, #0x2
+ sub r0, r0, #0x2
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD3E:
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0xa
+ ldrb r0, [r4, r0]
+ add r0, r0, #0x1
+ bl _s32_div_f
+ ldr r0, _0207CE44 ; =0x00000693
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD50:
+ add r1, #0x1c
+ lsl r0, r1, #0x2
+ add r1, r4, r0
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r1, r0]
+ bl FUN_02020128
+ cmp r0, #0x0
+ bne _0207CDE8
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r1, #0x3
+ sub r0, r0, #0x3
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CD70:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ add r2, r1, #0x1
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ cmp r1, #0x20
+ bne _0207CDE8
+ add r0, r0, #0x5
+ ldrb r0, [r4, r0]
+ mov r6, #0x1d
+ add r0, #0x1d
+ cmp r0, #0x1d
+ bls _0207CDBC
+ add r5, r4, #0x0
+ ldr r7, _0207CE48 ; =0x00000691
+ add r5, #0x74
+_0207CD92:
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02020208
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_02020130
+ ldrb r0, [r4, r7]
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ add r0, #0x1d
+ cmp r6, r0
+ blo _0207CD92
+_0207CDBC:
+ ldr r0, _0207CE44 ; =0x00000693
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ mov r1, #0x4
+ sub r0, r0, #0x3
+ strb r1, [r4, r0]
+ b _0207CDE8
+_0207CDCA:
+ add r1, r0, #0x7
+ ldrb r1, [r4, r1]
+ add r2, r1, #0x1
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ ldrb r1, [r4, r1]
+ cmp r1, #0x20
+ bne _0207CDE8
+ mov r2, #0x0
+ add r1, r0, #0x4
+ strb r2, [r4, r1]
+ add r1, r0, #0x7
+ strb r2, [r4, r1]
+ add r0, r0, #0x6
+ strb r2, [r4, r0]
+_0207CDE8:
+ ldr r0, _0207CE48 ; =0x00000691
+ mov r6, #0x1d
+ ldrb r0, [r4, r0]
+ add r0, #0x1d
+ cmp r0, #0x1d
+ bls _0207CE34
+ add r5, r4, #0x0
+ ldr r7, _0207CE3C ; =0x00000408
+ add r5, #0x74
+_0207CDFA:
+ ldr r0, [r5, r7]
+ bl FUN_02020128
+ cmp r0, #0x0
+ beq _0207CE26
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x1
+ ldr r0, [r5, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+ ldr r0, _0207CE3C ; =0x00000408
+ ldr r0, [r5, r0]
+ bl FUN_0202022C
+ cmp r0, #0x6
+ bne _0207CE26
+ ldr r0, _0207CE3C ; =0x00000408
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_020200A0
+_0207CE26:
+ ldr r0, _0207CE48 ; =0x00000691
+ add r6, r6, #0x1
+ ldrb r0, [r4, r0]
+ add r5, r5, #0x4
+ add r0, #0x1d
+ cmp r6, r0
+ blo _0207CDFA
+_0207CE34:
+ pop {r3-r7, pc}
+ nop
+_0207CE38: .word 0x0000068C
+_0207CE3C: .word 0x00000408
+_0207CE40: .word 0x00000692
+_0207CE44: .word 0x00000693
+_0207CE48: .word 0x00000691
+
+ thumb_func_start FUN_0207CE4C
+FUN_0207CE4C: ; 0x0207CE4C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r4, #0x0
+ add r5, r6, #0x0
+ mov r7, #0x1
+_0207CE56:
+ mov r0, #0xa7
+ lsl r0, r0, #0x2
+ ldrh r1, [r6, r0]
+ add r0, r7, #0x0
+ lsl r0, r4
+ tst r0, r1
+ ldr r0, _0207CED4 ; =0x00000464
+ beq _0207CE70
+ ldr r0, [r5, r0]
+ add r1, r7, #0x0
+ bl FUN_02020130
+ b _0207CE78
+_0207CE70:
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+_0207CE78:
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x6
+ blo _0207CE56
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ lsl r1, r0, #0x2
+ lsr r1, r1, #0x1f
+ cmp r1, #0x1
+ bne _0207CEA0
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ bne _0207CEA0
+ ldr r0, _0207CED8 ; =0x000004DC
+ mov r1, #0x1
+ ldr r0, [r6, r0]
+ bl FUN_0200C63C
+ b _0207CEAA
+_0207CEA0:
+ ldr r0, _0207CED8 ; =0x000004DC
+ mov r1, #0x0
+ ldr r0, [r6, r0]
+ bl FUN_0200C63C
+_0207CEAA:
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ lsr r0, r0, #0x1e
+ cmp r0, #0x2
+ bne _0207CEC4
+ mov r0, #0x4e
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ mov r1, #0x1
+ bl FUN_0200C63C
+ pop {r3-r7, pc}
+_0207CEC4:
+ mov r0, #0x4e
+ lsl r0, r0, #0x4
+ ldr r0, [r6, r0]
+ mov r1, #0x0
+ bl FUN_0200C63C
+ pop {r3-r7, pc}
+ nop
+_0207CED4: .word 0x00000464
+_0207CED8: .word 0x000004DC
+
+ thumb_func_start FUN_0207CEDC
+FUN_0207CEDC: ; 0x0207CEDC
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ ldr r0, _0207CF50 ; =0x000004AC
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207CF50 ; =0x000004AC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_02020208
+ ldr r0, _0207CF50 ; =0x000004AC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_02020130
+ add r1, sp, #0x0
+ add r0, r4, #0x0
+ add r1, #0x2
+ add r2, sp, #0x0
+ bl FUN_0207FC04
+ ldr r0, _0207CF54 ; =0x0000068F
+ add r3, sp, #0x0
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ ldr r0, _0207CF50 ; =0x000004AC
+ bne _0207CF32
+ mov r2, #0x0
+ ldrsh r2, [r3, r2]
+ mov r1, #0x2
+ ldrsh r1, [r3, r1]
+ add r2, #0xc0
+ lsl r2, r2, #0x10
+ ldr r0, [r4, r0]
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ add sp, #0x4
+ pop {r3-r4, pc}
+_0207CF32:
+ mov r1, #0x2
+ mov r2, #0x0
+ ldrsh r1, [r3, r1]
+ ldrsh r2, [r3, r2]
+ ldr r0, [r4, r0]
+ sub r1, r1, #0x4
+ add r2, #0xc0
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0207CF50: .word 0x000004AC
+_0207CF54: .word 0x0000068F
+
+ thumb_func_start FUN_0207CF58
+FUN_0207CF58: ; 0x0207CF58
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207CF74 ; =0x000004AC
+ ldr r0, [r4, r0]
+ bl FUN_0202022C
+ cmp r0, #0x2
+ bne _0207CF72
+ ldr r0, _0207CF74 ; =0x000004AC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+_0207CF72:
+ pop {r4, pc}
+ .balign 4
+_0207CF74: .word 0x000004AC
+
+ thumb_func_start FUN_0207CF78
+FUN_0207CF78: ; 0x0207CF78
+ push {r3-r7, lr}
+ ldr r7, _0207CFA8 ; =0x0000068E
+ add r5, r0, #0x0
+ mov r4, #0x0
+ mov r6, #0x1
+_0207CF82:
+ add r0, r6, #0x0
+ ldrb r1, [r5, r7]
+ lsl r0, r4
+ tst r0, r1
+ beq _0207CF9C
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ mov r0, #0x4b
+ lsl r0, r0, #0x4
+ ldr r0, [r1, r0]
+ add r1, r6, #0x0
+ bl FUN_020200A0
+_0207CF9C:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x5
+ blo _0207CF82
+ pop {r3-r7, pc}
+ .balign 4
+_0207CFA8: .word 0x0000068E
+
+ thumb_func_start FUN_0207CFAC
+FUN_0207CFAC: ; 0x0207CFAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ bne _0207CFC0
+ ldr r0, _0207CFE8 ; =0x000004C4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+_0207CFC0:
+ add r0, r1, #0x0
+ bl FUN_0201AB14
+ add r1, r0, #0x0
+ ldr r0, _0207CFE8 ; =0x000004C4
+ lsl r1, r1, #0x3
+ sub r1, #0xa
+ lsl r1, r1, #0x10
+ ldr r0, [r4, r0]
+ asr r1, r1, #0x10
+ mov r2, #0x8
+ bl FUN_0200C6E4
+ ldr r0, _0207CFE8 ; =0x000004C4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+ nop
+_0207CFE8: .word 0x000004C4
+
+ thumb_func_start FUN_0207CFEC
+FUN_0207CFEC: ; 0x0207CFEC
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ bl FUN_0207B628
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldrb r1, [r1, #0x11]
+ cmp r1, #0x2
+ bne _0207D008
+ bl FUN_0206B688
+ b _0207D00C
+_0207D008:
+ bl FUN_0206B6C8
+_0207D00C:
+ add r3, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x4]
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ mov r2, #0x13
+ bl FUN_0200C9D8
+ mov r2, #0x97
+ lsl r2, r2, #0x2
+ add r1, r2, #0x0
+ ldrh r0, [r4, r2]
+ add r2, #0x44
+ add r1, #0x42
+ ldr r2, [r4, r2]
+ ldrh r1, [r4, r1]
+ lsl r2, r2, #0x3
+ lsr r2, r2, #0x1f
+ bl FUN_0206B7BC
+ add r1, r0, #0x0
+ ldr r0, _0207D068 ; =0x00000454
+ add r1, r1, #0x7
+ ldr r0, [r4, r0]
+ bl FUN_0200C664
+ mov r0, #0x97
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ mov r1, #0x1c
+ bl FUN_02068678
+ add r2, r0, #0x0
+ ldr r0, _0207D068 ; =0x00000454
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ eor r1, r2
+ bl FUN_02020100
+ add sp, #0x8
+ pop {r4, pc}
+ .balign 4
+_0207D068: .word 0x00000454
+
+ thumb_func_start FUN_0207D06C
+FUN_0207D06C: ; 0x0207D06C
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ bl FUN_0206B888
+ add r3, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x5
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x4]
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ mov r2, #0x13
+ bl FUN_0200CA0C
+ ldr r0, _0207D0C0 ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x3
+ ldr r0, _0207D0C4 ; =0x00000454
+ bne _0207D0A6
+ ldr r0, [r4, r0]
+ mov r1, #0x18
+ mov r2, #0x30
+ bl FUN_0200C6E4
+ b _0207D0B0
+_0207D0A6:
+ ldr r0, [r4, r0]
+ mov r1, #0x20
+ mov r2, #0x44
+ bl FUN_0200C6E4
+_0207D0B0:
+ ldr r0, _0207D0C4 ; =0x00000454
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_0200C63C
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_0207D0C0: .word 0x0000068C
+_0207D0C4: .word 0x00000454
+
+ thumb_func_start FUN_0207D0C8
+FUN_0207D0C8: ; 0x0207D0C8
+ push {r4, lr}
+ add r4, r2, #0x0
+ cmp r4, r1
+ ble _0207D0EE
+ add r0, #0x2c
+ sub r1, r4, r1
+ mul r1, r0
+ lsl r0, r1, #0x10
+ mov r1, #0x4b
+ lsl r1, r1, #0x2
+ bl _u32_div_f
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ sub r0, r4, r0
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ pop {r4, pc}
+_0207D0EE:
+ add r0, #0x2c
+ sub r1, r1, r4
+ mul r1, r0
+ lsl r0, r1, #0x10
+ mov r1, #0x4b
+ lsl r1, r1, #0x2
+ bl _u32_div_f
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add r0, r4, r0
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207D10C
+FUN_0207D10C: ; 0x0207D10C
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207D20C ; =0x00000295
+ mov r1, #0x58
+ ldrb r0, [r4, r0]
+ add r2, r1, #0x0
+ bl FUN_0207D0C8
+ add r5, r0, #0x0
+ ldr r0, _0207D20C ; =0x00000295
+ mov r1, #0x31
+ ldrb r0, [r4, r0]
+ mov r2, #0x49
+ bl FUN_0207D0C8
+ add r2, r0, #0x0
+ ldr r0, _0207D210 ; =0x000004C8
+ add r1, r5, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ ldr r0, _0207D214 ; =0x00000296
+ mov r1, #0x6e
+ ldrb r0, [r4, r0]
+ mov r2, #0x58
+ bl FUN_0207D0C8
+ add r5, r0, #0x0
+ ldr r0, _0207D214 ; =0x00000296
+ mov r1, #0x41
+ ldrb r0, [r4, r0]
+ mov r2, #0x49
+ bl FUN_0207D0C8
+ add r2, r0, #0x0
+ ldr r0, _0207D218 ; =0x000004CC
+ add r1, r5, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ ldr r0, _0207D21C ; =0x00000297
+ mov r1, #0x67
+ ldrb r0, [r4, r0]
+ mov r2, #0x58
+ bl FUN_0207D0C8
+ add r5, r0, #0x0
+ ldr r0, _0207D21C ; =0x00000297
+ mov r1, #0x5c
+ ldrb r0, [r4, r0]
+ mov r2, #0x49
+ bl FUN_0207D0C8
+ add r2, r0, #0x0
+ mov r0, #0x4d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ add r1, r5, #0x0
+ bl FUN_0200C6E4
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ mov r1, #0x48
+ mov r2, #0x57
+ bl FUN_0207D0C8
+ add r5, r0, #0x0
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ mov r1, #0x5c
+ mov r2, #0x49
+ bl FUN_0207D0C8
+ add r2, r0, #0x0
+ ldr r0, _0207D220 ; =0x000004D4
+ add r1, r5, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ ldr r0, _0207D224 ; =0x00000299
+ mov r1, #0x41
+ ldrb r0, [r4, r0]
+ mov r2, #0x57
+ bl FUN_0207D0C8
+ add r5, r0, #0x0
+ ldr r0, _0207D224 ; =0x00000299
+ mov r1, #0x41
+ ldrb r0, [r4, r0]
+ mov r2, #0x49
+ bl FUN_0207D0C8
+ add r2, r0, #0x0
+ ldr r0, _0207D228 ; =0x000004D8
+ add r1, r5, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_0200C6E4
+ ldr r0, _0207D210 ; =0x000004C8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207D218 ; =0x000004CC
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x4d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ ldr r0, _0207D220 ; =0x000004D4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207D228 ; =0x000004D8
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r3-r5, pc}
+ nop
+_0207D20C: .word 0x00000295
+_0207D210: .word 0x000004C8
+_0207D214: .word 0x00000296
+_0207D218: .word 0x000004CC
+_0207D21C: .word 0x00000297
+_0207D220: .word 0x000004D4
+_0207D224: .word 0x00000299
+_0207D228: .word 0x000004D8
+
+ thumb_func_start FUN_0207D22C
+FUN_0207D22C: ; 0x0207D22C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207D268 ; =0x000004C8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207D26C ; =0x000004CC
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ mov r0, #0x4d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+ ldr r0, _0207D270 ; =0x000004D4
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ ldr r0, _0207D274 ; =0x000004D8
+ mov r1, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020200A0
+ pop {r4, pc}
+ nop
+_0207D268: .word 0x000004C8
+_0207D26C: .word 0x000004CC
+_0207D270: .word 0x000004D4
+_0207D274: .word 0x000004D8
+
+ thumb_func_start FUN_0207D278
+FUN_0207D278: ; 0x0207D278
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x1
+ add r4, r2, #0x0
+ bl FUN_0207FC5C
+ add r3, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x1
+ add r0, #0x1a
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x4]
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ mov r2, #0x27
+ bl FUN_0200C9D8
+ add r0, r6, #0x0
+ mov r1, #0x2
+ bl FUN_0207FC5C
+ add r4, #0x37
+ add r2, r0, #0x0
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ ldr r0, _0207D2C4 ; =0x00000408
+ ldr r0, [r1, r0]
+ add r1, r2, #0x7
+ bl FUN_0200C664
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0207D2C4: .word 0x00000408
+
+ thumb_func_start FUN_0207D2C8
+FUN_0207D2C8: ; 0x0207D2C8
+ push {r3-r7, lr}
+ sub sp, #0x8
+ ldr r6, _0207D354 ; =0x00000408
+ add r5, r0, #0x0
+ mov r4, #0x37
+ mov r7, #0x0
+_0207D2D4:
+ lsl r0, r4, #0x2
+ add r0, r5, r0
+ ldr r0, [r0, r6]
+ add r1, r7, #0x0
+ bl FUN_020200A0
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x46
+ bls _0207D2D4
+ ldr r0, _0207D358 ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x6
+ bne _0207D350
+ mov r0, #0x0
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x5
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x4]
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ mov r2, #0x27
+ mov r3, #0x88
+ bl FUN_0200CA0C
+ ldr r7, _0207D35C ; =0x000004E4
+ ldr r6, _0207D360 ; =0x00000699
+ mov r4, #0x0
+_0207D312:
+ ldrb r0, [r5, r6]
+ cmp r4, r0
+ bge _0207D33A
+ lsl r0, r4, #0x2
+ add r0, r5, r0
+ ldr r0, [r0, r7]
+ mov r1, #0x1
+ bl FUN_020200A0
+ lsl r1, r4, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0207C1E8
+ lsl r2, r4, #0x18
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_0207D278
+_0207D33A:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0xc
+ blo _0207D312
+ mov r0, #0x52
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02020130
+_0207D350:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0207D354: .word 0x00000408
+_0207D358: .word 0x0000068C
+_0207D35C: .word 0x000004E4
+_0207D360: .word 0x00000699
+
+ thumb_func_start FUN_0207D364
+FUN_0207D364: ; 0x0207D364
+ push {r3-r7, lr}
+ ldr r7, _0207D3BC ; =0x00000698
+ add r5, r0, #0x0
+ mov r4, #0x0
+ add r6, r7, #0x1
+_0207D36E:
+ ldrb r0, [r5, r7]
+ lsl r0, r0, #0x2
+ add r1, r4, r0
+ ldrb r0, [r5, r6]
+ cmp r1, r0
+ bge _0207D3A0
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ ldr r0, _0207D3C0 ; =0x000004E4
+ ldr r0, [r1, r0]
+ mov r1, #0x1
+ bl FUN_020200A0
+ lsl r1, r4, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0207C1E8
+ lsl r2, r4, #0x18
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_0207D278
+ b _0207D3AE
+_0207D3A0:
+ lsl r0, r4, #0x2
+ add r1, r5, r0
+ ldr r0, _0207D3C0 ; =0x000004E4
+ ldr r0, [r1, r0]
+ mov r1, #0x0
+ bl FUN_020200A0
+_0207D3AE:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x8
+ blo _0207D36E
+ pop {r3-r7, pc}
+ nop
+_0207D3BC: .word 0x00000698
+_0207D3C0: .word 0x000004E4
+
+ thumb_func_start FUN_0207D3C4
+FUN_0207D3C4: ; 0x0207D3C4
+ ldr r1, _0207D3E8 ; =0x00000697
+ ldrb r2, [r0, r1]
+ ldr r1, _0207D3EC ; =0x00000514
+ ldr r0, [r0, r1]
+ lsl r1, r2, #0x1e
+ lsr r3, r2, #0x2
+ mov r2, #0x28
+ mul r2, r3
+ lsr r1, r1, #0x19
+ add r1, #0x84
+ add r2, #0x38
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ ldr r3, _0207D3F0 ; =FUN_0200C6E4
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bx r3
+ nop
+_0207D3E8: .word 0x00000697
+_0207D3EC: .word 0x00000514
+_0207D3F0: .word FUN_0200C6E4
+
+ thumb_func_start FUN_0207D3F4
+FUN_0207D3F4: ; 0x0207D3F4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x52
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02020128
+ cmp r0, #0x1
+ bne _0207D414
+ mov r0, #0x52
+ lsl r0, r0, #0x4
+ mov r1, #0x1
+ ldr r0, [r4, r0]
+ lsl r1, r1, #0xc
+ bl FUN_020201E4
+_0207D414:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207D418
+FUN_0207D418: ; 0x0207D418
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ cmp r1, #0x0
+ bne _0207D43E
+ mov r4, #0x0
+ ldr r6, _0207D4C0 ; =0x00000524
+ add r7, r4, #0x0
+_0207D426:
+ lsl r0, r4, #0x2
+ add r0, r5, r0
+ ldr r0, [r0, r6]
+ add r1, r7, #0x0
+ bl FUN_020200A0
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ cmp r4, #0x5
+ blo _0207D426
+ pop {r3-r7, pc}
+_0207D43E:
+ ldr r0, _0207D4C4 ; =0x00000295
+ ldrb r1, [r5, r0]
+ add r0, r0, #0x1
+ ldrb r0, [r5, r0]
+ add r4, r1, #0x0
+ cmp r1, r0
+ bge _0207D44E
+ add r4, r0, #0x0
+_0207D44E:
+ ldr r0, _0207D4C8 ; =0x00000297
+ ldrb r0, [r5, r0]
+ cmp r4, r0
+ bge _0207D458
+ add r4, r0, #0x0
+_0207D458:
+ mov r0, #0xa6
+ lsl r0, r0, #0x2
+ ldrb r0, [r5, r0]
+ cmp r4, r0
+ bge _0207D464
+ add r4, r0, #0x0
+_0207D464:
+ ldr r0, _0207D4CC ; =0x00000299
+ ldrb r0, [r5, r0]
+ cmp r4, r0
+ bge _0207D46E
+ add r4, r0, #0x0
+_0207D46E:
+ ldr r0, _0207D4C0 ; =0x00000524
+ ldr r3, _0207D4D0 ; =0x020FA75C
+ ldr r0, [r5, r0]
+ add r2, r4, #0x0
+ bl FUN_0207D4F4
+ ldr r1, _0207D4D4 ; =0x00000296
+ ldr r0, _0207D4D8 ; =0x00000528
+ ldrb r1, [r5, r1]
+ ldr r0, [r5, r0]
+ ldr r3, _0207D4DC ; =0x020FA764
+ add r2, r4, #0x0
+ bl FUN_0207D4F4
+ ldr r1, _0207D4C8 ; =0x00000297
+ ldr r0, _0207D4E0 ; =0x0000052C
+ ldrb r1, [r5, r1]
+ ldr r0, [r5, r0]
+ ldr r3, _0207D4E4 ; =0x020FA76C
+ add r2, r4, #0x0
+ bl FUN_0207D4F4
+ mov r1, #0x53
+ lsl r1, r1, #0x4
+ ldr r0, [r5, r1]
+ lsr r1, r1, #0x1
+ ldrb r1, [r5, r1]
+ ldr r3, _0207D4E8 ; =0x020FA774
+ add r2, r4, #0x0
+ bl FUN_0207D4F4
+ ldr r1, _0207D4CC ; =0x00000299
+ ldr r0, _0207D4EC ; =0x00000534
+ ldrb r1, [r5, r1]
+ ldr r0, [r5, r0]
+ ldr r3, _0207D4F0 ; =0x020FA77C
+ add r2, r4, #0x0
+ bl FUN_0207D4F4
+ pop {r3-r7, pc}
+ nop
+_0207D4C0: .word 0x00000524
+_0207D4C4: .word 0x00000295
+_0207D4C8: .word 0x00000297
+_0207D4CC: .word 0x00000299
+_0207D4D0: .word 0x020FA75C
+_0207D4D4: .word 0x00000296
+_0207D4D8: .word 0x00000528
+_0207D4DC: .word 0x020FA764
+_0207D4E0: .word 0x0000052C
+_0207D4E4: .word 0x020FA76C
+_0207D4E8: .word 0x020FA774
+_0207D4EC: .word 0x00000534
+_0207D4F0: .word 0x020FA77C
+
+ thumb_func_start FUN_0207D4F4
+FUN_0207D4F4: ; 0x0207D4F4
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ add r6, r0, #0x0
+ add r4, r3, #0x0
+ cmp r5, #0x0
+ beq _0207D504
+ cmp r5, r2
+ beq _0207D50E
+_0207D504:
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_020200A0
+ pop {r4-r6, pc}
+_0207D50E:
+ mov r1, #0x1
+ bl FUN_020200A0
+ mov r0, #0x0
+ ldrsh r1, [r4, r0]
+ mov r0, #0x4
+ ldrsh r0, [r4, r0]
+ cmp r1, r0
+ blt _0207D534
+ sub r1, r1, r0
+ lsl r2, r1, #0x8
+ asr r1, r2, #0x7
+ lsr r1, r1, #0x18
+ add r1, r2, r1
+ asr r1, r1, #0x8
+ mul r1, r5
+ lsr r1, r1, #0x8
+ add r1, r0, r1
+ b _0207D546
+_0207D534:
+ sub r1, r0, r1
+ lsl r2, r1, #0x8
+ asr r1, r2, #0x7
+ lsr r1, r1, #0x18
+ add r1, r2, r1
+ asr r1, r1, #0x8
+ mul r1, r5
+ lsr r1, r1, #0x8
+ sub r1, r0, r1
+_0207D546:
+ mov r0, #0x2
+ ldrsh r2, [r4, r0]
+ mov r0, #0x6
+ ldrsh r0, [r4, r0]
+ cmp r2, r0
+ blt _0207D566
+ sub r2, r2, r0
+ lsl r3, r2, #0x8
+ asr r2, r3, #0x7
+ lsr r2, r2, #0x18
+ add r2, r3, r2
+ asr r2, r2, #0x8
+ mul r2, r5
+ lsr r2, r2, #0x8
+ add r2, r0, r2
+ b _0207D578
+_0207D566:
+ sub r2, r0, r2
+ lsl r3, r2, #0x8
+ asr r2, r3, #0x7
+ lsr r2, r2, #0x18
+ add r2, r3, r2
+ asr r2, r2, #0x8
+ mul r2, r5
+ lsr r2, r2, #0x8
+ sub r2, r0, r2
+_0207D578:
+ lsl r1, r1, #0x10
+ lsl r2, r2, #0x10
+ add r0, r6, #0x0
+ asr r1, r1, #0x10
+ asr r2, r2, #0x10
+ bl FUN_0200C6E4
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_02020208
+ add r0, r6, #0x0
+ mov r1, #0x0
+ bl FUN_02020130
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0207D598
+FUN_0207D598: ; 0x0207D598
+ push {r3-r7, lr}
+ mov r7, #0x1
+ ldr r6, _0207D5B8 ; =0x00000524
+ add r5, r0, #0x0
+ mov r4, #0x0
+ lsl r7, r7, #0xc
+_0207D5A4:
+ ldr r0, [r5, r6]
+ add r1, r7, #0x0
+ bl FUN_020201E4
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x5
+ blo _0207D5A4
+ pop {r3-r7, pc}
+ nop
+_0207D5B8: .word 0x00000524
+
+ thumb_func_start FUN_0207D5BC
+FUN_0207D5BC: ; 0x0207D5BC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r5, #0x0
+ add r4, r7, #0x4
+_0207D5C4:
+ ldr r2, _0207D600 ; =0x020FB4AC
+ lsl r6, r5, #0x4
+ lsl r3, r5, #0x3
+ ldr r0, [r7, #0x0]
+ add r1, r4, r6
+ add r2, r2, r3
+ bl FUN_02019150
+ add r0, r4, r6
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x24
+ blo _0207D5C4
+ add r0, r7, #0x0
+ bl FUN_0207DB78
+ add r0, r7, #0x0
+ bl FUN_0207D768
+ add r0, r7, #0x0
+ bl FUN_0207D800
+ add r0, r7, #0x0
+ bl FUN_0207D8A0
+ pop {r3-r7, pc}
+ .balign 4
+_0207D600: .word 0x020FB4AC
+
+ thumb_func_start FUN_0207D604
+FUN_0207D604: ; 0x0207D604
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207D6D8 ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x7
+ bhi _0207D6D4
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207D61C: ; jump table (using 16-bit offset)
+ .short _0207D62C - _0207D61C - 2; case 0
+ .short _0207D638 - _0207D61C - 2; case 1
+ .short _0207D644 - _0207D61C - 2; case 2
+ .short _0207D650 - _0207D61C - 2; case 3
+ .short _0207D674 - _0207D61C - 2; case 4
+ .short _0207D65C - _0207D61C - 2; case 5
+ .short _0207D668 - _0207D61C - 2; case 6
+ .short _0207D674 - _0207D61C - 2; case 7
+_0207D62C:
+ mov r0, #0x92
+ mov r1, #0x6
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6DC ; =0x020FB3FC
+ str r1, [r4, r0]
+ b _0207D692
+_0207D638:
+ mov r0, #0x92
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E0 ; =0x020FB38C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D644:
+ mov r0, #0x92
+ mov r1, #0x8
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E4 ; =0x020FB42C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D650:
+ mov r0, #0x92
+ mov r1, #0x8
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6E8 ; =0x020FB46C
+ str r1, [r4, r0]
+ b _0207D692
+_0207D65C:
+ mov r0, #0x92
+ mov r1, #0x6
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6EC ; =0x020FB3CC
+ str r1, [r4, r0]
+ b _0207D692
+_0207D668:
+ mov r0, #0x92
+ mov r1, #0x4
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6F0 ; =0x020FB3AC
+ str r1, [r4, r0]
+ b _0207D692
+_0207D674:
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ beq _0207D684
+ cmp r0, #0x4
+ bne _0207D6D4
+_0207D684:
+ mov r0, #0x92
+ mov r1, #0x3
+ lsl r0, r0, #0x2
+ ldr r5, _0207D6F4 ; =0x020FB394
+ str r1, [r4, r0]
+ b _0207D692
+_0207D690:
+ pop {r3-r7, pc}
+_0207D692:
+ mov r1, #0x92
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ mov r0, #0x13
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02018FF4
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r1, #0x4
+ ldr r0, [r4, r0]
+ mov r6, #0x0
+ cmp r0, #0x0
+ bls _0207D6D4
+ add r7, r6, #0x0
+_0207D6B4:
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r0, [r4, #0x0]
+ add r1, r1, r7
+ add r2, r5, #0x0
+ bl FUN_02019150
+ mov r0, #0x92
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r6, r6, #0x1
+ add r5, #0x8
+ add r7, #0x10
+ cmp r6, r0
+ blo _0207D6B4
+_0207D6D4:
+ pop {r3-r7, pc}
+ nop
+_0207D6D8: .word 0x0000068C
+_0207D6DC: .word 0x020FB3FC
+_0207D6E0: .word 0x020FB38C
+_0207D6E4: .word 0x020FB42C
+_0207D6E8: .word 0x020FB46C
+_0207D6EC: .word 0x020FB3CC
+_0207D6F0: .word 0x020FB3AC
+_0207D6F4: .word 0x020FB394
+
+ thumb_func_start FUN_0207D6F8
+FUN_0207D6F8: ; 0x0207D6F8
+ push {r3, lr}
+ add r1, r0, #0x0
+ ldr r0, _0207D748 ; =0x0000068C
+ ldrsb r0, [r1, r0]
+ cmp r0, #0x7
+ bhi _0207D744
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207D710: ; jump table (using 16-bit offset)
+ .short _0207D732 - _0207D710 - 2; case 0
+ .short _0207D732 - _0207D710 - 2; case 1
+ .short _0207D732 - _0207D710 - 2; case 2
+ .short _0207D732 - _0207D710 - 2; case 3
+ .short _0207D720 - _0207D710 - 2; case 4
+ .short _0207D732 - _0207D710 - 2; case 5
+ .short _0207D732 - _0207D710 - 2; case 6
+ .short _0207D720 - _0207D710 - 2; case 7
+_0207D720:
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r1, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ beq _0207D732
+ cmp r0, #0x4
+ beq _0207D732
+ pop {r3, pc}
+_0207D732:
+ mov r2, #0x91
+ lsl r2, r2, #0x2
+ ldr r0, [r1, r2]
+ add r2, r2, #0x4
+ ldr r1, [r1, r2]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_020191A4
+_0207D744:
+ pop {r3, pc}
+ nop
+_0207D748: .word 0x0000068C
+
+ thumb_func_start FUN_0207D74C
+FUN_0207D74C: ; 0x0207D74C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_0207D6F8
+ mov r4, #0x0
+ add r5, r5, #0x4
+_0207D758:
+ add r0, r5, #0x0
+ bl FUN_02019178
+ add r4, r4, #0x1
+ add r5, #0x10
+ cmp r4, #0x24
+ blo _0207D758
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0207D768
+FUN_0207D768: ; 0x0207D768
+ push {r3-r5, lr}
+ sub sp, #0x10
+ mov r4, #0x89
+ add r5, r0, #0x0
+ lsl r4, r4, #0x2
+ add r0, r5, r4
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r1, #0x0
+ add r2, r4, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207D7F4 ; =0x000F0E00
+ add r2, #0x30
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ add r0, r5, r4
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ add r0, r4, #0x0
+ add r0, #0x3e
+ ldrb r1, [r5, r0]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1f
+ bne _0207D7E8
+ add r0, r0, #0x1
+ ldrb r0, [r5, r0]
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ bne _0207D7CA
+ ldr r2, _0207D7F8 ; =0x00000674
+ mov r1, #0x1
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ mov r2, #0xc1
+ add r0, r5, #0x0
+ add r1, r5, r4
+ lsl r2, r2, #0xa
+ mov r3, #0x1
+ bl FUN_0207D998
+ b _0207D7E8
+_0207D7CA:
+ cmp r0, #0x1
+ bne _0207D7E8
+ ldr r2, _0207D7F8 ; =0x00000674
+ mov r1, #0x2
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ ldr r2, _0207D7FC ; =0x00050600
+ add r0, r5, #0x0
+ add r1, r5, r4
+ mov r3, #0x1
+ bl FUN_0207D998
+_0207D7E8:
+ add r0, r5, r4
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_0207D7F4: .word 0x000F0E00
+_0207D7F8: .word 0x00000674
+_0207D7FC: .word 0x00050600
+
+ thumb_func_start FUN_0207D800
+FUN_0207D800: ; 0x0207D800
+ push {r4-r6, lr}
+ sub sp, #0x10
+ mov r6, #0x85
+ add r5, r0, #0x0
+ lsl r6, r6, #0x2
+ add r0, r5, r6
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r6, #0x0
+ add r0, #0x8c
+ ldr r0, [r5, r0]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ bne _0207D88A
+ mov r0, #0x5
+ str r0, [sp, #0x0]
+ mov r0, #0x67
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ mov r1, #0x1
+ add r2, r5, r6
+ mov r3, #0x0
+ bl FUN_0200B9A8
+ ldr r0, _0207D894 ; =0x00000674
+ mov r1, #0x3
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x0
+ add r4, r0, #0x0
+ add r2, r6, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ add r2, #0x4e
+ ldrb r2, [r5, r2]
+ ldr r0, _0207D898 ; =0x0000067C
+ mov r3, #0x3
+ lsl r2, r2, #0x19
+ ldr r0, [r5, r0]
+ lsr r2, r2, #0x19
+ bl FUN_0200AD38
+ ldr r1, _0207D898 ; =0x0000067C
+ add r2, r4, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x0
+ mov r2, #0x1a
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207D89C ; =0x00010200
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r2, [r5, r2]
+ add r0, r5, r6
+ mov r3, #0x10
+ bl FUN_0201BDE0
+_0207D88A:
+ add r0, r5, r6
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_0207D894: .word 0x00000674
+_0207D898: .word 0x0000067C
+_0207D89C: .word 0x00010200
+
+ thumb_func_start FUN_0207D8A0
+FUN_0207D8A0: ; 0x0207D8A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r0, _0207D918 ; =0x0000025E
+ ldrh r2, [r5, r0]
+ cmp r2, #0x0
+ beq _0207D8E4
+ ldr r0, _0207D91C ; =0x0000067C
+ mov r1, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200AE38
+ ldr r0, _0207D920 ; =0x00000674
+ mov r1, #0x5
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ ldr r1, _0207D91C ; =0x0000067C
+ add r2, r4, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ b _0207D8F2
+_0207D8E4:
+ ldr r2, _0207D920 ; =0x00000674
+ mov r1, #0x6
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+_0207D8F2:
+ mov r2, #0x81
+ lsl r2, r2, #0x2
+ add r1, r5, r2
+ add r0, r5, #0x0
+ lsl r2, r2, #0x7
+ mov r3, #0x0
+ bl FUN_0207D998
+ add r0, r5, #0x0
+ add r0, #0x64
+ bl FUN_02019220
+ mov r0, #0x81
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ pop {r3-r5, pc}
+ nop
+_0207D918: .word 0x0000025E
+_0207D91C: .word 0x0000067C
+_0207D920: .word 0x00000674
+
+ thumb_func_start FUN_0207D924
+FUN_0207D924: ; 0x0207D924
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r4, r1, #0x0
+ add r0, r5, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207D954 ; =0x000F0E00
+ add r0, r5, #0x0
+ mov r1, #0x23
+ add r2, r4, #0x0
+ bl FUN_0207DA1C
+ mov r0, #0x8d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ pop {r3-r5, pc}
+ nop
+_0207D954: .word 0x000F0E00
+
+ thumb_func_start FUN_0207D958
+FUN_0207D958: ; 0x0207D958
+ push {r4, lr}
+ mov r3, #0x93
+ lsl r3, r3, #0x2
+ add r1, r0, #0x0
+ add r2, r3, #0x0
+ add r2, #0x18
+ ldr r0, [r1, r3]
+ ldr r4, [r1, r2]
+ ldr r2, [r0, #0xc]
+ cmp r4, r2
+ bne _0207D98E
+ add r2, r3, #0x0
+ add r2, #0x48
+ ldrb r2, [r1, r2]
+ ldrb r0, [r0, #0x10]
+ cmp r2, r0
+ bne _0207D98E
+ ldr r2, _0207D994 ; =0x00000684
+ add r3, #0xc
+ ldr r0, [r1, r3]
+ ldr r1, [r1, r2]
+ bl FUN_02021CE0
+ cmp r0, #0x0
+ bne _0207D98E
+ mov r0, #0x1
+ pop {r4, pc}
+_0207D98E:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_0207D994: .word 0x00000684
+
+ thumb_func_start FUN_0207D998
+FUN_0207D998: ; 0x0207D998
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ cmp r3, #0x0
+ beq _0207D9B0
+ cmp r3, #0x1
+ beq _0207D9B4
+ cmp r3, #0x2
+ beq _0207D9D8
+ b _0207D9FE
+_0207D9B0:
+ mov r3, #0x0
+ b _0207D9FE
+_0207D9B4:
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r6, #0x0
+ bl FUN_0201AB0C
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x18
+ sub r0, r0, r5
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ b _0207D9FE
+_0207D9D8:
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ add r0, r6, #0x0
+ bl FUN_0201AB0C
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x18
+ sub r1, r0, r5
+ lsr r0, r1, #0x1f
+ add r0, r1, r0
+ lsl r0, r0, #0x17
+ lsr r3, r0, #0x18
+_0207D9FE:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ str r7, [sp, #0x8]
+ mov r2, #0x1a
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r0, r6, #0x0
+ bl FUN_0201BDE0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207DA1C
+FUN_0207DA1C: ; 0x0207DA1C
+ push {r4-r6, lr}
+ add r6, r3, #0x0
+ ldr r3, _0207DA44 ; =0x00000674
+ add r5, r0, #0x0
+ ldr r0, [r5, r3]
+ add r4, r1, #0x0
+ add r3, #0xc
+ add r1, r2, #0x0
+ ldr r2, [r5, r3]
+ bl FUN_0200A8E0
+ add r2, r5, #0x4
+ lsl r1, r4, #0x4
+ add r1, r2, r1
+ ldr r3, [sp, #0x10]
+ add r0, r5, #0x0
+ add r2, r6, #0x0
+ bl FUN_0207D998
+ pop {r4-r6, pc}
+ .balign 4
+_0207DA44: .word 0x00000674
+
+ thumb_func_start FUN_0207DA48
+FUN_0207DA48: ; 0x0207DA48
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, _0207DA8C ; =0x00000674
+ add r6, r2, #0x0
+ ldr r0, [r5, r0]
+ add r7, r3, #0x0
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ add r0, sp, #0x10
+ ldrb r0, [r0, #0x10]
+ mov r1, #0x0
+ add r2, r6, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, _0207DA90 ; =0x0000067C
+ add r3, r7, #0x0
+ ldr r0, [r5, r0]
+ bl FUN_0200AD38
+ ldr r1, _0207DA90 ; =0x0000067C
+ add r2, r4, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_0207DA8C: .word 0x00000674
+_0207DA90: .word 0x0000067C
+
+ thumb_func_start FUN_0207DA94
+FUN_0207DA94: ; 0x0207DA94
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ str r3, [sp, #0x10]
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ lsl r7, r1, #0x4
+ ldr r3, _0207DB70 ; =0x00000674
+ ldr r5, [r4, r0]
+ ldr r0, [r4, r3]
+ add r3, #0xc
+ add r1, r2, #0x0
+ ldr r2, [r4, r3]
+ bl FUN_0200A8E0
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ add r1, sp, #0x48
+ ldrb r2, [r1, #0x0]
+ lsr r1, r0, #0x1
+ sub r1, r2, r1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ add r0, r1, r0
+ str r1, [sp, #0x14]
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x18]
+ add r0, sp, #0x4c
+ ldrb r0, [r0, #0x0]
+ mov r2, #0x1a
+ mov r1, #0x0
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207DB74 ; =0x00010200
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r2, [r4, r2]
+ ldr r3, [sp, #0x14]
+ add r0, r5, r7
+ bl FUN_0201BDE0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r3, sp, #0x28
+ ldrh r2, [r3, #0x14]
+ ldrb r3, [r3, #0x1c]
+ ldr r1, [sp, #0x10]
+ add r0, r4, #0x0
+ bl FUN_0207DA48
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ mov r12, r0
+ ldr r0, [sp, #0x1c]
+ mov r2, #0x1a
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207DB74 ; =0x00010200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r3, [sp, #0x14]
+ mov r6, r12
+ ldr r2, [r4, r2]
+ add r0, r5, r7
+ sub r3, r3, r6
+ bl FUN_0201BDE0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ add r3, sp, #0x28
+ ldrh r2, [r3, #0x18]
+ ldrb r3, [r3, #0x1c]
+ ldr r1, [sp, #0x38]
+ add r0, r4, #0x0
+ bl FUN_0207DA48
+ ldr r0, [sp, #0x1c]
+ mov r2, #0x1a
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207DB74 ; =0x00010200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ ldr r3, [sp, #0x18]
+ add r0, r5, r7
+ bl FUN_0201BDE0
+ add sp, #0x20
+ pop {r3-r7, pc}
+ .balign 4
+_0207DB70: .word 0x00000674
+_0207DB74: .word 0x00010200
+
+ thumb_func_start FUN_0207DB78
+FUN_0207DB78: ; 0x0207DB78
+ push {r4, lr}
+ sub sp, #0x10
+ ldr r3, _0207DD7C ; =0x000F0E00
+ mov r1, #0x0
+ mov r2, #0x7
+ add r4, r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x1
+ mov r2, #0x17
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x2
+ mov r2, #0x6d
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r2, #0x7e
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x4
+ mov r2, #0x80
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x5
+ mov r2, #0x9d
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x6
+ mov r2, #0x4
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x8
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0xa
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x9
+ mov r2, #0xc
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0xa
+ mov r2, #0xd
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0xb
+ mov r2, #0xf
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0xc
+ mov r2, #0x11
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0xd
+ mov r2, #0x13
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0xf
+ mov r2, #0x6e
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x10
+ mov r2, #0x6f
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x11
+ mov r2, #0x70
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x12
+ mov r2, #0x71
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x13
+ mov r2, #0x72
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x14
+ mov r2, #0x73
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x15
+ mov r2, #0x74
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x16
+ mov r2, #0x7f
+ bl FUN_0207DA1C
+ ldr r2, _0207DD80 ; =0x00000674
+ mov r1, #0x92
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r2, #0xff
+ str r2, [sp, #0x4]
+ ldr r0, _0207DD7C ; =0x000F0E00
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ add r2, #0x85
+ add r0, r4, r2
+ mov r2, #0x1a
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x19
+ mov r2, #0x95
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ mov r2, #0x93
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x1b
+ mov r2, #0x94
+ bl FUN_0207DA1C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x1c
+ mov r2, #0xa2
+ bl FUN_0207DA1C
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD84 ; =0x00010200
+ add r0, r4, #0x0
+ mov r1, #0x1d
+ mov r2, #0xa0
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD84 ; =0x00010200
+ add r0, r4, #0x0
+ mov r1, #0x1e
+ mov r2, #0xb6
+ bl FUN_0207DA1C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, _0207DD7C ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r1, #0x1f
+ mov r2, #0xb3
+ bl FUN_0207DA1C
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_0207DD7C: .word 0x000F0E00
+_0207DD80: .word 0x00000674
+_0207DD84: .word 0x00010200
+
+ thumb_func_start FUN_0207DD88
+FUN_0207DD88: ; 0x0207DD88
+ push {r4, lr}
+ sub sp, #0x10
+ mov r2, #0x0
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ add r3, r2, #0x0
+ bl FUN_02018540
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0x12
+ str r0, [sp, #0x4]
+ mov r0, #0x16
+ str r0, [sp, #0x8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ mov r2, #0x0
+ mov r3, #0xe
+ bl FUN_02018540
+ ldr r0, _0207DE38 ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x7
+ bhi _0207DE34
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207DDD8: ; jump table (using 16-bit offset)
+ .short _0207DDE8 - _0207DDD8 - 2; case 0
+ .short _0207DDF2 - _0207DDD8 - 2; case 1
+ .short _0207DDFC - _0207DDD8 - 2; case 2
+ .short _0207DE10 - _0207DDD8 - 2; case 3
+ .short _0207DE06 - _0207DDD8 - 2; case 4
+ .short _0207DE1A - _0207DDD8 - 2; case 5
+ .short _0207DE24 - _0207DDD8 - 2; case 6
+ .short _0207DE2E - _0207DDD8 - 2; case 7
+_0207DDE8:
+ add r0, r4, #0x0
+ bl FUN_0207DE3C
+ add sp, #0x10
+ pop {r4, pc}
+_0207DDF2:
+ add r0, r4, #0x0
+ bl FUN_0207E190
+ add sp, #0x10
+ pop {r4, pc}
+_0207DDFC:
+ add r0, r4, #0x0
+ bl FUN_0207E200
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE06:
+ add r0, r4, #0x0
+ bl FUN_0207E4A0
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE10:
+ add r0, r4, #0x0
+ bl FUN_0207E594
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE1A:
+ add r0, r4, #0x0
+ bl FUN_0207E650
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE24:
+ add r0, r4, #0x0
+ bl FUN_0207E70C
+ add sp, #0x10
+ pop {r4, pc}
+_0207DE2E:
+ add r0, r4, #0x0
+ bl FUN_0207E788
+_0207DE34:
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_0207DE38: .word 0x0000068C
+
+ thumb_func_start FUN_0207DE3C
+FUN_0207DE3C: ; 0x0207DE3C
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, r4, #0x4
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0x74
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0x84
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0x94
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xa4
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xb4
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xc4
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xe4
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x20
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x40
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x50
+ bl FUN_02019620
+ mov r1, #0x93
+ lsl r1, r1, #0x2
+ ldr r0, [r4, r1]
+ add r1, #0x10
+ ldrh r1, [r4, r1]
+ ldr r0, [r0, #0x1c]
+ bl FUN_0206BB48
+ add r2, r0, #0x0
+ beq _0207DEFE
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x9
+ mov r3, #0x3
+ bl FUN_0207DA48
+ b _0207DF0C
+_0207DEFE:
+ ldr r2, _0207E0B4 ; =0x00000674
+ mov r1, #0x16
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+_0207DF0C:
+ mov r1, #0x2a
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ lsl r0, r0, #0x2
+ lsr r0, r0, #0x1f
+ bne _0207DF28
+ sub r1, #0x5c
+ ldr r1, [r4, r1]
+ ldr r2, _0207E0B8 ; =0x00010200
+ add r0, r4, #0x0
+ mov r3, #0x2
+ bl FUN_0207D998
+ b _0207DF36
+_0207DF28:
+ sub r1, #0x5c
+ ldr r1, [r4, r1]
+ ldr r2, _0207E0BC ; =0x00050600
+ add r0, r4, #0x0
+ mov r3, #0x2
+ bl FUN_0207D998
+_0207DF36:
+ mov r1, #0x25
+ lsl r1, r1, #0x4
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ mov r2, #0x91
+ lsl r2, r2, #0x2
+ ldr r3, [r4, r2]
+ mov r1, #0x0
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E0B8 ; =0x00010200
+ add r2, #0xc
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ add r0, r3, #0x0
+ ldrb r3, [r3, #0x17]
+ ldr r2, [r4, r2]
+ add r0, #0x10
+ lsl r3, r3, #0x3
+ sub r3, r3, r5
+ lsr r3, r3, #0x1
+ bl FUN_0201BDE0
+ mov r1, #0x96
+ lsl r1, r1, #0x2
+ mov r0, #0x0
+ ldr r1, [r4, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ mov r5, #0x91
+ lsl r5, r5, #0x2
+ ldr r2, [r4, r5]
+ add r1, r2, #0x0
+ add r1, #0x27
+ ldrb r1, [r1, #0x0]
+ lsl r1, r1, #0x3
+ sub r0, r1, r0
+ lsr r3, r0, #0x1
+ add r0, r5, #0x0
+ add r0, #0x50
+ ldrb r0, [r4, r0]
+ cmp r0, #0x0
+ bne _0207DFB6
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0xc1
+ lsl r0, r0, #0xa
+ str r0, [sp, #0x8]
+ add r2, #0x20
+ str r1, [sp, #0xc]
+ add r5, #0x14
+ add r0, r2, #0x0
+ ldr r2, [r4, r5]
+ bl FUN_0201BDE0
+ b _0207DFD0
+_0207DFB6:
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E0BC ; =0x00050600
+ add r2, #0x20
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ add r5, #0x14
+ add r0, r2, #0x0
+ ldr r2, [r4, r5]
+ bl FUN_0201BDE0
+_0207DFD0:
+ mov r0, #0x2
+ mov r2, #0x99
+ str r0, [sp, #0x0]
+ lsl r2, r2, #0x2
+ ldr r2, [r4, r2]
+ add r0, r4, #0x0
+ lsl r2, r2, #0x10
+ mov r1, #0x10
+ lsr r2, r2, #0x10
+ mov r3, #0x5
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E0B8 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x30
+ mov r3, #0x2
+ bl FUN_0207D998
+ mov r0, #0x1
+ mov r2, #0x9a
+ str r0, [sp, #0x0]
+ lsl r2, r2, #0x2
+ ldr r2, [r4, r2]
+ add r0, r4, #0x0
+ mov r1, #0x12
+ mov r3, #0x7
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E0B8 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x40
+ mov r3, #0x2
+ bl FUN_0207D998
+ ldr r3, _0207E0C0 ; =0x00000262
+ ldrb r0, [r4, r3]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x19
+ cmp r0, #0x64
+ bhs _0207E048
+ mov r0, #0x1
+ add r2, r3, #0x0
+ str r0, [sp, #0x0]
+ add r2, #0xe
+ ldr r5, [r4, r2]
+ add r2, r3, #0x6
+ ldr r2, [r4, r2]
+ add r0, r4, #0x0
+ mov r1, #0x15
+ sub r2, r5, r2
+ mov r3, #0x7
+ bl FUN_0207DA48
+ b _0207E058
+_0207E048:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x15
+ mov r2, #0x0
+ mov r3, #0x7
+ bl FUN_0207DA48
+_0207E058:
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E0B8 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x50
+ mov r3, #0x2
+ bl FUN_0207D998
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x40
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x50
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+_0207E0B4: .word 0x00000674
+_0207E0B8: .word 0x00010200
+_0207E0BC: .word 0x00050600
+_0207E0C0: .word 0x00000262
+
+ thumb_func_start FUN_0207E0C4
+FUN_0207E0C4: ; 0x0207E0C4
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ mov r2, #0x13
+ bl FUN_0207FD00
+ add r4, r0, #0x0
+ ldr r2, [r4, #0x18]
+ cmp r2, #0x0
+ beq _0207E0F8
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E18C ; =0x00010200
+ add r3, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+_0207E0F8:
+ ldr r2, [r4, #0x20]
+ cmp r2, #0x0
+ beq _0207E11A
+ ldr r0, [r4, #0x1c]
+ mov r1, #0x0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E18C ; =0x00010200
+ add r3, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+_0207E11A:
+ ldr r2, [r4, #0x28]
+ cmp r2, #0x0
+ beq _0207E13C
+ ldr r0, [r4, #0x24]
+ mov r1, #0x0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E18C ; =0x00010200
+ add r3, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+_0207E13C:
+ ldr r2, [r4, #0x30]
+ cmp r2, #0x0
+ beq _0207E15E
+ ldr r0, [r4, #0x2c]
+ mov r1, #0x0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E18C ; =0x00010200
+ add r3, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+_0207E15E:
+ ldr r2, [r4, #0x38]
+ cmp r2, #0x0
+ beq _0207E180
+ ldr r0, [r4, #0x34]
+ mov r1, #0x0
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x4
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E18C ; =0x00010200
+ add r3, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ str r1, [sp, #0xc]
+ bl FUN_0201BDE0
+_0207E180:
+ add r0, r4, #0x0
+ bl FUN_02080094
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_0207E18C: .word 0x00010200
+
+ thumb_func_start FUN_0207E190
+FUN_0207E190: ; 0x0207E190
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_0207B628
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0207D958
+ add r7, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r5, r0]
+ ldrb r1, [r1, #0x11]
+ cmp r1, #0x2
+ bne _0207E1E8
+ mov r0, #0x13
+ bl FUN_020669C0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02069A64
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r1, r4, #0x0
+ add r2, r7, #0x0
+ bl FUN_0207E0C4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ b _0207E1F4
+_0207E1E8:
+ sub r0, #0x8
+ ldr r0, [r5, r0]
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0207E0C4
+_0207E1F4:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02019220
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0207E200
+FUN_0207E200: ; 0x0207E200
+ push {r3-r5, lr}
+ sub sp, #0x18
+ add r4, r0, #0x0
+ add r0, #0x24
+ bl FUN_02019220
+ add r0, r4, #0x0
+ add r0, #0xf4
+ bl FUN_02019220
+ mov r0, #0x41
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x45
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x49
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x4d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x51
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x55
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x20
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x40
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x50
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x60
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x70
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201AB0C
+ mov r1, #0x76
+ str r1, [sp, #0x0]
+ mov r1, #0x9d
+ lsl r1, r1, #0x2
+ ldrh r2, [r4, r1]
+ lsl r0, r0, #0x1a
+ add r1, r1, #0x2
+ str r2, [sp, #0x4]
+ ldrh r1, [r4, r1]
+ lsr r0, r0, #0x18
+ mov r2, #0x75
+ str r1, [sp, #0x8]
+ mov r1, #0x3
+ str r1, [sp, #0xc]
+ str r0, [sp, #0x10]
+ mov r1, #0x0
+ add r0, r4, #0x0
+ mov r3, #0x77
+ str r1, [sp, #0x14]
+ bl FUN_0207DA94
+ mov r0, #0x0
+ mov r2, #0x9e
+ str r0, [sp, #0x0]
+ lsl r2, r2, #0x2
+ ldrh r2, [r4, r2]
+ add r0, r4, #0x0
+ mov r1, #0x78
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x10
+ mov r3, #0x1
+ bl FUN_0207D998
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r2, _0207E488 ; =0x0000027A
+ add r0, r4, #0x0
+ ldrh r2, [r4, r2]
+ mov r1, #0x79
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x20
+ mov r3, #0x1
+ bl FUN_0207D998
+ mov r0, #0x0
+ mov r2, #0x9f
+ str r0, [sp, #0x0]
+ lsl r2, r2, #0x2
+ ldrh r2, [r4, r2]
+ add r0, r4, #0x0
+ mov r1, #0x7a
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x30
+ mov r3, #0x1
+ bl FUN_0207D998
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r2, _0207E48C ; =0x0000027E
+ add r0, r4, #0x0
+ ldrh r2, [r4, r2]
+ mov r1, #0x7b
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x40
+ mov r3, #0x1
+ bl FUN_0207D998
+ mov r0, #0x0
+ mov r2, #0xa
+ str r0, [sp, #0x0]
+ lsl r2, r2, #0x6
+ ldrh r2, [r4, r2]
+ add r0, r4, #0x0
+ mov r1, #0x7c
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x50
+ mov r3, #0x1
+ bl FUN_0207D998
+ ldr r2, _0207E490 ; =0x00000282
+ ldr r0, _0207E494 ; =0x0000067C
+ ldrb r2, [r4, r2]
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_0200ADCC
+ ldr r0, _0207E498 ; =0x00000674
+ mov r1, #0x7d
+ ldr r0, [r4, r0]
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ ldr r1, _0207E494 ; =0x0000067C
+ add r2, r5, #0x0
+ ldr r0, [r4, r1]
+ add r1, r1, #0x4
+ ldr r1, [r4, r1]
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x60
+ mov r3, #0x0
+ bl FUN_0207D998
+ ldr r2, _0207E49C ; =0x0000022A
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r3, #0x13
+ bl FUN_0200A86C
+ ldr r1, _0207E490 ; =0x00000282
+ mov r2, #0x1a
+ lsl r2, r2, #0x6
+ ldrb r1, [r4, r1]
+ ldr r2, [r4, r2]
+ add r5, r0, #0x0
+ bl FUN_0200A8E0
+ add r0, r5, #0x0
+ bl FUN_0200A8B8
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E484 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x70
+ mov r3, #0x0
+ bl FUN_0207D998
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x40
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x50
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x60
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x70
+ bl FUN_02019220
+ add sp, #0x18
+ pop {r3-r5, pc}
+ nop
+_0207E484: .word 0x00010200
+_0207E488: .word 0x0000027A
+_0207E48C: .word 0x0000027E
+_0207E490: .word 0x00000282
+_0207E494: .word 0x0000067C
+_0207E498: .word 0x00000674
+_0207E49C: .word 0x0000022A
+
+ thumb_func_start FUN_0207E4A0
+FUN_0207E4A0: ; 0x0207E4A0
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r0, #0x34
+ bl FUN_02019220
+ mov r0, #0x59
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ beq _0207E4C6
+ cmp r0, #0x4
+ bne _0207E580
+_0207E4C6:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ ldr r2, _0207E584 ; =0x00000674
+ mov r1, #0xa5
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E588 ; =0x000F0E00
+ add r0, r4, #0x0
+ add r1, #0x10
+ mov r3, #0x0
+ bl FUN_0207D998
+ ldr r1, _0207E58C ; =0x0000029B
+ ldr r2, _0207E584 ; =0x00000674
+ ldrb r1, [r4, r1]
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ add r1, #0xa6
+ bl FUN_0200A8E0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E590 ; =0x00010200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ mov r2, #0x1a
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r0, #0x10
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldrb r1, [r1, #0x12]
+ cmp r1, #0x3
+ bne _0207E580
+ sub r0, #0x8
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r2, _0207E584 ; =0x00000674
+ mov r1, #0xa3
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E588 ; =0x000F0E00
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0207D998
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0207CFAC
+_0207E580:
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_0207E584: .word 0x00000674
+_0207E588: .word 0x000F0E00
+_0207E58C: .word 0x0000029B
+_0207E590: .word 0x00010200
+
+ thumb_func_start FUN_0207E594
+FUN_0207E594: ; 0x0207E594
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x44
+ bl FUN_02019220
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x2
+ bne _0207E5B4
+ add r0, r4, #0x0
+ mov r1, #0x9b
+ bl FUN_0207D924
+ b _0207E5BC
+_0207E5B4:
+ add r0, r4, #0x0
+ mov r1, #0x81
+ bl FUN_0207D924
+_0207E5BC:
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x20
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ bl FUN_02019620
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_0207EA44
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_02019220
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207E650
+FUN_0207E650: ; 0x0207E650
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x54
+ bl FUN_02019220
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x2
+ bne _0207E670
+ add r0, r4, #0x0
+ mov r1, #0x9f
+ bl FUN_0207D924
+ b _0207E678
+_0207E670:
+ add r0, r4, #0x0
+ mov r1, #0x9e
+ bl FUN_0207D924
+_0207E678:
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x20
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ bl FUN_02019620
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0207EA44
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_0207EA44
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_02019220
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207E70C
+FUN_0207E70C: ; 0x0207E70C
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r0, #0x7d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x79
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r2, _0207E780 ; =0x00000699
+ add r0, r4, #0x0
+ ldrb r2, [r4, r2]
+ mov r1, #0xb7
+ mov r3, #0x3
+ bl FUN_0207DA48
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E784 ; =0x00010200
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0207D998
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02019220
+ ldr r0, _0207E780 ; =0x00000699
+ ldrb r0, [r4, r0]
+ cmp r0, #0x0
+ beq _0207E77A
+ add r0, r4, #0x0
+ mov r1, #0xb4
+ bl FUN_0207D924
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+_0207E77A:
+ add sp, #0x4
+ pop {r3-r4, pc}
+ nop
+_0207E780: .word 0x00000699
+_0207E784: .word 0x00010200
+
+ thumb_func_start FUN_0207E788
+FUN_0207E788: ; 0x0207E788
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ mov r0, #0x71
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_02019220
+ add r0, r4, #0x0
+ mov r1, #0xa1
+ bl FUN_0207D924
+ mov r1, #0x8d
+ lsl r1, r1, #0x2
+ add r0, r4, #0x0
+ add r1, r4, r1
+ bl FUN_0207CFAC
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x12]
+ cmp r0, #0x3
+ beq _0207E7BC
+ cmp r0, #0x4
+ bne _0207E82C
+_0207E7BC:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ ldr r2, _0207E830 ; =0x00000674
+ mov r1, #0xa5
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207E834 ; =0x000F0E00
+ add r0, r4, #0x0
+ add r1, #0x10
+ mov r3, #0x0
+ bl FUN_0207D998
+ ldr r1, _0207E838 ; =0x0000029B
+ ldr r2, _0207E830 ; =0x00000674
+ ldrb r1, [r4, r1]
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ add r1, #0xa6
+ bl FUN_0200A8E0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E83C ; =0x00010200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ mov r2, #0x1a
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ lsl r2, r2, #0x6
+ ldr r2, [r4, r2]
+ add r0, #0x10
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x10
+ bl FUN_02019220
+_0207E82C:
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4
+_0207E830: .word 0x00000674
+_0207E834: .word 0x000F0E00
+_0207E838: .word 0x0000029B
+_0207E83C: .word 0x00010200
+
+ thumb_func_start FUN_0207E840
+FUN_0207E840: ; 0x0207E840
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x10
+ bl FUN_02019620
+ ldr r0, _0207E994 ; =0x00000674
+ mov r1, #0xba
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x0
+ add r4, r0, #0x0
+ ldr r2, _0207E998 ; =0x0000067C
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, r2]
+ add r2, #0x1d
+ ldrb r2, [r5, r2]
+ mov r3, #0x3
+ bl FUN_0200AD38
+ ldr r1, _0207E998 ; =0x0000067C
+ add r2, r4, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r5, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ mov r0, #0x38
+ sub r0, r0, r1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ mov r1, #0x0
+ mov r2, #0x1a
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E99C ; =0x00010200
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ add r0, #0x10
+ add r3, r4, #0x0
+ bl FUN_0201BDE0
+ ldr r0, _0207E994 ; =0x00000674
+ mov r1, #0xb9
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ mov r0, #0x0
+ add r1, r6, #0x0
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r0, r4, r0
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E99C ; =0x00010200
+ add r2, r6, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r3, r4, #0x0
+ add r0, #0x10
+ bl FUN_0201BDE0
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ ldr r0, _0207E994 ; =0x00000674
+ mov r1, #0xb8
+ ldr r0, [r5, r0]
+ bl FUN_0200A914
+ mov r1, #0x0
+ ldr r2, _0207E998 ; =0x0000067C
+ add r6, r0, #0x0
+ add r3, r2, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, r2]
+ add r2, #0x1c
+ add r3, #0x1b
+ ldrb r2, [r5, r2]
+ ldrb r3, [r5, r3]
+ lsl r2, r2, #0x2
+ add r2, r3, r2
+ add r2, r2, #0x1
+ mov r3, #0x3
+ bl FUN_0200AD38
+ ldr r1, _0207E998 ; =0x0000067C
+ add r2, r6, #0x0
+ ldr r0, [r5, r1]
+ add r1, r1, #0x4
+ ldr r1, [r5, r1]
+ bl FUN_0200B7B8
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r5, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ sub r0, r4, r0
+ lsl r0, r0, #0x18
+ mov r1, #0x0
+ lsr r3, r0, #0x18
+ mov r2, #0x1a
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207E99C ; =0x00010200
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ add r0, #0x10
+ bl FUN_0201BDE0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x10
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_0207E994: .word 0x00000674
+_0207E998: .word 0x0000067C
+_0207E99C: .word 0x00010200
+
+ thumb_func_start FUN_0207E9A0
+FUN_0207E9A0: ; 0x0207E9A0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x20
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x30
+ bl FUN_02019620
+ ldr r0, _0207EA34 ; =0x0000069A
+ mov r1, #0x3
+ ldrb r0, [r4, r0]
+ bl FUN_0207FC5C
+ ldr r2, _0207EA38 ; =0x00000678
+ add r1, r0, #0x0
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207EA3C ; =0x000F0E00
+ add r0, r4, #0x0
+ add r1, #0x20
+ mov r3, #0x0
+ bl FUN_0207D998
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, _0207EA34 ; =0x0000069A
+ ldr r0, [r4, r0]
+ ldrb r1, [r4, r1]
+ ldr r0, [r0, #0x20]
+ bl FUN_0207FCC0
+ ldr r2, _0207EA38 ; =0x00000678
+ add r1, r0, #0x0
+ ldr r0, [r4, r2]
+ add r2, #0x8
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r2, _0207EA40 ; =0x00010200
+ add r0, r4, #0x0
+ add r1, #0x30
+ mov r3, #0x0
+ bl FUN_0207D998
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x20
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x30
+ bl FUN_02019220
+ pop {r4, pc}
+ .balign 4
+_0207EA34: .word 0x0000069A
+_0207EA38: .word 0x00000678
+_0207EA3C: .word 0x000F0E00
+_0207EA40: .word 0x00010200
+
+ thumb_func_start FUN_0207EA44
+FUN_0207EA44: ; 0x0207EA44
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ mov r0, #0x91
+ add r7, r1, #0x0
+ lsl r0, r0, #0x2
+ lsl r6, r7, #0x4
+ ldr r4, [r5, r0]
+ cmp r7, #0x4
+ beq _0207EA76
+ lsl r1, r7, #0x1
+ add r2, r5, r1
+ add r1, r0, #0x0
+ add r1, #0x40
+ ldrh r1, [r2, r1]
+ add r2, r0, #0x0
+ add r2, #0x48
+ str r1, [sp, #0x20]
+ add r1, r5, r7
+ ldrb r2, [r1, r2]
+ add r0, #0x4c
+ str r2, [sp, #0x1c]
+ ldrb r0, [r1, r0]
+ str r0, [sp, #0x18]
+ b _0207EA88
+_0207EA76:
+ add r0, #0x8
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ ldrh r0, [r0, #0x18]
+ str r0, [sp, #0x20]
+ bl FUN_0206AB30
+ str r0, [sp, #0x1c]
+ str r0, [sp, #0x18]
+_0207EA88:
+ ldr r2, _0207EB54 ; =0x00000688
+ ldr r1, [sp, #0x20]
+ ldr r0, [r5, r2]
+ sub r2, #0x8
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ mov r0, #0x2
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207EB58 ; =0x000F0E00
+ mov r2, #0x1a
+ str r0, [sp, #0x8]
+ mov r1, #0x0
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r5, r2]
+ add r0, r4, r6
+ mov r3, #0x1
+ bl FUN_0201BDE0
+ ldr r0, [sp, #0x20]
+ ldr r2, _0207EB5C ; =0x00000674
+ cmp r0, #0x0
+ beq _0207EB10
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ mov r1, #0x87
+ bl FUN_0200A8E0
+ mov r3, #0x10
+ mov r2, #0x1a
+ str r3, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207EB60 ; =0x00010200
+ mov r1, #0x0
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r5, r2]
+ add r0, r4, r6
+ bl FUN_0201BDE0
+ add r0, r7, #0x0
+ add r0, #0x8d
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x1c]
+ add r1, r7, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x18]
+ add r7, #0x88
+ str r0, [sp, #0x8]
+ mov r0, #0x2
+ str r0, [sp, #0xc]
+ mov r0, #0x3c
+ str r0, [sp, #0x10]
+ mov r0, #0x10
+ str r0, [sp, #0x14]
+ add r0, r5, #0x0
+ mov r2, #0x75
+ add r3, r7, #0x0
+ bl FUN_0207DA94
+ add sp, #0x24
+ pop {r4-r7, pc}
+_0207EB10:
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ mov r1, #0x99
+ bl FUN_0200A8E0
+ mov r1, #0x1a
+ lsl r1, r1, #0x6
+ mov r0, #0x0
+ ldr r1, [r5, r1]
+ add r2, r0, #0x0
+ bl FUN_02002E14
+ add r3, r0, #0x0
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207EB60 ; =0x00010200
+ mov r2, #0x1a
+ str r0, [sp, #0x8]
+ mov r1, #0x0
+ add r0, r4, r6
+ lsr r4, r3, #0x1
+ mov r3, #0x3c
+ str r1, [sp, #0xc]
+ lsl r2, r2, #0x6
+ ldr r2, [r5, r2]
+ sub r3, r3, r4
+ bl FUN_0201BDE0
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_0207EB54: .word 0x00000688
+_0207EB58: .word 0x000F0E00
+_0207EB5C: .word 0x00000674
+_0207EB60: .word 0x00010200
+
+ thumb_func_start FUN_0207EB64
+FUN_0207EB64: ; 0x0207EB64
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r5, r0, #0x0
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ add r4, r1, #0x0
+ bl FUN_02019220
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x50
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x60
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ mov r1, #0x0
+ add r0, #0x70
+ bl FUN_02019620
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_0206AB18
+ add r2, r0, #0x0
+ cmp r2, #0x1
+ bhi _0207EBD2
+ ldr r2, _0207EC88 ; =0x00000674
+ mov r1, #0x9a
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ b _0207EBE0
+_0207EBD2:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x96
+ mov r3, #0x3
+ bl FUN_0207DA48
+_0207EBE0:
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ ldr r2, _0207EC8C ; =0x00010200
+ add r0, r5, #0x0
+ add r1, #0x50
+ mov r3, #0x2
+ bl FUN_0207D998
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_0206AB18
+ add r2, r0, #0x0
+ bne _0207EC0E
+ ldr r2, _0207EC88 ; =0x00000674
+ mov r1, #0x9a
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ b _0207EC1C
+_0207EC0E:
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r3, #0x3
+ bl FUN_0207DA48
+_0207EC1C:
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ ldr r2, _0207EC8C ; =0x00010200
+ add r0, r5, #0x0
+ add r1, #0x60
+ mov r3, #0x2
+ bl FUN_0207D998
+ ldr r2, _0207EC90 ; =0x0000024B
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r3, #0x13
+ bl FUN_0200A86C
+ mov r2, #0x1a
+ lsl r2, r2, #0x6
+ ldr r2, [r5, r2]
+ add r1, r4, #0x0
+ add r6, r0, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x91
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ ldr r2, _0207EC8C ; =0x00010200
+ add r0, r5, #0x0
+ add r1, #0x70
+ mov r3, #0x0
+ bl FUN_0207D998
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x50
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x60
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x70
+ bl FUN_02019220
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_0207EC88: .word 0x00000674
+_0207EC8C: .word 0x00010200
+_0207EC90: .word 0x0000024B
+
+ thumb_func_start FUN_0207EC94
+FUN_0207EC94: ; 0x0207EC94
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x65
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x6d
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x50
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x60
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x70
+ bl FUN_0201958C
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207ECDC
+FUN_0207ECDC: ; 0x0207ECDC
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldrh r1, [r1, #0x18]
+ cmp r1, #0x0
+ beq _0207ED0E
+ sub r0, #0x8
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ add r0, #0x40
+ bl FUN_02019620
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_0207EA44
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x40
+ bl FUN_02019220
+ pop {r4, pc}
+_0207ED0E:
+ sub r0, #0xc8
+ add r0, r4, r0
+ bl FUN_02019220
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207ED18
+FUN_0207ED18: ; 0x0207ED18
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x61
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ bl FUN_0201AC68
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207ED30
+FUN_0207ED30: ; 0x0207ED30
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, _0207EDB0 ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, _0207EDB0 ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r1, _0207EDB0 ; =0x0000068D
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #0x1c
+ lsr r1, r1, #0x1c
+ bl FUN_0207EA44
+ ldr r1, _0207EDB0 ; =0x0000068D
+ add r0, r4, #0x0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1c
+ bl FUN_0207EA44
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, _0207EDB0 ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r1, [r4, r0]
+ ldr r0, _0207EDB0 ; =0x0000068D
+ ldrb r0, [r4, r0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1c
+ lsl r0, r0, #0x4
+ add r0, r1, r0
+ bl FUN_02019220
+ pop {r4, pc}
+ nop
+_0207EDB0: .word 0x0000068D
+
+ thumb_func_start FUN_0207EDB4
+FUN_0207EDB4: ; 0x0207EDB4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0207EE20 ; =0x0000068C
+ ldrsb r0, [r5, r0]
+ cmp r0, #0x3
+ bne _0207EDEE
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x50
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x60
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x70
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r4, [r5, r0]
+ add r4, #0x70
+ b _0207EDF6
+_0207EDEE:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r4, [r5, r0]
+ add r4, #0x50
+_0207EDF6:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02019620
+ ldr r2, _0207EE24 ; =0x00000674
+ mov r1, #0x9c
+ ldr r0, [r5, r2]
+ add r2, #0xc
+ ldr r2, [r5, r2]
+ bl FUN_0200A8E0
+ ldr r2, _0207EE28 ; =0x00010200
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r3, #0x0
+ bl FUN_0207D998
+ add r0, r4, #0x0
+ bl FUN_02019220
+ pop {r3-r5, pc}
+ .balign 4
+_0207EE20: .word 0x0000068C
+_0207EE24: .word 0x00000674
+_0207EE28: .word 0x00010200
+
+ thumb_func_start FUN_0207EE2C
+FUN_0207EE2C: ; 0x0207EE2C
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r4, r1, #0x0
+ add r0, #0x50
+ mov r1, #0x0
+ bl FUN_02019620
+ add r0, r4, #0x0
+ mov r1, #0xa
+ bl FUN_0206AB18
+ bl FUN_0208315C
+ add r4, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r2, #0xc5
+ mov r3, #0x13
+ bl FUN_0200A86C
+ mov r2, #0x1a
+ lsl r2, r2, #0x6
+ ldr r2, [r5, r2]
+ add r1, r4, #0x0
+ add r6, r0, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ mov r2, #0x1a
+ str r1, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207EEAC ; =0x00010200
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x91
+ str r1, [sp, #0xc]
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r2, [r5, r2]
+ add r0, #0x50
+ add r3, r1, #0x0
+ bl FUN_0201BDE0
+ add r0, r6, #0x0
+ bl FUN_0200A8B8
+ mov r0, #0x75
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ bl FUN_02019220
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ add r0, #0x50
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_0207EEAC: .word 0x00010200
+
+ thumb_func_start FUN_0207EEB0
+FUN_0207EEB0: ; 0x0207EEB0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x75
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0201958C
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ add r0, #0x50
+ bl FUN_0201958C
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207EECC
+FUN_0207EECC: ; 0x0207EECC
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ cmp r1, #0x4
+ bgt _0207EEF0
+ cmp r1, #0x0
+ blt _0207EF0E
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207EEE6: ; jump table (using 16-bit offset)
+ .short _0207EEF6 - _0207EEE6 - 2; case 0
+ .short _0207EEFA - _0207EEE6 - 2; case 1
+ .short _0207EEFE - _0207EEE6 - 2; case 2
+ .short _0207EF02 - _0207EEE6 - 2; case 3
+ .short _0207EF06 - _0207EEE6 - 2; case 4
+_0207EEF0:
+ cmp r1, #0xfe
+ beq _0207EF0A
+ b _0207EF0E
+_0207EEF6:
+ mov r5, #0xac
+ b _0207EF10
+_0207EEFA:
+ mov r5, #0xae
+ b _0207EF10
+_0207EEFE:
+ mov r5, #0xaf
+ b _0207EF10
+_0207EF02:
+ mov r5, #0xb0
+ b _0207EF10
+_0207EF06:
+ mov r5, #0xad
+ b _0207EF10
+_0207EF0A:
+ mov r5, #0xb1
+ b _0207EF10
+_0207EF0E:
+ mov r5, #0xb2
+_0207EF10:
+ mov r0, #0x91
+ lsl r0, r0, #0x2
+ ldr r6, [r4, r0]
+ ldr r2, _0207EF60 ; =0x000003E2
+ add r6, #0x20
+ add r0, r6, #0x0
+ mov r1, #0x1
+ mov r3, #0xd
+ bl FUN_0200D0BC
+ add r0, r6, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ ldr r2, _0207EF64 ; =0x00000674
+ add r1, r5, #0x0
+ ldr r0, [r4, r2]
+ add r2, #0xc
+ ldr r2, [r4, r2]
+ bl FUN_0200A8E0
+ mov r3, #0x0
+ mov r2, #0x1a
+ str r3, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ ldr r0, _0207EF68 ; =0x0001020F
+ lsl r2, r2, #0x6
+ str r0, [sp, #0x8]
+ str r3, [sp, #0xc]
+ ldr r2, [r4, r2]
+ add r0, r6, #0x0
+ mov r1, #0x1
+ bl FUN_0201BDE0
+ add r0, r6, #0x0
+ bl FUN_02019220
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_0207EF60: .word 0x000003E2
+_0207EF64: .word 0x00000674
+_0207EF68: .word 0x0001020F
+
+ thumb_func_start FUN_0207EF6C
+FUN_0207EF6C: ; 0x0207EF6C
+ push {r3-r4, lr}
+ sub sp, #0x4
+ bl FUN_020BB7F4
+ bl G3X_Init
+ bl G3X_InitMtxStack
+ ldr r0, _0207EFEC ; =0x04000060
+ ldr r1, _0207EFF0 ; =0xFFFFCFFD
+ ldrh r2, [r0, #0x0]
+ ldr r3, _0207EFF4 ; =0x0000CFFB
+ and r2, r1
+ strh r2, [r0, #0x0]
+ ldrh r2, [r0, #0x0]
+ and r2, r3
+ strh r2, [r0, #0x0]
+ add r2, r1, #0x2
+ ldrh r4, [r0, #0x0]
+ add r1, r1, #0x2
+ sub r3, #0x1c
+ and r4, r2
+ mov r2, #0x8
+ orr r2, r4
+ strh r2, [r0, #0x0]
+ ldrh r2, [r0, #0x0]
+ and r2, r1
+ mov r1, #0x10
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ ldrh r1, [r0, #0x0]
+ and r1, r3
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl G3X_SetFog
+ mov r0, #0x0
+ ldr r2, _0207EFF8 ; =0x00007FFF
+ add r1, r0, #0x0
+ mov r3, #0x3f
+ str r0, [sp, #0x0]
+ bl G3X_SetClearColor
+ ldr r1, _0207EFFC ; =0x04000540
+ mov r0, #0x0
+ str r0, [r1, #0x0]
+ ldr r0, _0207F000 ; =0xBFFF0000
+ str r0, [r1, #0x40]
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0201E6E4
+ ldr r1, _0207F004 ; =0x04000008
+ mov r0, #0x3
+ ldrh r2, [r1, #0x0]
+ bic r2, r0
+ mov r0, #0x2
+ orr r0, r2
+ strh r0, [r1, #0x0]
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+_0207EFEC: .word 0x04000060
+_0207EFF0: .word 0xFFFFCFFD
+_0207EFF4: .word 0x0000CFFB
+_0207EFF8: .word 0x00007FFF
+_0207EFFC: .word 0x04000540
+_0207F000: .word 0xBFFF0000
+_0207F004: .word 0x04000008
+
+ thumb_func_start FUN_0207F008
+FUN_0207F008: ; 0x0207F008
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0207F05C ; =0x0000068C
+ ldrsb r0, [r4, r0]
+ cmp r0, #0x4
+ bne _0207F046
+ bl FUN_020222AC
+ bl FUN_0201EBA4
+ ldr r2, _0207F060 ; =0x04000440
+ mov r3, #0x0
+ add r1, r2, #0x0
+ str r3, [r2, #0x0]
+ add r1, #0x14
+ str r3, [r1, #0x0]
+ mov r0, #0x2
+ str r0, [r2, #0x0]
+ str r3, [r1, #0x0]
+ bl FUN_020B849C
+ mov r0, #0xb7
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_0207F108
+ bl FUN_020B849C
+ add r0, r4, #0x0
+ bl FUN_0207F1A4
+_0207F046:
+ bl FUN_020B02C8
+ mov r0, #0xae
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02006ED4
+ ldr r0, _0207F064 ; =0x04000540
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ pop {r4, pc}
+ .balign 4
+_0207F05C: .word 0x0000068C
+_0207F060: .word 0x04000440
+_0207F064: .word 0x04000540
+
+ thumb_func_start FUN_0207F068
+FUN_0207F068: ; 0x0207F068
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201EB70
+ mov r0, #0x2d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02014D9C
+ mov r0, #0x2d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_02014C28
+ mov r0, #0xae
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020072E8
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207F098
+FUN_0207F098: ; 0x0207F098
+ push {r3-r4, lr}
+ sub sp, #0x1c
+ ldr r3, _0207F100 ; =0x020FB5CC
+ add r4, r0, #0x0
+ ldmia r3!, {r0-r1}
+ add r2, sp, #0x10
+ stmia r2!, {r0-r1}
+ ldr r0, [r3, #0x0]
+ add r1, sp, #0x8
+ str r0, [r2, #0x0]
+ mov r0, #0x0
+ strh r0, [r1, #0x0]
+ strh r0, [r1, #0x2]
+ strh r0, [r1, #0x4]
+ strh r0, [r1, #0x6]
+ mov r0, #0x13
+ bl FUN_0201EB64
+ mov r1, #0xad
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r2, #0x1
+ str r2, [sp, #0x0]
+ ldr r0, [r4, r1]
+ lsl r1, r2, #0x10
+ str r0, [sp, #0x4]
+ ldr r3, _0207F104 ; =0x000005C1
+ add r0, sp, #0x10
+ add r2, sp, #0x8
+ bl FUN_0201ED10
+ mov r2, #0xad
+ lsl r2, r2, #0x2
+ mov r1, #0x19
+ ldr r2, [r4, r2]
+ mov r0, #0x0
+ lsl r1, r1, #0xe
+ bl FUN_0201EC94
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201EC88
+ mov r0, #0xad
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0201EB8C
+ add sp, #0x1c
+ pop {r3-r4, pc}
+ nop
+_0207F100: .word 0x020FB5CC
+_0207F104: .word 0x000005C1
+
+ thumb_func_start FUN_0207F108
+FUN_0207F108: ; 0x0207F108
+ push {r4-r7}
+ add r4, r0, #0x0
+ ldr r0, _0207F170 ; =0x121400C0
+ ldr r1, _0207F174 ; =0x040004A4
+ ldr r2, _0207F178 ; =0x00003FE8
+ str r0, [r1, #0x0]
+ mov r0, #0x1
+ str r0, [r1, #0x5c]
+ ldr r0, _0207F17C ; =0x0400048C
+ mov r3, #0x0
+ sub r1, #0x24
+_0207F11E:
+ str r2, [r1, #0x0]
+ ldrh r7, [r4, #0x2]
+ ldrh r5, [r4, #0x0]
+ ldrh r6, [r4, #0x4]
+ lsl r7, r7, #0x10
+ orr r5, r7
+ str r5, [r0, #0x0]
+ str r6, [r0, #0x0]
+ str r2, [r1, #0x0]
+ ldrh r7, [r4, #0x8]
+ ldrh r5, [r4, #0x6]
+ ldrh r6, [r4, #0xa]
+ lsl r7, r7, #0x10
+ orr r5, r7
+ str r5, [r0, #0x0]
+ str r6, [r0, #0x0]
+ str r2, [r1, #0x0]
+ ldrh r7, [r4, #0x14]
+ ldrh r5, [r4, #0x12]
+ ldrh r6, [r4, #0x16]
+ lsl r7, r7, #0x10
+ orr r5, r7
+ str r5, [r0, #0x0]
+ str r6, [r0, #0x0]
+ str r2, [r1, #0x0]
+ ldrh r7, [r4, #0xe]
+ ldrh r5, [r4, #0xc]
+ ldrh r6, [r4, #0x10]
+ lsl r7, r7, #0x10
+ orr r5, r7
+ str r5, [r0, #0x0]
+ add r3, r3, #0x1
+ add r4, #0x18
+ str r6, [r0, #0x0]
+ cmp r3, #0x4
+ blo _0207F11E
+ ldr r0, _0207F180 ; =0x04000504
+ mov r1, #0x0
+ str r1, [r0, #0x0]
+ pop {r4-r7}
+ bx lr
+ .balign 4
+_0207F170: .word 0x121400C0
+_0207F174: .word 0x040004A4
+_0207F178: .word 0x00003FE8
+_0207F17C: .word 0x0400048C
+_0207F180: .word 0x04000504
+
+ thumb_func_start FUN_0207F184
+FUN_0207F184: ; 0x0207F184
+ mov r2, #0x0
+ ldrsh r3, [r0, r2]
+ ldrsh r2, [r1, r2]
+ add r2, r3, r2
+ strh r2, [r0, #0x0]
+ mov r2, #0x2
+ ldrsh r3, [r0, r2]
+ ldrsh r2, [r1, r2]
+ add r2, r3, r2
+ strh r2, [r0, #0x2]
+ mov r2, #0x4
+ ldrsh r3, [r0, r2]
+ ldrsh r1, [r1, r2]
+ add r1, r3, r1
+ strh r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0207F1A4
+FUN_0207F1A4: ; 0x0207F1A4
+ push {r3-r7, lr}
+ sub sp, #0x18
+ mov r2, #0xff
+ lsl r2, r2, #0x2
+ add r1, r0, #0x0
+ ldr r1, [r1, r2]
+ str r0, [sp, #0x0]
+ cmp r1, #0x4
+ bne _0207F1BE
+ bl FUN_0207D598
+ add sp, #0x18
+ pop {r3-r7, pc}
+_0207F1BE:
+ cmp r1, #0x3
+ bne _0207F1EA
+ add r6, r0, #0x0
+ add r7, r2, #0x0
+ mov r0, #0xb7
+ mov r5, #0x0
+ sub r7, #0x60
+ lsl r0, r0, #0x2
+_0207F1CE:
+ add r4, r6, r7
+ add r3, r6, r0
+ mov r2, #0xc
+_0207F1D4:
+ ldrh r1, [r4, #0x0]
+ add r4, r4, #0x2
+ strh r1, [r3, #0x0]
+ add r3, r3, #0x2
+ sub r2, r2, #0x1
+ bne _0207F1D4
+ add r5, r5, #0x1
+ add r6, #0x18
+ cmp r5, #0x4
+ blo _0207F1CE
+ b _0207F274
+_0207F1EA:
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ sub r2, #0xc0
+ add r0, r0, r2
+ str r0, [sp, #0x14]
+ mov r0, #0xb7
+ lsl r0, r0, #0x2
+ ldr r1, [sp, #0x0]
+ add r2, r0, #0x0
+ add r1, r1, r0
+ str r1, [sp, #0x10]
+ ldr r1, [sp, #0x0]
+ add r2, #0x66
+ add r1, r1, r2
+ str r1, [sp, #0xc]
+ ldr r1, [sp, #0x0]
+ add r2, r0, #0x6
+ add r1, r1, r2
+ str r1, [sp, #0x8]
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x0]
+ add r2, #0x6c
+ add r7, r1, r2
+ add r2, r0, #0x0
+ add r2, #0xc
+ add r6, r1, r2
+ add r2, r0, #0x0
+ add r2, #0x72
+ add r0, #0x12
+ add r4, r1, r2
+ add r5, r1, r0
+_0207F22A:
+ ldr r0, [sp, #0x10]
+ ldr r1, [sp, #0x14]
+ bl FUN_0207F184
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0xc]
+ bl FUN_0207F184
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_0207F184
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0207F184
+ ldr r0, [sp, #0x14]
+ add r7, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ add r6, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ add r4, #0x18
+ add r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x8]
+ add r5, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ add r0, r0, #0x1
+ str r0, [sp, #0x4]
+ cmp r0, #0x4
+ blo _0207F22A
+_0207F274:
+ mov r1, #0xff
+ ldr r0, [sp, #0x0]
+ lsl r1, r1, #0x2
+ ldr r0, [r0, r1]
+ add r2, r0, #0x1
+ ldr r0, [sp, #0x0]
+ str r2, [r0, r1]
+ ldr r0, [r0, r1]
+ cmp r0, #0x4
+ bne _0207F294
+ ldr r0, [sp, #0x0]
+ mov r1, #0x1
+ bl FUN_0207D418
+ add sp, #0x18
+ pop {r3-r7, pc}
+_0207F294:
+ ldr r0, [sp, #0x0]
+ mov r1, #0x0
+ bl FUN_0207D418
+ add sp, #0x18
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0207F2A0
+FUN_0207F2A0: ; 0x0207F2A0
+ push {r3-r7, lr}
+ sub sp, #0x18
+ ldr r1, _0207F420 ; =0x0000068C
+ ldrsb r1, [r0, r1]
+ cmp r1, #0x4
+ beq _0207F2AE
+ b _0207F41A
+_0207F2AE:
+ ldr r7, _0207F424 ; =0x020FB60C
+ add r3, sp, #0x0
+ ldrh r1, [r7, #0x8]
+ strh r1, [r3, #0x12]
+ ldrh r1, [r7, #0xa]
+ strh r1, [r3, #0x14]
+ ldrh r1, [r7, #0xc]
+ strh r1, [r3, #0x16]
+ mov r1, #0xb7
+ lsl r1, r1, #0x2
+ ldrh r5, [r3, #0x12]
+ add r2, r1, #0x2
+ strh r5, [r0, r1]
+ ldrh r4, [r3, #0x14]
+ strh r4, [r0, r2]
+ ldrh r6, [r3, #0x16]
+ add r2, r1, #0x4
+ strh r6, [r0, r2]
+ add r2, r1, #0x6
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0x8
+ strh r4, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0xa
+ strh r6, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0xc
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0xe
+ strh r4, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0x10
+ strh r6, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0x12
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0x14
+ strh r4, [r0, r2]
+ add r2, r1, #0x0
+ add r2, #0x16
+ strh r6, [r0, r2]
+ ldrh r2, [r7, #0x3e]
+ ldr r6, _0207F428 ; =0x020FB64C
+ add r7, r1, #0x0
+ strh r2, [r3, #0xc]
+ ldrh r2, [r6, #0x0]
+ add r7, #0x1c
+ strh r2, [r3, #0xe]
+ ldrh r2, [r6, #0x2]
+ strh r2, [r3, #0x10]
+ add r2, r1, #0x0
+ ldrh r5, [r3, #0xc]
+ add r2, #0x18
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ ldrh r4, [r3, #0xe]
+ add r2, #0x1a
+ strh r4, [r0, r2]
+ ldrh r2, [r3, #0x10]
+ strh r2, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x1e
+ strh r5, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x20
+ strh r4, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x22
+ strh r2, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x24
+ strh r5, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x26
+ strh r4, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x28
+ strh r2, [r0, r7]
+ add r7, r1, #0x0
+ add r7, #0x2a
+ strh r5, [r0, r7]
+ add r5, r1, #0x0
+ add r5, #0x2c
+ strh r4, [r0, r5]
+ add r4, r1, #0x0
+ add r4, #0x2e
+ strh r2, [r0, r4]
+ ldrh r2, [r6, #0x34]
+ strh r2, [r3, #0x6]
+ ldrh r2, [r6, #0x36]
+ strh r2, [r3, #0x8]
+ ldrh r2, [r6, #0x38]
+ add r6, r1, #0x0
+ add r6, #0x34
+ strh r2, [r3, #0xa]
+ add r2, r1, #0x0
+ ldrh r5, [r3, #0x6]
+ add r2, #0x30
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ ldrh r4, [r3, #0x8]
+ add r2, #0x32
+ strh r4, [r0, r2]
+ ldrh r2, [r3, #0xa]
+ strh r2, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x36
+ strh r5, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x38
+ strh r4, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x3a
+ strh r2, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x3c
+ strh r5, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x3e
+ strh r4, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x40
+ strh r2, [r0, r6]
+ add r6, r1, #0x0
+ add r6, #0x42
+ strh r5, [r0, r6]
+ add r5, r1, #0x0
+ add r5, #0x44
+ strh r4, [r0, r5]
+ add r4, r1, #0x0
+ add r4, #0x46
+ strh r2, [r0, r4]
+ ldr r2, _0207F42C ; =0x020FB68C
+ ldrh r4, [r2, #0x2a]
+ strh r4, [r3, #0x0]
+ ldrh r4, [r2, #0x2c]
+ strh r4, [r3, #0x2]
+ ldrh r2, [r2, #0x2e]
+ strh r2, [r3, #0x4]
+ add r2, r1, #0x0
+ ldrh r5, [r3, #0x0]
+ add r2, #0x48
+ strh r5, [r0, r2]
+ add r2, r1, #0x0
+ ldrh r4, [r3, #0x2]
+ add r2, #0x4a
+ strh r4, [r0, r2]
+ ldrh r2, [r3, #0x4]
+ add r3, r1, #0x0
+ add r3, #0x4c
+ strh r2, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x4e
+ strh r5, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x50
+ strh r4, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x52
+ strh r2, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x54
+ strh r5, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x56
+ strh r4, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x58
+ strh r2, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x5a
+ strh r5, [r0, r3]
+ add r3, r1, #0x0
+ add r3, #0x5c
+ strh r4, [r0, r3]
+ add r1, #0x5e
+ strh r2, [r0, r1]
+ bl FUN_0207F608
+_0207F41A:
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_0207F420: .word 0x0000068C
+_0207F424: .word 0x020FB60C
+_0207F428: .word 0x020FB64C
+_0207F42C: .word 0x020FB68C
+
+ thumb_func_start FUN_0207F430
+FUN_0207F430: ; 0x0207F430
+ push {r4-r5}
+ cmp r2, #0xff
+ bne _0207F446
+ ldrh r2, [r0, #0x0]
+ strh r2, [r1, #0x0]
+ ldrh r2, [r0, #0x2]
+ strh r2, [r1, #0x2]
+ ldrh r0, [r0, #0x4]
+ strh r0, [r1, #0x4]
+ pop {r4-r5}
+ bx lr
+_0207F446:
+ cmp r2, #0x0
+ bne _0207F45A
+ ldrh r2, [r0, #0x6]
+ strh r2, [r1, #0x0]
+ ldrh r2, [r0, #0x8]
+ strh r2, [r1, #0x2]
+ ldrh r0, [r0, #0xa]
+ strh r0, [r1, #0x4]
+ pop {r4-r5}
+ bx lr
+_0207F45A:
+ mov r3, #0x6
+ ldrsh r5, [r0, r3]
+ mov r3, #0xc
+ ldrsh r3, [r0, r3]
+ add r4, r3, #0x0
+ mul r4, r2
+ add r3, r5, r4
+ strh r3, [r1, #0x0]
+ mov r3, #0x8
+ ldrsh r5, [r0, r3]
+ mov r3, #0xe
+ ldrsh r3, [r0, r3]
+ add r4, r3, #0x0
+ mul r4, r2
+ add r3, r5, r4
+ strh r3, [r1, #0x2]
+ mov r3, #0xa
+ ldrsh r4, [r0, r3]
+ mov r3, #0x10
+ ldrsh r0, [r0, r3]
+ mul r2, r0
+ add r0, r4, r2
+ strh r0, [r1, #0x4]
+ pop {r4-r5}
+ bx lr
+
+ thumb_func_start FUN_0207F48C
+FUN_0207F48C: ; 0x0207F48C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0x0
+ ldrsh r1, [r4, r0]
+ ldrsh r0, [r5, r0]
+ add r6, r2, #0x0
+ sub r7, r1, r0
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ mov r1, #0x0
+ bl _fgr
+ bls _0207F4E0
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ bl _ffix
+ b _0207F506
+_0207F4E0:
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+ bl _ffix
+_0207F506:
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ strh r0, [r6, #0x0]
+ mov r0, #0x2
+ ldrsh r1, [r4, r0]
+ ldrsh r0, [r5, r0]
+ sub r7, r1, r0
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ mov r1, #0x0
+ bl _fgr
+ bls _0207F558
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ bl _ffix
+ b _0207F57E
+_0207F558:
+ add r0, r7, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+ bl _ffix
+_0207F57E:
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ strh r0, [r6, #0x2]
+ mov r0, #0x4
+ ldrsh r1, [r4, r0]
+ ldrsh r0, [r5, r0]
+ sub r4, r1, r0
+ add r0, r4, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ mov r1, #0x0
+ bl _fgr
+ bls _0207F5D0
+ add r0, r4, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ bl _ffix
+ b _0207F5F6
+_0207F5D0:
+ add r0, r4, #0x0
+ bl _fflt
+ ldr r1, _0207F600 ; =0x45800000
+ bl _fdiv
+ ldr r1, _0207F604 ; =0x40800000
+ bl _fdiv
+ add r1, r0, #0x0
+ ldr r0, _0207F600 ; =0x45800000
+ bl _fmul
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+ bl _ffix
+_0207F5F6:
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ strh r0, [r6, #0x4]
+ pop {r3-r7, pc}
+ nop
+_0207F600: .word 0x45800000
+_0207F604: .word 0x40800000
+
+ thumb_func_start FUN_0207F608
+FUN_0207F608: ; 0x0207F608
+ push {r3-r7, lr}
+ sub sp, #0x28
+ ldr r2, _0207F7D0 ; =0x00000295
+ add r5, r0, #0x0
+ mov r1, #0xe7
+ lsl r1, r1, #0x2
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F7D4 ; =0x020FB5D8
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r2, _0207F7D8 ; =0x00000296
+ ldr r1, _0207F7DC ; =0x000003A2
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F7E0 ; =0x020FB5EA
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r2, _0207F7E4 ; =0x00000297
+ ldr r1, _0207F7E8 ; =0x000003AE
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F7EC ; =0x020FB5FC
+ add r1, r5, r1
+ bl FUN_0207F430
+ mov r1, #0xea
+ lsl r1, r1, #0x2
+ ldr r0, _0207F7F0 ; =0x020FB60E
+ add r1, r5, r1
+ mov r2, #0x0
+ bl FUN_0207F430
+ ldr r2, _0207F7F4 ; =0x00000299
+ mov r1, #0xed
+ lsl r1, r1, #0x2
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F7F8 ; =0x020FB620
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r2, _0207F7D0 ; =0x00000295
+ ldr r1, _0207F7FC ; =0x000003BA
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F800 ; =0x020FB632
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r1, _0207F804 ; =0x000003C6
+ ldr r0, _0207F808 ; =0x020FB644
+ add r1, r5, r1
+ mov r2, #0x0
+ bl FUN_0207F430
+ mov r2, #0xa6
+ lsl r2, r2, #0x2
+ mov r1, #0xf
+ lsl r1, r1, #0x6
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F80C ; =0x020FB656
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r2, _0207F7F4 ; =0x00000299
+ mov r1, #0xf3
+ lsl r1, r1, #0x2
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F810 ; =0x020FB668
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r1, _0207F814 ; =0x000003D2
+ ldr r0, _0207F818 ; =0x020FB67A
+ add r1, r5, r1
+ mov r2, #0x0
+ bl FUN_0207F430
+ ldr r2, _0207F7E4 ; =0x00000297
+ ldr r1, _0207F81C ; =0x000003DE
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F820 ; =0x020FB68C
+ add r1, r5, r1
+ bl FUN_0207F430
+ mov r2, #0xa6
+ lsl r2, r2, #0x2
+ mov r1, #0xf6
+ lsl r1, r1, #0x2
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F824 ; =0x020FB69E
+ add r1, r5, r1
+ bl FUN_0207F430
+ mov r1, #0xf9
+ lsl r1, r1, #0x2
+ ldr r0, _0207F828 ; =0x020FB6B0
+ add r1, r5, r1
+ mov r2, #0x0
+ bl FUN_0207F430
+ ldr r2, _0207F7D8 ; =0x00000296
+ ldr r1, _0207F82C ; =0x000003EA
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F830 ; =0x020FB6C2
+ add r1, r5, r1
+ bl FUN_0207F430
+ ldr r2, _0207F7E4 ; =0x00000297
+ ldr r1, _0207F834 ; =0x000003F6
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F838 ; =0x020FB6D4
+ add r1, r5, r1
+ bl FUN_0207F430
+ mov r2, #0xa6
+ lsl r2, r2, #0x2
+ mov r1, #0x3f
+ lsl r1, r1, #0x4
+ ldrb r2, [r5, r2]
+ ldr r0, _0207F83C ; =0x020FB6E6
+ add r1, r5, r1
+ bl FUN_0207F430
+ mov r0, #0x0
+ str r0, [sp, #0x24]
+ mov r0, #0xcf
+ lsl r0, r0, #0x2
+ add r1, r5, r0
+ str r1, [sp, #0x20]
+ add r1, r0, #0x0
+ add r1, #0x60
+ add r1, r5, r1
+ str r1, [sp, #0x1c]
+ add r1, r0, #0x0
+ sub r1, #0x60
+ add r1, r5, r1
+ str r1, [sp, #0x18]
+ add r1, r0, #0x6
+ add r1, r5, r1
+ str r1, [sp, #0x14]
+ add r1, r0, #0x0
+ add r1, #0x66
+ add r1, r5, r1
+ str r1, [sp, #0x10]
+ add r1, r0, #0x0
+ sub r1, #0x5a
+ add r1, r5, r1
+ str r1, [sp, #0xc]
+ add r1, r0, #0x0
+ add r1, #0xc
+ add r1, r5, r1
+ str r1, [sp, #0x8]
+ add r1, r0, #0x0
+ add r1, #0x6c
+ add r1, r5, r1
+ str r1, [sp, #0x4]
+ add r1, r0, #0x0
+ sub r1, #0x54
+ add r1, r5, r1
+ str r1, [sp, #0x0]
+ add r1, r0, #0x0
+ add r1, #0x12
+ add r7, r5, r1
+ add r1, r0, #0x0
+ add r1, #0x72
+ sub r0, #0x4e
+ add r6, r5, r1
+ add r4, r5, r0
+_0207F756:
+ ldr r0, [sp, #0x18]
+ ldr r1, [sp, #0x1c]
+ ldr r2, [sp, #0x20]
+ bl FUN_0207F48C
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x10]
+ ldr r2, [sp, #0x14]
+ bl FUN_0207F48C
+ ldr r0, [sp, #0x0]
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x8]
+ bl FUN_0207F48C
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ add r2, r7, #0x0
+ bl FUN_0207F48C
+ ldr r0, [sp, #0x20]
+ add r7, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x20]
+ ldr r0, [sp, #0x1c]
+ add r6, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x1c]
+ ldr r0, [sp, #0x18]
+ add r4, #0x18
+ add r0, #0x18
+ str r0, [sp, #0x18]
+ ldr r0, [sp, #0x14]
+ add r0, #0x18
+ str r0, [sp, #0x14]
+ ldr r0, [sp, #0x10]
+ add r0, #0x18
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0xc]
+ add r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x8]
+ add r0, #0x18
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ add r0, #0x18
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ add r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x24]
+ add r0, r0, #0x1
+ str r0, [sp, #0x24]
+ cmp r0, #0x4
+ blo _0207F756
+ mov r0, #0xff
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ str r1, [r5, r0]
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+_0207F7D0: .word 0x00000295
+_0207F7D4: .word 0x020FB5D8
+_0207F7D8: .word 0x00000296
+_0207F7DC: .word 0x000003A2
+_0207F7E0: .word 0x020FB5EA
+_0207F7E4: .word 0x00000297
+_0207F7E8: .word 0x000003AE
+_0207F7EC: .word 0x020FB5FC
+_0207F7F0: .word 0x020FB60E
+_0207F7F4: .word 0x00000299
+_0207F7F8: .word 0x020FB620
+_0207F7FC: .word 0x000003BA
+_0207F800: .word 0x020FB632
+_0207F804: .word 0x000003C6
+_0207F808: .word 0x020FB644
+_0207F80C: .word 0x020FB656
+_0207F810: .word 0x020FB668
+_0207F814: .word 0x000003D2
+_0207F818: .word 0x020FB67A
+_0207F81C: .word 0x000003DE
+_0207F820: .word 0x020FB68C
+_0207F824: .word 0x020FB69E
+_0207F828: .word 0x020FB6B0
+_0207F82C: .word 0x000003EA
+_0207F830: .word 0x020FB6C2
+_0207F834: .word 0x000003F6
+_0207F838: .word 0x020FB6D4
+_0207F83C: .word 0x020FB6E6
+
+ thumb_func_start FUN_0207F840
+FUN_0207F840: ; 0x0207F840
+ push {r4, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ mov r0, #0x13
+ bl FUN_02006D98
+ mov r1, #0xae
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0207B628
+ add r1, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r0, [r0, #0x11]
+ cmp r0, #0x2
+ add r0, sp, #0x10
+ bne _0207F870
+ mov r2, #0x2
+ bl FUN_02068B70
+ b _0207F876
+_0207F870:
+ mov r2, #0x2
+ bl FUN_02068B68
+_0207F876:
+ mov r1, #0xaf
+ lsl r1, r1, #0x2
+ add r0, r4, r1
+ sub r1, #0x60
+ ldrh r1, [r4, r1]
+ bl FUN_02069010
+ mov r0, #0x97
+ lsl r0, r0, #0x2
+ ldrh r0, [r4, r0]
+ mov r1, #0x1c
+ bl FUN_02068678
+ mov r1, #0x1
+ eor r0, r1
+ mov r1, #0xb6
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ add r0, r1, #0x0
+ mov r2, #0x0
+ str r2, [sp, #0x0]
+ sub r0, #0x1c
+ str r2, [sp, #0x4]
+ add r0, r4, r0
+ str r0, [sp, #0x8]
+ str r2, [sp, #0xc]
+ sub r1, #0x20
+ ldr r0, [r4, r1]
+ add r1, sp, #0x10
+ mov r2, #0x34
+ mov r3, #0x68
+ bl FUN_020073A0
+ mov r2, #0xb5
+ lsl r2, r2, #0x2
+ str r0, [r4, r2]
+ ldr r0, [r4, r2]
+ add r2, r2, #0x4
+ ldr r2, [r4, r2]
+ mov r1, #0x23
+ bl FUN_02007558
+ add sp, #0x20
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207F8D0
+FUN_0207F8D0: ; 0x0207F8D0
+ push {r3-r4, lr}
+ sub sp, #0xc
+ mov r1, #0x2a
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldr r0, [r4, r1]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ beq _0207F904
+ mov r2, #0x0
+ add r0, r1, #0x0
+ str r2, [sp, #0x0]
+ add r0, #0x38
+ ldr r0, [r4, r0]
+ mov r3, #0x2
+ str r0, [sp, #0x4]
+ add r0, r1, #0x0
+ str r2, [sp, #0x8]
+ add r0, #0x30
+ add r1, #0x34
+ ldr r0, [r4, r0]
+ ldr r1, [r4, r1]
+ bl FUN_02069038
+ add sp, #0xc
+ pop {r3-r4, pc}
+_0207F904:
+ add r1, #0x34
+ ldr r0, [r4, r1]
+ mov r1, #0x1
+ bl FUN_02007314
+ mov r1, #0x0
+ mov r2, #0xb6
+ str r1, [sp, #0x0]
+ lsl r2, r2, #0x2
+ ldr r0, [r4, r2]
+ mov r3, #0x2
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ add r0, r2, #0x0
+ sub r1, r2, #0x4
+ sub r2, #0x7c
+ sub r0, #0x8
+ ldrh r2, [r4, r2]
+ ldr r0, [r4, r0]
+ ldr r1, [r4, r1]
+ bl FUN_02069038
+ add sp, #0xc
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_0207F934
+FUN_0207F934: ; 0x0207F934
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x2d
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ mov r1, #0x0
+ bl FUN_02014D9C
+ mov r0, #0xae
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020072E8
+ add r0, r4, #0x0
+ bl FUN_0207F840
+ add r0, r4, #0x0
+ bl FUN_0207F8D0
+ pop {r4, pc}
+
+ thumb_func_start FUN_0207F95C
+FUN_0207F95C: ; 0x0207F95C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x93
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ ldrb r1, [r0, #0x12]
+ cmp r1, #0x3
+ bhi _0207F9AC
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0207F978: ; jump table (using 16-bit offset)
+ .short _0207F980 - _0207F978 - 2; case 0
+ .short _0207F980 - _0207F978 - 2; case 1
+ .short _0207F9AC - _0207F978 - 2; case 2
+ .short _0207F9AC - _0207F978 - 2; case 3
+_0207F980:
+ ldr r0, [r0, #0x2c]
+ ldr r1, _0207F9C4 ; =0x0000068F
+ cmp r0, #0x0
+ beq _0207F992
+ ldrb r2, [r4, r1]
+ mov r0, #0xf
+ bic r2, r0
+ strb r2, [r4, r1]
+ b _0207F9BA
+_0207F992:
+ ldrb r2, [r4, r1]
+ mov r0, #0xf
+ bic r2, r0
+ mov r0, #0x1
+ orr r0, r2
+ strb r0, [r4, r1]
+ mov r1, #0x4
+ ldr r0, [r4, #0x0]
+ mov r2, #0x0
+ add r3, r1, #0x0
+ bl FUN_0201AEE4
+ b _0207F9BA
+_0207F9AC:
+ ldr r1, _0207F9C4 ; =0x0000068F
+ mov r0, #0xf
+ ldrb r2, [r4, r1]
+ bic r2, r0
+ mov r0, #0xf
+ orr r0, r2
+ strb r0, [r4, r1]
+_0207F9BA:
+ add r0, r4, #0x0
+ bl FUN_0207FA38
+ pop {r4, pc}
+ nop
+_0207F9C4: .word 0x0000068F
+
+ thumb_func_start FUN_0207F9C8
+FUN_0207F9C8: ; 0x0207F9C8
+ push {r3-r7, lr}
+ ldr r0, [r0, #0x0]
+ add r4, r1, #0x0
+ mov r1, #0x4
+ add r5, r2, #0x0
+ bl FUN_0201886C
+ add r7, r0, #0x0
+ lsl r0, r5, #0x2
+ add r1, r5, r0
+ ldrb r2, [r4, #0x0]
+ mov r0, #0x1
+ mov r3, #0x0
+ add r5, r2, #0x0
+ and r5, r0
+ mov r0, #0xf
+ mul r0, r5
+ lsr r5, r2, #0x1
+ mov r2, #0x96
+ mul r2, r5
+ add r0, r0, r2
+ add r0, r1, r0
+ add r0, #0x1e
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r12, r0
+_0207F9FC:
+ mov r0, #0x1e
+ add r1, r3, #0x0
+ mul r1, r0
+ mov r0, r12
+ mov r2, #0x0
+ add r5, r0, r1
+_0207FA08:
+ ldrb r0, [r4, #0x1]
+ ldrb r6, [r4, #0x3]
+ lsl r1, r0, #0xc
+ add r0, r2, r5
+ add r1, r1, r0
+ add r6, r3, r6
+ lsl r6, r6, #0x5
+ ldrb r0, [r4, #0x2]
+ add r6, r2, r6
+ add r0, r0, r6
+ lsl r0, r0, #0x1
+ strh r1, [r7, r0]
+ add r0, r2, #0x1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+ cmp r2, #0x5
+ blo _0207FA08
+ add r0, r3, #0x1
+ lsl r0, r0, #0x18
+ lsr r3, r0, #0x18
+ cmp r3, #0x5
+ blo _0207F9FC
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_0207FA38
+FUN_0207FA38: ; 0x0207FA38
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, _0207FA78 ; =0x0000068F
+ ldrb r0, [r6, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ cmp r0, #0xf
+ beq _0207FA74
+ lsl r1, r0, #0x2
+ ldr r0, _0207FA7C ; =0x02106148
+ mov r5, #0x0
+ ldr r4, [r0, r1]
+ add r7, r5, #0x0
+_0207FA52:
+ lsl r1, r5, #0x2
+ ldrb r0, [r4, r1]
+ cmp r0, #0xff
+ beq _0207FA6C
+ add r0, r6, #0x0
+ add r1, r4, r1
+ add r2, r7, #0x0
+ bl FUN_0207F9C8
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ b _0207FA52
+_0207FA6C:
+ ldr r0, [r6, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+_0207FA74:
+ pop {r3-r7, pc}
+ nop
+_0207FA78: .word 0x0000068F
+_0207FA7C: .word 0x02106148
+
+ thumb_func_start FUN_0207FA80
+FUN_0207FA80: ; 0x0207FA80
+ push {r3, lr}
+ bl FUN_0207FA98
+ mov r1, #0x0
+ mvn r1, r1
+ cmp r0, r1
+ beq _0207FA94
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3, pc}
+_0207FA94:
+ mov r0, #0xff
+ pop {r3, pc}
+
+ thumb_func_start FUN_0207FA98
+FUN_0207FA98: ; 0x0207FA98
+ push {r3, lr}
+ ldr r1, _0207FAB8 ; =0x0000068F
+ ldrb r0, [r0, r1]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ cmp r0, #0xf
+ bne _0207FAAC
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3, pc}
+_0207FAAC:
+ lsl r1, r0, #0x2
+ ldr r0, _0207FABC ; =0x0210613C
+ ldr r0, [r0, r1]
+ bl FUN_02020988
+ pop {r3, pc}
+ .balign 4
+_0207FAB8: .word 0x0000068F
+_0207FABC: .word 0x0210613C
+
+ thumb_func_start FUN_0207FAC0
+FUN_0207FAC0: ; 0x0207FAC0
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ ldr r0, _0207FB18 ; =0x0000068F
+ ldrb r0, [r5, r0]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1c
+ cmp r0, #0xf
+ bne _0207FADA
+ mov r0, #0x0
+ add sp, #0x8
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0207FADA:
+ lsl r1, r0, #0x2
+ ldr r0, _0207FB1C ; =0x0210613C
+ ldr r0, [r0, r1]
+ bl FUN_02020968
+ add r4, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r4, r0
+ beq _0207FB12
+ ldr r1, _0207FB20 ; =0x0000FFFE
+ add r0, sp, #0x4
+ strh r1, [r0, #0x0]
+ add r0, sp, #0x4
+ str r0, [sp, #0x0]
+ ldr r3, _0207FB24 ; =0x021C48F8
+ ldr r0, [r5, #0x0]
+ ldrh r2, [r3, #0x1c]
+ ldrh r3, [r3, #0x1e]
+ mov r1, #0x4
+ bl FUN_0201AFBC
+ cmp r0, #0x0
+ bne _0207FB12
+ mov r0, #0x0
+ add sp, #0x8
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0207FB12:
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+ .balign 4
+_0207FB18: .word 0x0000068F
+_0207FB1C: .word 0x0210613C
+_0207FB20: .word 0x0000FFFE
+_0207FB24: .word 0x021C48F8
+
+ thumb_func_start FUN_0207FB28
+FUN_0207FB28: ; 0x0207FB28
+ push {r4-r6, lr}
+ ldr r1, _0207FBF4 ; =0x0000068F
+ add r5, r0, #0x0
+ ldrb r2, [r5, r1]
+ lsl r2, r2, #0x1c
+ lsr r3, r2, #0x1a
+ ldr r2, _0207FBF8 ; =0x02106148
+ ldr r4, [r2, r3]
+ add r2, r1, #0x6
+ ldrb r2, [r5, r2]
+ cmp r2, #0x0
+ beq _0207FB4A
+ cmp r2, #0x1
+ beq _0207FB84
+ cmp r2, #0x2
+ beq _0207FB8C
+ b _0207FBEE
+_0207FB4A:
+ sub r1, #0xab
+ add r0, r1, #0x0
+ bl FUN_020054C8
+ add r0, r5, #0x0
+ bl FUN_0207FA38
+ ldr r1, _0207FBFC ; =0x00000696
+ add r0, r5, #0x0
+ ldrb r1, [r5, r1]
+ mov r2, #0x2
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ bl FUN_0207F9C8
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+ add r0, r5, #0x0
+ bl FUN_0207CEDC
+ ldr r0, _0207FC00 ; =0x00000694
+ mov r1, #0x0
+ strb r1, [r5, r0]
+ mov r1, #0x1
+ add r0, r0, #0x1
+ strb r1, [r5, r0]
+ b _0207FBEE
+_0207FB84:
+ mov r2, #0x2
+ add r0, r1, #0x6
+ strb r2, [r5, r0]
+ b _0207FBEE
+_0207FB8C:
+ add r2, r1, #0x5
+ ldrb r2, [r5, r2]
+ cmp r2, #0x3
+ beq _0207FBA0
+ add r0, r1, #0x5
+ ldrb r0, [r5, r0]
+ add r2, r0, #0x1
+ add r0, r1, #0x5
+ strb r2, [r5, r0]
+ b _0207FBEE
+_0207FBA0:
+ bl FUN_0207CF58
+ ldr r0, _0207FBFC ; =0x00000696
+ ldrb r6, [r5, r0]
+ add r0, r5, #0x0
+ bl FUN_0207FAC0
+ cmp r6, r0
+ beq _0207FBEE
+ mov r0, #0x2a
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ lsl r0, r0, #0x3
+ lsr r0, r0, #0x1f
+ beq _0207FBD6
+ lsl r1, r6, #0x2
+ ldrb r0, [r4, r1]
+ cmp r0, #0x1
+ beq _0207FBD6
+ cmp r0, #0x7
+ beq _0207FBD6
+ add r0, r5, #0x0
+ add r1, r4, r1
+ mov r2, #0x0
+ bl FUN_0207F9C8
+ b _0207FBE2
+_0207FBD6:
+ lsl r1, r6, #0x2
+ add r0, r5, #0x0
+ add r1, r4, r1
+ mov r2, #0x1
+ bl FUN_0207F9C8
+_0207FBE2:
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ bl FUN_0201AC68
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_0207FBEE:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ nop
+_0207FBF4: .word 0x0000068F
+_0207FBF8: .word 0x02106148
+_0207FBFC: .word 0x00000696
+_0207FC00: .word 0x00000694
+
+ thumb_func_start FUN_0207FC04
+FUN_0207FC04: ; 0x0207FC04
+ push {r4-r5}
+ ldr r4, _0207FC38 ; =0x0000068F
+ ldrb r3, [r0, r4]
+ lsl r3, r3, #0x1c
+ lsr r5, r3, #0x1a
+ ldr r3, _0207FC3C ; =0x02106148
+ ldr r3, [r3, r5]
+ add r5, r4, #0x7
+ ldrb r5, [r0, r5]
+ lsl r5, r5, #0x2
+ add r5, r3, r5
+ ldrb r5, [r5, #0x2]
+ lsl r5, r5, #0x3
+ add r5, #0x14
+ strh r5, [r1, #0x0]
+ add r1, r4, #0x7
+ ldrb r0, [r0, r1]
+ lsl r0, r0, #0x2
+ add r0, r3, r0
+ ldrb r0, [r0, #0x3]
+ lsl r0, r0, #0x3
+ add r0, #0x14
+ strh r0, [r2, #0x0]
+ pop {r4-r5}
+ bx lr
+ nop
+_0207FC38: .word 0x0000068F
+_0207FC3C: .word 0x02106148
+
+ thumb_func_start FUN_0207FC40
+FUN_0207FC40: ; 0x0207FC40
+ ldr r2, _0207FC54 ; =0x0000068F
+ ldrb r0, [r0, r2]
+ lsl r0, r0, #0x1c
+ lsr r2, r0, #0x1a
+ ldr r0, _0207FC58 ; =0x02106148
+ ldr r2, [r0, r2]
+ lsl r0, r1, #0x2
+ ldrb r0, [r2, r0]
+ bx lr
+ nop
+_0207FC54: .word 0x0000068F
+_0207FC58: .word 0x02106148
+
+ thumb_func_start FUN_0207FC5C
+FUN_0207FC5C: ; 0x0207FC5C
+ cmp r1, #0x4
+ bhi _0207FCA8
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0207FC6C: ; jump table (using 16-bit offset)
+ .short _0207FC76 - _0207FC6C - 2; case 0
+ .short _0207FC80 - _0207FC6C - 2; case 1
+ .short _0207FC8A - _0207FC6C - 2; case 2
+ .short _0207FC94 - _0207FC6C - 2; case 3
+ .short _0207FC9E - _0207FC6C - 2; case 4
+_0207FC76:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCAC ; =0x020FB788
+ ldr r0, [r0, r1]
+ bx lr
+_0207FC80:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB0 ; =0x020FB78C
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC8A:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB4 ; =0x020FB78E
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC94:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCB8 ; =0x020FB790
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FC9E:
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCBC ; =0x020FB792
+ ldrh r0, [r0, r1]
+ bx lr
+_0207FCA8:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_0207FCAC: .word 0x020FB788
+_0207FCB0: .word 0x020FB78C
+_0207FCB4: .word 0x020FB78E
+_0207FCB8: .word 0x020FB790
+_0207FCBC: .word 0x020FB792
+
+ thumb_func_start FUN_0207FCC0
+FUN_0207FCC0: ; 0x0207FCC0
+ mov r2, #0xc
+ mul r2, r1
+ ldr r1, _0207FCDC ; =0x020FB792
+ ldrh r2, [r1, r2]
+ mov r1, #0x2
+ lsl r1, r1, #0xe
+ tst r1, r2
+ beq _0207FCD8
+ lsl r1, r2, #0x18
+ lsr r1, r1, #0x18
+ ldrb r2, [r0, r1]
+ add r2, #0x92
+_0207FCD8:
+ add r0, r2, #0x0
+ bx lr
+ .balign 4
+_0207FCDC: .word 0x020FB792
+
+ thumb_func_start FUN_0207FCE0
+FUN_0207FCE0: ; 0x0207FCE0
+ mov r1, #0xc
+ mul r1, r0
+ ldr r0, _0207FCFC ; =0x020FB792
+ ldrh r1, [r0, r1]
+ mov r0, #0x2
+ lsl r0, r0, #0xe
+ tst r0, r1
+ beq _0207FCF6
+ lsl r0, r1, #0x18
+ lsr r0, r0, #0x18
+ bx lr
+_0207FCF6:
+ mov r0, #0xff
+ bx lr
+ nop
+_0207FCFC: .word 0x020FB792
+
+ thumb_func_start FUN_0207FD00
+FUN_0207FD00: ; 0x0207FD00
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x3c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r2, #0x65
+ str r7, [r4, #0x0]
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ add r3, r7, #0x0
+ bl FUN_0200A86C
+ str r0, [r4, #0x4]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x9
+ mov r1, #0x20
+ bl FUN_0200AA90
+ str r0, [r4, #0x8]
+ str r5, [r4, #0xc]
+ str r6, [r4, #0x10]
+ mov r0, #0x0
+ str r0, [r4, #0x14]
+ str r0, [r4, #0x18]
+ str r0, [r4, #0x1c]
+ str r0, [r4, #0x20]
+ str r0, [r4, #0x24]
+ str r0, [r4, #0x28]
+ str r0, [r4, #0x2c]
+ str r0, [r4, #0x30]
+ str r0, [r4, #0x34]
+ str r0, [r4, #0x38]
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0x0]
+ bl FUN_020806F4
+ cmp r0, #0x14
+ bls _0207FD5A
+ b _02080090
+_0207FD5A:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0207FD66: ; jump table (using 16-bit offset)
+ .short _0207FD90 - _0207FD66 - 2; case 0
+ .short _0207FDBC - _0207FD66 - 2; case 1
+ .short _0207FDE8 - _0207FD66 - 2; case 2
+ .short _0207FE14 - _0207FD66 - 2; case 3
+ .short _0207FE40 - _0207FD66 - 2; case 4
+ .short _0207FE6C - _0207FD66 - 2; case 5
+ .short _0207FE98 - _0207FD66 - 2; case 6
+ .short _0207FEC4 - _0207FD66 - 2; case 7
+ .short _0207FEF0 - _0207FD66 - 2; case 8
+ .short _0207FF1C - _0207FD66 - 2; case 9
+ .short _0207FF3E - _0207FD66 - 2; case 10
+ .short _0207FF60 - _0207FD66 - 2; case 11
+ .short _0207FF82 - _0207FD66 - 2; case 12
+ .short _0207FFA4 - _0207FD66 - 2; case 13
+ .short _0207FFC6 - _0207FD66 - 2; case 14
+ .short _0207FFE8 - _0207FD66 - 2; case 15
+ .short _02080014 - _0207FD66 - 2; case 16
+ .short _0208002E - _0207FD66 - 2; case 17
+ .short _02080046 - _0207FD66 - 2; case 18
+ .short _02080060 - _0207FD66 - 2; case 19
+ .short _02080078 - _0207FD66 - 2; case 20
+_0207FD90:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x31
+ bl FUN_02080108
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FDBC:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x32
+ bl FUN_02080108
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FDE8:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x33
+ bl FUN_02080108
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE14:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x34
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE40:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x35
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE6C:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x36
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FE98:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x37
+ bl FUN_02080108
+ mov r0, #0x8
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x9
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FEC4:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x38
+ bl FUN_02080108
+ mov r0, #0x7
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x8
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FEF0:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x39
+ bl FUN_02080108
+ mov r0, #0x7
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x8
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_0207FF1C:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3a
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF3E:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3b
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF60:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3c
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FF82:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3d
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFA4:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3e
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFC6:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x3f
+ bl FUN_02080108
+ mov r0, #0x9
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ b _02080090
+_0207FFE8:
+ mov r0, #0x1
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ bl FUN_020800E0
+ mov r0, #0x2
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x40
+ bl FUN_02080228
+ mov r0, #0x6
+ str r0, [r4, #0x24]
+ add r0, r4, #0x0
+ bl FUN_0208048C
+ mov r0, #0x7
+ str r0, [r4, #0x2c]
+ add r0, r4, #0x0
+ bl FUN_02080678
+ b _02080090
+_02080014:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x65
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_0208002E:
+ mov r2, #0x1
+ add r0, r4, #0x0
+ mov r1, #0x66
+ str r2, [r4, #0x1c]
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080046:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x67
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080060:
+ mov r2, #0x1
+ add r0, r4, #0x0
+ mov r1, #0x67
+ str r2, [r4, #0x1c]
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+ b _02080090
+_02080078:
+ mov r0, #0x1
+ str r0, [r4, #0x1c]
+ add r0, r4, #0x0
+ mov r1, #0x68
+ mov r2, #0x0
+ bl FUN_02080384
+ mov r0, #0x6
+ str r0, [r4, #0x34]
+ add r0, r4, #0x0
+ bl FUN_020806B4
+_02080090:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02080094
+FUN_02080094: ; 0x02080094
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x18]
+ cmp r0, #0x0
+ beq _020800A2
+ bl FUN_02016A18
+_020800A2:
+ ldr r0, [r4, #0x20]
+ cmp r0, #0x0
+ beq _020800AC
+ bl FUN_02016A18
+_020800AC:
+ ldr r0, [r4, #0x28]
+ cmp r0, #0x0
+ beq _020800B6
+ bl FUN_02016A18
+_020800B6:
+ ldr r0, [r4, #0x30]
+ cmp r0, #0x0
+ beq _020800C0
+ bl FUN_02016A18
+_020800C0:
+ ldr r0, [r4, #0x38]
+ cmp r0, #0x0
+ beq _020800CA
+ bl FUN_02016A18
+_020800CA:
+ ldr r0, [r4, #0x8]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x4]
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020800E0
+FUN_020800E0: ; 0x020800E0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ bl FUN_02068854
+ add r4, r0, #0x0
+ cmp r4, #0x18
+ bgt _02080106
+ ldr r1, [r5, #0x0]
+ mov r0, #0x48
+ bl FUN_020219F4
+ str r0, [r5, #0x18]
+ add r4, #0x18
+ ldr r0, [r5, #0x4]
+ ldr r2, [r5, #0x18]
+ add r1, r4, #0x0
+ bl FUN_0200A8E0
+_02080106:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02080108
+FUN_02080108: ; 0x02080108
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x9
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0x6
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ mov r0, #0x9
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0x6
+ bl FUN_020219F4
+ str r0, [r5, #0x20]
+ ldr r0, [r5, #0x4]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ ldr r0, [r5, #0xc]
+ mov r1, #0x94
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r3, #0x2
+ add r2, r0, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x95
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x1
+ bl FUN_0200B764
+ ldr r0, [r5, #0xc]
+ mov r1, #0x96
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x2
+ ldr r0, [r5, #0x8]
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x9b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x3
+ ldr r0, [r5, #0x8]
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ ldr r0, [r5, #0xc]
+ mov r1, #0x91
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r3, #0x2
+ add r2, r0, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x5
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x92
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x6
+ bl FUN_0200B764
+ ldr r0, [r5, #0xc]
+ mov r1, #0x93
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x7
+ mov r3, #0x2
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x8
+ bl FUN_0200B59C
+ ldr r0, [r5, #0x8]
+ ldr r1, [r5, #0x20]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02080228
+FUN_02080228: ; 0x02080228
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0x12
+ ldr r1, [r4, #0x0]
+ lsl r0, r0, #0x4
+ bl FUN_020219F4
+ add r5, r0, #0x0
+ mov r0, #0x12
+ ldr r1, [r4, #0x0]
+ lsl r0, r0, #0x4
+ bl FUN_020219F4
+ str r0, [r4, #0x20]
+ ldr r0, [r4, #0x4]
+ add r1, r6, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200A8E0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x94
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r3, #0x2
+ add r2, r0, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r4, #0xc]
+ mov r1, #0x95
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_0200B764
+ ldr r0, [r4, #0xc]
+ mov r1, #0x96
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x2
+ ldr r0, [r4, #0x8]
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r4, #0xc]
+ mov r1, #0x9b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r1, #0x3
+ ldr r0, [r4, #0x8]
+ add r3, r1, #0x0
+ bl FUN_0200AD38
+ ldr r0, [r4, #0xc]
+ mov r1, #0x79
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0xf
+ bhi _020802F8
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020802D8: ; jump table (using 16-bit offset)
+ .short _020802F8 - _020802D8 - 2; case 0
+ .short _02080334 - _020802D8 - 2; case 1
+ .short _02080334 - _020802D8 - 2; case 2
+ .short _02080334 - _020802D8 - 2; case 3
+ .short _0208030C - _020802D8 - 2; case 4
+ .short _0208030C - _020802D8 - 2; case 5
+ .short _020802F8 - _020802D8 - 2; case 6
+ .short _02080320 - _020802D8 - 2; case 7
+ .short _02080320 - _020802D8 - 2; case 8
+ .short _020802F8 - _020802D8 - 2; case 9
+ .short _0208035C - _020802D8 - 2; case 10
+ .short _0208035C - _020802D8 - 2; case 11
+ .short _020802F8 - _020802D8 - 2; case 12
+ .short _020802F8 - _020802D8 - 2; case 13
+ .short _020802F8 - _020802D8 - 2; case 14
+ .short _02080348 - _020802D8 - 2; case 15
+_020802F8:
+ mov r0, #0x1
+ mov r1, #0x7
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_0208030C:
+ mov r0, #0x1
+ mov r1, #0x3
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080320:
+ mov r0, #0x1
+ mov r1, #0x4
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080334:
+ mov r0, #0x1
+ mov r1, #0x5
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_02080348:
+ mov r0, #0x1
+ mov r1, #0x8
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+ b _0208036E
+_0208035C:
+ mov r0, #0x1
+ mov r1, #0x7
+ bl FUN_02015CF8
+ add r2, r0, #0x0
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_0200B59C
+_0208036E:
+ ldr r0, [r4, #0x8]
+ ldr r1, [r4, #0x20]
+ add r2, r5, #0x0
+ bl FUN_0200B7B8
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02080384
+FUN_02080384: ; 0x02080384
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ mov r0, #0x5a
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0x2
+ add r6, r2, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ mov r0, #0x5a
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0x2
+ bl FUN_020219F4
+ str r0, [r5, #0x20]
+ ldr r0, [r5, #0x4]
+ add r1, r7, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ cmp r6, #0x0
+ ldr r0, [r5, #0xc]
+ bne _02080418
+ mov r1, #0x91
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r3, #0x2
+ add r2, r0, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x5
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x92
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x6
+ bl FUN_0200B764
+ ldr r0, [r5, #0xc]
+ mov r1, #0x93
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x7
+ mov r3, #0x2
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x8
+ bl FUN_0200B59C
+ b _02080478
+_02080418:
+ mov r1, #0x94
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r3, #0x2
+ add r2, r0, #0x0
+ str r3, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x5
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x95
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x6
+ bl FUN_0200B764
+ ldr r0, [r5, #0xc]
+ mov r1, #0x96
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x8]
+ mov r1, #0x7
+ mov r3, #0x2
+ bl FUN_0200AD38
+ ldr r0, [r5, #0xc]
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r0, [r5, #0x8]
+ mov r1, #0x8
+ bl FUN_0200B59C
+_02080478:
+ ldr r0, [r5, #0x8]
+ ldr r1, [r5, #0x20]
+ add r2, r4, #0x0
+ bl FUN_0200B7B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0208048C
+FUN_0208048C: ; 0x0208048C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ mov r0, #0x48
+ bl FUN_020219F4
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x46
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x47
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x48
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x49
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x4a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x4b
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r1, #0x0
+ ldr r0, [r4, #0xc]
+ add r2, r1, #0x0
+ bl FUN_020671BC
+ mov r1, #0x6
+ bl _u32_div_f
+ cmp r1, #0x5
+ bhi _02080510
+ add r0, r1, r1
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02080504: ; jump table (using 16-bit offset)
+ .short _02080510 - _02080504 - 2; case 0
+ .short _02080548 - _02080504 - 2; case 1
+ .short _0208057E - _02080504 - 2; case 2
+ .short _020805B4 - _02080504 - 2; case 3
+ .short _020805EA - _02080504 - 2; case 4
+ .short _02080620 - _02080504 - 2; case 5
+_02080510:
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x8]
+ add r2, r0, #0x0
+ mov r5, #0x0
+ cmp r2, r1
+ bge _02080520
+ mov r5, #0x1
+ add r0, r1, #0x0
+_02080520:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _0208052A
+ mov r5, #0x2
+ add r0, r1, #0x0
+_0208052A:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _02080534
+ mov r5, #0x3
+ add r0, r1, #0x0
+_02080534:
+ cmp r0, r7
+ bge _0208053C
+ mov r5, #0x4
+ add r0, r7, #0x0
+_0208053C:
+ cmp r0, r6
+ blt _02080542
+ b _02080654
+_02080542:
+ mov r5, #0x5
+ add r0, r6, #0x0
+ b _02080654
+_02080548:
+ ldr r0, [sp, #0x8]
+ ldr r1, [sp, #0x4]
+ add r2, r0, #0x0
+ mov r5, #0x1
+ cmp r2, r1
+ bge _02080558
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080558:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _02080562
+ mov r5, #0x3
+ add r0, r1, #0x0
+_02080562:
+ cmp r0, r7
+ bge _0208056A
+ mov r5, #0x4
+ add r0, r7, #0x0
+_0208056A:
+ cmp r0, r6
+ bge _02080572
+ mov r5, #0x5
+ add r0, r6, #0x0
+_02080572:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x0
+ add r0, r1, #0x0
+ b _02080654
+_0208057E:
+ ldr r0, [sp, #0x4]
+ ldr r1, [sp, #0x0]
+ add r2, r0, #0x0
+ mov r5, #0x2
+ cmp r2, r1
+ bge _0208058E
+ mov r5, #0x3
+ add r0, r1, #0x0
+_0208058E:
+ cmp r0, r7
+ bge _02080596
+ mov r5, #0x4
+ add r0, r7, #0x0
+_02080596:
+ cmp r0, r6
+ bge _0208059E
+ mov r5, #0x5
+ add r0, r6, #0x0
+_0208059E:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _020805A8
+ mov r5, #0x0
+ add r0, r1, #0x0
+_020805A8:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x1
+ add r0, r1, #0x0
+ b _02080654
+_020805B4:
+ ldr r0, [sp, #0x0]
+ mov r5, #0x3
+ add r1, r0, #0x0
+ cmp r1, r7
+ bge _020805C2
+ mov r5, #0x4
+ add r0, r7, #0x0
+_020805C2:
+ cmp r0, r6
+ bge _020805CA
+ mov r5, #0x5
+ add r0, r6, #0x0
+_020805CA:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _020805D4
+ mov r5, #0x0
+ add r0, r1, #0x0
+_020805D4:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _020805DE
+ mov r5, #0x1
+ add r0, r1, #0x0
+_020805DE:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x2
+ add r0, r1, #0x0
+ b _02080654
+_020805EA:
+ mov r5, #0x4
+ add r0, r7, #0x0
+ cmp r7, r6
+ bge _020805F6
+ mov r5, #0x5
+ add r0, r6, #0x0
+_020805F6:
+ ldr r1, [sp, #0xc]
+ cmp r0, r1
+ bge _02080600
+ mov r5, #0x0
+ add r0, r1, #0x0
+_02080600:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _0208060A
+ mov r5, #0x1
+ add r0, r1, #0x0
+_0208060A:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080614
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080614:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _02080654
+ mov r5, #0x3
+ add r0, r1, #0x0
+ b _02080654
+_02080620:
+ ldr r1, [sp, #0xc]
+ mov r5, #0x5
+ add r0, r6, #0x0
+ cmp r6, r1
+ bge _0208062E
+ mov r5, #0x0
+ add r0, r1, #0x0
+_0208062E:
+ ldr r1, [sp, #0x8]
+ cmp r0, r1
+ bge _02080638
+ mov r5, #0x1
+ add r0, r1, #0x0
+_02080638:
+ ldr r1, [sp, #0x4]
+ cmp r0, r1
+ bge _02080642
+ mov r5, #0x2
+ add r0, r1, #0x0
+_02080642:
+ ldr r1, [sp, #0x0]
+ cmp r0, r1
+ bge _0208064C
+ mov r5, #0x3
+ add r0, r1, #0x0
+_0208064C:
+ cmp r0, r7
+ bge _02080654
+ mov r5, #0x4
+ add r0, r7, #0x0
+_02080654:
+ mov r1, #0x5
+ bl _s32_div_f
+ mov r2, #0xa
+ add r6, r5, #0x0
+ mul r6, r2
+ ldr r3, _02080674 ; =0x020FBB54
+ lsl r2, r1, #0x1
+ add r1, r3, r6
+ ldrh r1, [r2, r1]
+ ldr r0, [r4, #0x4]
+ ldr r2, [r4, #0x28]
+ bl FUN_0200A8E0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02080674: .word 0x020FBB54
+
+ thumb_func_start FUN_02080678
+FUN_02080678: ; 0x02080678
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r1, [r5, #0x0]
+ mov r0, #0x48
+ bl FUN_020219F4
+ mov r6, #0x0
+ str r0, [r5, #0x30]
+ add r4, r6, #0x0
+_0208068A:
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ bl FUN_02069BC8
+ cmp r0, #0x1
+ bne _02080698
+ add r6, r4, #0x1
+_02080698:
+ add r4, r4, #0x1
+ cmp r4, #0x5
+ blt _0208068A
+ ldr r1, _020806B0 ; =0x020FBB48
+ lsl r2, r6, #0x1
+ ldrh r1, [r1, r2]
+ ldr r0, [r5, #0x4]
+ ldr r2, [r5, #0x30]
+ bl FUN_0200A8E0
+ pop {r4-r6, pc}
+ nop
+_020806B0: .word 0x020FBB48
+
+ thumb_func_start FUN_020806B4
+FUN_020806B4: ; 0x020806B4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ mov r0, #0x12
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0x4
+ bl FUN_020219F4
+ str r0, [r5, #0x38]
+ cmp r4, #0x5
+ bgt _020806D8
+ mov r1, #0x69
+ b _020806EA
+_020806D8:
+ cmp r4, #0xa
+ bgt _020806E0
+ mov r1, #0x6a
+ b _020806EA
+_020806E0:
+ cmp r4, #0x28
+ bgt _020806E8
+ mov r1, #0x6b
+ b _020806EA
+_020806E8:
+ mov r1, #0x6c
+_020806EA:
+ ldr r0, [r5, #0x4]
+ ldr r2, [r5, #0x38]
+ bl FUN_0200A8E0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020806F4
+FUN_020806F4: ; 0x020806F4
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02080708
+ b _0208084E
+_02080708:
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _02080774
+ add r0, r5, #0x0
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mov r1, #0x37
+ bl FUN_02015CF8
+ cmp r6, r0
+ bne _02080732
+ mov r0, #0xf
+ pop {r4-r6, pc}
+_02080732:
+ add r0, r5, #0x0
+ mov r1, #0x6e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _0208074C
+ cmp r4, #0x1
+ bne _02080748
+ mov r0, #0x7
+ pop {r4-r6, pc}
+_02080748:
+ mov r0, #0x8
+ pop {r4-r6, pc}
+_0208074C:
+ add r0, r5, #0x0
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ cmp r5, r0
+ bne _02080768
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_02080768:
+ cmp r4, #0x1
+ bne _02080770
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02080770:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02080774:
+ add r0, r5, #0x0
+ mov r1, #0x6e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _020807D6
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x2
+ bl FUN_02015CF8
+ cmp r6, r0
+ bne _020807A6
+ cmp r4, #0x1
+ bne _020807A2
+ mov r0, #0xd
+ pop {r4-r6, pc}
+_020807A2:
+ mov r0, #0xe
+ pop {r4-r6, pc}
+_020807A6:
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_02015CF8
+ cmp r5, r0
+ bne _020807CA
+ cmp r4, #0x1
+ bne _020807C6
+ mov r0, #0xb
+ pop {r4-r6, pc}
+_020807C6:
+ mov r0, #0xc
+ pop {r4-r6, pc}
+_020807CA:
+ cmp r4, #0x1
+ bne _020807D2
+ mov r0, #0x9
+ pop {r4-r6, pc}
+_020807D2:
+ mov r0, #0xa
+ pop {r4-r6, pc}
+_020807D6:
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ cmp r6, r0
+ beq _02080836
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_02015CF8
+ cmp r6, r0
+ beq _02080836
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x9
+ bl FUN_02015CF8
+ cmp r6, r0
+ beq _02080836
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0xa
+ bl FUN_02015CF8
+ cmp r5, r0
+ bne _02080842
+_02080836:
+ cmp r4, #0x1
+ bne _0208083E
+ mov r0, #0x5
+ pop {r4-r6, pc}
+_0208083E:
+ mov r0, #0x6
+ pop {r4-r6, pc}
+_02080842:
+ cmp r4, #0x1
+ bne _0208084A
+ mov r0, #0x3
+ pop {r4-r6, pc}
+_0208084A:
+ mov r0, #0x4
+ pop {r4-r6, pc}
+_0208084E:
+ cmp r4, #0x1
+ bne _02080884
+ add r0, r5, #0x0
+ mov r1, #0x6e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _02080880
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_02015CF8
+ cmp r4, r0
+ bne _0208087C
+ mov r0, #0x14
+ pop {r4-r6, pc}
+_0208087C:
+ mov r0, #0x12
+ pop {r4-r6, pc}
+_02080880:
+ mov r0, #0x10
+ pop {r4-r6, pc}
+_02080884:
+ add r0, r5, #0x0
+ mov r1, #0x6e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x1
+ bne _02080896
+ mov r0, #0x13
+ pop {r4-r6, pc}
+_02080896:
+ mov r0, #0x11
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208089C
+FUN_0208089C: ; 0x0208089C
+ push {r3-r4, lr}
+ sub sp, #0x4
+ ldr r4, [sp, #0x10]
+ str r4, [sp, #0x0]
+ bl FUN_020808AC
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_020808AC
+FUN_020808AC: ; 0x020808AC
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r7, r1, #0x0
+ add r5, r3, #0x0
+ ldr r6, [sp, #0x18]
+ cmp r2, #0x6
+ bls _020808BC
+ b _02080AE0
+_020808BC:
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_020808C8: ; jump table (using 16-bit offset)
+ .short _020808D6 - _020808C8 - 2; case 0
+ .short _0208092A - _020808C8 - 2; case 1
+ .short _02080974 - _020808C8 - 2; case 2
+ .short _02080994 - _020808C8 - 2; case 3
+ .short _020809B0 - _020808C8 - 2; case 4
+ .short _02080A38 - _020808C8 - 2; case 5
+ .short _02080A58 - _020808C8 - 2; case 6
+_020808D6:
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_02015CF8
+ cmp r5, r0
+ ble _020808E4
+ mov r5, #0x0
+_020808E4:
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _0208090C
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ b _0208091E
+_0208090C:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02080BA8
+_0208091E:
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02080AE4
+ pop {r3-r7, pc}
+_0208092A:
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _02080958
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ pop {r3-r7, pc}
+_02080958:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ pop {r3-r7, pc}
+_02080974:
+ mov r1, #0x0
+ bl FUN_02080BA8
+ mov r0, #0x0
+ mov r1, #0x37
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ pop {r3-r7, pc}
+_02080994:
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02080AE4
+ pop {r3-r7, pc}
+_020809B0:
+ add r2, r6, #0x0
+ bl FUN_0206A9AC
+ cmp r0, #0x1
+ bne _020809F6
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _020809E2
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ b _02080A30
+_020809E2:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02080BA8
+ b _02080A30
+_020809F6:
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ bne _02080A1E
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ bl FUN_02080C08
+ b _02080A30
+_02080A1E:
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02080BA8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+_02080A30:
+ add r0, r4, #0x0
+ bl FUN_02080C28
+ pop {r3-r7, pc}
+_02080A38:
+ mov r1, #0x4c
+ mov r2, #0x0
+ bl FUN_020672BC
+ cmp r0, #0x0
+ beq _02080AE0
+ mov r0, #0x1
+ mov r1, #0x2
+ bl FUN_02015CF8
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ pop {r3-r7, pc}
+_02080A58:
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_02015CF8
+ cmp r5, r0
+ ble _02080A66
+ mov r5, #0x0
+_02080A66:
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_0206A9AC
+ cmp r0, #0x0
+ bne _02080ACC
+ add r0, r4, #0x0
+ mov r1, #0x98
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x97
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x94
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x91
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x95
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x92
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x96
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x93
+ add r2, sp, #0x0
+ bl FUN_02067960
+_02080ACC:
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02080B30
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ add r2, r6, #0x0
+ bl FUN_02080AE4
+_02080AE0:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02080AE4
+FUN_02080AE4: ; 0x02080AE4
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r6, r2, #0x0
+ bl FUN_020239BC
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ bl FUN_020239CC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020239A0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x7
+ add r2, sp, #0x4
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x9c
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x90
+ add r2, r4, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ add sp, #0x8
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02080B30
+FUN_02080B30: ; 0x02080B30
+ push {r0-r3}
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ add r0, sp, #0x0
+ add r4, r2, #0x0
+ bl FUN_020126B4
+ cmp r4, #0x0
+ add r2, sp, #0x24
+ bne _02080B76
+ add r0, r5, #0x0
+ mov r1, #0x97
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x91
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x92
+ add r2, sp, #0x4
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x93
+ add r2, sp, #0x8
+ bl FUN_02067960
+ add sp, #0x10
+ pop {r3-r5}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+_02080B76:
+ add r0, r5, #0x0
+ mov r1, #0x98
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x94
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x95
+ add r2, sp, #0x4
+ bl FUN_02067960
+ add r0, r5, #0x0
+ mov r1, #0x96
+ add r2, sp, #0x8
+ bl FUN_02067960
+ add sp, #0x10
+ pop {r3-r5}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+ .balign 4
+
+ thumb_func_start FUN_02080BA8
+FUN_02080BA8: ; 0x02080BA8
+ push {r3-r4, lr}
+ sub sp, #0x4
+ mov r2, #0x0
+ add r4, r0, #0x0
+ str r2, [sp, #0x0]
+ cmp r1, #0x0
+ add r2, sp, #0x0
+ bne _02080BE0
+ mov r1, #0x97
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x91
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x92
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x93
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add sp, #0x4
+ pop {r3-r4, pc}
+_02080BE0:
+ mov r1, #0x98
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x94
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x95
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add r0, r4, #0x0
+ mov r1, #0x96
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_02080C08
+FUN_02080C08: ; 0x02080C08
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020672BC
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x9b
+ add r2, sp, #0x0
+ bl FUN_02067960
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02080C28
+FUN_02080C28: ; 0x02080C28
+ push {r3, lr}
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ mov r1, #0x6e
+ add r2, sp, #0x0
+ bl FUN_02067960
+ pop {r3, pc}
+
+ thumb_func_start FUN_02080C38
+FUN_02080C38: ; 0x02080C38
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x8
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r1, _02080C5C ; =FUN_02080C60
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ nop
+_02080C5C: .word FUN_02080C60
+
+ thumb_func_start FUN_02080C60
+FUN_02080C60: ; 0x02080C60
+ push {r3-r7, lr}
+ sub sp, #0x28
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0xe
+ bls _02080C7C
+ b _02080DE2
+_02080C7C:
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02080C88: ; jump table (using 16-bit offset)
+ .short _02080CA6 - _02080C88 - 2; case 0
+ .short _02080CB4 - _02080C88 - 2; case 1
+ .short _02080D16 - _02080C88 - 2; case 2
+ .short _02080D28 - _02080C88 - 2; case 3
+ .short _02080D36 - _02080C88 - 2; case 4
+ .short _02080D48 - _02080C88 - 2; case 5
+ .short _02080D64 - _02080C88 - 2; case 6
+ .short _02080D78 - _02080C88 - 2; case 7
+ .short _02080D8A - _02080C88 - 2; case 8
+ .short _02080D9C - _02080C88 - 2; case 9
+ .short _02080DAE - _02080C88 - 2; case 10
+ .short _02080DC0 - _02080C88 - 2; case 11
+ .short _02080DCE - _02080C88 - 2; case 12
+ .short _02080DD4 - _02080C88 - 2; case 13
+ .short _02080DE6 - _02080C88 - 2; case 14
+_02080CA6:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080CB4:
+ ldr r0, [r6, #0xc]
+ bl FUN_0206BB1C
+ mov r1, #0x0
+ bl FUN_0206B9B0
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl FUN_020238F4
+ mov r1, #0xb
+ str r0, [sp, #0x0]
+ bl FUN_020239A0
+ add r5, r0, #0x0
+ mov r1, #0x0
+ add r0, sp, #0x4
+ strb r1, [r0, #0x0]
+ strb r1, [r0, #0x1]
+ mov r1, #0x2
+ strb r1, [r0, #0x2]
+ ldr r0, [sp, #0x0]
+ str r7, [sp, #0xc]
+ str r5, [sp, #0x10]
+ str r0, [sp, #0x14]
+ ldr r0, [r6, #0xc]
+ bl FUN_02027E24
+ str r0, [sp, #0x18]
+ ldr r0, [r6, #0xc]
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x4
+ bl FUN_02081214
+ str r0, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ ldr r0, [r4, #0x0]
+ bl FUN_02081DC4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D16:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081EB8
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D28:
+ mov r0, #0x1
+ bl FUN_02031588
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D36:
+ mov r0, #0x1
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D48:
+ ldr r0, [r4, #0x0]
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _02080DF8 ; =0x000019B8
+ ldr r1, _02080DFC ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D64:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081668
+ ldr r0, [r4, #0x0]
+ bl FUN_02081ED4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D78:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ bne _02080DF2
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D8A:
+ ldr r1, _02080E00 ; =0x020FBBC8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080D9C:
+ ldr r1, _02080E04 ; =0x020FBBF8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DAE:
+ ldr r1, _02080E08 ; =0x020FBBE8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DC0:
+ ldr r0, [r4, #0x0]
+ bl FUN_020814E8
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DCE:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DD4:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080DF2
+_02080DE2:
+ bl ErrorHandling
+_02080DE6:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x28
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02080DF2:
+ mov r0, #0x0
+ add sp, #0x28
+ pop {r3-r7, pc}
+ .balign 4
+_02080DF8: .word 0x000019B8
+_02080DFC: .word 0x020FBBD8
+_02080E00: .word 0x020FBBC8
+_02080E04: .word 0x020FBBF8
+_02080E08: .word 0x020FBBE8
+
+ thumb_func_start FUN_02080E0C
+FUN_02080E0C: ; 0x02080E0C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x8
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x8
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, _02080E50 ; =0x00000121
+ str r6, [r4, #0x0]
+ ldrb r0, [r6, r0]
+ cmp r0, #0x0
+ beq _02080E36
+ cmp r0, #0x1
+ beq _02080E36
+ cmp r0, #0x2
+ bne _02080E42
+_02080E36:
+ ldr r1, _02080E54 ; =FUN_02080E5C
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+_02080E42:
+ ldr r1, _02080E58 ; =FUN_02081000
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_02080E50: .word 0x00000121
+_02080E54: .word FUN_02080E5C
+_02080E58: .word FUN_02081000
+
+ thumb_func_start FUN_02080E5C
+FUN_02080E5C: ; 0x02080E5C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0xd
+ bls _02080E74
+ b _02080FCE
+_02080E74:
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02080E80: ; jump table (using 16-bit offset)
+ .short _02080E9C - _02080E80 - 2; case 0
+ .short _02080EAA - _02080E80 - 2; case 1
+ .short _02080EC6 - _02080E80 - 2; case 2
+ .short _02080EDE - _02080E80 - 2; case 3
+ .short _02080F00 - _02080E80 - 2; case 4
+ .short _02080F1C - _02080E80 - 2; case 5
+ .short _02080F3E - _02080E80 - 2; case 6
+ .short _02080F58 - _02080E80 - 2; case 7
+ .short _02080F6A - _02080E80 - 2; case 8
+ .short _02080F8A - _02080E80 - 2; case 9
+ .short _02080FA8 - _02080E80 - 2; case 10
+ .short _02080FBA - _02080E80 - 2; case 11
+ .short _02080FC0 - _02080E80 - 2; case 12
+ .short _02080FD2 - _02080E80 - 2; case 13
+_02080E9C:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EAA:
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _02080EBE
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ beq _02080EBE
+ b _02080FDC
+_02080EBE:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EC6:
+ ldr r1, [r4, #0x0]
+ ldr r0, _02080FE0 ; =0x00000171
+ ldrb r0, [r1, r0]
+ cmp r0, #0x1
+ bne _02080ED6
+ mov r0, #0x0
+ bl FUN_02031588
+_02080ED6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EDE:
+ ldr r2, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r2, r1]
+ cmp r1, #0x1
+ bne _02080EFA
+ mov r0, #0x0
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02080FDC
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080EFA:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F00:
+ ldr r0, [r4, #0x0]
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _02080FE4 ; =0x000019B8
+ ldr r1, _02080FE8 ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F1C:
+ ldr r0, [r4, #0x0]
+ bl FUN_02081668
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x1
+ bne _02080F38
+ bl FUN_02081ED4
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F38:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F3E:
+ ldr r0, [r4, #0x0]
+ ldr r1, _02080FE0 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x0
+ beq _02080F50
+ bl FUN_02081EC0
+ cmp r0, #0x1
+ bne _02080FDC
+_02080F50:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F58:
+ ldr r1, _02080FEC ; =0x020FBBC8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F6A:
+ ldr r2, [r4, #0x0]
+ ldr r0, _02080FF0 ; =0x00000121
+ ldrb r0, [r2, r0]
+ add r0, #0xff
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bhi _02080F82
+ ldr r1, _02080FF4 ; =0x020FBBF8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02080F82:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080F8A:
+ ldr r2, [r4, #0x0]
+ ldr r0, _02080FF0 ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x0
+ beq _02080F98
+ cmp r0, #0x2
+ bne _02080FA0
+_02080F98:
+ ldr r1, _02080FF8 ; =0x020FBBE8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02080FA0:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FA8:
+ ldr r1, _02080FFC ; =0x020FBBB8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FBA:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FC0:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02080FDC
+_02080FCE:
+ bl ErrorHandling
+_02080FD2:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02080FDC:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_02080FE0: .word 0x00000171
+_02080FE4: .word 0x000019B8
+_02080FE8: .word 0x020FBBD8
+_02080FEC: .word 0x020FBBC8
+_02080FF0: .word 0x00000121
+_02080FF4: .word 0x020FBBF8
+_02080FF8: .word 0x020FBBE8
+_02080FFC: .word 0x020FBBB8
+
+ thumb_func_start FUN_02081000
+FUN_02081000: ; 0x02081000
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x9
+ bls _0208101A
+ b _020811A4
+_0208101A:
+ add r1, r0, r0
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02081026: ; jump table (using 16-bit offset)
+ .short _0208103A - _02081026 - 2; case 0
+ .short _02081048 - _02081026 - 2; case 1
+ .short _02081070 - _02081026 - 2; case 2
+ .short _0208108A - _02081026 - 2; case 3
+ .short _02081090 - _02081026 - 2; case 4
+ .short _020810AE - _02081026 - 2; case 5
+ .short _020810D2 - _02081026 - 2; case 6
+ .short _020810F0 - _02081026 - 2; case 7
+ .short _02081196 - _02081026 - 2; case 8
+ .short _020811A8 - _02081026 - 2; case 9
+_0208103A:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081048:
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x3
+ beq _02081056
+ cmp r1, #0x4
+ bne _02081068
+_02081056:
+ bl FUN_020815D0
+ ldr r3, [r4, #0x0]
+ ldr r2, _020811C0 ; =0x000019B8
+ ldr r1, _020811C4 ; =0x020FBBD8
+ ldr r2, [r3, r2]
+ add r0, r5, #0x0
+ bl FUN_02046500
+_02081068:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081070:
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x3
+ beq _0208107E
+ cmp r1, #0x4
+ bne _02081082
+_0208107E:
+ bl FUN_02081668
+_02081082:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_0208108A:
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081090:
+ ldr r2, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x3
+ beq _0208109E
+ cmp r0, #0x4
+ bne _020810A6
+_0208109E:
+ ldr r1, _020811C8 ; =0x020FBBC8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810A6:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810AE:
+ ldr r0, [r4, #0x0]
+ ldr r1, _020811BC ; =0x00000121
+ ldrb r1, [r0, r1]
+ cmp r1, #0x5
+ beq _020810BC
+ cmp r1, #0x6
+ bne _020810CA
+_020810BC:
+ bl FUN_02082D18
+ ldr r1, _020811CC ; =0x020FBBF8
+ ldr r2, [r4, #0x0]
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810CA:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810D2:
+ ldr r2, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r2, r0]
+ cmp r0, #0x7
+ beq _020810E0
+ cmp r0, #0x8
+ bne _020810E8
+_020810E0:
+ ldr r1, _020811D0 ; =0x020FBBE8
+ add r0, r5, #0x0
+ bl FUN_02046500
+_020810E8:
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020810F0:
+ ldr r1, [r4, #0x0]
+ ldr r0, _020811BC ; =0x00000121
+ ldrb r0, [r1, r0]
+ cmp r0, #0x8
+ bhi _0208116E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02081106: ; jump table (using 16-bit offset)
+ .short _0208116E - _02081106 - 2; case 0
+ .short _0208116E - _02081106 - 2; case 1
+ .short _0208116E - _02081106 - 2; case 2
+ .short _02081118 - _02081106 - 2; case 3
+ .short _02081118 - _02081106 - 2; case 4
+ .short _0208113A - _02081106 - 2; case 5
+ .short _0208113A - _02081106 - 2; case 6
+ .short _02081156 - _02081106 - 2; case 7
+ .short _02081156 - _02081106 - 2; case 8
+_02081118:
+ mov r5, #0x0
+ add r6, sp, #0x0
+_0208111C:
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_02083308
+ add r7, r0, #0x0
+ ldr r0, [r4, #0x0]
+ add r1, r5, #0x0
+ bl FUN_0208336C
+ add r0, r7, r0
+ add r5, r5, #0x1
+ stmia r6!, {r0}
+ cmp r5, #0x4
+ blt _0208111C
+ b _0208116E
+_0208113A:
+ mov r2, #0x0
+ mov r3, #0x4b
+ add r0, r2, #0x0
+ add r1, sp, #0x0
+ lsl r3, r3, #0x2
+_02081144:
+ ldr r5, [r4, #0x0]
+ add r2, r2, #0x1
+ add r5, r5, r0
+ ldrsh r5, [r5, r3]
+ add r0, #0xc
+ cmp r2, #0x4
+ stmia r1!, {r5}
+ blt _02081144
+ b _0208116E
+_02081156:
+ mov r2, #0x0
+ ldr r3, _020811D4 ; =0x0000012E
+ add r0, r2, #0x0
+ add r1, sp, #0x0
+_0208115E:
+ ldr r5, [r4, #0x0]
+ add r2, r2, #0x1
+ add r5, r5, r0
+ ldrsh r5, [r5, r3]
+ add r0, #0xc
+ cmp r2, #0x4
+ stmia r1!, {r5}
+ blt _0208115E
+_0208116E:
+ ldr r1, [sp, #0x0]
+ mov r2, #0x0
+ mov r5, #0x1
+ add r3, sp, #0x4
+_02081176:
+ ldr r0, [r3, #0x0]
+ cmp r1, r0
+ bge _0208117E
+ add r2, r2, #0x1
+_0208117E:
+ add r5, r5, #0x1
+ add r3, r3, #0x4
+ cmp r5, #0x4
+ blt _02081176
+ mov r0, #0x13
+ ldr r1, [r4, #0x0]
+ lsl r0, r0, #0x4
+ strb r2, [r1, r0]
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_02081196:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _020811B4
+_020811A4:
+ bl ErrorHandling
+_020811A8:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x10
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020811B4:
+ mov r0, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_020811BC: .word 0x00000121
+_020811C0: .word 0x000019B8
+_020811C4: .word 0x020FBBD8
+_020811C8: .word 0x020FBBC8
+_020811CC: .word 0x020FBBF8
+_020811D0: .word 0x020FBBE8
+_020811D4: .word 0x0000012E
+
+ thumb_func_start FUN_020811D8
+FUN_020811D8: ; 0x020811D8
+ push {r4, lr}
+ ldr r1, _02081204 ; =0x000019C4
+ mov r0, #0x14
+ bl FUN_02016998
+ ldr r2, _02081204 ; =0x000019C4
+ mov r1, #0x0
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, _02081208 ; =0x00000123
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ add r1, r0, #0x4
+ mov r2, #0x1
+ strb r2, [r4, r1]
+ mov r1, #0x3
+ add r0, r0, #0x3
+ strb r1, [r4, r0]
+ add r0, r4, #0x0
+ pop {r4, pc}
+ nop
+_02081204: .word 0x000019C4
+_02081208: .word 0x00000123
+
+ thumb_func_start FUN_0208120C
+FUN_0208120C: ; 0x0208120C
+ ldr r3, _02081210 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02081210: .word FUN_02016A18
+
+ thumb_func_start FUN_02081214
+FUN_02081214: ; 0x02081214
+ push {r3-r7, lr}
+ mov r2, #0x1
+ add r6, r0, #0x0
+ mov r0, #0xb
+ mov r1, #0x14
+ lsl r2, r2, #0xe
+ bl FUN_0201681C
+ bl FUN_020811D8
+ add r4, r0, #0x0
+ bl getseed_LC
+ mov r1, #0x67
+ lsl r1, r1, #0x6
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0208285C
+ ldrb r1, [r6, #0x0]
+ ldr r0, _020813E4 ; =0x0000011F
+ strb r1, [r4, r0]
+ add r1, r0, #0x1
+ ldrb r2, [r6, #0x1]
+ add r0, r0, #0x2
+ strb r2, [r4, r1]
+ ldrb r1, [r6, #0x2]
+ strb r1, [r4, r0]
+ ldrb r0, [r6, #0x1]
+ mov r1, #0x0
+ bl FUN_02083454
+ ldr r1, _020813E8 ; =0x00000122
+ mov r7, #0x0
+ strb r0, [r4, r1]
+ add r0, r1, #0x1
+ ldrb r2, [r4, r0]
+ sub r0, r1, #0x6
+ add r5, r4, #0x0
+ strb r2, [r4, r0]
+ mov r0, #0x64
+ add r1, r0, #0x0
+ add r1, #0xc1
+ strb r0, [r4, r1]
+ add r1, r0, #0x0
+ add r1, #0xc1
+ ldrb r2, [r4, r1]
+ add r1, r0, #0x0
+ add r1, #0xb9
+ strb r2, [r4, r1]
+ mov r1, #0x1
+ add r0, #0xba
+ strb r1, [r4, r0]
+ ldr r1, [r6, #0x14]
+ ldr r0, _020813EC ; =0x0000199C
+ str r1, [r4, r0]
+ add r1, r0, #0x0
+ ldr r2, [r6, #0x18]
+ sub r1, #0x14
+ str r2, [r4, r1]
+ add r1, r0, #0x0
+ ldr r2, [r6, #0x1c]
+ sub r1, #0x10
+ str r2, [r4, r1]
+ add r1, r0, #0x0
+ ldr r2, [r6, #0x8]
+ sub r1, #0xc
+ str r2, [r4, r1]
+ ldrb r2, [r6, #0x5]
+ sub r1, r0, #0x4
+ strb r2, [r4, r1]
+ add r1, r0, #0x0
+ ldr r2, [r6, #0x10]
+ sub r1, #0x8
+ str r2, [r4, r1]
+ sub r1, r0, #0x3
+ ldrb r2, [r6, #0x3]
+ sub r0, r0, #0x2
+ strb r2, [r4, r1]
+ ldrb r1, [r6, #0x4]
+ strb r1, [r4, r0]
+_020812B6:
+ mov r0, #0x14
+ bl FUN_02026FE8
+ add r1, r5, #0x0
+ add r1, #0xf8
+ add r7, r7, #0x1
+ add r5, r5, #0x4
+ str r0, [r1, #0x0]
+ cmp r7, #0x4
+ blt _020812B6
+ mov r3, #0x12
+ lsl r3, r3, #0x4
+ ldrb r0, [r4, r3]
+ sub r2, r3, #0x2
+ sub r3, r3, #0x1
+ str r0, [sp, #0x0]
+ ldrb r2, [r4, r2]
+ ldrb r3, [r4, r3]
+ add r0, r4, #0x0
+ mov r1, #0xb
+ bl FUN_02082ED0
+ mov r0, #0x14
+ bl FUN_0206B8AC
+ mov r1, #0x56
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r7, #0x0
+ add r5, r4, #0x0
+_020812F2:
+ mov r0, #0x14
+ bl FUN_020669C0
+ add r7, r7, #0x1
+ stmia r5!, {r0}
+ cmp r7, #0x4
+ blt _020812F2
+ mov r7, #0x0
+ add r5, r4, #0x0
+_02081304:
+ mov r0, #0x14
+ bl FUN_02029EE4
+ mov r1, #0x57
+ lsl r1, r1, #0x2
+ str r0, [r5, r1]
+ add r7, r7, #0x1
+ add r5, r5, #0x4
+ cmp r7, #0x4
+ blt _02081304
+ add r0, r1, #0x0
+ ldr r0, [r4, r0]
+ ldr r1, [r6, #0x20]
+ bl FUN_02029F9C
+ ldr r0, [r6, #0x8]
+ ldr r1, [r4, #0x0]
+ bl FUN_02069B88
+ mov r0, #0x8
+ mov r1, #0x14
+ bl FUN_020219F4
+ add r1, r4, #0x0
+ add r1, #0xe8
+ str r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r6, #0xc]
+ bl FUN_02021A74
+ ldr r0, [r6, #0x10]
+ bl FUN_020239CC
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ strb r0, [r4, r1]
+ add r0, r1, #0x4
+ mov r2, #0x0
+ strb r2, [r4, r0]
+ add r1, #0x17
+ ldrb r1, [r4, r1]
+ ldr r0, [r4, #0x0]
+ bl FUN_02081540
+ mov r1, #0x11
+ lsl r1, r1, #0x4
+ strb r0, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_020832EC
+ cmp r0, #0x0
+ ldr r0, [r6, #0x10]
+ bne _0208138E
+ bl FUN_020239CC
+ cmp r0, #0x0
+ bne _02081384
+ mov r1, #0xba
+ add r0, r1, #0x0
+ add r0, #0x5a
+ strh r1, [r4, r0]
+ b _020813A8
+_02081384:
+ mov r1, #0xbb
+ add r0, r1, #0x0
+ add r0, #0x59
+ strh r1, [r4, r0]
+ b _020813A8
+_0208138E:
+ bl FUN_020239CC
+ cmp r0, #0x0
+ bne _020813A0
+ mov r0, #0x45
+ mov r1, #0x0
+ lsl r0, r0, #0x2
+ strh r1, [r4, r0]
+ b _020813A8
+_020813A0:
+ mov r1, #0x61
+ add r0, r1, #0x0
+ add r0, #0xb3
+ strh r1, [r4, r0]
+_020813A8:
+ ldrb r1, [r6, #0x3]
+ ldrb r2, [r6, #0x4]
+ add r0, r4, #0x0
+ bl FUN_020813F4
+ add r0, r4, #0x0
+ bl FUN_020832EC
+ cmp r0, #0x1
+ bne _020813D0
+ ldr r1, _020813F0 ; =0x00000172
+ mov r5, #0x0
+ mov r0, #0x3
+_020813C2:
+ sub r3, r0, r5
+ add r2, r4, r5
+ add r5, r5, #0x1
+ strb r3, [r2, r1]
+ cmp r5, #0x4
+ blt _020813C2
+ b _020813DE
+_020813D0:
+ ldr r0, _020813F0 ; =0x00000172
+ mov r2, #0x0
+_020813D4:
+ add r1, r4, r2
+ strb r2, [r1, r0]
+ add r2, r2, #0x1
+ cmp r2, #0x4
+ blt _020813D4
+_020813DE:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ nop
+_020813E4: .word 0x0000011F
+_020813E8: .word 0x00000122
+_020813EC: .word 0x0000199C
+_020813F0: .word 0x00000172
+
+ thumb_func_start FUN_020813F4
+FUN_020813F4: ; 0x020813F4
+ push {r3-r7, lr}
+ sub sp, #0x10
+ mov r3, #0x12
+ add r5, r0, #0x0
+ lsl r3, r3, #0x4
+ ldrb r4, [r5, r3]
+ str r4, [sp, #0x0]
+ add r4, r3, #0x1
+ ldrb r4, [r5, r4]
+ sub r3, r3, #0x1
+ str r4, [sp, #0x4]
+ str r1, [sp, #0x8]
+ str r2, [sp, #0xc]
+ ldrb r3, [r5, r3]
+ mov r1, #0xb
+ mov r2, #0x3
+ bl FUN_020828E4
+ add r4, r5, #0x0
+ add r4, #0x10
+ mov r7, #0x1
+ add r6, r5, #0x4
+ add r4, #0x30
+_02081422:
+ ldr r1, [r6, #0x0]
+ add r0, r4, #0x0
+ mov r2, #0x14
+ bl FUN_02082D60
+ add r7, r7, #0x1
+ add r6, r6, #0x4
+ add r4, #0x30
+ cmp r7, #0x4
+ blt _02081422
+ mov r6, #0x1
+ add r4, r5, #0x4
+ mov r7, #0x8
+_0208143C:
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02081454
+ add r0, r7, #0x0
+ mov r1, #0x14
+ bl FUN_020219F4
+ add r1, r4, #0x0
+ add r1, #0xe8
+ str r0, [r1, #0x0]
+_02081454:
+ add r2, r4, #0x0
+ add r2, #0xe8
+ ldr r0, [r4, #0x0]
+ ldr r2, [r2, #0x0]
+ mov r1, #0x90
+ bl FUN_020671BC
+ add r6, r6, #0x1
+ add r4, r4, #0x4
+ cmp r6, #0x4
+ blt _0208143C
+ add r0, r5, #0x0
+ add r0, #0x30
+ mov r2, #0x42
+ mov r1, #0x1
+ add r0, #0x30
+ lsl r2, r2, #0x2
+_02081476:
+ ldrh r3, [r0, #0x0]
+ add r0, #0x30
+ lsl r3, r3, #0x12
+ lsr r4, r3, #0x1e
+ add r3, r5, r1
+ add r1, r1, #0x1
+ strb r4, [r3, r2]
+ cmp r1, #0x4
+ blt _02081476
+ add r0, r5, #0x0
+ add r0, #0x30
+ mov r2, #0x43
+ mov r1, #0x1
+ add r0, #0x30
+ lsl r2, r2, #0x2
+_02081494:
+ ldrh r3, [r0, #0x0]
+ add r0, #0x30
+ lsl r3, r3, #0x10
+ lsr r4, r3, #0x1e
+ add r3, r5, r1
+ add r1, r1, #0x1
+ strb r4, [r3, r2]
+ cmp r1, #0x4
+ blt _02081494
+ add r3, r5, #0x0
+ mov r1, #0x11
+ mov r4, #0x1
+ add r3, #0x30
+ lsl r1, r1, #0x4
+_020814B0:
+ add r0, r3, #0x0
+ add r0, #0x3e
+ ldrb r2, [r0, #0x0]
+ add r0, r5, r4
+ add r4, r4, #0x1
+ add r3, #0x30
+ strb r2, [r0, r1]
+ cmp r4, #0x4
+ blt _020814B0
+ add r2, r5, #0x0
+ mov r0, #0x45
+ mov r4, #0x1
+ add r2, #0x30
+ add r3, r5, #0x2
+ lsl r0, r0, #0x2
+_020814CE:
+ ldrh r1, [r2, #0x18]
+ add r4, r4, #0x1
+ add r2, #0x30
+ strh r1, [r3, r0]
+ add r3, r3, #0x2
+ cmp r4, #0x4
+ blt _020814CE
+ add r0, r5, #0x0
+ mov r1, #0xb
+ bl FUN_02082B90
+ add sp, #0x10
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020814E8
+FUN_020814E8: ; 0x020814E8
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldr r0, [r7, r0]
+ bl FUN_02016A18
+ mov r6, #0x57
+ mov r4, #0x0
+ add r5, r7, #0x0
+ lsl r6, r6, #0x2
+_020814FE:
+ ldr r0, [r5, #0x0]
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ bl FUN_02021A20
+ add r0, r5, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_02016A18
+ ldr r0, [r5, r6]
+ bl FUN_02016A18
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _020814FE
+ mov r0, #0x67
+ lsl r0, r0, #0x6
+ ldr r0, [r7, r0]
+ bl seedr_LC
+ add r0, r7, #0x0
+ bl FUN_0208120C
+ mov r0, #0x14
+ bl FUN_020168D0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02081540
+FUN_02081540: ; 0x02081540
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x1
+ add r7, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r4, #0x0
+_0208154C:
+ cmp r7, #0x4
+ bhi _020815B6
+ add r0, r7, r7
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0208155C: ; jump table (using 16-bit offset)
+ .short _02081566 - _0208155C - 2; case 0
+ .short _02081576 - _0208155C - 2; case 1
+ .short _02081586 - _0208155C - 2; case 2
+ .short _02081596 - _0208155C - 2; case 3
+ .short _020815A6 - _0208155C - 2; case 4
+_02081566:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x7a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_02081576:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x7e
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_02081586:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x82
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_02081596:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x86
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_020815A6:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x8a
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ b _020815BA
+_020815B6:
+ bl ErrorHandling
+_020815BA:
+ cmp r6, #0x0
+ beq _020815CA
+ ldr r0, [sp, #0x0]
+ add r4, r4, #0x1
+ add r0, r0, #0x1
+ str r0, [sp, #0x0]
+ cmp r4, #0x3
+ ble _0208154C
+_020815CA:
+ ldr r0, [sp, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020815D0
+FUN_020815D0: ; 0x020815D0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02081658 ; =0x00000123
+ ldrb r0, [r5, r0]
+ lsl r0, r0, #0x2
+ add r0, r5, r0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_02027740
+ mov r0, #0x14
+ mov r1, #0x28
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x28
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, _02081658 ; =0x00000123
+ ldrb r1, [r5, r0]
+ lsl r1, r1, #0x2
+ ldr r1, [r5, r1]
+ str r1, [r4, #0x0]
+ ldrb r1, [r5, r0]
+ lsl r1, r1, #0x2
+ add r1, r5, r1
+ add r1, #0xf8
+ ldr r1, [r1, #0x0]
+ str r1, [r4, #0x4]
+ sub r1, r0, #0x1
+ ldrb r1, [r5, r1]
+ str r1, [r4, #0x8]
+ add r1, r0, #0x0
+ add r1, #0x4e
+ ldrb r1, [r5, r1]
+ cmp r1, #0x1
+ bne _02081620
+ mov r0, #0x4
+ b _02081624
+_02081620:
+ sub r0, r0, #0x3
+ ldrb r0, [r5, r0]
+_02081624:
+ str r0, [r4, #0xc]
+ ldr r0, _0208165C ; =0x00000121
+ ldrb r1, [r5, r0]
+ sub r0, r0, #0x2
+ str r1, [r4, #0x10]
+ ldrb r0, [r5, r0]
+ str r0, [r4, #0x14]
+ ldr r0, _02081660 ; =0x0000199C
+ ldr r0, [r5, r0]
+ bl FUN_0202708C
+ ldr r1, _02081664 ; =0x000019A0
+ str r0, [r4, #0x18]
+ add r0, r5, r1
+ str r0, [r4, #0x1c]
+ add r0, r1, #0x0
+ sub r0, #0x18
+ ldr r0, [r5, r0]
+ str r0, [r4, #0x20]
+ add r0, r1, #0x0
+ sub r0, #0xc
+ ldr r0, [r5, r0]
+ add r1, #0x18
+ str r0, [r4, #0x24]
+ str r4, [r5, r1]
+ pop {r3-r5, pc}
+ .balign 4
+_02081658: .word 0x00000123
+_0208165C: .word 0x00000121
+_02081660: .word 0x0000199C
+_02081664: .word 0x000019A0
+
+ thumb_func_start FUN_02081668
+FUN_02081668: ; 0x02081668
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0208167C ; =0x000019B8
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ ldr r0, _0208167C ; =0x000019B8
+ mov r1, #0x0
+ str r1, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+_0208167C: .word 0x000019B8
+
+ thumb_func_start FUN_02081680
+FUN_02081680: ; 0x02081680
+ push {r3-r7, lr}
+ sub sp, #0x10
+ ldr r2, _020819E8 ; =0x00000176
+ add r4, r1, #0x0
+ str r0, [sp, #0x0]
+ ldrb r0, [r4, r2]
+ cmp r0, #0x2f
+ bls _02081692
+ b _02081D24
+_02081692:
+ add r3, r0, r0
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_0208169E: ; jump table (using 16-bit offset)
+ .short _020816FE - _0208169E - 2; case 0
+ .short _02081716 - _0208169E - 2; case 1
+ .short _0208172C - _0208169E - 2; case 2
+ .short _02081742 - _0208169E - 2; case 3
+ .short _0208175E - _0208169E - 2; case 4
+ .short _02081776 - _0208169E - 2; case 5
+ .short _0208178C - _0208169E - 2; case 6
+ .short _020817A8 - _0208169E - 2; case 7
+ .short _020817C4 - _0208169E - 2; case 8
+ .short _020817DC - _0208169E - 2; case 9
+ .short _020817F2 - _0208169E - 2; case 10
+ .short _02081822 - _0208169E - 2; case 11
+ .short _02081838 - _0208169E - 2; case 12
+ .short _02081850 - _0208169E - 2; case 13
+ .short _02081866 - _0208169E - 2; case 14
+ .short _02081884 - _0208169E - 2; case 15
+ .short _020818A0 - _0208169E - 2; case 16
+ .short _020818B8 - _0208169E - 2; case 17
+ .short _020818CE - _0208169E - 2; case 18
+ .short _0208190A - _0208169E - 2; case 19
+ .short _02081940 - _0208169E - 2; case 20
+ .short _02081958 - _0208169E - 2; case 21
+ .short _0208196E - _0208169E - 2; case 22
+ .short _0208198E - _0208169E - 2; case 23
+ .short _020819DE - _0208169E - 2; case 24
+ .short _02081A04 - _0208169E - 2; case 25
+ .short _02081A1A - _0208169E - 2; case 26
+ .short _02081A54 - _0208169E - 2; case 27
+ .short _02081A8A - _0208169E - 2; case 28
+ .short _02081AB6 - _0208169E - 2; case 29
+ .short _02081ACC - _0208169E - 2; case 30
+ .short _02081AE8 - _0208169E - 2; case 31
+ .short _02081B04 - _0208169E - 2; case 32
+ .short _02081B1C - _0208169E - 2; case 33
+ .short _02081B32 - _0208169E - 2; case 34
+ .short _02081B6C - _0208169E - 2; case 35
+ .short _02081BA2 - _0208169E - 2; case 36
+ .short _02081BBA - _0208169E - 2; case 37
+ .short _02081BD0 - _0208169E - 2; case 38
+ .short _02081BFA - _0208169E - 2; case 39
+ .short _02081C16 - _0208169E - 2; case 40
+ .short _02081C2E - _0208169E - 2; case 41
+ .short _02081C44 - _0208169E - 2; case 42
+ .short _02081C86 - _0208169E - 2; case 43
+ .short _02081CBC - _0208169E - 2; case 44
+ .short _02081CD4 - _0208169E - 2; case 45
+ .short _02081CEA - _0208169E - 2; case 46
+ .short _02081D08 - _0208169E - 2; case 47
+_020816FE:
+ mov r0, #0x5
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081716:
+ mov r0, #0x5
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208172C:
+ add r0, r4, #0x0
+ bl FUN_02083630
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081742:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _0208180C
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_0208175E:
+ mov r0, #0x6
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081776:
+ mov r0, #0x6
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208178C:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020836BC
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817A8:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _0208180C
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_020817C4:
+ mov r0, #0x7
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817DC:
+ mov r0, #0x7
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _0208180C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020817F2:
+ add r3, r2, #0x0
+ sub r3, #0x53
+ ldrb r5, [r4, r3]
+ add r3, r2, #0x0
+ sub r3, #0x5a
+ ldrb r3, [r4, r3]
+ cmp r5, r3
+ bne _0208181A
+ add r0, r4, #0x0
+ bl FUN_0208373C
+ cmp r0, #0x1
+ beq _0208180E
+_0208180C:
+ b _02081DBC
+_0208180E:
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208181A:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081822:
+ ldr r0, _020819EC ; =0x00000584
+ ldrb r1, [r4, r0]
+ cmp r1, #0x0
+ beq _02081912
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081838:
+ mov r0, #0x8
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081850:
+ mov r0, #0x8
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081866:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r0, r4, #0x0
+ add r2, #0x10
+ bl FUN_020837B4
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081884:
+ ldr r0, _020819EC ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081912
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_020818A0:
+ mov r0, #0x9
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020818B8:
+ mov r0, #0x9
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020818CE:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081902
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ add r3, r4, #0x0
+ mov r2, #0x30
+ add r3, #0x10
+ mul r2, r1
+ add r0, r4, #0x0
+ add r2, r3, r2
+ bl FUN_020837B4
+ cmp r0, #0x1
+ bne _02081912
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081902:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_0208190A:
+ ldr r1, _020819EC ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081914
+_02081912:
+ b _02081DBC
+_02081914:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081932
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081932:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081940:
+ mov r0, #0xa
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081958:
+ mov r0, #0xa
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208196E:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r2, #0xe8
+ ldr r2, [r2, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020838B4
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_0208198E:
+ ldr r0, _020819EC ; =0x00000584
+ sub r2, #0x4f
+ ldrb r1, [r4, r2]
+ ldrb r0, [r4, r0]
+ cmp r0, r1
+ blo _02081A5C
+ mov r5, #0x0
+ cmp r1, #0x0
+ ble _020819CC
+ add r6, r4, #0x0
+_020819A2:
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ bl FUN_02021A4C
+ add r1, r6, #0x0
+ add r1, #0xe8
+ ldr r1, [r1, #0x0]
+ add r0, r7, #0x0
+ bl FUN_02023990
+ ldr r0, _020819F0 ; =0x00000127
+ add r5, r5, #0x1
+ ldrb r0, [r4, r0]
+ add r6, r6, #0x4
+ cmp r5, r0
+ blt _020819A2
+_020819CC:
+ ldr r0, _020819EC ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _020819E8 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_020819DE:
+ mov r0, #0xb
+ bl FUN_02031588
+ ldr r0, _020819EC ; =0x00000584
+ b _020819F4
+ .balign 4
+_020819E8: .word 0x00000176
+_020819EC: .word 0x00000584
+_020819F0: .word 0x00000127
+_020819F4:
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A04:
+ mov r0, #0xb
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A1A:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081A4C
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ add r0, r4, #0x0
+ lsl r2, r1, #0x2
+ add r2, r4, r2
+ add r2, #0xe8
+ ldr r2, [r2, #0x0]
+ bl FUN_020838B4
+ cmp r0, #0x1
+ bne _02081A5C
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081A4C:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A54:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081A5E
+_02081A5C:
+ b _02081DBC
+_02081A5E:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081A7C
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A7C:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081A8A:
+ bl FUN_02029EC4
+ add r2, r0, #0x0
+ mov r0, #0x57
+ lsl r0, r0, #0x2
+ ldr r1, _02081D30 ; =0x00000585
+ ldr r0, [r4, r0]
+ add r1, r4, r1
+ bl MI_CpuCopy8
+ mov r0, #0xc
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081AB6:
+ mov r0, #0xc
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081ACC:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r0, r4, #0x0
+ mov r2, #0x0
+ bl FUN_02083AD4
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081AE8:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081B74
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B04:
+ mov r0, #0xd
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B1C:
+ mov r0, #0xd
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B32:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081B64
+ add r0, r2, #0x2
+ ldr r1, [r4, r0]
+ sub r2, #0x1a
+ lsl r3, r1, #0x2
+ add r3, r4, r3
+ ldr r2, [r3, r2]
+ add r0, r4, #0x0
+ bl FUN_02083AD4
+ cmp r0, #0x1
+ bne _02081B74
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081B64:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B6C:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081B76
+_02081B74:
+ b _02081DBC
+_02081B76:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081B94
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081B94:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081BA2:
+ mov r0, #0xe
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BBA:
+ mov r0, #0xe
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BD0:
+ add r2, sp, #0x8
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r2, #0x2
+ bl FUN_02082894
+ ldr r1, _02081D34 ; =0x00000123
+ add r2, sp, #0x8
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, #0x2
+ bl FUN_02083B48
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081BFA:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081C8E
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081C16:
+ mov r0, #0xf
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C2E:
+ mov r0, #0xf
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C44:
+ add r1, r2, #0x0
+ sub r1, #0x53
+ ldrb r3, [r4, r1]
+ add r1, r2, #0x0
+ sub r1, #0x5a
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ bne _02081C7E
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, sp, #0x4
+ bl FUN_02082894
+ mov r1, #0x5e
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ add r2, sp, #0x4
+ bl FUN_02083B48
+ cmp r0, #0x1
+ bne _02081C8E
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081C7E:
+ add r0, r0, #0x1
+ add sp, #0x10
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081C86:
+ ldr r1, _02081D2C ; =0x00000584
+ ldrb r0, [r4, r1]
+ cmp r0, #0x0
+ bne _02081C90
+_02081C8E:
+ b _02081DBC
+_02081C90:
+ mov r0, #0x0
+ strb r0, [r4, r1]
+ add r1, r2, #0x2
+ ldr r1, [r4, r1]
+ add r3, r1, #0x1
+ add r1, r2, #0x2
+ str r3, [r4, r1]
+ ldr r1, [r4, r1]
+ cmp r1, #0x4
+ bge _02081CAE
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ sub r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081CAE:
+ add r1, r2, #0x2
+ str r0, [r4, r1]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081CBC:
+ mov r0, #0x10
+ bl FUN_02031588
+ ldr r0, _02081D2C ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081CD4:
+ mov r0, #0x10
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02081DBC
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081CEA:
+ sub r2, #0x53
+ ldrb r1, [r4, r2]
+ add r2, r4, #0x0
+ add r0, r4, #0x0
+ add r2, #0xd0
+ bl FUN_02083834
+ cmp r0, #0x1
+ bne _02081DBC
+ ldr r0, _02081D28 ; =0x00000176
+ add sp, #0x10
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r7, pc}
+_02081D08:
+ ldr r0, _02081D2C ; =0x00000584
+ add r1, r2, #0x0
+ sub r1, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r1, [r4, r1]
+ cmp r3, r1
+ blo _02081DBC
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldrb r0, [r4, r2]
+ add sp, #0x10
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ pop {r3-r7, pc}
+_02081D24:
+ ldr r0, _02081D38 ; =0x00000127
+ b _02081D3C
+ .balign 4
+_02081D28: .word 0x00000176
+_02081D2C: .word 0x00000584
+_02081D30: .word 0x00000585
+_02081D34: .word 0x00000123
+_02081D38: .word 0x00000127
+_02081D3C:
+ mov r5, #0x0
+ ldrb r0, [r4, r0]
+ cmp r0, #0x0
+ ble _02081D62
+ mov r7, #0x42
+ lsl r7, r7, #0x2
+ add r6, r7, #0x0
+ add r6, #0x1f
+_02081D4C:
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ bl FUN_020239CC
+ add r1, r4, r5
+ strb r0, [r1, r7]
+ ldrb r0, [r4, r6]
+ add r5, r5, #0x1
+ cmp r5, r0
+ blt _02081D4C
+_02081D62:
+ cmp r5, #0x4
+ bge _02081D86
+ add r1, r4, #0x0
+ mov r0, #0x30
+ add r1, #0x30
+ mul r0, r5
+ add r0, r1, r0
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+_02081D74:
+ ldrh r2, [r0, #0x0]
+ add r0, #0x30
+ lsl r2, r2, #0x12
+ lsr r3, r2, #0x1e
+ add r2, r4, r5
+ add r5, r5, #0x1
+ strb r3, [r2, r1]
+ cmp r5, #0x4
+ blt _02081D74
+_02081D86:
+ mov r0, #0x47
+ lsl r0, r0, #0x2
+ ldrb r2, [r4, r0]
+ ldr r1, _02081DC0 ; =0x000019B4
+ strb r2, [r4, r1]
+ add r2, r0, #0x0
+ add r2, #0x8
+ ldrb r3, [r4, r2]
+ add r2, r1, #0x1
+ strb r3, [r4, r2]
+ add r2, r1, #0x2
+ mov r3, #0x1
+ strb r3, [r4, r2]
+ add r2, r0, #0x0
+ add r2, #0xb
+ ldrb r2, [r4, r2]
+ add r1, r1, #0x3
+ strb r2, [r4, r1]
+ add r1, r0, #0x0
+ mov r2, #0x0
+ add r1, #0x64
+ str r2, [r4, r1]
+ add r0, #0x5a
+ strb r2, [r4, r0]
+ ldr r0, [sp, #0x0]
+ bl FUN_0200CAB4
+_02081DBC:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_02081DC0: .word 0x000019B4
+
+ thumb_func_start FUN_02081DC4
+FUN_02081DC4: ; 0x02081DC4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ bl FUN_02030F40
+ cmp r0, #0x0
+ bne _02081DD4
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02081DD4:
+ ldr r0, _02081EA4 ; =0x00000171
+ mov r1, #0x1
+ strb r1, [r6, r0]
+ bl FUN_02030F20
+ add r4, r0, #0x0
+ bl FUN_02031190
+ mov r5, #0x0
+ str r0, [sp, #0x0]
+ cmp r4, #0x0
+ ble _02081E0A
+_02081DEC:
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ bne _02081DFA
+ bl ErrorHandling
+_02081DFA:
+ add r0, r7, #0x0
+ bl FUN_02023A88
+ cmp r0, #0x0
+ beq _02081E0A
+ add r5, r5, #0x1
+ cmp r5, r4
+ blt _02081DEC
+_02081E0A:
+ cmp r5, r4
+ beq _02081E12
+ mov r1, #0x0
+ b _02081E14
+_02081E12:
+ mov r1, #0x1
+_02081E14:
+ ldr r0, _02081EA8 ; =0x00001999
+ mov r5, #0x0
+ strb r1, [r6, r0]
+ cmp r4, #0x0
+ ble _02081E3C
+_02081E1E:
+ add r0, r5, #0x0
+ bl FUN_0202DFA4
+ add r7, r0, #0x0
+ bne _02081E2C
+ bl ErrorHandling
+_02081E2C:
+ add r0, r7, #0x0
+ bl FUN_02023A9C
+ cmp r0, #0x0
+ beq _02081E3C
+ add r5, r5, #0x1
+ cmp r5, r4
+ blt _02081E1E
+_02081E3C:
+ cmp r5, r4
+ beq _02081E44
+ mov r1, #0x0
+ b _02081E46
+_02081E44:
+ mov r1, #0x1
+_02081E46:
+ ldr r0, _02081EAC ; =0x0000199A
+ ldr r2, _02081EA8 ; =0x00001999
+ strb r1, [r6, r0]
+ ldrb r1, [r6, r2]
+ add r2, r2, #0x1
+ ldrb r2, [r6, r2]
+ add r0, r6, #0x0
+ bl FUN_020813F4
+ ldr r0, [sp, #0x0]
+ mov r1, #0x49
+ lsl r0, r0, #0x18
+ mov r2, #0x4
+ lsr r0, r0, #0x18
+ lsl r1, r1, #0x2
+ sub r3, r2, r4
+ strb r0, [r6, r1]
+ add r2, r1, #0x2
+ strb r3, [r6, r2]
+ add r2, r1, #0x3
+ strb r4, [r6, r2]
+ sub r1, r1, #0x1
+ strb r0, [r6, r1]
+ mov r1, #0x64
+ add r0, r1, #0x0
+ add r0, #0xc1
+ strb r1, [r6, r0]
+ add r1, #0xbc
+ ldrb r0, [r6, r1]
+ mov r1, #0x1
+ bl FUN_02083454
+ ldr r1, _02081EB0 ; =0x00000122
+ strb r0, [r6, r1]
+ add r0, r6, #0x0
+ bl FUN_020834D0
+ ldr r0, _02081EB4 ; =FUN_02081680
+ add r1, r6, #0x0
+ mov r2, #0xa
+ bl FUN_0200CA44
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ str r0, [r6, r1]
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ .balign 4
+_02081EA4: .word 0x00000171
+_02081EA8: .word 0x00001999
+_02081EAC: .word 0x0000199A
+_02081EB0: .word 0x00000122
+_02081EB4: .word FUN_02081680
+
+ thumb_func_start FUN_02081EB8
+FUN_02081EB8: ; 0x02081EB8
+ ldr r3, _02081EBC ; =FUN_02081EC0
+ bx r3
+ .balign 4
+_02081EBC: .word FUN_02081EC0
+
+ thumb_func_start FUN_02081EC0
+FUN_02081EC0: ; 0x02081EC0
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ ldr r0, [r0, r1]
+ cmp r0, #0x0
+ bne _02081ECE
+ mov r0, #0x1
+ bx lr
+_02081ECE:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02081ED4
+FUN_02081ED4: ; 0x02081ED4
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ ldr r0, [r4, r0]
+ cmp r0, #0x0
+ beq _02081EE6
+ bl ErrorHandling
+_02081EE6:
+ ldr r0, _02081F00 ; =0x00000176
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02081F04 ; =FUN_02081F08
+ add r1, r4, #0x0
+ mov r2, #0xa
+ bl FUN_0200CA44
+ mov r1, #0x6
+ lsl r1, r1, #0x6
+ str r0, [r4, r1]
+ pop {r4, pc}
+ nop
+_02081F00: .word 0x00000176
+_02081F04: .word FUN_02081F08
+
+ thumb_func_start FUN_02081F08
+FUN_02081F08: ; 0x02081F08
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, _02082014 ; =0x00000176
+ ldrb r2, [r4, r1]
+ cmp r2, #0x7
+ bhi _02082000
+ add r3, r2, r2
+ add r3, pc
+ ldrh r3, [r3, #0x6]
+ lsl r3, r3, #0x10
+ asr r3, r3, #0x10
+ add pc, r3
+_02081F20: ; jump table (using 16-bit offset)
+ .short _02081F30 - _02081F20 - 2; case 0
+ .short _02081F46 - _02081F20 - 2; case 1
+ .short _02081F5A - _02081F20 - 2; case 2
+ .short _02081F7A - _02081F20 - 2; case 3
+ .short _02081F94 - _02081F20 - 2; case 4
+ .short _02081FAA - _02081F20 - 2; case 5
+ .short _02081FBE - _02081F20 - 2; case 6
+ .short _02081FEC - _02081F20 - 2; case 7
+_02081F30:
+ mov r0, #0x11
+ bl FUN_02031588
+ ldr r0, _02082018 ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081F46:
+ mov r0, #0x11
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081F5A:
+ sub r1, #0x53
+ ldrb r1, [r4, r1]
+ add r0, r4, #0x0
+ lsl r2, r1, #0x2
+ add r2, r4, r2
+ add r2, #0xf8
+ ldr r2, [r2, #0x0]
+ bl FUN_02083930
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081F7A:
+ ldr r0, _02082018 ; =0x00000584
+ add r2, r1, #0x0
+ sub r2, #0x4f
+ ldrb r3, [r4, r0]
+ ldrb r2, [r4, r2]
+ cmp r3, r2
+ blo _02082010
+ mov r2, #0x0
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ add r0, r0, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
+_02081F94:
+ mov r0, #0x12
+ bl FUN_02031588
+ ldr r0, _02082018 ; =0x00000584
+ mov r1, #0x0
+ strb r1, [r4, r0]
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FAA:
+ mov r0, #0x12
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FBE:
+ add r0, r1, #0x0
+ sub r0, #0x53
+ ldrb r3, [r4, r0]
+ add r0, r1, #0x0
+ sub r0, #0x5a
+ ldrb r0, [r4, r0]
+ cmp r3, r0
+ bne _02081FE6
+ add r1, r4, #0x0
+ add r0, r4, #0x0
+ add r1, #0xf8
+ bl FUN_020839C0
+ cmp r0, #0x1
+ bne _02082010
+ ldr r0, _02082014 ; =0x00000176
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+_02081FE6:
+ add r0, r2, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
+_02081FEC:
+ ldr r0, _02082018 ; =0x00000584
+ ldrb r2, [r4, r0]
+ cmp r2, #0x0
+ beq _02082010
+ mov r2, #0x0
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ add r0, r0, #0x1
+ strb r0, [r4, r1]
+ pop {r4, pc}
+_02082000:
+ mov r1, #0x6
+ mov r2, #0x0
+ lsl r1, r1, #0x6
+ str r2, [r4, r1]
+ sub r1, #0xa
+ strb r2, [r4, r1]
+ bl FUN_0200CAB4
+_02082010:
+ pop {r4, pc}
+ nop
+_02082014: .word 0x00000176
+_02082018: .word 0x00000584
+
+ thumb_func_start FUN_0208201C
+FUN_0208201C: ; 0x0208201C
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r2, #0x0
+ lsl r2, r4, #0x3
+ add r2, r5, r2
+ add r2, #0xd0
+ ldrh r2, [r2, #0x0]
+ add r1, r3, #0x0
+ bl FUN_0200B244
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02082034
+FUN_02082034: ; 0x02082034
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020832E4
+ add r3, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ lsl r2, r3, #0x2
+ add r4, r5, r3
+ mov r3, #0x42
+ add r2, r5, r2
+ lsl r3, r3, #0x2
+ add r2, #0xe8
+ ldrb r3, [r4, r3]
+ ldr r2, [r2, #0x0]
+ add r1, r6, #0x0
+ bl FUN_0200ABB4
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208206C
+FUN_0208206C: ; 0x0208206C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r0, r1, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_020832E4
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_0200ACF8
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02082090
+FUN_02082090: ; 0x02082090
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ mov r2, #0x12
+ add r3, r0, #0x0
+ lsl r2, r2, #0x4
+ add r5, r1, #0x0
+ add r1, r2, #0x1
+ ldrb r0, [r3, r2]
+ add r2, #0x51
+ ldrb r1, [r3, r1]
+ ldrb r2, [r3, r2]
+ bl FUN_02083228
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200B278
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020820B8
+FUN_020820B8: ; 0x020820B8
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ ldr r1, _020820D8 ; =0x0000011F
+ add r3, r0, #0x0
+ ldrb r0, [r3, r1]
+ add r1, r1, #0x2
+ ldrb r1, [r3, r1]
+ add r4, r2, #0x0
+ bl FUN_020832A4
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200B2AC
+ pop {r3-r5, pc}
+ .balign 4
+_020820D8: .word 0x0000011F
+
+ thumb_func_start FUN_020820DC
+FUN_020820DC: ; 0x020820DC
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r1, #0x13
+ add r6, r2, #0x0
+ mov r0, #0x0
+ add r3, r5, #0x0
+ lsl r1, r1, #0x4
+_020820EC:
+ ldrb r2, [r3, r1]
+ cmp r2, #0x0
+ beq _020820FA
+ add r0, r0, #0x1
+ add r3, #0xc
+ cmp r0, #0x4
+ blt _020820EC
+_020820FA:
+ bl FUN_020832DC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_02082034
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0208210C
+FUN_0208210C: ; 0x0208210C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r1, #0x13
+ add r6, r2, #0x0
+ mov r0, #0x0
+ add r3, r5, #0x0
+ lsl r1, r1, #0x4
+_0208211C:
+ ldrb r2, [r3, r1]
+ cmp r2, #0x0
+ beq _0208212A
+ add r0, r0, #0x1
+ add r3, #0xc
+ cmp r0, #0x4
+ blt _0208211C
+_0208212A:
+ bl FUN_020832DC
+ add r1, r0, #0x0
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ add r3, r6, #0x0
+ bl FUN_0208206C
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0208213C
+FUN_0208213C: ; 0x0208213C
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_02082140
+FUN_02082140: ; 0x02082140
+ push {r3, lr}
+ ldr r2, _02082154 ; =0x00000171
+ ldrb r0, [r0, r2]
+ cmp r0, #0x0
+ beq _02082150
+ add r0, r1, #0x0
+ bl FUN_02031588
+_02082150:
+ pop {r3, pc}
+ nop
+_02082154: .word 0x00000171
+
+ thumb_func_start FUN_02082158
+FUN_02082158: ; 0x02082158
+ push {r3, lr}
+ ldr r2, _02082178 ; =0x00000171
+ ldrb r0, [r0, r2]
+ cmp r0, #0x0
+ bne _02082166
+ mov r0, #0x1
+ pop {r3, pc}
+_02082166:
+ add r0, r1, #0x0
+ bl FUN_020315D8
+ cmp r0, #0x1
+ bne _02082174
+ mov r0, #0x1
+ pop {r3, pc}
+_02082174:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02082178: .word 0x00000171
+
+ thumb_func_start FUN_0208217C
+FUN_0208217C: ; 0x0208217C
+ ldr r2, _0208218C ; =0x00000123
+ mov r1, #0xc
+ ldrb r3, [r0, r2]
+ add r2, #0xd
+ mul r1, r3
+ add r0, r0, r1
+ ldrb r0, [r0, r2]
+ bx lr
+ .balign 4
+_0208218C: .word 0x00000123
+
+ thumb_func_start FUN_02082190
+FUN_02082190: ; 0x02082190
+ push {r3, lr}
+ mov r1, #0x13
+ mov r3, #0x0
+ lsl r1, r1, #0x4
+_02082198:
+ ldrb r2, [r0, r1]
+ cmp r2, #0x0
+ bne _020821A6
+ add r0, r3, #0x0
+ bl FUN_020832DC
+ pop {r3, pc}
+_020821A6:
+ add r3, r3, #0x1
+ add r0, #0xc
+ cmp r3, #0x4
+ blt _02082198
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020821B4
+FUN_020821B4: ; 0x020821B4
+ ldr r1, _020821BC ; =0x00000123
+ ldr r3, _020821C0 ; =FUN_020832DC
+ ldrb r0, [r0, r1]
+ bx r3
+ .balign 4
+_020821BC: .word 0x00000123
+_020821C0: .word FUN_020832DC
+
+ thumb_func_start FUN_020821C4
+FUN_020821C4: ; 0x020821C4
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_020832E4
+ lsl r0, r0, #0x1
+ add r1, r4, r0
+ mov r0, #0x45
+ lsl r0, r0, #0x2
+ ldrh r0, [r1, r0]
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020821DC
+FUN_020821DC: ; 0x020821DC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, r1, #0x0
+ bl FUN_020832E4
+ add r1, r4, r0
+ mov r0, #0x11
+ lsl r0, r0, #0x4
+ ldrb r0, [r1, r0]
+ pop {r4, pc}
+
+ thumb_func_start FUN_020821F0
+FUN_020821F0: ; 0x020821F0
+ push {r3, lr}
+ ldr r1, _02082210 ; =0x00000171
+ ldrb r1, [r0, r1]
+ cmp r1, #0x1
+ bne _020821FE
+ mov r0, #0x1
+ pop {r3, pc}
+_020821FE:
+ bl FUN_020832EC
+ cmp r0, #0x1
+ bne _0208220A
+ mov r0, #0x2
+ pop {r3, pc}
+_0208220A:
+ mov r0, #0x0
+ pop {r3, pc}
+ nop
+_02082210: .word 0x00000171
+
+ thumb_func_start FUN_02082214
+FUN_02082214: ; 0x02082214
+ push {r4-r5}
+ mov r4, #0x12
+ lsl r4, r4, #0x4
+ ldrb r5, [r0, r4]
+ strh r5, [r1, #0x0]
+ sub r1, r4, #0x1
+ ldrb r1, [r0, r1]
+ strh r1, [r2, #0x0]
+ add r1, r4, #0x1
+ ldrb r1, [r0, r1]
+ strh r1, [r3, #0x0]
+ ldr r1, _02082238 ; =0x00001998
+ ldrb r1, [r0, r1]
+ ldr r0, [sp, #0x8]
+ strh r1, [r0, #0x0]
+ pop {r4-r5}
+ bx lr
+ nop
+_02082238: .word 0x00001998
+
+ thumb_func_start FUN_0208223C
+FUN_0208223C: ; 0x0208223C
+ ldr r1, _02082244 ; =0x00000171
+ ldr r3, _02082248 ; =FUN_020833D4
+ ldrb r0, [r0, r1]
+ bx r3
+ .balign 4
+_02082244: .word 0x00000171
+_02082248: .word FUN_020833D4
+
+ thumb_func_start FUN_0208224C
+FUN_0208224C: ; 0x0208224C
+ ldr r3, _02082250 ; =FUN_02083404
+ bx r3
+ .balign 4
+_02082250: .word FUN_02083404
+
+ thumb_func_start FUN_02082254
+FUN_02082254: ; 0x02082254
+ push {r4, lr}
+ mov r1, #0x12
+ add r4, r0, #0x0
+ lsl r1, r1, #0x4
+ ldrb r0, [r4, r1]
+ sub r1, r1, #0x1
+ ldrb r1, [r4, r1]
+ bl FUN_0208341C
+ add r1, r0, #0x0
+ ldr r0, _02082280 ; =0x00001990
+ mov r2, #0x0
+ ldr r0, [r4, r0]
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _0208227A
+ mov r0, #0x1
+ pop {r4, pc}
+_0208227A:
+ mov r0, #0x0
+ pop {r4, pc}
+ nop
+_02082280: .word 0x00001990
+
+ thumb_func_start FUN_02082284
+FUN_02082284: ; 0x02082284
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ ldr r1, _020822EC ; =0x0000011F
+ add r5, r2, #0x0
+ ldrb r2, [r0, r1]
+ cmp r2, #0x4
+ bhi _020822D0
+ add r2, r2, r2
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_0208229E: ; jump table (using 16-bit offset)
+ .short _020822A8 - _0208229E - 2; case 0
+ .short _020822B0 - _0208229E - 2; case 1
+ .short _020822B8 - _0208229E - 2; case 2
+ .short _020822C0 - _0208229E - 2; case 3
+ .short _020822C8 - _0208229E - 2; case 4
+_020822A8:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x21
+ b _020822D6
+_020822B0:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x25
+ b _020822D6
+_020822B8:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x29
+ b _020822D6
+_020822C0:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x2d
+ b _020822D6
+_020822C8:
+ add r1, r1, #0x1
+ ldrb r0, [r0, r1]
+ add r0, #0x31
+ b _020822D6
+_020822D0:
+ bl ErrorHandling
+ pop {r3-r5, pc}
+_020822D6:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r1, #0x3
+ bl FUN_0207FC5C
+ add r2, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_0200AD94
+ pop {r3-r5, pc}
+ .balign 4
+_020822EC: .word 0x0000011F
+
+ thumb_func_start FUN_020822F0
+FUN_020822F0: ; 0x020822F0
+ push {r3-r5, lr}
+ mov r4, #0x64
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0xbf
+ ldrb r1, [r5, r0]
+ mov r0, #0xc
+ mul r0, r1
+ add r1, r5, r0
+ add r0, r4, #0x0
+ add r0, #0xcc
+ ldrb r0, [r1, r0]
+ cmp r0, #0x0
+ beq _02082310
+ ldr r0, _0208243C ; =0x0000FFFF
+ pop {r3-r5, pc}
+_02082310:
+ add r0, r4, #0x0
+ add r0, #0xbb
+ ldrb r0, [r5, r0]
+ cmp r0, #0x4
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082326: ; jump table (using 16-bit offset)
+ .short _02082330 - _02082326 - 2; case 0
+ .short _0208235E - _02082326 - 2; case 1
+ .short _0208238C - _02082326 - 2; case 2
+ .short _020823BA - _02082326 - 2; case 3
+ .short _020823E8 - _02082326 - 2; case 4
+_02082330:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082346: ; jump table (using 16-bit offset)
+ .short _0208234E - _02082346 - 2; case 0
+ .short _02082352 - _02082346 - 2; case 1
+ .short _02082356 - _02082346 - 2; case 2
+ .short _0208235A - _02082346 - 2; case 3
+_0208234E:
+ mov r4, #0x49
+ b _02082414
+_02082352:
+ mov r4, #0x4e
+ b _02082414
+_02082356:
+ mov r4, #0x53
+ b _02082414
+_0208235A:
+ mov r4, #0x58
+ b _02082414
+_0208235E:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082374: ; jump table (using 16-bit offset)
+ .short _0208237C - _02082374 - 2; case 0
+ .short _02082380 - _02082374 - 2; case 1
+ .short _02082384 - _02082374 - 2; case 2
+ .short _02082388 - _02082374 - 2; case 3
+_0208237C:
+ mov r4, #0x4a
+ b _02082414
+_02082380:
+ mov r4, #0x4f
+ b _02082414
+_02082384:
+ mov r4, #0x54
+ b _02082414
+_02082388:
+ mov r4, #0x59
+ b _02082414
+_0208238C:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823A2: ; jump table (using 16-bit offset)
+ .short _020823AA - _020823A2 - 2; case 0
+ .short _020823AE - _020823A2 - 2; case 1
+ .short _020823B2 - _020823A2 - 2; case 2
+ .short _020823B6 - _020823A2 - 2; case 3
+_020823AA:
+ mov r4, #0x48
+ b _02082414
+_020823AE:
+ mov r4, #0x4d
+ b _02082414
+_020823B2:
+ mov r4, #0x52
+ b _02082414
+_020823B6:
+ mov r4, #0x57
+ b _02082414
+_020823BA:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823D0: ; jump table (using 16-bit offset)
+ .short _020823D8 - _020823D0 - 2; case 0
+ .short _020823DC - _020823D0 - 2; case 1
+ .short _020823E0 - _020823D0 - 2; case 2
+ .short _020823E4 - _020823D0 - 2; case 3
+_020823D8:
+ mov r4, #0x4c
+ b _02082414
+_020823DC:
+ mov r4, #0x51
+ b _02082414
+_020823E0:
+ mov r4, #0x56
+ b _02082414
+_020823E4:
+ mov r4, #0x5b
+ b _02082414
+_020823E8:
+ add r0, r4, #0x0
+ add r0, #0xbc
+ ldrb r0, [r5, r0]
+ cmp r0, #0x3
+ bhi _02082414
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020823FE: ; jump table (using 16-bit offset)
+ .short _02082406 - _020823FE - 2; case 0
+ .short _0208240A - _020823FE - 2; case 1
+ .short _0208240E - _020823FE - 2; case 2
+ .short _02082412 - _020823FE - 2; case 3
+_02082406:
+ mov r4, #0x4b
+ b _02082414
+_0208240A:
+ mov r4, #0x50
+ b _02082414
+_0208240E:
+ mov r4, #0x55
+ b _02082414
+_02082412:
+ mov r4, #0x5a
+_02082414:
+ cmp r4, #0x64
+ bne _0208241C
+ bl ErrorHandling
+_0208241C:
+ ldr r0, _02082440 ; =0x0000198C
+ ldr r0, [r5, r0]
+ bl FUN_02027E24
+ bl FUN_0202708C
+ add r1, r4, #0x0
+ mov r2, #0x1
+ bl FUN_020270D8
+ cmp r0, #0x0
+ bne _02082438
+ ldr r0, _0208243C ; =0x0000FFFF
+ pop {r3-r5, pc}
+_02082438:
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0208243C: .word 0x0000FFFF
+_02082440: .word 0x0000198C
+
+ thumb_func_start FUN_02082444
+FUN_02082444: ; 0x02082444
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, _020824F0 ; =0x000019BC
+ add r6, r1, #0x0
+ ldr r0, [r5, r0]
+ cmp r0, #0x0
+ beq _02082456
+ bl ErrorHandling
+_02082456:
+ mov r0, #0x4
+ mov r1, #0x10
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x10
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r6, #0x0
+ bl FUN_020832E4
+ strb r0, [r4, #0xc]
+ ldrb r0, [r4, #0xc]
+ mov r1, #0x43
+ lsl r1, r1, #0x2
+ add r0, r5, r0
+ ldrb r2, [r0, r1]
+ mov r0, #0x1
+ and r0, r2
+ add r2, r1, #0x0
+ add r2, #0x65
+ ldrb r2, [r5, r2]
+ cmp r2, #0x1
+ bne _02082494
+ mov r1, #0x6
+ ldr r2, _020824F4 ; =0x020FBBAC
+ mul r1, r0
+ add r0, r2, r1
+ str r0, [r4, #0x4]
+ b _020824DC
+_02082494:
+ add r1, #0x14
+ ldrb r1, [r5, r1]
+ cmp r1, #0x3
+ bhi _020824D2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020824A8: ; jump table (using 16-bit offset)
+ .short _020824B0 - _020824A8 - 2; case 0
+ .short _020824BC - _020824A8 - 2; case 1
+ .short _020824C6 - _020824A8 - 2; case 2
+ .short _020824D2 - _020824A8 - 2; case 3
+_020824B0:
+ lsl r1, r0, #0x1
+ ldr r2, _020824F8 ; =0x020FBB90
+ add r0, r0, r1
+ add r0, r2, r0
+ str r0, [r4, #0x4]
+ b _020824DC
+_020824BC:
+ ldr r1, _020824FC ; =0x020FBB98
+ lsl r0, r0, #0x2
+ add r0, r1, r0
+ str r0, [r4, #0x4]
+ b _020824DC
+_020824C6:
+ lsl r1, r0, #0x2
+ ldr r2, _02082500 ; =0x020FBBA0
+ add r0, r0, r1
+ add r0, r2, r0
+ str r0, [r4, #0x4]
+ b _020824DC
+_020824D2:
+ mov r1, #0x6
+ ldr r2, _020824F4 ; =0x020FBBAC
+ mul r1, r0
+ add r0, r2, r1
+ str r0, [r4, #0x4]
+_020824DC:
+ ldr r0, _02082504 ; =FUN_0208251C
+ add r1, r5, #0x0
+ mov r2, #0x64
+ bl FUN_0200CA44
+ str r0, [r4, #0x0]
+ ldr r0, _020824F0 ; =0x000019BC
+ str r4, [r5, r0]
+ pop {r4-r6, pc}
+ nop
+_020824F0: .word 0x000019BC
+_020824F4: .word 0x020FBBAC
+_020824F8: .word 0x020FBB90
+_020824FC: .word 0x020FBB98
+_02082500: .word 0x020FBBA0
+_02082504: .word FUN_0208251C
+
+ thumb_func_start FUN_02082508
+FUN_02082508: ; 0x02082508
+ ldr r1, _02082518 ; =0x000019BC
+ ldr r0, [r0, r1]
+ cmp r0, #0x0
+ bne _02082514
+ mov r0, #0x1
+ bx lr
+_02082514:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_02082518: .word 0x000019BC
+
+ thumb_func_start FUN_0208251C
+FUN_0208251C: ; 0x0208251C
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r0, #0x0
+ ldr r0, _02082598 ; =0x000019BC
+ add r5, r1, #0x0
+ ldr r4, [r5, r0]
+ mov r0, #0x1
+ bl FUN_0200A344
+ cmp r0, #0x0
+ beq _02082594
+ ldrb r0, [r4, #0xb]
+ cmp r0, #0x0
+ bne _02082580
+ mov r0, #0x8
+ ldrsh r1, [r4, r0]
+ add r1, r1, #0x1
+ strh r1, [r4, #0x8]
+ ldrsh r2, [r4, r0]
+ ldrb r0, [r4, #0xa]
+ ldr r1, [r4, #0x4]
+ ldrb r0, [r1, r0]
+ cmp r2, r0
+ ble _02082594
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x6
+ mov r1, #0x0
+ mov r2, #0x4
+ mov r3, #0x3f
+ bl FUN_0200A208
+ ldr r0, _0208259C ; =0x000005F8
+ bl FUN_020054C8
+ ldrb r0, [r4, #0xa]
+ add r0, r0, #0x1
+ strb r0, [r4, #0xa]
+ mov r0, #0x0
+ strh r0, [r4, #0x8]
+ ldrb r0, [r4, #0xa]
+ ldr r1, [r4, #0x4]
+ ldrb r0, [r1, r0]
+ cmp r0, #0xff
+ bne _02082594
+ ldrb r0, [r4, #0xb]
+ add sp, #0x4
+ add r0, r0, #0x1
+ strb r0, [r4, #0xb]
+ pop {r3-r6, pc}
+_02082580:
+ ldr r0, _02082598 ; =0x000019BC
+ ldr r0, [r5, r0]
+ bl FUN_02016A18
+ ldr r0, _02082598 ; =0x000019BC
+ mov r1, #0x0
+ str r1, [r5, r0]
+ add r0, r6, #0x0
+ bl FUN_0200CAB4
+_02082594:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02082598: .word 0x000019BC
+_0208259C: .word 0x000005F8
+
+ thumb_func_start FUN_020825A0
+FUN_020825A0: ; 0x020825A0
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ mov r0, #0x13
+ str r2, [sp, #0x4]
+ ldr r6, [sp, #0x20]
+ ldr r7, [sp, #0x24]
+ str r1, [sp, #0x0]
+ str r3, [sp, #0x8]
+ mov r4, #0x0
+ add r2, r5, #0x0
+ lsl r0, r0, #0x4
+_020825B8:
+ ldrb r1, [r2, r0]
+ cmp r1, #0x0
+ beq _020825C6
+ add r4, r4, #0x1
+ add r2, #0xc
+ cmp r4, #0x4
+ blt _020825B8
+_020825C6:
+ add r0, r4, #0x0
+ bl FUN_020832DC
+ ldr r1, [sp, #0x0]
+ str r0, [r1, #0x0]
+ ldr r1, _02082628 ; =0x00000171
+ ldr r0, [sp, #0x4]
+ ldrb r2, [r5, r1]
+ sub r1, #0x4a
+ str r2, [r0, #0x0]
+ ldrb r0, [r5, r1]
+ cmp r4, r0
+ blt _020825E6
+ mov r1, #0x1
+ ldr r0, [sp, #0x8]
+ b _020825EA
+_020825E6:
+ ldr r0, [sp, #0x8]
+ mov r1, #0x0
+_020825EA:
+ str r1, [r0, #0x0]
+ mov r0, #0x0
+ str r0, [r6, #0x0]
+ str r0, [r7, #0x0]
+ ldr r0, _0208262C ; =0x00000121
+ ldrb r0, [r5, r0]
+ cmp r0, #0x8
+ bhi _02082624
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082606: ; jump table (using 16-bit offset)
+ .short _02082624 - _02082606 - 2; case 0
+ .short _02082624 - _02082606 - 2; case 1
+ .short _02082624 - _02082606 - 2; case 2
+ .short _02082618 - _02082606 - 2; case 3
+ .short _02082620 - _02082606 - 2; case 4
+ .short _02082618 - _02082606 - 2; case 5
+ .short _02082620 - _02082606 - 2; case 6
+ .short _02082618 - _02082606 - 2; case 7
+ .short _02082620 - _02082606 - 2; case 8
+_02082618:
+ mov r0, #0x1
+ add sp, #0xc
+ str r0, [r6, #0x0]
+ pop {r4-r7, pc}
+_02082620:
+ mov r0, #0x1
+ str r0, [r7, #0x0]
+_02082624:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02082628: .word 0x00000171
+_0208262C: .word 0x00000121
+
+ thumb_func_start FUN_02082630
+FUN_02082630: ; 0x02082630
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ ldr r0, _02082840 ; =0x00000121
+ str r2, [sp, #0x4]
+ ldrb r0, [r4, r0]
+ add r6, r3, #0x0
+ mov r5, #0x0
+ cmp r0, #0x8
+ bhi _02082666
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082650: ; jump table (using 16-bit offset)
+ .short _02082666 - _02082650 - 2; case 0
+ .short _02082666 - _02082650 - 2; case 1
+ .short _02082666 - _02082650 - 2; case 2
+ .short _02082662 - _02082650 - 2; case 3
+ .short _02082662 - _02082650 - 2; case 4
+ .short _02082662 - _02082650 - 2; case 5
+ .short _02082662 - _02082650 - 2; case 6
+ .short _02082662 - _02082650 - 2; case 7
+ .short _02082662 - _02082650 - 2; case 8
+_02082662:
+ add sp, #0xc
+ pop {r4-r7, pc}
+_02082666:
+ ldr r2, _02082844 ; =0x00000171
+ ldrb r0, [r4, r2]
+ cmp r0, #0x0
+ ldr r0, _02082848 ; =0x0000198C
+ beq _02082672
+ b _02082774
+_02082672:
+ ldr r0, [r4, r0]
+ bl FUN_020462AC
+ add r6, r0, #0x0
+ ldr r0, _02082840 ; =0x00000121
+ ldrb r1, [r4, r0]
+ cmp r1, #0x2
+ bne _020826AC
+ sub r0, r0, #0x1
+ ldrb r0, [r4, r0]
+ cmp r0, #0x3
+ blo _020826AC
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _020826AC
+ ldr r1, _0208284C ; =0x0000011F
+ add r0, r6, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_0205EE60
+ cmp r0, #0x0
+ bne _020826AC
+ ldr r1, _0208284C ; =0x0000011F
+ add r0, r6, #0x0
+ ldrb r1, [r4, r1]
+ bl FUN_0205EE08
+_020826AC:
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _020826EA
+ mov r1, #0x1
+ add r0, sp, #0x8
+ strb r1, [r0, #0x0]
+ mov r1, #0x12
+ lsl r1, r1, #0x4
+ ldrb r0, [r4, r1]
+ sub r1, r1, #0x1
+ ldrb r1, [r4, r1]
+ bl FUN_0208341C
+ add r6, r0, #0x0
+ ldr r0, _02082850 ; =0x00001990
+ add r1, r6, #0x0
+ ldr r0, [r4, r0]
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ bne _020826DE
+ mov r5, #0x1
+_020826DE:
+ ldr r0, _02082850 ; =0x00001990
+ add r1, r6, #0x0
+ ldr r0, [r4, r0]
+ add r2, sp, #0x8
+ bl FUN_02067830
+_020826EA:
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_02022504
+ ldr r3, _02082854 ; =0x00000123
+ mov r1, #0xc
+ ldrb r2, [r4, r3]
+ mul r1, r2
+ add r2, r4, r1
+ add r1, r3, #0x0
+ add r1, #0xd
+ ldrb r1, [r2, r1]
+ sub r2, r3, #0x4
+ sub r3, r3, #0x3
+ add r1, r1, #0x1
+ str r1, [sp, #0x0]
+ ldr r1, _02082850 ; =0x00001990
+ ldrb r2, [r4, r2]
+ ldrb r3, [r4, r3]
+ ldr r1, [r4, r1]
+ bl FUN_02060F10
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_02029FC8
+ mov r1, #0x3f
+ add r6, r0, #0x0
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _02082740
+ add r0, r6, #0x0
+ mov r1, #0x41
+ bl FUN_0202A0E8
+ add r0, r6, #0x0
+ mov r1, #0xd
+ bl FUN_0202A170
+_02082740:
+ cmp r5, #0x1
+ bne _0208274C
+ add r0, r6, #0x0
+ mov r1, #0x43
+ bl FUN_0202A0E8
+_0208274C:
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_02024DA0
+ add r7, r0, #0x0
+ ldr r0, _02082858 ; =0x00000127
+ ldrb r6, [r4, r0]
+ cmp r6, #0x4
+ bge _020827E8
+ lsl r0, r6, #0x2
+ add r5, r4, r0
+_02082762:
+ ldr r1, [r5, #0x0]
+ add r0, r7, #0x0
+ bl FUN_0202498C
+ add r6, r6, #0x1
+ add r5, r5, #0x4
+ cmp r6, #0x4
+ blt _02082762
+ b _020827E8
+_02082774:
+ add r3, r2, #0x0
+ sub r3, #0x4e
+ ldrb r5, [r4, r3]
+ add r1, r2, #0x0
+ mov r3, #0xc
+ mul r3, r5
+ sub r1, #0x52
+ add r3, r4, r3
+ sub r2, #0x41
+ ldrb r1, [r4, r1]
+ ldrb r2, [r3, r2]
+ ldr r0, [r4, r0]
+ bl FUN_0202C108
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_02029FC8
+ mov r1, #0x40
+ add r5, r0, #0x0
+ bl FUN_0202A0E8
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _020827BA
+ add r0, r5, #0x0
+ mov r1, #0x42
+ bl FUN_0202A0E8
+ add r0, r5, #0x0
+ mov r1, #0x13
+ bl FUN_0202A170
+_020827BA:
+ ldr r1, _02082854 ; =0x00000123
+ mov r0, #0xc
+ ldrb r2, [r4, r1]
+ add r1, #0xd
+ mul r0, r2
+ add r0, r4, r0
+ ldrb r0, [r0, r1]
+ mov r1, #0xb
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02029500
+ add r5, r0, #0x0
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_020289A4
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x4
+ bl FUN_02028AD4
+_020827E8:
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _02082820
+ ldr r0, _02082848 ; =0x0000198C
+ ldr r0, [r4, r0]
+ bl FUN_02027E24
+ ldr r1, _0208284C ; =0x0000011F
+ ldrb r1, [r4, r1]
+ bl FUN_02027044
+ add r5, r0, #0x0
+ bl FUN_02027740
+ ldr r1, _02082854 ; =0x00000123
+ add r0, r5, #0x0
+ ldrb r1, [r4, r1]
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ add r1, #0xf8
+ ldr r1, [r1, #0x0]
+ bl FUN_020278DC
+ add r0, r5, #0x0
+ bl FUN_02027710
+_02082820:
+ add r0, r4, #0x0
+ bl FUN_0208217C
+ cmp r0, #0x0
+ bne _0208283A
+ ldr r0, _02082850 ; =0x00001990
+ ldr r2, [sp, #0x4]
+ ldr r0, [r4, r0]
+ lsl r2, r2, #0x10
+ mov r1, #0x9
+ lsr r2, r2, #0x10
+ bl FUN_020688E8
+_0208283A:
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02082840: .word 0x00000121
+_02082844: .word 0x00000171
+_02082848: .word 0x0000198C
+_0208284C: .word 0x0000011F
+_02082850: .word 0x00001990
+_02082854: .word 0x00000123
+_02082858: .word 0x00000127
+
+ thumb_func_start FUN_0208285C
+FUN_0208285C: ; 0x0208285C
+ push {r4, lr}
+ bl FUN_020126D8
+ add r4, r0, #0x0
+ bl getseed_LC
+ add r0, #0xa
+ mul r0, r4
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl seedr_LC
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02082878
+FUN_02082878: ; 0x02082878
+ ldr r3, _0208287C ; =rand_LC
+ bx r3
+ .balign 4
+_0208287C: .word rand_LC
+
+ thumb_func_start FUN_02082880
+FUN_02082880: ; 0x02082880
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl rand_ALT
+ str r0, [r4, #0x0]
+ lsr r0, r0, #0x10
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02082894
+FUN_02082894: ; 0x02082894
+ push {r4-r5}
+ mov r5, #0x42
+ add r3, r0, r1
+ lsl r5, r5, #0x2
+ ldrb r4, [r3, r5]
+ lsl r1, r1, #0x1
+ add r0, r0, r1
+ strb r4, [r2, #0x0]
+ add r4, r5, #0x4
+ ldrb r4, [r3, r4]
+ strb r4, [r2, #0x1]
+ add r4, r5, #0x0
+ add r4, #0x8
+ ldrb r3, [r3, r4]
+ add r5, #0xc
+ strb r3, [r2, #0x2]
+ ldrh r0, [r0, r5]
+ strh r0, [r2, #0x4]
+ pop {r4-r5}
+ bx lr
+
+ thumb_func_start FUN_020828BC
+FUN_020828BC: ; 0x020828BC
+ ldr r2, _020828E0 ; =0x00000171
+ ldrb r1, [r0, r2]
+ cmp r1, #0x0
+ beq _020828D6
+ cmp r1, #0x1
+ bne _020828DA
+ add r1, r2, #0x0
+ sub r1, #0x55
+ sub r2, #0x4e
+ ldrb r1, [r0, r1]
+ ldrb r0, [r0, r2]
+ cmp r1, r0
+ bne _020828DA
+_020828D6:
+ mov r0, #0x1
+ bx lr
+_020828DA:
+ mov r0, #0x0
+ bx lr
+ nop
+_020828E0: .word 0x00000171
+
+ thumb_func_start FUN_020828E4
+FUN_020828E4: ; 0x020828E4
+ push {r3-r7, lr}
+ sub sp, #0x58
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x70]
+ mov r6, #0x0
+ str r0, [sp, #0x70]
+ ldr r0, [sp, #0x74]
+ add r5, r1, #0x0
+ add r4, r3, #0x0
+ str r2, [sp, #0x8]
+ str r6, [sp, #0x20]
+ str r6, [sp, #0x18]
+ str r6, [sp, #0x1c]
+ cmp r0, #0x8
+ bhi _0208292A
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0208290E: ; jump table (using 16-bit offset)
+ .short _0208292A - _0208290E - 2; case 0
+ .short _0208292A - _0208290E - 2; case 1
+ .short _0208292A - _0208290E - 2; case 2
+ .short _02082920 - _0208290E - 2; case 3
+ .short _02082926 - _0208290E - 2; case 4
+ .short _02082920 - _0208290E - 2; case 5
+ .short _02082926 - _0208290E - 2; case 6
+ .short _02082920 - _0208290E - 2; case 7
+ .short _02082926 - _0208290E - 2; case 8
+_02082920:
+ mov r0, #0x1
+ str r0, [sp, #0x18]
+ b _0208292A
+_02082926:
+ mov r0, #0x1
+ str r0, [sp, #0x1c]
+_0208292A:
+ mov r0, #0x1
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x5a
+ add r2, r1, #0x0
+ add r3, r5, #0x0
+ bl FUN_02006C98
+ str r0, [sp, #0x14]
+ mov r0, #0x5a
+ mov r1, #0x0
+ bl LoadFromNARC_7
+ mov r1, #0x30
+ bl _u32_div_f
+ str r0, [sp, #0x24]
+ ldr r1, [sp, #0x24]
+ add r0, r5, #0x0
+ add r1, r1, #0x1
+ bl FUN_020169D8
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x78]
+ cmp r0, #0x1
+ bne _02082968
+ ldr r0, [sp, #0x7c]
+ cmp r0, #0x1
+ bne _02082968
+ mov r0, #0x1
+ str r0, [sp, #0x20]
+_02082968:
+ ldr r0, [sp, #0x24]
+ mov r2, #0x0
+ cmp r0, #0x0
+ ble _02082A1A
+ ldr r3, [sp, #0x14]
+_02082972:
+ ldrh r7, [r3, #0x20]
+ lsl r0, r7, #0x1d
+ lsr r1, r0, #0x1d
+ ldr r0, [sp, #0x70]
+ cmp r0, r1
+ bne _02082A10
+ ldr r0, [sp, #0x20]
+ cmp r0, #0x1
+ bne _0208298E
+ lsl r0, r7, #0x14
+ lsr r0, r0, #0x1e
+ cmp r0, #0x1
+ beq _02082A10
+ b _0208299A
+_0208298E:
+ lsl r0, r7, #0x14
+ lsr r0, r0, #0x1e
+ cmp r0, #0x2
+ beq _02082A10
+ cmp r0, #0x3
+ beq _02082A10
+_0208299A:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x1
+ bne _020829AA
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1f
+ beq _02082A10
+ b _020829CA
+_020829AA:
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x1
+ ldrh r0, [r3, #0x20]
+ bne _020829BA
+ lsl r0, r0, #0x17
+ lsr r0, r0, #0x1f
+ beq _02082A10
+ b _020829CA
+_020829BA:
+ lsl r1, r0, #0x16
+ lsr r1, r1, #0x1f
+ cmp r1, #0x1
+ beq _02082A10
+ lsl r0, r0, #0x17
+ lsr r0, r0, #0x1f
+ cmp r0, #0x1
+ beq _02082A10
+_020829CA:
+ cmp r4, #0x0
+ bne _020829D6
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1f
+ bne _02082A06
+_020829D6:
+ cmp r4, #0x1
+ bne _020829E2
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x1b
+ lsr r0, r0, #0x1f
+ bne _02082A06
+_020829E2:
+ cmp r4, #0x2
+ bne _020829EE
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1f
+ bne _02082A06
+_020829EE:
+ cmp r4, #0x3
+ bne _020829FA
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x1f
+ bne _02082A06
+_020829FA:
+ cmp r4, #0x4
+ bne _02082A10
+ ldrh r0, [r3, #0x20]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ beq _02082A10
+_02082A06:
+ add r1, r6, #0x1
+ add r0, r6, #0x0
+ lsl r1, r1, #0x18
+ lsr r6, r1, #0x18
+ strb r2, [r5, r0]
+_02082A10:
+ ldr r0, [sp, #0x24]
+ add r2, r2, #0x1
+ add r3, #0x30
+ cmp r2, r0
+ blt _02082972
+_02082A1A:
+ mov r0, #0xff
+ strb r0, [r5, r6]
+ ldr r0, [sp, #0x1c]
+ cmp r0, #0x0
+ beq _02082A26
+ b _02082B4E
+_02082A26:
+ ldr r0, [sp, #0x8]
+ cmp r6, r0
+ bge _02082A30
+ bl ErrorHandling
+_02082A30:
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ cmp r6, #0x0
+ ble _02082A5A
+ mov r2, #0x30
+_02082A3A:
+ ldrb r1, [r5, r0]
+ add r3, r1, #0x0
+ ldr r1, [sp, #0x14]
+ mul r3, r2
+ add r1, r1, r3
+ ldrh r1, [r1, #0x20]
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x1e
+ cmp r1, #0x3
+ bne _02082A54
+ ldr r1, [sp, #0x10]
+ add r1, r1, #0x1
+ str r1, [sp, #0x10]
+_02082A54:
+ add r0, r0, #0x1
+ cmp r0, r6
+ blt _02082A3A
+_02082A5A:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _02082AA2
+ ldr r0, [sp, #0x4]
+ bl FUN_02082878
+ ldr r1, [sp, #0x10]
+ bl _s32_div_f
+ mov r3, #0x0
+ cmp r6, #0x0
+ ble _02082AA2
+ mov r0, #0x30
+_02082A74:
+ ldrb r4, [r5, r3]
+ add r2, r4, #0x0
+ ldr r4, [sp, #0x14]
+ mul r2, r0
+ add r2, r4, r2
+ ldrh r4, [r2, #0x20]
+ lsl r4, r4, #0x14
+ lsr r4, r4, #0x1e
+ cmp r4, #0x3
+ bne _02082A9C
+ cmp r1, #0x0
+ bne _02082A9A
+ add r4, sp, #0x28
+ mov r3, #0x6
+_02082A90:
+ ldmia r2!, {r0-r1}
+ stmia r4!, {r0-r1}
+ sub r3, r3, #0x1
+ bne _02082A90
+ b _02082AA2
+_02082A9A:
+ sub r1, r1, #0x1
+_02082A9C:
+ add r3, r3, #0x1
+ cmp r3, r6
+ blt _02082A74
+_02082AA2:
+ ldr r0, [sp, #0x8]
+ mov r1, #0x4
+ sub r4, r1, r0
+ add r0, r4, #0x0
+ str r4, [sp, #0xc]
+ cmp r0, #0x4
+ bge _02082B16
+_02082AB0:
+ ldr r0, [sp, #0x4]
+ bl FUN_02082878
+ add r1, r6, #0x0
+ bl _s32_div_f
+ lsl r0, r1, #0x10
+ lsr r2, r0, #0x10
+ ldrb r3, [r5, r2]
+ mov r0, #0x30
+ add r1, r3, #0x0
+ ldr r3, [sp, #0x14]
+ mul r1, r0
+ add r7, r3, r1
+ ldrh r1, [r7, #0x20]
+ lsl r1, r1, #0x14
+ lsr r1, r1, #0x1e
+ cmp r1, #0x3
+ bne _02082ADA
+ sub r4, r4, #0x1
+ b _02082B10
+_02082ADA:
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x4]
+ add r3, r0, r1
+ mov r0, #0x6
+ add r3, #0x10
+ mov r12, r0
+_02082AE8:
+ ldmia r7!, {r0-r1}
+ stmia r3!, {r0-r1}
+ mov r0, r12
+ sub r0, r0, #0x1
+ mov r12, r0
+ bne _02082AE8
+ ldrb r1, [r5, r2]
+ add r0, r5, r2
+ cmp r1, #0xff
+ beq _02082B0A
+_02082AFC:
+ ldrb r1, [r0, #0x1]
+ add r2, r2, #0x1
+ strb r1, [r0, #0x0]
+ ldrb r1, [r5, r2]
+ add r0, r5, r2
+ cmp r1, #0xff
+ bne _02082AFC
+_02082B0A:
+ sub r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_02082B10:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _02082AB0
+_02082B16:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _02082B7E
+ ldr r0, [sp, #0xc]
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ ldr r0, [sp, #0x4]
+ bl FUN_02082878
+ ldr r1, [sp, #0x8]
+ bl _s32_div_f
+ add r0, r4, r1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ add r1, r2, #0x0
+ mov r0, #0x30
+ mul r1, r0
+ ldr r0, [sp, #0x4]
+ add r4, sp, #0x28
+ add r3, r0, r1
+ add r3, #0x10
+ mov r2, #0x6
+_02082B44:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02082B44
+ b _02082B7E
+_02082B4E:
+ cmp r6, #0x4
+ bhs _02082B56
+ bl ErrorHandling
+_02082B56:
+ mov r6, #0x0
+ mov r7, #0x30
+_02082B5A:
+ ldrb r0, [r5, r6]
+ ldr r3, [sp, #0x4]
+ mov r2, #0x6
+ add r1, r0, #0x0
+ ldr r0, [sp, #0x14]
+ mul r1, r7
+ add r4, r0, r1
+ add r3, #0x10
+_02082B6A:
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02082B6A
+ ldr r0, [sp, #0x4]
+ add r6, r6, #0x1
+ add r0, #0x30
+ str r0, [sp, #0x4]
+ cmp r6, #0x4
+ blt _02082B5A
+_02082B7E:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x14]
+ bl FUN_02016A18
+ add sp, #0x58
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02082B90
+FUN_02082B90: ; 0x02082B90
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r0, [sp, #0x8]
+ mov r0, #0x1
+ add r3, r1, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x5a
+ mov r1, #0x2
+ mov r2, #0x0
+ bl FUN_02006C98
+ str r0, [sp, #0x14]
+ ldr r1, _02082D10 ; =0x00000121
+ ldr r0, [sp, #0x8]
+ ldrb r0, [r0, r1]
+ cmp r0, #0x4
+ beq _02082BBA
+ cmp r0, #0x6
+ beq _02082BBA
+ cmp r0, #0x8
+ bne _02082BC0
+_02082BBA:
+ mov r0, #0x0
+ str r0, [sp, #0xc]
+ b _02082BC8
+_02082BC0:
+ ldr r0, [sp, #0x8]
+ add r1, r1, #0x6
+ ldrb r0, [r0, r1]
+ str r0, [sp, #0xc]
+_02082BC8:
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x4
+ blt _02082BD0
+ b _02082D06
+_02082BD0:
+ mov r1, #0x30
+ mul r1, r0
+ ldr r0, [sp, #0x8]
+ add r7, r0, r1
+ ldr r0, [sp, #0xc]
+ lsl r1, r0, #0x2
+ ldr r0, [sp, #0x8]
+ add r6, r0, r1
+_02082BE0:
+ ldr r1, _02082D14 ; =0x00000122
+ ldr r0, [sp, #0x8]
+ ldrb r0, [r0, r1]
+ cmp r0, #0xb
+ bhi _02082C6E
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02082BF6: ; jump table (using 16-bit offset)
+ .short _02082C0E - _02082BF6 - 2; case 0
+ .short _02082C16 - _02082BF6 - 2; case 1
+ .short _02082C1E - _02082BF6 - 2; case 2
+ .short _02082C26 - _02082BF6 - 2; case 3
+ .short _02082C2E - _02082BF6 - 2; case 4
+ .short _02082C36 - _02082BF6 - 2; case 5
+ .short _02082C3E - _02082BF6 - 2; case 6
+ .short _02082C46 - _02082BF6 - 2; case 7
+ .short _02082C4E - _02082BF6 - 2; case 8
+ .short _02082C56 - _02082BF6 - 2; case 9
+ .short _02082C5E - _02082BF6 - 2; case 10
+ .short _02082C66 - _02082BF6 - 2; case 11
+_02082C0E:
+ add r0, r7, #0x0
+ add r0, #0x32
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C16:
+ add r0, r7, #0x0
+ add r0, #0x33
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C1E:
+ add r0, r7, #0x0
+ add r0, #0x34
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C26:
+ add r0, r7, #0x0
+ add r0, #0x35
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C2E:
+ add r0, r7, #0x0
+ add r0, #0x36
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C36:
+ add r0, r7, #0x0
+ add r0, #0x37
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C3E:
+ add r0, r7, #0x0
+ add r0, #0x38
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C46:
+ add r0, r7, #0x0
+ add r0, #0x39
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C4E:
+ add r0, r7, #0x0
+ add r0, #0x3a
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C56:
+ add r0, r7, #0x0
+ add r0, #0x3b
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C5E:
+ add r0, r7, #0x0
+ add r0, #0x3c
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C66:
+ add r0, r7, #0x0
+ add r0, #0x3d
+ ldrb r2, [r0, #0x0]
+ b _02082C74
+_02082C6E:
+ bl ErrorHandling
+ mov r2, #0x0
+_02082C74:
+ mov r0, #0x54
+ add r1, r2, #0x0
+ mul r1, r0
+ ldr r0, [sp, #0x14]
+ add r0, r0, r1
+ str r0, [sp, #0x10]
+ add r0, r6, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_02027740
+ add r0, r6, #0x0
+ add r0, #0xf8
+ ldr r2, [sp, #0x10]
+ mov r3, #0x51
+ ldrsb r2, [r2, r3]
+ ldr r0, [r0, #0x0]
+ ldr r1, [r6, #0x0]
+ bl FUN_02027914
+ ldr r0, [sp, #0x10]
+ mov r5, #0x0
+ add r0, #0x50
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ble _02082CD2
+ ldr r4, [sp, #0x10]
+_02082CAA:
+ ldrb r0, [r4, #0x2]
+ add r1, r5, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x3
+ ldrsb r0, [r4, r0]
+ str r0, [sp, #0x4]
+ add r0, r6, #0x0
+ add r0, #0xf8
+ ldrb r2, [r4, #0x0]
+ ldrb r3, [r4, #0x1]
+ ldr r0, [r0, #0x0]
+ bl FUN_02027964
+ ldr r0, [sp, #0x10]
+ add r5, r5, #0x1
+ add r0, #0x50
+ ldrb r0, [r0, #0x0]
+ add r4, r4, #0x4
+ cmp r5, r0
+ blt _02082CAA
+_02082CD2:
+ ldr r1, [sp, #0x10]
+ add r0, r6, #0x0
+ add r1, #0x52
+ add r0, #0xf8
+ str r1, [sp, #0x10]
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_0202787C
+ mov r2, #0x12
+ add r0, r6, #0x0
+ add r0, #0xf8
+ ldr r1, [sp, #0x8]
+ lsl r2, r2, #0x4
+ ldrb r1, [r1, r2]
+ ldr r0, [r0, #0x0]
+ bl FUN_020278AC
+ ldr r0, [sp, #0xc]
+ add r7, #0x30
+ add r0, r0, #0x1
+ add r6, r6, #0x4
+ str r0, [sp, #0xc]
+ cmp r0, #0x4
+ bge _02082D06
+ b _02082BE0
+_02082D06:
+ ldr r0, [sp, #0x14]
+ bl FUN_02016A18
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+_02082D10: .word 0x00000121
+_02082D14: .word 0x00000122
+
+ thumb_func_start FUN_02082D18
+FUN_02082D18: ; 0x02082D18
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r7, #0x12
+ mov r4, #0x0
+ add r5, r6, #0x0
+ lsl r7, r7, #0x4
+_02082D24:
+ add r0, r5, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ bl FUN_02027740
+ add r0, r5, #0x0
+ add r0, #0xf8
+ mov r2, #0x0
+ ldr r0, [r0, #0x0]
+ ldr r1, [r5, #0x0]
+ mvn r2, r2
+ bl FUN_02027914
+ add r0, r5, #0x0
+ add r0, #0xf8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ bl FUN_0202787C
+ add r0, r5, #0x0
+ add r0, #0xf8
+ ldrb r1, [r6, r7]
+ ldr r0, [r0, #0x0]
+ bl FUN_020278AC
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blt _02082D24
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02082D60
+FUN_02082D60: ; 0x02082D60
+ push {r3-r7, lr}
+ sub sp, #0x20
+ add r7, r0, #0x0
+ add r6, r1, #0x0
+ ldrh r1, [r7, #0x20]
+ str r2, [sp, #0x10]
+ ldrh r0, [r7, #0x14]
+ lsl r1, r1, #0x12
+ lsr r1, r1, #0x1e
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ mov r2, #0x0
+ bl FUN_02066E74
+ mov r1, #0x1
+ str r1, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x2
+ str r0, [sp, #0x8]
+ ldr r0, _02082E60 ; =0x0F0F0F0F
+ mov r2, #0xa
+ str r0, [sp, #0xc]
+ ldrh r1, [r7, #0x14]
+ add r0, r6, #0x0
+ mov r3, #0x20
+ bl FUN_02066ACC
+ mov r4, #0x0
+ add r5, r7, #0x0
+_02082D9A:
+ ldrh r1, [r5, #0xc]
+ add r0, sp, #0x18
+ add r2, sp, #0x1c
+ strh r1, [r0, #0x6]
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x36
+ add r2, #0x2
+ bl FUN_02067830
+ add r4, r4, #0x1
+ add r5, r5, #0x2
+ cmp r4, #0x4
+ blt _02082D9A
+ ldr r3, [sp, #0x10]
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xc0
+ bl FUN_0200A86C
+ ldrh r1, [r7, #0x16]
+ add r4, r0, #0x0
+ bl FUN_0200A914
+ add r5, r0, #0x0
+ ldrh r1, [r7, #0x18]
+ add r0, r4, #0x0
+ bl FUN_0200A914
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ mov r1, #0x76
+ add r2, r5, #0x0
+ bl FUN_02067830
+ ldr r2, [sp, #0x14]
+ add r0, r6, #0x0
+ mov r1, #0x90
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02021A20
+ ldr r0, [sp, #0x14]
+ bl FUN_02021A20
+ add r0, r4, #0x0
+ bl FUN_0200A8B8
+ add r2, sp, #0x1c
+ ldrb r1, [r7, #0x1a]
+ add r0, sp, #0x18
+ add r2, #0x1
+ strb r1, [r0, #0x5]
+ ldrb r1, [r7, #0x1b]
+ strb r1, [r0, #0x4]
+ ldrb r1, [r7, #0x1c]
+ strb r1, [r0, #0x3]
+ ldrb r1, [r7, #0x1d]
+ strb r1, [r0, #0x2]
+ ldrb r1, [r7, #0x1e]
+ strb r1, [r0, #0x1]
+ ldrb r1, [r7, #0x1f]
+ strb r1, [r0, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x13
+ bl FUN_02067830
+ add r0, r6, #0x0
+ mov r1, #0x14
+ add r2, sp, #0x1c
+ bl FUN_02067830
+ add r2, sp, #0x18
+ add r0, r6, #0x0
+ mov r1, #0x15
+ add r2, #0x3
+ bl FUN_02067830
+ add r2, sp, #0x18
+ add r0, r6, #0x0
+ mov r1, #0x16
+ add r2, #0x2
+ bl FUN_02067830
+ add r2, sp, #0x18
+ add r0, r6, #0x0
+ mov r1, #0x17
+ add r2, #0x1
+ bl FUN_02067830
+ add r0, r6, #0x0
+ mov r1, #0x18
+ add r2, sp, #0x18
+ bl FUN_02067830
+ add sp, #0x20
+ pop {r3-r7, pc}
+ nop
+_02082E60: .word 0x0F0F0F0F
+
+ thumb_func_start FUN_02082E64
+FUN_02082E64: ; 0x02082E64
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r6, r3, #0x0
+ add r5, r2, #0x0
+ lsl r2, r6, #0x18
+ str r0, [sp, #0x10]
+ add r7, r1, #0x0
+ add r0, sp, #0x14
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ ldr r4, [sp, #0x38]
+ bl FUN_02068B68
+ lsl r1, r6, #0x18
+ add r0, r5, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_02068E14
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ beq _02082EB0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ bne _02082E98
+ bl ErrorHandling
+_02082E98:
+ add r1, sp, #0x14
+ ldrh r0, [r1, #0x0]
+ ldrh r1, [r1, #0x2]
+ ldr r2, [sp, #0x3c]
+ ldr r3, [r4, #0x0]
+ bl FUN_02012420
+ add r0, sp, #0x14
+ ldrh r1, [r0, #0x4]
+ str r1, [r4, #0x8]
+ ldrh r0, [r0, #0x0]
+ str r0, [r4, #0x4]
+_02082EB0:
+ ldr r0, [sp, #0x48]
+ ldr r3, [sp, #0x44]
+ str r0, [sp, #0x0]
+ str r7, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x40]
+ add r1, sp, #0x14
+ add r3, r3, r5
+ bl FUN_020073A0
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02082ED0
+FUN_02082ED0: ; 0x02082ED0
+ push {r4-r7, lr}
+ sub sp, #0x24
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ ldr r0, [sp, #0x38]
+ add r7, r3, #0x0
+ mov r5, #0x0
+ str r2, [sp, #0xc]
+ str r0, [sp, #0x38]
+ mov r1, #0x1
+ ldr r3, [sp, #0x8]
+ mov r0, #0x5a
+ add r2, r5, #0x0
+ add r4, r5, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02006C98
+ str r0, [sp, #0x14]
+ mov r0, #0x5a
+ mov r1, #0x1
+ bl LoadFromNARC_7
+ lsr r0, r0, #0x3
+ str r0, [sp, #0x18]
+ ldr r1, [sp, #0x18]
+ ldr r0, [sp, #0x8]
+ add r1, r1, #0x1
+ bl FUN_020169D8
+ ldr r1, [sp, #0x18]
+ add r6, r0, #0x0
+ ldr r0, [sp, #0x8]
+ add r1, r1, #0x1
+ bl FUN_020169D8
+ str r0, [sp, #0x10]
+ ldr r0, [sp, #0x18]
+ add r2, r5, #0x0
+ cmp r0, #0x0
+ ble _0208300A
+ ldr r3, [sp, #0x14]
+_02082F22:
+ ldrh r0, [r3, #0x4]
+ mov r12, r0
+ lsl r0, r0, #0x14
+ lsr r1, r0, #0x1e
+ ldr r0, [sp, #0x38]
+ cmp r0, r1
+ bne _02083000
+ cmp r7, #0x0
+ bne _02082F5A
+ mov r0, r12
+ lsl r0, r0, #0x1e
+ lsr r0, r0, #0x1e
+ beq _02082F5A
+ cmp r0, #0x1
+ bls _02082F4E
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ add r1, r4, #0x0
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x10]
+ strb r2, [r0, r1]
+ b _02083000
+_02082F4E:
+ add r1, r5, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ strb r2, [r6, r0]
+ b _02083000
+_02082F5A:
+ cmp r7, #0x1
+ bne _02082F84
+ ldrh r0, [r3, #0x4]
+ lsl r0, r0, #0x1c
+ lsr r0, r0, #0x1e
+ beq _02082F84
+ cmp r0, #0x1
+ bls _02082F78
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ add r1, r4, #0x0
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x10]
+ strb r2, [r0, r1]
+ b _02083000
+_02082F78:
+ add r1, r5, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ strb r2, [r6, r0]
+ b _02083000
+_02082F84:
+ cmp r7, #0x2
+ bne _02082FAE
+ ldrh r0, [r3, #0x4]
+ lsl r0, r0, #0x1a
+ lsr r0, r0, #0x1e
+ beq _02082FAE
+ cmp r0, #0x1
+ bls _02082FA2
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ add r1, r4, #0x0
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x10]
+ strb r2, [r0, r1]
+ b _02083000
+_02082FA2:
+ add r1, r5, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ strb r2, [r6, r0]
+ b _02083000
+_02082FAE:
+ cmp r7, #0x3
+ bne _02082FD8
+ ldrh r0, [r3, #0x4]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1e
+ beq _02082FD8
+ cmp r0, #0x1
+ bls _02082FCC
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ add r1, r4, #0x0
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x10]
+ strb r2, [r0, r1]
+ b _02083000
+_02082FCC:
+ add r1, r5, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ strb r2, [r6, r0]
+ b _02083000
+_02082FD8:
+ cmp r7, #0x4
+ bne _02083000
+ ldrh r0, [r3, #0x4]
+ lsl r0, r0, #0x16
+ lsr r0, r0, #0x1e
+ beq _02083000
+ cmp r0, #0x1
+ bls _02082FF6
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ add r1, r4, #0x0
+ lsr r4, r0, #0x18
+ ldr r0, [sp, #0x10]
+ strb r2, [r0, r1]
+ b _02083000
+_02082FF6:
+ add r1, r5, #0x1
+ add r0, r5, #0x0
+ lsl r1, r1, #0x18
+ lsr r5, r1, #0x18
+ strb r2, [r6, r0]
+_02083000:
+ ldr r0, [sp, #0x18]
+ add r2, r2, #0x1
+ add r3, #0x8
+ cmp r2, r0
+ blt _02082F22
+_0208300A:
+ mov r1, #0xff
+ ldr r0, [sp, #0x10]
+ strb r1, [r6, r5]
+ strb r1, [r0, r4]
+ cmp r5, #0x2
+ bhs _0208301A
+ bl ErrorHandling
+_0208301A:
+ ldr r2, [sp, #0x4]
+ mov r3, #0x0
+_0208301E:
+ ldrb r0, [r6, r3]
+ ldr r5, [sp, #0x14]
+ add r3, r3, #0x1
+ lsl r1, r0, #0x3
+ ldr r0, [sp, #0x14]
+ ldrh r5, [r5, r1]
+ add r0, r0, r1
+ add r1, r2, #0x0
+ add r1, #0xd0
+ strh r5, [r1, #0x0]
+ add r1, r2, #0x0
+ ldrh r5, [r0, #0x2]
+ add r1, #0xd2
+ strh r5, [r1, #0x0]
+ add r1, r2, #0x0
+ ldrh r5, [r0, #0x4]
+ add r1, #0xd4
+ strh r5, [r1, #0x0]
+ ldrh r1, [r0, #0x6]
+ add r0, r2, #0x0
+ add r0, #0xd6
+ add r2, #0x8
+ strh r1, [r0, #0x0]
+ cmp r3, #0x2
+ blt _0208301E
+ cmp r4, #0x1
+ bhs _02083058
+ bl ErrorHandling
+_02083058:
+ ldr r0, [sp, #0x4]
+ bl FUN_02082878
+ add r1, r4, #0x0
+ bl _s32_div_f
+ lsl r0, r1, #0x10
+ lsr r1, r0, #0x10
+ ldr r0, [sp, #0x10]
+ ldrb r0, [r0, r1]
+ ldr r1, [sp, #0x14]
+ lsl r2, r0, #0x3
+ ldr r0, [sp, #0x14]
+ add r0, r0, r2
+ ldrh r2, [r1, r2]
+ ldr r1, [sp, #0x4]
+ add r1, #0xe0
+ strh r2, [r1, #0x0]
+ ldr r1, [sp, #0x4]
+ ldrh r2, [r0, #0x2]
+ add r1, #0xe2
+ strh r2, [r1, #0x0]
+ ldr r1, [sp, #0x4]
+ ldrh r2, [r0, #0x4]
+ add r1, #0xe4
+ strh r2, [r1, #0x0]
+ ldrh r1, [r0, #0x6]
+ ldr r0, [sp, #0x4]
+ ldr r2, _02083110 ; =0x0000011E
+ add r0, #0xe6
+ strh r1, [r0, #0x0]
+ ldr r1, [sp, #0xc]
+ ldr r0, [sp, #0x4]
+ strb r1, [r0, r2]
+ add r2, r0, #0x0
+ add r0, r1, #0x0
+ lsl r1, r0, #0x3
+ add r2, #0xd0
+ ldrh r4, [r2, r1]
+ add r0, sp, #0x1c
+ add r3, r2, r1
+ strh r4, [r0, #0x0]
+ ldrh r4, [r3, #0x2]
+ strh r4, [r0, #0x2]
+ ldrh r4, [r3, #0x4]
+ strh r4, [r0, #0x4]
+ ldrh r4, [r3, #0x6]
+ strh r4, [r0, #0x6]
+ ldr r4, [sp, #0x4]
+ add r4, #0xe0
+ ldrh r4, [r4, #0x0]
+ strh r4, [r2, r1]
+ ldr r1, [sp, #0x4]
+ add r1, #0xe2
+ ldrh r1, [r1, #0x0]
+ strh r1, [r3, #0x2]
+ ldr r1, [sp, #0x4]
+ add r1, #0xe4
+ ldrh r1, [r1, #0x0]
+ strh r1, [r3, #0x4]
+ ldr r1, [sp, #0x4]
+ add r1, #0xe6
+ ldrh r1, [r1, #0x0]
+ strh r1, [r3, #0x6]
+ ldr r1, [sp, #0x4]
+ ldrh r2, [r0, #0x0]
+ add r1, #0xe0
+ strh r2, [r1, #0x0]
+ ldr r1, [sp, #0x4]
+ ldrh r2, [r0, #0x2]
+ add r1, #0xe2
+ strh r2, [r1, #0x0]
+ ldr r1, [sp, #0x4]
+ ldrh r2, [r0, #0x4]
+ add r1, #0xe4
+ strh r2, [r1, #0x0]
+ ldrh r1, [r0, #0x6]
+ ldr r0, [sp, #0x4]
+ add r0, #0xe6
+ str r0, [sp, #0x4]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x10]
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x14]
+ bl FUN_02016A18
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_02083110: .word 0x0000011E
+
+ thumb_func_start FUN_02083114
+FUN_02083114: ; 0x02083114
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x18
+ blo _02083120
+ bl ErrorHandling
+_02083120:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _0208312C ; =0x020FBC6C
+ ldrsb r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_0208312C: .word 0x020FBC6C
+
+ thumb_func_start FUN_02083130
+FUN_02083130: ; 0x02083130
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ cmp r5, #0x18
+ blo _02083140
+ bl ErrorHandling
+_02083140:
+ mov r0, #0x1a
+ add r1, r5, #0x0
+ mul r1, r0
+ ldr r0, _02083154 ; =0x020FBC68
+ ldrh r0, [r0, r1]
+ str r0, [r4, #0x0]
+ ldr r0, _02083158 ; =0x020FBC6A
+ ldrh r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r4-r6, pc}
+ .balign 4
+_02083154: .word 0x020FBC68
+_02083158: .word 0x020FBC6A
+
+ thumb_func_start FUN_0208315C
+FUN_0208315C: ; 0x0208315C
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x18
+ blo _02083168
+ bl ErrorHandling
+_02083168:
+ add r4, #0x2d
+ add r0, r4, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083170
+FUN_02083170: ; 0x02083170
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r7, r1, #0x0
+ add r5, r2, #0x0
+ add r6, r3, #0x0
+ cmp r4, #0x18
+ blo _02083182
+ bl ErrorHandling
+_02083182:
+ cmp r7, #0x4
+ bhi _0208319C
+ add r0, r7, r7
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02083192: ; jump table (using 16-bit offset)
+ .short _0208319C - _02083192 - 2; case 0
+ .short _020831B0 - _02083192 - 2; case 1
+ .short _020831C4 - _02083192 - 2; case 2
+ .short _020831D8 - _02083192 - 2; case 3
+ .short _020831EC - _02083192 - 2; case 4
+_0208319C:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02083200 ; =0x020FBC6E
+ ldrh r0, [r0, r1]
+ str r0, [r5, #0x0]
+ ldr r0, _02083204 ; =0x020FBC70
+ ldrb r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020831B0:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02083208 ; =0x020FBC72
+ ldrh r0, [r0, r1]
+ str r0, [r5, #0x0]
+ ldr r0, _0208320C ; =0x020FBC74
+ ldrb r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020831C4:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02083210 ; =0x020FBC76
+ ldrh r0, [r0, r1]
+ str r0, [r5, #0x0]
+ ldr r0, _02083214 ; =0x020FBC78
+ ldrb r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020831D8:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02083218 ; =0x020FBC7A
+ ldrh r0, [r0, r1]
+ str r0, [r5, #0x0]
+ ldr r0, _0208321C ; =0x020FBC7C
+ ldrb r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r3-r7, pc}
+_020831EC:
+ mov r0, #0x1a
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02083220 ; =0x020FBC7E
+ ldrh r0, [r0, r1]
+ str r0, [r5, #0x0]
+ ldr r0, _02083224 ; =0x020FBC80
+ ldrb r0, [r0, r1]
+ str r0, [r6, #0x0]
+ pop {r3-r7, pc}
+ .balign 4
+_02083200: .word 0x020FBC6E
+_02083204: .word 0x020FBC70
+_02083208: .word 0x020FBC72
+_0208320C: .word 0x020FBC74
+_02083210: .word 0x020FBC76
+_02083214: .word 0x020FBC78
+_02083218: .word 0x020FBC7A
+_0208321C: .word 0x020FBC7C
+_02083220: .word 0x020FBC7E
+_02083224: .word 0x020FBC80
+
+ thumb_func_start FUN_02083228
+FUN_02083228: ; 0x02083228
+ cmp r2, #0x1
+ bne _02083230
+ mov r0, #0x33
+ bx lr
+_02083230:
+ cmp r1, #0x3
+ beq _0208323C
+ cmp r1, #0x5
+ beq _0208323C
+ cmp r1, #0x7
+ bne _02083240
+_0208323C:
+ mov r0, #0x32
+ bx lr
+_02083240:
+ cmp r0, #0x3
+ bhi _02083264
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02083250: ; jump table (using 16-bit offset)
+ .short _02083258 - _02083250 - 2; case 0
+ .short _0208325C - _02083250 - 2; case 1
+ .short _02083260 - _02083250 - 2; case 2
+ .short _02083264 - _02083250 - 2; case 3
+_02083258:
+ mov r0, #0x2e
+ bx lr
+_0208325C:
+ mov r0, #0x2f
+ bx lr
+_02083260:
+ mov r0, #0x30
+ bx lr
+_02083264:
+ mov r0, #0x31
+ bx lr
+
+ thumb_func_start FUN_02083268
+FUN_02083268: ; 0x02083268
+ cmp r0, #0x4
+ bhi _02083292
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02083278: ; jump table (using 16-bit offset)
+ .short _02083282 - _02083278 - 2; case 0
+ .short _02083286 - _02083278 - 2; case 1
+ .short _0208328A - _02083278 - 2; case 2
+ .short _0208328E - _02083278 - 2; case 3
+ .short _02083292 - _02083278 - 2; case 4
+_02083282:
+ mov r0, #0x2e
+ bx lr
+_02083286:
+ mov r0, #0x2f
+ bx lr
+_0208328A:
+ mov r0, #0x30
+ bx lr
+_0208328E:
+ mov r0, #0x31
+ bx lr
+_02083292:
+ mov r0, #0x33
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083298
+FUN_02083298: ; 0x02083298
+ ldr r3, _020832A0 ; =FUN_020832A4
+ mov r1, #0x2
+ bx r3
+ nop
+_020832A0: .word FUN_020832A4
+
+ thumb_func_start FUN_020832A4
+FUN_020832A4: ; 0x020832A4
+ cmp r1, #0x5
+ bne _020832AC
+ mov r0, #0x34
+ bx lr
+_020832AC:
+ cmp r0, #0x4
+ bhi _020832D6
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_020832BC: ; jump table (using 16-bit offset)
+ .short _020832C6 - _020832BC - 2; case 0
+ .short _020832CA - _020832BC - 2; case 1
+ .short _020832CE - _020832BC - 2; case 2
+ .short _020832D2 - _020832BC - 2; case 3
+ .short _020832D6 - _020832BC - 2; case 4
+_020832C6:
+ mov r0, #0x29
+ bx lr
+_020832CA:
+ mov r0, #0x2a
+ bx lr
+_020832CE:
+ mov r0, #0x2b
+ bx lr
+_020832D2:
+ mov r0, #0x2c
+ bx lr
+_020832D6:
+ mov r0, #0x2d
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020832DC
+FUN_020832DC: ; 0x020832DC
+ mov r1, #0x3
+ sub r0, r1, r0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020832E4
+FUN_020832E4: ; 0x020832E4
+ mov r1, #0x3
+ sub r0, r1, r0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020832EC
+FUN_020832EC: ; 0x020832EC
+ ldr r1, _02083304 ; =0x00000121
+ ldrb r0, [r0, r1]
+ cmp r0, #0x3
+ beq _020832FC
+ cmp r0, #0x5
+ beq _020832FC
+ cmp r0, #0x7
+ bne _02083300
+_020832FC:
+ mov r0, #0x1
+ bx lr
+_02083300:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_02083304: .word 0x00000121
+
+ thumb_func_start FUN_02083308
+FUN_02083308: ; 0x02083308
+ push {r4-r5}
+ sub sp, #0x50
+ ldr r5, _02083368 ; =0x020FBC18
+ add r4, sp, #0x0
+ mov r3, #0x28
+_02083312:
+ ldrh r2, [r5, #0x0]
+ add r5, r5, #0x2
+ strh r2, [r4, #0x0]
+ add r4, r4, #0x2
+ sub r3, r3, #0x1
+ bne _02083312
+ mov r3, #0xc
+ mul r3, r1
+ add r1, r0, r3
+ mov r3, #0x4a
+ lsl r3, r3, #0x2
+ add r4, r3, #0x0
+ add r4, #0x49
+ ldrb r4, [r0, r4]
+ mov r2, #0x0
+ ldrsh r1, [r1, r3]
+ cmp r4, #0x1
+ bne _0208333A
+ add r4, sp, #0x40
+ b _02083344
+_0208333A:
+ sub r3, #0x8
+ ldrb r0, [r0, r3]
+ add r4, sp, #0x0
+ lsl r0, r0, #0x4
+ add r4, r4, r0
+_02083344:
+ mov r3, #0x0
+_02083346:
+ ldrh r0, [r4, #0x0]
+ cmp r1, r0
+ bge _02083354
+ add sp, #0x50
+ add r0, r2, #0x0
+ pop {r4-r5}
+ bx lr
+_02083354:
+ add r3, r3, #0x1
+ add r2, r2, #0x1
+ add r4, r4, #0x2
+ cmp r3, #0x8
+ blt _02083346
+ add r0, r2, #0x0
+ add sp, #0x50
+ pop {r4-r5}
+ bx lr
+ nop
+_02083368: .word 0x020FBC18
+
+ thumb_func_start FUN_0208336C
+FUN_0208336C: ; 0x0208336C
+ push {r4-r5}
+ sub sp, #0x10
+ ldr r5, _020833CC ; =0x020FBC08
+ add r4, sp, #0x0
+ mov r3, #0xf
+_02083376:
+ ldrb r2, [r5, #0x0]
+ add r5, r5, #0x1
+ strb r2, [r4, #0x0]
+ add r4, r4, #0x1
+ sub r3, r3, #0x1
+ bne _02083376
+ mov r2, #0xc
+ mul r2, r1
+ ldr r3, _020833D0 ; =0x0000012A
+ add r1, r0, r2
+ ldrsh r1, [r1, r3]
+ cmp r1, #0x0
+ bne _02083398
+ add sp, #0x10
+ mov r0, #0x0
+ pop {r4-r5}
+ bx lr
+_02083398:
+ add r2, r3, #0x0
+ add r2, #0x47
+ ldrb r2, [r0, r2]
+ cmp r2, #0x1
+ bne _020833A6
+ add r4, sp, #0xc
+ b _020833B2
+_020833A6:
+ sub r3, #0xa
+ ldrb r2, [r0, r3]
+ add r4, sp, #0x0
+ lsl r0, r2, #0x1
+ add r0, r2, r0
+ add r4, r4, r0
+_020833B2:
+ mov r0, #0x1
+ mov r3, #0x0
+_020833B6:
+ ldrb r2, [r4, r3]
+ cmp r1, r2
+ ble _020833C4
+ add r3, r3, #0x1
+ add r0, r0, #0x1
+ cmp r3, #0x3
+ blt _020833B6
+_020833C4:
+ add sp, #0x10
+ pop {r4-r5}
+ bx lr
+ nop
+_020833CC: .word 0x020FBC08
+_020833D0: .word 0x0000012A
+
+ thumb_func_start FUN_020833D4
+FUN_020833D4: ; 0x020833D4
+ push {r3, lr}
+ cmp r0, #0x0
+ bne _020833EE
+ mov r0, #0x1
+ bl FUN_02002B60
+ mov r0, #0x3
+ bl FUN_02002B7C
+ mov r0, #0x1
+ bl FUN_02002BB8
+ pop {r3, pc}
+_020833EE:
+ mov r0, #0x1
+ bl FUN_02002B7C
+ mov r0, #0x0
+ bl FUN_02002B60
+ mov r0, #0x0
+ bl FUN_02002BB8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083404
+FUN_02083404: ; 0x02083404
+ push {r3, lr}
+ mov r0, #0x0
+ bl FUN_02002B60
+ mov r0, #0x0
+ bl FUN_02002B7C
+ mov r0, #0x0
+ bl FUN_02002BB8
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208341C
+FUN_0208341C: ; 0x0208341C
+ push {r3, lr}
+ cmp r1, #0x4
+ bhi _0208344C
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0208342E: ; jump table (using 16-bit offset)
+ .short _02083438 - _0208342E - 2; case 0
+ .short _0208343C - _0208342E - 2; case 1
+ .short _02083440 - _0208342E - 2; case 2
+ .short _02083444 - _0208342E - 2; case 3
+ .short _02083448 - _0208342E - 2; case 4
+_02083438:
+ add r0, #0x7a
+ pop {r3, pc}
+_0208343C:
+ add r0, #0x7e
+ pop {r3, pc}
+_02083440:
+ add r0, #0x82
+ pop {r3, pc}
+_02083444:
+ add r0, #0x86
+ pop {r3, pc}
+_02083448:
+ add r0, #0x8a
+ pop {r3, pc}
+_0208344C:
+ bl ErrorHandling
+ mov r0, #0x7a
+ pop {r3, pc}
+
+ thumb_func_start FUN_02083454
+FUN_02083454: ; 0x02083454
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ mov r4, #0x0
+ cmp r5, #0x3
+ beq _02083464
+ cmp r1, #0x1
+ bne _02083474
+_02083464:
+ bl rand_LC
+ mov r1, #0xc
+ bl _s32_div_f
+ add sp, #0xc
+ add r0, r1, #0x0
+ pop {r4-r5, pc}
+_02083474:
+ add r0, sp, #0x0
+ add r1, r4, #0x0
+ mov r2, #0xc
+ bl MI_CpuFill8
+ mov r1, #0x2
+ add r0, sp, #0x0
+ strb r1, [r0, #0x0]
+ mov r1, #0x3
+ strb r1, [r0, #0x1]
+ mov r1, #0x4
+ add r4, r4, #0x3
+ strb r1, [r0, #0x2]
+ cmp r5, #0x1
+ blt _020834A6
+ mov r0, #0x0
+ add r2, sp, #0x0
+ strb r0, [r2, r4]
+ mov r1, #0x1
+ add r0, r4, #0x1
+ strb r1, [r2, r0]
+ add r1, r4, #0x2
+ mov r0, #0x5
+ add r4, r4, #0x3
+ strb r0, [r2, r1]
+_020834A6:
+ cmp r5, #0x2
+ blt _020834BE
+ mov r0, #0x6
+ add r2, sp, #0x0
+ strb r0, [r2, r4]
+ mov r1, #0x7
+ add r0, r4, #0x1
+ strb r1, [r2, r0]
+ add r1, r4, #0x2
+ mov r0, #0x8
+ add r4, r4, #0x3
+ strb r0, [r2, r1]
+_020834BE:
+ bl rand_LC
+ add r1, r4, #0x0
+ bl _s32_div_f
+ add r0, sp, #0x0
+ ldrb r0, [r0, r1]
+ add sp, #0xc
+ pop {r4-r5, pc}
+
+ thumb_func_start FUN_020834D0
+FUN_020834D0: ; 0x020834D0
+ ldr r3, _020834DC ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _020834E0 ; =0x020FBED8
+ mov r1, #0x10
+ bx r3
+ nop
+_020834DC: .word FUN_0202D8D0
+_020834E0: .word 0x020FBED8
+
+ thumb_func_start FUN_020834E4
+FUN_020834E4: ; 0x020834E4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x1
+ lsl r0, r0, #0xa
+ add r4, r1, #0x0
+ cmp r2, r0
+ blt _020834F6
+ bl ErrorHandling
+_020834F6:
+ ldr r0, _02083500 ; =0x00000985
+ add r1, r4, r0
+ lsl r0, r5, #0xa
+ add r0, r1, r0
+ pop {r3-r5, pc}
+ .balign 4
+_02083500: .word 0x00000985
+
+ thumb_func_start FUN_02083504
+FUN_02083504: ; 0x02083504
+ mov r0, #0xa
+ bx lr
+
+ thumb_func_start FUN_02083508
+FUN_02083508: ; 0x02083508
+ mov r0, #0x8
+ bx lr
+
+ thumb_func_start FUN_0208350C
+FUN_0208350C: ; 0x0208350C
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083510
+FUN_02083510: ; 0x02083510
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x17
+ lsl r0, r0, #0x4
+ add r6, r1, #0x0
+ ldrb r1, [r3, r0]
+ str r2, [sp, #0x0]
+ cmp r1, #0x0
+ bne _0208352C
+ sub r0, r0, #0x4
+ ldr r1, [r3, r0]
+ ldr r0, _02083590 ; =0x000004FC
+ add r4, r1, r0
+ b _0208355E
+_0208352C:
+ cmp r1, #0x1
+ bne _0208353A
+ sub r0, r0, #0x4
+ ldr r1, [r3, r0]
+ ldr r0, _02083594 ; =0x00001158
+ add r4, r1, r0
+ b _0208355E
+_0208353A:
+ cmp r1, #0x2
+ bne _0208354A
+ sub r0, r0, #0x4
+ ldr r1, [r3, r0]
+ mov r0, #0xc3
+ lsl r0, r0, #0x4
+ add r4, r1, r0
+ b _0208355E
+_0208354A:
+ cmp r1, #0x3
+ bne _02083558
+ sub r0, r0, #0x4
+ ldr r1, [r3, r0]
+ ldr r0, _02083598 ; =0x0000085C
+ add r4, r1, r0
+ b _0208355E
+_02083558:
+ bl ErrorHandling
+ pop {r3-r7, pc}
+_0208355E:
+ mov r0, #0x2
+ lsl r0, r0, #0x8
+ cmp r6, r0
+ ble _0208356A
+ bl ErrorHandling
+_0208356A:
+ ldr r0, _0208359C ; =0x00000A11
+ add r7, r4, r0
+ ldrb r0, [r7, r5]
+ cmp r0, #0x0
+ beq _02083578
+ bl ErrorHandling
+_02083578:
+ mov r1, #0x21
+ lsl r1, r1, #0x4
+ add r2, r4, r1
+ lsl r1, r5, #0x9
+ add r1, r2, r1
+ ldr r0, [sp, #0x0]
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ mov r0, #0x1
+ strb r0, [r7, r5]
+ pop {r3-r7, pc}
+ .balign 4
+_02083590: .word 0x000004FC
+_02083594: .word 0x00001158
+_02083598: .word 0x0000085C
+_0208359C: .word 0x00000A11
+
+ thumb_func_start FUN_020835A0
+FUN_020835A0: ; 0x020835A0
+ mov r0, #0x5b
+ lsl r0, r0, #0x2
+ ldr r0, [r3, r0]
+ ldr r3, _020835AC ; =MOD12_0223D1CC
+ add r1, r2, #0x0
+ bx r3
+ .balign 4
+_020835AC: .word MOD12_0223D1CC
+
+ thumb_func_start FUN_020835B0
+FUN_020835B0: ; 0x020835B0
+ push {r3-r6, lr}
+ sub sp, #0x14
+ add r5, r1, #0x0
+ mov r1, #0x61
+ add r6, r0, #0x0
+ add r4, r3, #0x0
+ lsl r1, r1, #0x2
+ add r0, r2, #0x0
+ add r2, r4, r1
+ lsl r1, r6, #0x8
+ add r1, r2, r1
+ add r2, r5, #0x0
+ bl MI_CpuCopy8
+ ldr r2, _02083628 ; =0x00000584
+ ldrb r0, [r4, r2]
+ add r0, r0, #0x1
+ strb r0, [r4, r2]
+ ldr r0, _0208362C ; =0x00000127
+ ldrb r2, [r4, r2]
+ ldrb r1, [r4, r0]
+ cmp r2, r1
+ blo _02083622
+ mov r3, #0x0
+ cmp r1, #0x0
+ ble _020835FE
+ add r0, #0x5d
+ add r5, r4, r0
+ mov r0, #0x1
+ lsl r0, r0, #0x8
+ add r2, r0, #0x0
+ add r6, sp, #0x4
+ add r2, #0x27
+_020835F2:
+ stmia r6!, {r5}
+ ldrb r1, [r4, r2]
+ add r3, r3, #0x1
+ add r5, r5, r0
+ cmp r3, r1
+ blt _020835F2
+_020835FE:
+ add r0, sp, #0x4
+ add r2, sp, #0x0
+ bl FUN_02083660
+ mov r1, #0x47
+ lsl r1, r1, #0x2
+ strb r0, [r4, r1]
+ add r0, sp, #0x0
+ ldrb r2, [r0, #0x0]
+ add r0, r1, #0x1
+ strb r2, [r4, r0]
+ ldrb r0, [r4, r1]
+ lsl r2, r0, #0x2
+ add r0, sp, #0x4
+ ldr r0, [r0, r2]
+ ldrb r2, [r0, #0x2]
+ add r0, r1, #0x6
+ strb r2, [r4, r0]
+_02083622:
+ add sp, #0x14
+ pop {r3-r6, pc}
+ nop
+_02083628: .word 0x00000584
+_0208362C: .word 0x00000127
+
+ thumb_func_start FUN_02083630
+FUN_02083630: ; 0x02083630
+ push {r3, lr}
+ ldr r1, _0208365C ; =0x00000125
+ add r3, sp, #0x0
+ ldrb r2, [r0, r1]
+ strb r2, [r3, #0x0]
+ sub r2, r1, #0x2
+ ldrb r2, [r0, r2]
+ sub r1, r1, #0x3
+ strb r2, [r3, #0x1]
+ ldrb r0, [r0, r1]
+ add r1, sp, #0x0
+ mov r2, #0x4
+ strb r0, [r3, #0x2]
+ mov r0, #0x1a
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083658
+ mov r0, #0x1
+ pop {r3, pc}
+_02083658:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0208365C: .word 0x00000125
+
+ thumb_func_start FUN_02083660
+FUN_02083660: ; 0x02083660
+ push {r4-r7}
+ mov r5, #0x0
+ add r4, r5, #0x0
+ cmp r1, #0x0
+ ble _02083684
+ add r6, r0, #0x0
+_0208366C:
+ lsl r3, r5, #0x2
+ ldr r3, [r0, r3]
+ ldr r7, [r6, #0x0]
+ ldrb r3, [r3, #0x0]
+ ldrb r7, [r7, #0x0]
+ cmp r3, r7
+ bhs _0208367C
+ add r5, r4, #0x0
+_0208367C:
+ add r4, r4, #0x1
+ add r6, r6, #0x4
+ cmp r4, r1
+ blt _0208366C
+_02083684:
+ lsl r1, r5, #0x2
+ ldr r0, [r0, r1]
+ ldrb r0, [r0, #0x0]
+ strb r0, [r2, #0x0]
+ add r0, r5, #0x0
+ pop {r4-r7}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083694
+FUN_02083694: ; 0x02083694
+ push {r3-r5, lr}
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_020669BC
+ add r2, r0, #0x0
+ ldrb r1, [r5, r2]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ bl MI_CpuCopy8
+ ldr r0, _020836B8 ; =0x00000584
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r5, pc}
+ nop
+_020836B8: .word 0x00000584
+
+ thumb_func_start FUN_020836BC
+FUN_020836BC: ; 0x020836BC
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_020669BC
+ add r4, r0, #0x0
+ mov r0, #0x14
+ add r1, r4, #0x1
+ bl FUN_02016998
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl MI_CpuCopy8
+ mov r0, #0x1b
+ add r1, r5, #0x0
+ add r2, r4, #0x1
+ strb r6, [r5, r4]
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _020836F0
+ mov r4, #0x1
+ b _020836F2
+_020836F0:
+ mov r4, #0x0
+_020836F2:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020836FC
+FUN_020836FC: ; 0x020836FC
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r2, [sp, #0x0]
+ str r3, [sp, #0x4]
+ bl FUN_020669BC
+ mov r7, #0x0
+ ldr r4, [sp, #0x4]
+ add r6, r0, #0x0
+ add r5, r7, #0x0
+_02083710:
+ ldr r0, [sp, #0x0]
+ ldr r1, [r4, #0x0]
+ add r0, r0, r5
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ add r7, r7, #0x1
+ add r4, r4, #0x4
+ add r5, r5, r6
+ cmp r7, #0x4
+ blt _02083710
+ ldr r1, _02083738 ; =0x00000584
+ ldr r0, [sp, #0x4]
+ ldrb r0, [r0, r1]
+ add r2, r0, #0x1
+ ldr r0, [sp, #0x4]
+ strb r2, [r0, r1]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02083738: .word 0x00000584
+
+ thumb_func_start FUN_0208373C
+FUN_0208373C: ; 0x0208373C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_020669BC
+ add r6, r0, #0x0
+ lsl r0, r6, #0x2
+ str r0, [sp, #0x0]
+ ldr r0, _02083788 ; =0x00000585
+ mov r7, #0x0
+ add r0, r4, r0
+ str r0, [sp, #0x4]
+ add r4, r7, #0x0
+_02083758:
+ ldr r1, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ add r1, r1, r4
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ add r7, r7, #0x1
+ add r4, r4, r6
+ add r5, r5, #0x4
+ cmp r7, #0x4
+ blt _02083758
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x0]
+ mov r0, #0x1c
+ bl FUN_02030A78
+ cmp r0, #0x1
+ bne _02083782
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02083782:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02083788: .word 0x00000585
+
+ thumb_func_start FUN_0208378C
+FUN_0208378C: ; 0x0208378C
+ push {r3-r5, lr}
+ add r0, r2, #0x0
+ add r2, #0x30
+ ldrb r1, [r2, #0x0]
+ add r4, r3, #0x0
+ add r5, r4, #0x0
+ mov r2, #0x30
+ add r3, r1, #0x0
+ add r5, #0x10
+ mul r3, r2
+ add r1, r5, r3
+ bl MI_CpuCopy8
+ ldr r0, _020837B0 ; =0x00000584
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r5, pc}
+ .balign 4
+_020837B0: .word 0x00000584
+
+ thumb_func_start FUN_020837B4
+FUN_020837B4: ; 0x020837B4
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ mov r0, #0x14
+ mov r1, #0x31
+ add r6, r2, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x30
+ bl MI_CpuCopy8
+ add r0, r4, #0x0
+ add r0, #0x30
+ strb r5, [r0, #0x0]
+ mov r0, #0x1d
+ add r1, r4, #0x0
+ mov r2, #0x31
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _020837E6
+ mov r5, #0x1
+ b _020837E8
+_020837E6:
+ mov r5, #0x0
+_020837E8:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020837F4
+FUN_020837F4: ; 0x020837F4
+ push {r3-r7, lr}
+ add r5, r3, #0x0
+ add r6, r2, #0x0
+ str r3, [sp, #0x0]
+ mov r4, #0x0
+ add r5, #0xd0
+ mov r7, #0x8
+_02083802:
+ lsl r0, r4, #0x3
+ add r0, r6, r0
+ add r1, r5, #0x0
+ add r2, r7, #0x0
+ bl MI_CpuCopy8
+ add r4, r4, #0x1
+ add r5, #0x8
+ cmp r4, #0x3
+ blt _02083802
+ ldrb r2, [r6, #0x18]
+ ldr r1, _0208382C ; =0x0000011E
+ ldr r0, [sp, #0x0]
+ strb r2, [r0, r1]
+ ldr r1, _02083830 ; =0x00000584
+ ldrb r0, [r0, r1]
+ add r2, r0, #0x1
+ ldr r0, [sp, #0x0]
+ strb r2, [r0, r1]
+ pop {r3-r7, pc}
+ nop
+_0208382C: .word 0x0000011E
+_02083830: .word 0x00000584
+
+ thumb_func_start FUN_02083834
+FUN_02083834: ; 0x02083834
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ mov r0, #0x14
+ mov r1, #0x19
+ add r5, r2, #0x0
+ bl FUN_02016998
+ add r6, r0, #0x0
+ mov r4, #0x0
+ mov r7, #0x8
+_02083848:
+ lsl r1, r4, #0x3
+ add r0, r5, #0x0
+ add r1, r6, r1
+ add r2, r7, #0x0
+ bl MI_CpuCopy8
+ add r4, r4, #0x1
+ add r5, #0x8
+ cmp r4, #0x3
+ blt _02083848
+ ldr r1, _02083884 ; =0x0000011E
+ ldr r0, [sp, #0x0]
+ mov r2, #0x19
+ ldrb r0, [r0, r1]
+ add r1, r6, #0x0
+ strb r0, [r6, #0x18]
+ mov r0, #0x1e
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083876
+ mov r4, #0x1
+ b _02083878
+_02083876:
+ mov r4, #0x0
+_02083878:
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ nop
+_02083884: .word 0x0000011E
+
+ thumb_func_start FUN_02083888
+FUN_02083888: ; 0x02083888
+ push {r3-r7, lr}
+ add r5, r2, #0x0
+ ldrb r0, [r5, #0x0]
+ add r6, r3, #0x0
+ add r4, r6, #0x0
+ add r4, #0xe8
+ lsl r7, r0, #0x2
+ ldr r0, [r4, r7]
+ bl FUN_02021A4C
+ ldr r0, [r4, r7]
+ add r1, r5, #0x4
+ bl FUN_02021E28
+ ldr r0, _020838B0 ; =0x00000584
+ ldrb r1, [r6, r0]
+ add r1, r1, #0x1
+ strb r1, [r6, r0]
+ pop {r3-r7, pc}
+ nop
+_020838B0: .word 0x00000584
+
+ thumb_func_start FUN_020838B4
+FUN_020838B4: ; 0x020838B4
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r1, #0x0
+ add r0, r2, #0x0
+ add r1, sp, #0x0
+ mov r2, #0x8
+ bl FUN_02021EF0
+ mov r0, #0x14
+ add r1, r0, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, sp, #0x0
+ add r1, r4, #0x4
+ mov r2, #0x10
+ bl MI_CpuCopy8
+ strb r5, [r4, #0x0]
+ mov r0, #0x10
+ strb r0, [r4, #0x1]
+ mov r0, #0x0
+ strb r0, [r4, #0x2]
+ strb r0, [r4, #0x3]
+ mov r0, #0x1f
+ add r1, r4, #0x0
+ mov r2, #0x14
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _020838F6
+ mov r5, #0x1
+ b _020838F8
+_020838F6:
+ mov r5, #0x0
+_020838F8:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ add sp, #0x10
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02083904
+FUN_02083904: ; 0x02083904
+ push {r3-r5, lr}
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02026FE4
+ add r2, r0, #0x0
+ ldrb r1, [r5, r2]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ add r1, #0xf8
+ ldr r1, [r1, #0x0]
+ bl MI_CpuCopy8
+ ldr r0, _0208392C ; =0x00000584
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r5, pc}
+ nop
+_0208392C: .word 0x00000584
+
+ thumb_func_start FUN_02083930
+FUN_02083930: ; 0x02083930
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02026FE4
+ add r4, r0, #0x0
+ mov r0, #0x14
+ add r1, r4, #0x1
+ bl FUN_02016998
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl MI_CpuCopy8
+ mov r0, #0x20
+ add r1, r5, #0x0
+ add r2, r4, #0x1
+ strb r6, [r5, r4]
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083964
+ mov r4, #0x1
+ b _02083966
+_02083964:
+ mov r4, #0x0
+_02083966:
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02083970
+FUN_02083970: ; 0x02083970
+ push {r3-r7, lr}
+ sub sp, #0x8
+ str r2, [sp, #0x0]
+ str r3, [sp, #0x4]
+ bl FUN_02026FE4
+ add r6, r0, #0x0
+ mov r0, #0x1
+ lsl r1, r6, #0x2
+ lsl r0, r0, #0xa
+ cmp r1, r0
+ blt _0208398C
+ bl ErrorHandling
+_0208398C:
+ mov r7, #0x0
+ ldr r4, [sp, #0x4]
+ add r5, r7, #0x0
+_02083992:
+ add r1, r4, #0x0
+ ldr r0, [sp, #0x0]
+ add r1, #0xf8
+ ldr r1, [r1, #0x0]
+ add r0, r0, r5
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ add r7, r7, #0x1
+ add r4, r4, #0x4
+ add r5, r5, r6
+ cmp r7, #0x4
+ blt _02083992
+ ldr r1, _020839BC ; =0x00000584
+ ldr r0, [sp, #0x4]
+ ldrb r0, [r0, r1]
+ add r2, r0, #0x1
+ ldr r0, [sp, #0x4]
+ strb r2, [r0, r1]
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_020839BC: .word 0x00000584
+
+ thumb_func_start FUN_020839C0
+FUN_020839C0: ; 0x020839C0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_02026FE4
+ add r6, r0, #0x0
+ mov r1, #0x1
+ lsl r0, r6, #0x2
+ lsl r1, r1, #0xa
+ str r0, [sp, #0x0]
+ cmp r0, r1
+ blt _020839DE
+ bl ErrorHandling
+_020839DE:
+ ldr r0, _02083A18 ; =0x00000585
+ mov r7, #0x0
+ add r0, r4, r0
+ str r0, [sp, #0x4]
+ add r4, r7, #0x0
+_020839E8:
+ ldr r1, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ add r1, r1, r4
+ add r2, r6, #0x0
+ bl MI_CpuCopy8
+ add r7, r7, #0x1
+ add r4, r4, r6
+ add r5, r5, #0x4
+ cmp r7, #0x4
+ blt _020839E8
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x0]
+ mov r0, #0x21
+ bl FUN_02030A78
+ cmp r0, #0x1
+ bne _02083A12
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02083A12:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+_02083A18: .word 0x00000585
+
+ thumb_func_start FUN_02083A1C
+FUN_02083A1C: ; 0x02083A1C
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, _02083A30 ; =0x000019A0
+ add r0, r2, #0x0
+ add r1, r3, r1
+ add r2, r4, #0x0
+ bl MI_CpuCopy8
+ pop {r4, pc}
+ nop
+_02083A30: .word 0x000019A0
+
+ thumb_func_start FUN_02083A34
+FUN_02083A34: ; 0x02083A34
+ push {r3, lr}
+ add r3, r0, #0x0
+ ldrb r0, [r3, #0x16]
+ cmp r0, #0x0
+ bne _02083A44
+ str r1, [r3, #0x0]
+ mov r0, #0x1
+ pop {r3, pc}
+_02083A44:
+ ldrb r2, [r3, #0x14]
+ ldrb r0, [r3, #0x15]
+ cmp r2, r0
+ beq _02083A50
+ mov r0, #0x0
+ pop {r3, pc}
+_02083A50:
+ str r1, [r3, #0x8]
+ add r3, #0x8
+ mov r0, #0x22
+ add r1, r3, #0x0
+ mov r2, #0x8
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083A66
+ mov r0, #0x1
+ pop {r3, pc}
+_02083A66:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083A6C
+FUN_02083A6C: ; 0x02083A6C
+ ldrb r2, [r2, #0x4]
+ add r1, r3, r0
+ ldr r0, _02083A78 ; =0x000019B0
+ strb r2, [r1, r0]
+ bx lr
+ nop
+_02083A78: .word 0x000019B0
+
+ thumb_func_start FUN_02083A7C
+FUN_02083A7C: ; 0x02083A7C
+ push {r3, lr}
+ add r2, r0, #0x0
+ ldrb r0, [r2, #0x16]
+ cmp r0, #0x0
+ bne _02083A8C
+ strb r1, [r2, #0x10]
+ mov r0, #0x1
+ pop {r3, pc}
+_02083A8C:
+ strb r1, [r2, #0xc]
+ add r2, #0x8
+ add r1, r2, #0x0
+ mov r0, #0x23
+ mov r2, #0x8
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083AA2
+ mov r0, #0x1
+ pop {r3, pc}
+_02083AA2:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083AA8
+FUN_02083AA8: ; 0x02083AA8
+ push {r3-r5, lr}
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02029EC4
+ add r2, r0, #0x0
+ ldrb r1, [r5, r2]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ add r3, r4, r1
+ mov r1, #0x57
+ lsl r1, r1, #0x2
+ ldr r1, [r3, r1]
+ bl MI_CpuCopy8
+ ldr r0, _02083AD0 ; =0x00000584
+ ldrb r1, [r4, r0]
+ add r1, r1, #0x1
+ strb r1, [r4, r0]
+ pop {r3-r5, pc}
+ .balign 4
+_02083AD0: .word 0x00000584
+
+ thumb_func_start FUN_02083AD4
+FUN_02083AD4: ; 0x02083AD4
+ push {r3-r7, lr}
+ add r4, r0, #0x0
+ add r7, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_02029EC4
+ add r5, r0, #0x0
+ ldr r0, _02083B0C ; =0x00000585
+ add r4, r4, r0
+ cmp r6, #0x0
+ beq _02083AF4
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ add r2, r5, #0x0
+ bl MI_CpuCopy8
+_02083AF4:
+ mov r0, #0x24
+ add r1, r4, #0x0
+ add r2, r5, #0x1
+ strb r7, [r4, r5]
+ bl FUN_02030A78
+ cmp r0, #0x1
+ bne _02083B08
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02083B08:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02083B0C: .word 0x00000585
+
+ thumb_func_start FUN_02083B10
+FUN_02083B10: ; 0x02083B10
+ push {r3-r6}
+ ldrb r1, [r2, #0x6]
+ ldrb r4, [r2, #0x0]
+ mov r5, #0x42
+ add r0, r3, r1
+ lsl r5, r5, #0x2
+ strb r4, [r0, r5]
+ ldrb r6, [r2, #0x1]
+ add r4, r5, #0x4
+ strb r6, [r0, r4]
+ add r4, r5, #0x0
+ ldrb r6, [r2, #0x2]
+ add r4, #0x8
+ add r5, #0xc
+ strb r6, [r0, r4]
+ lsl r0, r1, #0x1
+ ldrh r2, [r2, #0x4]
+ add r0, r3, r0
+ strh r2, [r0, r5]
+ ldr r0, _02083B44 ; =0x00000584
+ ldrb r1, [r3, r0]
+ add r1, r1, #0x1
+ strb r1, [r3, r0]
+ pop {r3-r6}
+ bx lr
+ nop
+_02083B44: .word 0x00000584
+
+ thumb_func_start FUN_02083B48
+FUN_02083B48: ; 0x02083B48
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ mov r0, #0x14
+ mov r1, #0x7
+ add r6, r2, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x6
+ bl MI_CpuCopy8
+ mov r0, #0x25
+ add r1, r4, #0x0
+ mov r2, #0x7
+ strb r5, [r4, #0x6]
+ bl FUN_02030ADC
+ cmp r0, #0x1
+ bne _02083B76
+ mov r5, #0x1
+ b _02083B78
+_02083B76:
+ mov r5, #0x0
+_02083B78:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083B84
+FUN_02083B84: ; 0x02083B84
+ ldr r3, _02083B90 ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _02083B94 ; =0x020FBF98
+ mov r1, #0xb
+ bx r3
+ nop
+_02083B90: .word FUN_0202D8D0
+_02083B94: .word 0x020FBF98
+
+ thumb_func_start FUN_02083B98
+FUN_02083B98: ; 0x02083B98
+ cmp r0, #0xc
+ bne _02083BA0
+ mov r0, #0xc
+ bx lr
+_02083BA0:
+ cmp r0, #0x6
+ bhs _02083BA8
+ add r0, r0, #0x6
+ bx lr
+_02083BA8:
+ sub r0, r0, #0x6
+ bx lr
+
+ thumb_func_start FUN_02083BAC
+FUN_02083BAC: ; 0x02083BAC
+ push {r4-r6, lr}
+ add r3, #0x84
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ ldr r4, [r3, #0x0]
+ bl FUN_02031190
+ cmp r5, r0
+ beq _02083C1A
+ ldr r0, _02083C1C ; =0x0000221C
+ mov r2, #0x59
+ ldr r0, [r4, r0]
+ add r1, r6, #0x0
+ lsl r2, r2, #0x4
+ bl memcpy
+ ldr r0, [r4, #0x58]
+ add r0, r0, #0x1
+ str r0, [r4, #0x58]
+ bl FUN_0206B8A4
+ mov r1, #0x59
+ ldr r2, [r4, #0x58]
+ lsl r1, r1, #0x4
+ mul r1, r2
+ cmp r1, r0
+ blt _02083C06
+ bl FUN_02031190
+ cmp r0, #0x1
+ bne _02083BF6
+ add r0, r4, #0x0
+ mov r1, #0x1b
+ mov r2, #0x0
+ bl MOD70_0222F440
+ b _02083C14
+_02083BF6:
+ bl FUN_02031190
+ ldr r1, _02083C20 ; =0x00002218
+ ldr r2, [r4, #0x50]
+ ldr r1, [r4, r1]
+ bl MOD70_0222F480
+ b _02083C14
+_02083C06:
+ bl FUN_02031190
+ ldr r1, _02083C20 ; =0x00002218
+ ldr r2, [r4, #0x50]
+ ldr r1, [r4, r1]
+ bl MOD70_0222F480
+_02083C14:
+ ldr r0, [r4, #0x50]
+ add r0, r0, #0x1
+ str r0, [r4, #0x50]
+_02083C1A:
+ pop {r4-r6, pc}
+ .balign 4
+_02083C1C: .word 0x0000221C
+_02083C20: .word 0x00002218
+
+ thumb_func_start FUN_02083C24
+FUN_02083C24: ; 0x02083C24
+ push {r4-r6, lr}
+ add r3, #0x84
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ ldr r4, [r3, #0x0]
+ bl FUN_02031190
+ cmp r5, r0
+ beq _02083C40
+ ldrb r0, [r6, #0x0]
+ bl FUN_02083B98
+ add r4, #0x8c
+ str r0, [r4, #0x0]
+_02083C40:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083C44
+FUN_02083C44: ; 0x02083C44
+ add r3, #0x84
+ ldrb r2, [r2, #0x0]
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x2
+ add r0, r1, r0
+ str r2, [r0, #0x60]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C54
+FUN_02083C54: ; 0x02083C54
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C58
+FUN_02083C58: ; 0x02083C58
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C5C
+FUN_02083C5C: ; 0x02083C5C
+ add r3, #0x84
+ ldr r0, [r3, #0x0]
+ mov r1, #0x2
+ str r1, [r0, #0x54]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C68
+FUN_02083C68: ; 0x02083C68
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C6C
+FUN_02083C6C: ; 0x02083C6C
+ add r3, #0x84
+ mov r0, #0x8b
+ ldrb r2, [r2, #0x0]
+ ldr r1, [r3, #0x0]
+ lsl r0, r0, #0x6
+ str r2, [r1, r0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083C7C
+FUN_02083C7C: ; 0x02083C7C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ ldr r0, [r3, #0xc]
+ add r5, r2, #0x0
+ bl FUN_0202A918
+ add r4, r0, #0x0
+ bl FUN_02031190
+ cmp r6, r0
+ beq _02083CA8
+ mov r2, #0x0
+_02083C94:
+ ldrb r1, [r5, r2]
+ cmp r1, #0x0
+ beq _02083CA2
+ ldrb r0, [r4, r2]
+ cmp r0, r1
+ beq _02083CA2
+ strb r1, [r4, r2]
+_02083CA2:
+ add r2, r2, #0x1
+ cmp r2, #0xe
+ blt _02083C94
+_02083CA8:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02083CAC
+FUN_02083CAC: ; 0x02083CAC
+ push {r4-r6, lr}
+ add r3, #0x84
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ ldr r4, [r3, #0x0]
+ bl FUN_02031190
+ cmp r5, r0
+ beq _02083CD0
+ ldr r0, _02083CD4 ; =0x00002224
+ add r1, r6, #0x0
+ ldr r0, [r4, r0]
+ mov r2, #0x1
+ mov r3, #0x1a
+ bl FUN_02025520
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+_02083CD0:
+ pop {r4-r6, pc}
+ nop
+_02083CD4: .word 0x00002224
+
+ thumb_func_start FUN_02083CD8
+FUN_02083CD8: ; 0x02083CD8
+ push {r4-r6, lr}
+ add r3, #0x84
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ ldr r4, [r3, #0x0]
+ bl FUN_02031190
+ cmp r5, r0
+ beq _02083D0A
+ ldr r1, _02083D0C ; =0x00002E14
+ mov r2, #0xfb
+ add r3, r4, r1
+ lsl r2, r2, #0x2
+ add r1, r5, #0x0
+ mul r1, r2
+ add r0, r6, #0x0
+ add r1, r3, r1
+ sub r2, r2, #0x4
+ bl MIi_CpuCopyFast
+ mov r0, #0x4
+ str r0, [r4, #0x54]
+ mov r0, #0x0
+ bl FUN_02031400
+_02083D0A:
+ pop {r4-r6, pc}
+ .balign 4
+_02083D0C: .word 0x00002E14
+
+ thumb_func_start FUN_02083D10
+FUN_02083D10: ; 0x02083D10
+ add r0, #0x84
+ str r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083D18
+FUN_02083D18: ; 0x02083D18
+ mov r0, #0xfb
+ lsl r0, r0, #0x2
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083D20
+FUN_02083D20: ; 0x02083D20
+ mov r0, #0xe
+ bx lr
+
+ thumb_func_start FUN_02083D24
+FUN_02083D24: ; 0x02083D24
+ mov r0, #0x88
+ bx lr
+
+ thumb_func_start FUN_02083D28
+FUN_02083D28: ; 0x02083D28
+ mov r0, #0x59
+ lsl r0, r0, #0x4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083D30
+FUN_02083D30: ; 0x02083D30
+ add r1, #0x84
+ ldr r2, [r1, #0x0]
+ ldr r1, _02083D44 ; =0x000022F4
+ add r2, r2, r1
+ mov r1, #0x59
+ lsl r1, r1, #0x4
+ mul r1, r0
+ add r0, r2, r1
+ bx lr
+ nop
+_02083D44: .word 0x000022F4
+
+ thumb_func_start FUN_02083D48
+FUN_02083D48: ; 0x02083D48
+ ldr r3, _02083D54 ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _02083D58 ; =0x020FC01C
+ mov r1, #0x6c
+ bx r3
+ nop
+_02083D54: .word FUN_0202D8D0
+_02083D58: .word 0x020FC01C
+
+ thumb_func_start FUN_02083D5C
+FUN_02083D5C: ; 0x02083D5C
+ push {r3-r5, lr}
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02031190
+ cmp r0, #0x0
+ beq _02083DBA
+ mov r3, #0xfb
+ lsl r3, r3, #0x2
+ ldrb r2, [r5, r3]
+ sub r0, r3, #0x4
+ add r1, r2, #0x0
+ mul r1, r0
+ mov r0, #0xe1
+ lsl r0, r0, #0x6
+ cmp r1, r0
+ ldr r2, _02083DE8 ; =0x000043D0
+ ble _02083D90
+ add r2, r4, r2
+ add r1, r2, r1
+ mov r2, #0x19
+ add r0, r5, #0x0
+ lsl r2, r2, #0x4
+ bl MIi_CpuCopyFast
+ b _02083D9C
+_02083D90:
+ add r2, r4, r2
+ add r1, r2, r1
+ add r0, r5, #0x0
+ sub r2, r3, #0x4
+ bl MIi_CpuCopyFast
+_02083D9C:
+ mov r1, #0xb5
+ ldr r0, _02083DE8 ; =0x000043D0
+ lsl r1, r1, #0x2
+ mov r2, #0xe1
+ ldr r1, [r4, r1]
+ add r0, r4, r0
+ lsl r2, r2, #0x6
+ bl MIi_CpuCopyFast
+ mov r0, #0xb2
+ lsl r0, r0, #0x2
+ add r0, r4, r0
+ bl FUN_020191D0
+ pop {r3-r5, pc}
+_02083DBA:
+ ldr r1, _02083DEC ; =0x000043CC
+ mov r0, #0xfa
+ ldr r2, [r4, r1]
+ lsl r0, r0, #0x2
+ add r3, r2, #0x0
+ mul r3, r0
+ mov r0, #0xe1
+ lsl r0, r0, #0x6
+ cmp r3, r0
+ bge _02083DDC
+ add r0, r2, #0x1
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0208402C
+ pop {r3-r5, pc}
+_02083DDC:
+ mov r1, #0x0
+ mov r0, #0x7c
+ add r2, r1, #0x0
+ bl FUN_02030BC4
+ pop {r3-r5, pc}
+ .balign 4
+_02083DE8: .word 0x000043D0
+_02083DEC: .word 0x000043CC
+
+ thumb_func_start FUN_02083DF0
+FUN_02083DF0: ; 0x02083DF0
+ push {r3-r4}
+ cmp r0, #0x0
+ beq _02083E0E
+ add r4, r0, #0x0
+ mov r1, #0xa
+ mul r4, r1
+ ldr r0, _02083E14 ; =0x000093BD
+ add r3, r3, r4
+ add r3, r3, r0
+_02083E02:
+ ldrb r0, [r2, #0x0]
+ add r2, r2, #0x1
+ strb r0, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r1, r1, #0x1
+ bne _02083E02
+_02083E0E:
+ pop {r3-r4}
+ bx lr
+ nop
+_02083E14: .word 0x000093BD
+
+ thumb_func_start FUN_02083E18
+FUN_02083E18: ; 0x02083E18
+ push {r4-r7}
+ cmp r3, #0x0
+ beq _02083E42
+ cmp r0, #0x0
+ bne _02083E42
+ ldr r0, _02083E48 ; =0x00004382
+ mov r7, #0x0
+_02083E26:
+ add r6, r2, #0x0
+ add r5, r3, r0
+ mov r4, #0xa
+_02083E2C:
+ ldrb r1, [r6, #0x0]
+ add r6, r6, #0x1
+ strb r1, [r5, #0x0]
+ add r5, r5, #0x1
+ sub r4, r4, #0x1
+ bne _02083E2C
+ add r7, r7, #0x1
+ add r2, #0xa
+ add r3, #0xa
+ cmp r7, #0x5
+ blt _02083E26
+_02083E42:
+ pop {r4-r7}
+ bx lr
+ nop
+_02083E48: .word 0x00004382
+
+ thumb_func_start FUN_02083E4C
+FUN_02083E4C: ; 0x02083E4C
+ push {r4, lr}
+ add r4, r3, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x3
+ mov r2, #0x0
+ bl MOD53_021D8B64
+ ldr r1, _02083E8C ; =0x000043D0
+ mov r2, #0xe1
+ mov r0, #0x0
+ add r1, r4, r1
+ lsl r2, r2, #0x6
+ bl MIi_CpuClearFast
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02083E8A
+ bl FUN_02030F20
+ mov r1, #0xc6
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ bl FUN_0202CB8C
+ mov r1, #0xc7
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, _02083E90 ; =0x000093F4
+ mov r1, #0x1
+ str r1, [r4, r0]
+_02083E8A:
+ pop {r4, pc}
+ .balign 4
+_02083E8C: .word 0x000043D0
+_02083E90: .word 0x000093F4
+
+ thumb_func_start FUN_02083E94
+FUN_02083E94: ; 0x02083E94
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r0, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ cmp r6, #0x0
+ beq _02083F2E
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02083F78
+ ldrb r0, [r5, #0x0]
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ ldrb r0, [r5, #0x1]
+ strb r0, [r1, #0x1]
+ ldrb r0, [r5, #0x2]
+ strb r0, [r1, #0x2]
+ ldrb r0, [r5, #0x3]
+ strb r0, [r1, #0x3]
+ mov r0, #0xc6
+ strb r6, [r1, #0x0]
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ strb r0, [r1, #0x1]
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _02083ED0
+ cmp r0, #0x1
+ b _02083F20
+_02083ED0:
+ bl FUN_02030F20
+ mov r1, #0xc6
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ cmp r1, r0
+ bne _02083EFE
+ bl MOD53_021D917C
+ mov r1, #0xc6
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ cmp r1, r0
+ bne _02083EFE
+ bl FUN_0202CB8C
+ bl MATH_CountPopulation
+ mov r1, #0xc6
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ cmp r1, r0
+ beq _02083F06
+_02083EFE:
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x3]
+ b _02083F20
+_02083F06:
+ ldr r0, _02083F7C ; =0x000093B4
+ mov r1, #0x1
+ add r2, r1, #0x0
+ ldr r3, [r4, r0]
+ lsl r2, r6
+ orr r2, r3
+ str r2, [r4, r0]
+ add r0, sp, #0x0
+ strb r1, [r0, #0x3]
+ bl FUN_02030F20
+ bl FUN_02032B6C
+_02083F20:
+ mov r0, #0x7e
+ add r1, sp, #0x0
+ mov r2, #0x4
+ bl FUN_02030BC4
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02083F2E:
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _02083F3C
+ cmp r0, #0x1
+ beq _02083F6E
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02083F3C:
+ ldrb r6, [r5, #0x0]
+ bl FUN_02031190
+ cmp r6, r0
+ bne _02083F78
+ ldrb r0, [r5, #0x3]
+ cmp r0, #0x0
+ bne _02083F5A
+ add r0, r4, #0x0
+ mov r1, #0x9
+ add r2, r6, #0x0
+ bl MOD53_021D8B64
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02083F5A:
+ ldrb r1, [r5, #0x1]
+ ldr r0, _02083F80 ; =0x000093B8
+ strh r1, [r4, r0]
+ ldrb r2, [r5, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x8
+ bl MOD53_021D8B64
+ add sp, #0x4
+ pop {r3-r6, pc}
+_02083F6E:
+ ldrb r2, [r5, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x15
+ bl MOD53_021D8B64
+_02083F78:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02083F7C: .word 0x000093B4
+_02083F80: .word 0x000093B8
+
+ thumb_func_start FUN_02083F84
+FUN_02083F84: ; 0x02083F84
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083F88
+FUN_02083F88: ; 0x02083F88
+ push {r4, lr}
+ ldrb r2, [r2, #0x0]
+ add r4, r3, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD53_021D8B64
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02083FB6
+ mov r0, #0x3
+ lsl r0, r0, #0x8
+ ldr r0, [r4, r0]
+ cmp r0, #0x1
+ bne _02083FB6
+ ldr r1, _02083FB8 ; =0x000043CC
+ mov r0, #0x0
+ str r0, [r4, r1]
+ ldr r1, [r4, r1]
+ add r0, r4, #0x0
+ bl FUN_0208402C
+_02083FB6:
+ pop {r4, pc}
+ .balign 4
+_02083FB8: .word 0x000043CC
+
+ thumb_func_start FUN_02083FBC
+FUN_02083FBC: ; 0x02083FBC
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083FC0
+FUN_02083FC0: ; 0x02083FC0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02083FC4
+FUN_02083FC4: ; 0x02083FC4
+ push {r4, lr}
+ add r4, r3, #0x0
+ bl FUN_02031190
+ cmp r0, #0x0
+ beq _02083FDA
+ add r0, r4, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl MOD53_021D8B64
+_02083FDA:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02083FDC
+FUN_02083FDC: ; 0x02083FDC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r3, #0x0
+ bl FUN_02031190
+ cmp r0, #0x0
+ beq _02083FEE
+ bl ErrorHandling
+_02083FEE:
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02084012
+ ldr r0, _0208401C ; =0x000093FC
+ ldr r1, [r4, r0]
+ cmp r1, #0x0
+ beq _0208400E
+ add r0, sp, #0x0
+ strb r5, [r0, #0x0]
+ mov r0, #0x7b
+ add r1, sp, #0x0
+ mov r2, #0x1
+ bl FUN_02030BC4
+ b _02084012
+_0208400E:
+ mov r1, #0x1
+ str r1, [r4, r0]
+_02084012:
+ mov r0, #0x0
+ mov r1, #0x1
+ bl FUN_020334E8
+ pop {r3-r5, pc}
+ .balign 4
+_0208401C: .word 0x000093FC
+
+ thumb_func_start FUN_02084020
+FUN_02084020: ; 0x02084020
+ ldr r0, _02084028 ; =0x000093F4
+ mov r1, #0x1
+ str r1, [r3, r0]
+ bx lr
+ .balign 4
+_02084028: .word 0x000093F4
+
+ thumb_func_start FUN_0208402C
+FUN_0208402C: ; 0x0208402C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0xb5
+ mov r2, #0xfa
+ add r4, r1, #0x0
+ lsl r0, r0, #0x2
+ ldr r1, [r5, r0]
+ lsl r2, r2, #0x2
+ add r0, r4, #0x0
+ mul r0, r2
+ add r0, r1, r0
+ ldr r1, _02084078 ; =0x00007C10
+ add r1, r5, r1
+ bl MIi_CpuCopyFast
+ ldr r0, _02084078 ; =0x00007C10
+ mov r2, #0x0
+ add r1, r2, #0x0
+ add r3, r5, r0
+_02084052:
+ ldr r0, [r3, #0x0]
+ add r1, r1, #0x1
+ eor r2, r0
+ add r3, r3, #0x4
+ cmp r1, #0xfa
+ blt _02084052
+ ldr r0, _0208407C ; =0x00007FF8
+ ldr r1, _02084078 ; =0x00007C10
+ str r2, [r5, r0]
+ add r0, r0, #0x4
+ mov r2, #0x3f
+ strb r4, [r5, r0]
+ mov r0, #0x76
+ add r1, r5, r1
+ lsl r2, r2, #0x4
+ bl FUN_02030B3C
+ pop {r3-r5, pc}
+ nop
+_02084078: .word 0x00007C10
+_0208407C: .word 0x00007FF8
+
+ thumb_func_start FUN_02084080
+FUN_02084080: ; 0x02084080
+ mov r2, #0x2
+ lsl r2, r2, #0xe
+ add r2, r1, r2
+ mov r1, #0x3f
+ lsl r1, r1, #0x4
+ mul r1, r0
+ add r0, r2, r1
+ bx lr
+
+ thumb_func_start FUN_02084090
+FUN_02084090: ; 0x02084090
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_02084094
+FUN_02084094: ; 0x02084094
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_02084098
+FUN_02084098: ; 0x02084098
+ ldr r3, _020840A4 ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _020840A8 ; =0x020FC52C
+ mov r1, #0x6c
+ bx r3
+ nop
+_020840A4: .word FUN_0202D8D0
+_020840A8: .word 0x020FC52C
+
+ thumb_func_start FUN_020840AC
+FUN_020840AC: ; 0x020840AC
+ ldr r0, _020840B8 ; =0x00004A34
+ ldr r1, [r3, r0]
+ add r1, r1, #0x1
+ str r1, [r3, r0]
+ bx lr
+ nop
+_020840B8: .word 0x00004A34
+
+ thumb_func_start FUN_020840BC
+FUN_020840BC: ; 0x020840BC
+ cmp r0, #0x0
+ bne _020840C6
+ ldrb r1, [r2, #0x0]
+ ldr r0, _020840C8 ; =0x00004A3C
+ str r1, [r3, r0]
+_020840C6:
+ bx lr
+ .balign 4
+_020840C8: .word 0x00004A3C
+
+ thumb_func_start FUN_020840CC
+FUN_020840CC: ; 0x020840CC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _0208410C ; =0x00004A34
+ add r4, r3, #0x0
+ mov r1, #0x0
+ str r1, [r4, r0]
+ mov r1, #0x1
+ add r0, #0xc
+ strb r1, [r4, r0]
+ bl FUN_02031190
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02084270
+ add r0, r4, #0x0
+ bl MOD54_021D844C
+ lsl r2, r5, #0x18
+ add r0, r4, #0x0
+ mov r1, #0x19
+ lsr r2, r2, #0x18
+ bl MOD54_021D88E4
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_020334E8
+ ldr r0, _02084110 ; =0x00000658
+ bl FUN_020054C8
+ pop {r3-r5, pc}
+ .balign 4
+_0208410C: .word 0x00004A34
+_02084110: .word 0x00000658
+
+ thumb_func_start FUN_02084114
+FUN_02084114: ; 0x02084114
+ add r0, r3, #0x0
+ ldr r3, _02084120 ; =MOD54_021D88E4
+ mov r1, #0x2
+ mov r2, #0x0
+ bx r3
+ nop
+_02084120: .word MOD54_021D88E4
+
+ thumb_func_start FUN_02084124
+FUN_02084124: ; 0x02084124
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r0, #0x0
+ add r5, r2, #0x0
+ add r4, r3, #0x0
+ cmp r6, #0x0
+ beq _020841BA
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _02084204
+ ldrb r0, [r5, #0x0]
+ add r1, sp, #0x0
+ strb r0, [r1, #0x0]
+ ldrb r0, [r5, #0x1]
+ strb r0, [r1, #0x1]
+ ldrb r0, [r5, #0x2]
+ strb r0, [r1, #0x2]
+ ldrb r0, [r5, #0x3]
+ strb r0, [r1, #0x3]
+ ldr r0, _02084208 ; =0x00004A48
+ strb r6, [r1, #0x0]
+ ldr r0, [r4, r0]
+ strb r0, [r1, #0x1]
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _0208415E
+ cmp r0, #0x1
+ b _020841AC
+_0208415E:
+ bl FUN_02030F20
+ ldr r1, _02084208 ; =0x00004A48
+ ldr r1, [r4, r1]
+ cmp r1, r0
+ bne _02084186
+ bl MOD54_021D8C24
+ ldr r1, _02084208 ; =0x00004A48
+ ldr r1, [r4, r1]
+ cmp r1, r0
+ bne _02084186
+ bl FUN_0202CB8C
+ bl MATH_CountPopulation
+ ldr r1, _02084208 ; =0x00004A48
+ ldr r2, [r4, r1]
+ cmp r2, r0
+ beq _0208418E
+_02084186:
+ mov r1, #0x0
+ add r0, sp, #0x0
+ strb r1, [r0, #0x3]
+ b _020841AC
+_0208418E:
+ add r0, r1, #0x0
+ add r0, #0x8
+ mov r2, #0x1
+ ldr r3, [r4, r0]
+ add r0, r2, #0x0
+ lsl r0, r6
+ orr r0, r3
+ add r1, #0x8
+ str r0, [r4, r1]
+ add r0, sp, #0x0
+ strb r2, [r0, #0x3]
+ bl FUN_02030F20
+ bl FUN_02032B6C
+_020841AC:
+ mov r0, #0x70
+ add r1, sp, #0x0
+ mov r2, #0x4
+ bl FUN_02030ADC
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020841BA:
+ ldrb r0, [r5, #0x2]
+ cmp r0, #0x0
+ beq _020841C8
+ cmp r0, #0x1
+ beq _020841FA
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020841C8:
+ ldrb r6, [r5, #0x0]
+ bl FUN_02031190
+ cmp r6, r0
+ bne _02084204
+ ldrb r0, [r5, #0x3]
+ cmp r0, #0x0
+ bne _020841E6
+ add r0, r4, #0x0
+ mov r1, #0x8
+ add r2, r6, #0x0
+ bl MOD54_021D88E4
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020841E6:
+ ldrb r1, [r5, #0x1]
+ ldr r0, _0208420C ; =0x00004A5C
+ strh r1, [r4, r0]
+ ldrb r2, [r5, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x7
+ bl MOD54_021D88E4
+ add sp, #0x4
+ pop {r3-r6, pc}
+_020841FA:
+ ldrb r2, [r5, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl MOD54_021D88E4
+_02084204:
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+_02084208: .word 0x00004A48
+_0208420C: .word 0x00004A5C
+
+ thumb_func_start FUN_02084210
+FUN_02084210: ; 0x02084210
+ push {r4, lr}
+ ldrb r2, [r2, #0x0]
+ add r4, r3, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl MOD54_021D89CC
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0208422E
+ mov r0, #0x3b
+ mov r1, #0x0
+ lsl r0, r0, #0x4
+ str r1, [r4, r0]
+_0208422E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02084230
+FUN_02084230: ; 0x02084230
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02084234
+FUN_02084234: ; 0x02084234
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02084238
+FUN_02084238: ; 0x02084238
+ push {r4, lr}
+ add r4, r3, #0x0
+ bl FUN_02031190
+ cmp r0, #0x0
+ beq _0208424E
+ add r0, r4, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl MOD54_021D88E4
+_0208424E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02084250
+FUN_02084250: ; 0x02084250
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ bl FUN_02031190
+ cmp r0, #0x0
+ bne _0208426C
+ add r0, sp, #0x0
+ strb r4, [r0, #0x0]
+ mov r0, #0x6e
+ add r1, sp, #0x0
+ mov r2, #0x1
+ bl FUN_02030ADC
+_0208426C:
+ add sp, #0x4
+ pop {r3-r4, pc}
+
+ thumb_func_start FUN_02084270
+FUN_02084270: ; 0x02084270
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ mov r0, #0xed
+ mov r3, #0x0
+ lsl r0, r0, #0x2
+ add r5, r4, r0
+ add r2, r3, #0x0
+ sub r0, #0xc6
+_02084280:
+ ldr r1, [r5, #0x0]
+ add r2, r2, #0x1
+ eor r3, r1
+ add r5, r5, #0x4
+ cmp r2, r0
+ blt _02084280
+ ldr r0, _020842AC ; =0x00000F6C
+ str r3, [r4, r0]
+ bl rand_LC
+ mov r1, #0xf7
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ mov r1, #0xed
+ lsl r1, r1, #0x2
+ mov r2, #0x2f
+ mov r0, #0x74
+ add r1, r4, r1
+ lsl r2, r2, #0x6
+ bl FUN_02030A78
+ pop {r3-r5, pc}
+ .balign 4
+_020842AC: .word 0x00000F6C
+
+ thumb_func_start FUN_020842B0
+FUN_020842B0: ; 0x020842B0
+ mov r0, #0x0
+ bx lr
+
+ thumb_func_start FUN_020842B4
+FUN_020842B4: ; 0x020842B4
+ mov r0, #0x1
+ bx lr
+
+ thumb_func_start FUN_020842B8
+FUN_020842B8: ; 0x020842B8
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_020842BC
+FUN_020842BC: ; 0x020842BC
+ ldr r2, _020842CC ; =0x00000F74
+ add r2, r1, r2
+ mov r1, #0x2f
+ lsl r1, r1, #0x6
+ mul r1, r0
+ add r0, r2, r1
+ bx lr
+ nop
+_020842CC: .word 0x00000F74
+
+ thumb_func_start FUN_020842D0
+FUN_020842D0: ; 0x020842D0
+ ldr r0, _020842D4 ; =0x020FCA3C
+ bx lr
+ .balign 4
+_020842D4: .word 0x020FCA3C
+
+ thumb_func_start FUN_020842D8
+FUN_020842D8: ; 0x020842D8
+ mov r0, #0x9
+ bx lr
+
+ thumb_func_start FUN_020842DC
+FUN_020842DC: ; 0x020842DC
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r1, [sp, #0x4]
+ add r6, r0, #0x0
+ add r7, r2, #0x0
+ ldr r0, [sp, #0x4]
+ mov r1, #0x0
+ add r2, r3, #0x0
+ bl FUN_0206E710
+ mov r1, #0xe
+ add r4, r0, #0x0
+ bl FUN_0206E7DC
+ cmp r0, #0x1
+ beq _02084308
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02084308:
+ add r0, r6, #0x0
+ mov r1, #0x9f
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0xf
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084332
+ mov r0, #0x7
+ tst r0, r5
+ beq _02084332
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084332:
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084350
+ mov r0, #0x88
+ tst r0, r5
+ beq _02084350
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084350:
+ add r0, r4, #0x0
+ mov r1, #0x11
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208436E
+ mov r0, #0x10
+ tst r0, r5
+ beq _0208436E
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208436E:
+ add r0, r4, #0x0
+ mov r1, #0x12
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208438C
+ mov r0, #0x20
+ tst r0, r5
+ beq _0208438C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208438C:
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020843AA
+ mov r0, #0x40
+ tst r0, r5
+ beq _020843AA
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020843AA:
+ add r0, r6, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x17
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _020843CE
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020843EA
+_020843CE:
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _020843EA
+ cmp r5, #0x0
+ bne _02084414
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020843EA:
+ add r0, r4, #0x0
+ mov r1, #0x26
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084414
+ cmp r5, #0x0
+ beq _02084414
+ add r0, r6, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r5, r0
+ bhs _02084414
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084414:
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208443A
+ add r0, r6, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x64
+ bhs _0208443A
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208443A:
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084464
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x4]
+ add r1, r6, #0x0
+ mov r2, #0x3
+ bl FUN_02069168
+ cmp r0, #0x0
+ beq _02084464
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084464:
+ add r0, r4, #0x0
+ mov r1, #0x22
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _0208447C
+ add r0, r4, #0x0
+ mov r1, #0x23
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020844B2
+_0208447C:
+ add r1, r7, #0x0
+ add r0, r6, #0x0
+ add r1, #0x3e
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x3
+ bhs _020844B2
+ add r1, r7, #0x0
+ add r0, r6, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x0
+ bl FUN_0206AB30
+ cmp r0, #0x5
+ blo _020844B2
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020844B2:
+ add r0, r4, #0x0
+ mov r1, #0x24
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020844D6
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ bl FUN_02084DF0
+ cmp r0, #0x1
+ bne _020844D6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020844D6:
+ add r0, r4, #0x0
+ mov r1, #0x25
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084502
+ mov r5, #0x0
+_020844E4:
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02084DF0
+ cmp r0, #0x1
+ bne _020844FC
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020844FC:
+ add r5, r5, #0x1
+ cmp r5, #0x4
+ blt _020844E4
+_02084502:
+ add r0, r6, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x10]
+ add r0, r6, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0xc]
+ add r0, r6, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r1, #0x49
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _020845C6
+ add r0, r4, #0x0
+ mov r1, #0x27
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020845C6
+ add r0, r4, #0x0
+ mov r1, #0x30
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _0208459C
+ cmp r5, #0x64
+ bge _020845C6
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _020845C6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208459C:
+ bge _020845C6
+ cmp r5, #0x0
+ ble _020845AE
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020845AE:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _020845C6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020845C6:
+ add r0, r4, #0x0
+ mov r1, #0x28
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084632
+ add r0, r4, #0x0
+ mov r1, #0x31
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02084606
+ ldr r0, [sp, #0x14]
+ cmp r0, #0x64
+ bge _02084632
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _02084632
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084606:
+ bge _02084632
+ ldr r0, [sp, #0x14]
+ cmp r0, #0x0
+ ble _0208461A
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208461A:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _02084632
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084632:
+ add r0, r4, #0x0
+ mov r1, #0x29
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020846A0
+ add r0, r4, #0x0
+ mov r1, #0x32
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02084674
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x64
+ bge _020846A0
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _020846A0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084674:
+ bge _020846A0
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ ble _02084688
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084688:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _020846A0
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020846A0:
+ add r0, r4, #0x0
+ mov r1, #0x2a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208470E
+ add r0, r4, #0x0
+ mov r1, #0x33
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _020846E2
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x64
+ bge _0208470E
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _0208470E
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020846E2:
+ bge _0208470E
+ ldr r0, [sp, #0xc]
+ cmp r0, #0x0
+ ble _020846F6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020846F6:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _0208470E
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208470E:
+ add r0, r4, #0x0
+ mov r1, #0x2b
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208477C
+ add r0, r4, #0x0
+ mov r1, #0x34
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02084750
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x64
+ bge _0208477C
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _0208477C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084750:
+ bge _0208477C
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x0
+ ble _02084764
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084764:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _0208477C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_0208477C:
+ add r0, r4, #0x0
+ mov r1, #0x2c
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020847E6
+ add r0, r4, #0x0
+ mov r1, #0x35
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _020847BC
+ cmp r7, #0x64
+ bge _020847E6
+ ldr r0, [sp, #0x14]
+ add r1, r5, r0
+ ldr r0, [sp, #0x10]
+ add r1, r0, r1
+ ldr r0, [sp, #0xc]
+ add r1, r0, r1
+ ldr r0, [sp, #0x8]
+ add r0, r0, r1
+ add r1, r7, r0
+ ldr r0, _020847F4 ; =0x000001FE
+ cmp r1, r0
+ bge _020847E6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020847BC:
+ bge _020847E6
+ cmp r7, #0x0
+ ble _020847CE
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020847CE:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_02085000
+ cmp r0, #0x1
+ bne _020847E6
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x18
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_020847E6:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_020847F4: .word 0x000001FE
+
+ thumb_func_start FUN_020847F8
+FUN_020847F8: ; 0x020847F8
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r1, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206B9B0
+ ldr r3, [sp, #0x10]
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020842DC
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02084810
+FUN_02084810: ; 0x02084810
+ push {r3-r7, lr}
+ sub sp, #0x70
+ add r5, r0, #0x0
+ ldr r0, [sp, #0x88]
+ str r2, [sp, #0x4]
+ str r0, [sp, #0x88]
+ add r0, r1, #0x0
+ ldr r2, [sp, #0x88]
+ mov r1, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0206E710
+ mov r1, #0xe
+ add r4, r0, #0x0
+ bl FUN_0206E7DC
+ cmp r0, #0x1
+ beq _02084840
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02084840:
+ mov r6, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ add r2, r6, #0x0
+ add r7, r6, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x50]
+ str r0, [sp, #0x54]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084868
+ ldr r1, [sp, #0x54]
+ mov r0, #0x7
+ bic r1, r0
+ str r1, [sp, #0x54]
+ mov r7, #0x1
+_02084868:
+ add r0, r4, #0x0
+ mov r1, #0x10
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208487E
+ ldr r1, [sp, #0x54]
+ ldr r0, _02084A28 ; =0xFFFFF077
+ mov r7, #0x1
+ and r0, r1
+ str r0, [sp, #0x54]
+_0208487E:
+ add r0, r4, #0x0
+ mov r1, #0x11
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084894
+ ldr r1, [sp, #0x54]
+ mov r0, #0x10
+ bic r1, r0
+ str r1, [sp, #0x54]
+ mov r7, #0x1
+_02084894:
+ add r0, r4, #0x0
+ mov r1, #0x12
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020848AA
+ ldr r1, [sp, #0x54]
+ mov r0, #0x20
+ bic r1, r0
+ str r1, [sp, #0x54]
+ mov r7, #0x1
+_020848AA:
+ add r0, r4, #0x0
+ mov r1, #0x13
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020848C0
+ ldr r1, [sp, #0x54]
+ mov r0, #0x40
+ bic r1, r0
+ str r1, [sp, #0x54]
+ mov r7, #0x1
+_020848C0:
+ ldr r1, [sp, #0x50]
+ ldr r0, [sp, #0x54]
+ cmp r1, r0
+ beq _020848D4
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x54
+ bl FUN_02067830
+ mov r6, #0x1
+_020848D4:
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x50]
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x54]
+ add r0, r4, #0x0
+ mov r1, #0x17
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ bne _02084904
+ add r0, r4, #0x0
+ mov r1, #0x18
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084930
+_02084904:
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084930
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x0
+ bne _0208492C
+ add r0, r4, #0x0
+ mov r1, #0x36
+ bl FUN_0206E7DC
+ add r3, r0, #0x0
+ ldr r1, [sp, #0x50]
+ ldr r2, [sp, #0x54]
+ add r0, r5, #0x0
+ bl FUN_02084F68
+ mov r6, #0x1
+_0208492C:
+ mov r7, #0x1
+ b _0208495C
+_02084930:
+ add r0, r4, #0x0
+ mov r1, #0x26
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208495C
+ ldr r1, [sp, #0x50]
+ ldr r0, [sp, #0x54]
+ cmp r1, r0
+ bge _0208495A
+ add r0, r4, #0x0
+ mov r1, #0x36
+ bl FUN_0206E7DC
+ add r3, r0, #0x0
+ ldr r1, [sp, #0x50]
+ ldr r2, [sp, #0x54]
+ add r0, r5, #0x0
+ bl FUN_02084F68
+ mov r6, #0x1
+_0208495A:
+ mov r7, #0x1
+_0208495C:
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x58]
+ add r0, r4, #0x0
+ mov r1, #0x19
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020849B4
+ ldr r0, [sp, #0x58]
+ cmp r0, #0x64
+ bge _020849B2
+ add r0, r5, #0x0
+ bl FUN_020686F8
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x8
+ bl FUN_02068018
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ ldr r0, [sp, #0x50]
+ cmp r0, #0x0
+ bne _020849B0
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r2, r0, #0x0
+ ldr r3, [sp, #0x54]
+ ldr r1, [sp, #0x50]
+ add r0, r5, #0x0
+ sub r3, r2, r3
+ str r2, [sp, #0x5c]
+ bl FUN_02084F68
+_020849B0:
+ mov r6, #0x1
+_020849B2:
+ mov r7, #0x1
+_020849B4:
+ add r0, r4, #0x0
+ mov r1, #0x1a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020849C2
+ mov r7, #0x1
+_020849C2:
+ add r0, r4, #0x0
+ mov r1, #0x22
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _020849E2
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r2, #0x1
+ bl FUN_02084EC0
+ cmp r0, #0x1
+ bne _020849DE
+ mov r6, #0x1
+_020849DE:
+ mov r7, #0x1
+ b _02084A00
+_020849E2:
+ add r0, r4, #0x0
+ mov r1, #0x23
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084A00
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r2, #0x3
+ bl FUN_02084EC0
+ cmp r0, #0x1
+ bne _020849FE
+ mov r6, #0x1
+_020849FE:
+ mov r7, #0x1
+_02084A00:
+ add r0, r4, #0x0
+ mov r1, #0x24
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084A2C
+ add r0, r4, #0x0
+ mov r1, #0x37
+ bl FUN_0206E7DC
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x4]
+ add r0, r5, #0x0
+ bl FUN_02084E40
+ cmp r0, #0x1
+ bne _02084A24
+ mov r6, #0x1
+_02084A24:
+ mov r7, #0x1
+ b _02084A66
+ .balign 4
+_02084A28: .word 0xFFFFF077
+_02084A2C:
+ add r0, r4, #0x0
+ mov r1, #0x25
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084A66
+ mov r0, #0x0
+ str r0, [sp, #0x50]
+ cmp r0, #0x4
+ bge _02084A64
+ mov r7, #0x37
+_02084A42:
+ add r0, r4, #0x0
+ add r1, r7, #0x0
+ bl FUN_0206E7DC
+ add r2, r0, #0x0
+ ldr r1, [sp, #0x50]
+ add r0, r5, #0x0
+ bl FUN_02084E40
+ cmp r0, #0x1
+ bne _02084A5A
+ mov r6, #0x1
+_02084A5A:
+ ldr r0, [sp, #0x50]
+ add r0, r0, #0x1
+ str r0, [sp, #0x50]
+ cmp r0, #0x4
+ blt _02084A42
+_02084A64:
+ mov r7, #0x1
+_02084A66:
+ add r0, r5, #0x0
+ mov r1, #0xd
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x50]
+ add r0, r5, #0x0
+ mov r1, #0xe
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x54]
+ add r0, r5, #0x0
+ mov r1, #0xf
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x58]
+ add r0, r5, #0x0
+ mov r1, #0x10
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x5c]
+ add r0, r5, #0x0
+ mov r1, #0x11
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x60]
+ add r0, r5, #0x0
+ mov r1, #0x12
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x64]
+ add r0, r5, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ mov r1, #0x49
+ lsl r1, r1, #0x2
+ cmp r0, r1
+ beq _02084B20
+ add r0, r4, #0x0
+ mov r1, #0x27
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084B20
+ add r0, r4, #0x0
+ mov r1, #0x30
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x60]
+ ldr r2, [sp, #0x54]
+ str r1, [sp, #0x10]
+ ldr r1, [sp, #0x5c]
+ str r0, [sp, #0xc]
+ str r1, [sp, #0x14]
+ ldr r1, [sp, #0x58]
+ str r0, [sp, #0x6c]
+ add r2, r2, r1
+ ldr r1, [sp, #0x14]
+ ldr r3, [sp, #0x64]
+ add r2, r1, r2
+ ldr r1, [sp, #0x10]
+ ldr r0, [sp, #0x50]
+ add r1, r1, r2
+ ldr r2, [sp, #0xc]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084B18
+ str r0, [sp, #0x50]
+ add r0, r5, #0x0
+ mov r1, #0xd
+ add r2, sp, #0x50
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084B18:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084B20
+ mov r7, #0x1
+_02084B20:
+ add r0, r4, #0x0
+ mov r1, #0x28
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084B80
+ add r0, r4, #0x0
+ mov r1, #0x31
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x60]
+ ldr r2, [sp, #0x50]
+ str r1, [sp, #0x1c]
+ ldr r1, [sp, #0x5c]
+ str r0, [sp, #0x18]
+ str r1, [sp, #0x20]
+ ldr r1, [sp, #0x58]
+ str r0, [sp, #0x6c]
+ add r2, r2, r1
+ ldr r1, [sp, #0x20]
+ ldr r3, [sp, #0x64]
+ add r2, r1, r2
+ ldr r1, [sp, #0x1c]
+ ldr r0, [sp, #0x54]
+ add r1, r1, r2
+ ldr r2, [sp, #0x18]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084B78
+ str r0, [sp, #0x54]
+ add r0, r5, #0x0
+ mov r1, #0xe
+ add r2, sp, #0x54
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084B78:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084B80
+ mov r7, #0x1
+_02084B80:
+ add r0, r4, #0x0
+ mov r1, #0x29
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084BE0
+ add r0, r4, #0x0
+ mov r1, #0x32
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x60]
+ ldr r2, [sp, #0x50]
+ str r1, [sp, #0x28]
+ ldr r1, [sp, #0x5c]
+ str r0, [sp, #0x24]
+ str r1, [sp, #0x2c]
+ ldr r1, [sp, #0x54]
+ str r0, [sp, #0x6c]
+ add r2, r2, r1
+ ldr r1, [sp, #0x2c]
+ ldr r3, [sp, #0x64]
+ add r2, r1, r2
+ ldr r1, [sp, #0x28]
+ ldr r0, [sp, #0x58]
+ add r1, r1, r2
+ ldr r2, [sp, #0x24]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084BD8
+ str r0, [sp, #0x58]
+ add r0, r5, #0x0
+ mov r1, #0xf
+ add r2, sp, #0x58
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084BD8:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084BE0
+ mov r7, #0x1
+_02084BE0:
+ add r0, r4, #0x0
+ mov r1, #0x2a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084C40
+ add r0, r4, #0x0
+ mov r1, #0x33
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x60]
+ ldr r2, [sp, #0x50]
+ str r1, [sp, #0x34]
+ ldr r1, [sp, #0x58]
+ str r0, [sp, #0x30]
+ str r1, [sp, #0x38]
+ ldr r1, [sp, #0x54]
+ str r0, [sp, #0x6c]
+ add r2, r2, r1
+ ldr r1, [sp, #0x38]
+ ldr r3, [sp, #0x64]
+ add r2, r1, r2
+ ldr r1, [sp, #0x34]
+ ldr r0, [sp, #0x5c]
+ add r1, r1, r2
+ ldr r2, [sp, #0x30]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084C38
+ str r0, [sp, #0x5c]
+ add r0, r5, #0x0
+ mov r1, #0x10
+ add r2, sp, #0x5c
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084C38:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084C40
+ mov r7, #0x1
+_02084C40:
+ add r0, r4, #0x0
+ mov r1, #0x2b
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084CA0
+ add r0, r4, #0x0
+ mov r1, #0x34
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x5c]
+ ldr r2, [sp, #0x50]
+ str r1, [sp, #0x40]
+ ldr r1, [sp, #0x58]
+ str r0, [sp, #0x3c]
+ str r1, [sp, #0x44]
+ ldr r1, [sp, #0x54]
+ str r0, [sp, #0x6c]
+ add r2, r2, r1
+ ldr r1, [sp, #0x44]
+ ldr r3, [sp, #0x64]
+ add r2, r1, r2
+ ldr r1, [sp, #0x40]
+ ldr r0, [sp, #0x60]
+ add r1, r1, r2
+ ldr r2, [sp, #0x3c]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084C98
+ str r0, [sp, #0x60]
+ add r0, r5, #0x0
+ mov r1, #0x11
+ add r2, sp, #0x60
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084C98:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084CA0
+ mov r7, #0x1
+_02084CA0:
+ add r0, r4, #0x0
+ mov r1, #0x2c
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084D00
+ add r0, r4, #0x0
+ mov r1, #0x35
+ bl FUN_0206E7DC
+ ldr r1, [sp, #0x5c]
+ ldr r2, [sp, #0x50]
+ str r1, [sp, #0x4c]
+ ldr r1, [sp, #0x58]
+ str r0, [sp, #0x48]
+ mov r12, r1
+ ldr r1, [sp, #0x54]
+ str r0, [sp, #0x6c]
+ add r1, r2, r1
+ mov r2, r12
+ add r2, r2, r1
+ ldr r1, [sp, #0x4c]
+ ldr r3, [sp, #0x60]
+ add r1, r1, r2
+ ldr r0, [sp, #0x64]
+ ldr r2, [sp, #0x48]
+ add r1, r3, r1
+ bl FUN_02084FA8
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [sp, #0x68]
+ cmp r0, r1
+ beq _02084CF8
+ str r0, [sp, #0x64]
+ add r0, r5, #0x0
+ mov r1, #0x12
+ add r2, sp, #0x64
+ bl FUN_02067830
+ add r0, r5, #0x0
+ bl FUN_02066ED8
+ mov r6, #0x1
+_02084CF8:
+ ldr r0, [sp, #0x6c]
+ cmp r0, #0x0
+ ble _02084D00
+ mov r7, #0x1
+_02084D00:
+ cmp r6, #0x0
+ bne _02084D14
+ cmp r7, #0x1
+ bne _02084D14
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02084D14:
+ add r0, r5, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x50]
+ cmp r0, #0x64
+ bge _02084D54
+ add r0, r4, #0x0
+ mov r1, #0x2d
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084DC2
+ add r0, r4, #0x0
+ mov r1, #0x38
+ bl FUN_0206E7DC
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x88]
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x50]
+ ldr r3, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0208508C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_02084D54:
+ blt _02084D8A
+ cmp r0, #0xc8
+ bge _02084D8A
+ add r0, r4, #0x0
+ mov r1, #0x2e
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084DC2
+ add r0, r4, #0x0
+ mov r1, #0x39
+ bl FUN_0206E7DC
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x88]
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x50]
+ ldr r3, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0208508C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_02084D8A:
+ cmp r0, #0xc8
+ blt _02084DC2
+ cmp r0, #0xff
+ bgt _02084DC2
+ add r0, r4, #0x0
+ mov r1, #0x2f
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02084DC2
+ add r0, r4, #0x0
+ mov r1, #0x3a
+ bl FUN_0206E7DC
+ add r2, r0, #0x0
+ ldr r0, [sp, #0x88]
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x50]
+ ldr r3, [sp, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0208508C
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add sp, #0x70
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+_02084DC2:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ add sp, #0x70
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02084DD0
+FUN_02084DD0: ; 0x02084DD0
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ add r1, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_0206B9B0
+ ldr r1, [sp, #0x14]
+ add r3, sp, #0x0
+ str r1, [sp, #0x0]
+ ldrh r3, [r3, #0x10]
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02084810
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02084DF0
+FUN_02084DF0: ; 0x02084DF0
+ push {r3-r7, lr}
+ add r6, r1, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ bne _02084E08
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02084E08:
+ add r1, r6, #0x0
+ add r0, r5, #0x0
+ add r1, #0x3a
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ add r6, #0x3e
+ lsr r4, r0, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r1, r0, #0x18
+ add r0, r7, #0x0
+ bl FUN_0206AB30
+ cmp r4, r0
+ bhs _02084E36
+ mov r0, #0x1
+ b _02084E38
+_02084E36:
+ mov r0, #0x0
+_02084E38:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02084E40
+FUN_02084E40: ; 0x02084E40
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ add r6, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r7, r0, #0x10
+ bne _02084E5E
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02084E5E:
+ add r0, r5, #0x0
+ str r0, [sp, #0x0]
+ add r0, #0x3a
+ str r0, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x4
+ strb r0, [r1, #0x0]
+ add r5, #0x3e
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, r0, #0x0
+ lsl r1, r1, #0x18
+ add r0, r7, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_0206AB30
+ add r1, sp, #0x4
+ ldrb r2, [r1, #0x0]
+ cmp r2, r0
+ bhs _02084EB8
+ cmp r4, #0x7f
+ bne _02084E9C
+ strb r0, [r1, #0x0]
+ b _02084EA8
+_02084E9C:
+ add r2, r2, r4
+ strb r2, [r1, #0x0]
+ ldrb r2, [r1, #0x0]
+ cmp r2, r0
+ bls _02084EA8
+ strb r0, [r1, #0x0]
+_02084EA8:
+ ldr r1, [sp, #0x0]
+ add r0, r6, #0x0
+ add r2, sp, #0x4
+ bl FUN_02067830
+ add sp, #0x8
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02084EB8:
+ mov r0, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02084EC0
+FUN_02084EC0: ; 0x02084EC0
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r6, r2, #0x0
+ add r4, r1, #0x0
+ str r1, [sp, #0x0]
+ add r1, #0x3e
+ mov r2, #0x0
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_020671BC
+ add r1, sp, #0x8
+ strb r0, [r1, #0x0]
+ ldrb r0, [r1, #0x0]
+ cmp r0, #0x3
+ bne _02084EE6
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02084EE6:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ mov r1, #0x0
+ str r0, [sp, #0x4]
+ bl FUN_0206AB30
+ cmp r0, #0x5
+ bhs _02084F08
+ add sp, #0xc
+ mov r0, #0x0
+ pop {r4-r7, pc}
+_02084F08:
+ add r4, #0x3a
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x8
+ strb r0, [r1, #0x1]
+ ldrb r1, [r1, #0x0]
+ ldr r0, [sp, #0x4]
+ bl FUN_0206AB30
+ add r7, r0, #0x0
+ add r0, sp, #0x8
+ ldrb r0, [r0, #0x0]
+ add r0, r0, r6
+ cmp r0, #0x3
+ bls _02084F30
+ mov r0, #0x3
+ b _02084F34
+_02084F30:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+_02084F34:
+ add r1, sp, #0x8
+ strb r0, [r1, #0x0]
+ ldrb r1, [r1, #0x0]
+ ldr r0, [sp, #0x4]
+ bl FUN_0206AB30
+ add r1, sp, #0x8
+ ldrb r2, [r1, #0x1]
+ add r0, r2, r0
+ sub r0, r0, r7
+ strb r0, [r1, #0x1]
+ ldr r1, [sp, #0x0]
+ add r0, r5, #0x0
+ add r2, sp, #0x8
+ bl FUN_02067830
+ add r2, sp, #0x8
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, #0x1
+ bl FUN_02067830
+ mov r0, #0x1
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02084F68
+FUN_02084F68: ; 0x02084F68
+ push {r0-r3}
+ push {r3, lr}
+ cmp r2, #0x1
+ bne _02084F74
+ mov r3, #0x1
+ b _02084F8A
+_02084F74:
+ cmp r3, #0xff
+ bne _02084F7C
+ add r3, r2, #0x0
+ b _02084F8A
+_02084F7C:
+ cmp r3, #0xfe
+ bne _02084F84
+ lsr r3, r2, #0x1
+ b _02084F8A
+_02084F84:
+ cmp r3, #0xfd
+ bne _02084F8A
+ lsr r3, r2, #0x2
+_02084F8A:
+ ldr r1, [sp, #0xc]
+ add r1, r1, r3
+ cmp r1, r2
+ bls _02084F96
+ str r2, [sp, #0xc]
+ b _02084F98
+_02084F96:
+ str r1, [sp, #0xc]
+_02084F98:
+ mov r1, #0xa2
+ add r2, sp, #0xc
+ bl FUN_02067830
+ pop {r3}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+
+ thumb_func_start FUN_02084FA8
+FUN_02084FA8: ; 0x02084FA8
+ push {r3-r4}
+ cmp r0, #0x0
+ bne _02084FBA
+ cmp r2, #0x0
+ bge _02084FBA
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r4}
+ bx lr
+_02084FBA:
+ cmp r0, #0x64
+ blt _02084FCA
+ cmp r2, #0x0
+ ble _02084FCA
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r4}
+ bx lr
+_02084FCA:
+ ldr r3, _02084FFC ; =0x000001FE
+ add r4, r0, r1
+ cmp r4, r3
+ blt _02084FDE
+ cmp r2, #0x0
+ ble _02084FDE
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r4}
+ bx lr
+_02084FDE:
+ add r0, r0, r2
+ cmp r0, #0x64
+ ble _02084FE8
+ mov r0, #0x64
+ b _02084FEE
+_02084FE8:
+ cmp r0, #0x0
+ bge _02084FEE
+ mov r0, #0x0
+_02084FEE:
+ ldr r2, _02084FFC ; =0x000001FE
+ add r3, r0, r1
+ cmp r3, r2
+ ble _02084FF8
+ sub r0, r2, r1
+_02084FF8:
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_02084FFC: .word 0x000001FE
+
+ thumb_func_start FUN_02085000
+FUN_02085000: ; 0x02085000
+ push {r4, lr}
+ add r4, r1, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0xff
+ blt _02085014
+ mov r0, #0x0
+ pop {r4, pc}
+_02085014:
+ cmp r0, #0x64
+ bge _02085038
+ add r0, r4, #0x0
+ mov r1, #0x2d
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02085034
+ add r0, r4, #0x0
+ mov r1, #0x38
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02085034
+ mov r0, #0x1
+ pop {r4, pc}
+_02085034:
+ mov r0, #0x0
+ pop {r4, pc}
+_02085038:
+ blt _0208505E
+ cmp r0, #0xc8
+ bge _0208505E
+ add r0, r4, #0x0
+ mov r1, #0x2e
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _0208505A
+ add r0, r4, #0x0
+ mov r1, #0x39
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _0208505A
+ mov r0, #0x1
+ pop {r4, pc}
+_0208505A:
+ mov r0, #0x0
+ pop {r4, pc}
+_0208505E:
+ cmp r0, #0xc8
+ blt _02085086
+ cmp r0, #0xff
+ bge _02085086
+ add r0, r4, #0x0
+ mov r1, #0x2f
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ beq _02085082
+ add r0, r4, #0x0
+ mov r1, #0x3a
+ bl FUN_0206E7DC
+ cmp r0, #0x0
+ ble _02085082
+ mov r0, #0x1
+ pop {r4, pc}
+_02085082:
+ mov r0, #0x0
+ pop {r4, pc}
+_02085086:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208508C
+FUN_0208508C: ; 0x0208508C
+ push {r0-r3}
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ add r6, r3, #0x0
+ cmp r4, #0xff
+ bne _020850AA
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x0
+ ble _020850AA
+ mov r0, #0x0
+ pop {r4-r6}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+_020850AA:
+ cmp r4, #0x0
+ bne _020850BE
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x0
+ bge _020850BE
+ mov r0, #0x0
+ pop {r4-r6}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+_020850BE:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x0
+ ble _02085114
+ add r0, r5, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ ldr r2, [sp, #0x20]
+ lsr r0, r0, #0x10
+ mov r1, #0x1
+ bl FUN_0206E7B8
+ cmp r0, #0x34
+ bne _020850EC
+ ldr r1, [sp, #0x18]
+ mov r0, #0x96
+ mul r0, r1
+ mov r1, #0x64
+ bl _s32_div_f
+ str r0, [sp, #0x18]
+_020850EC:
+ add r0, r5, #0x0
+ mov r1, #0x9a
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0xb
+ bne _02085100
+ ldr r0, [sp, #0x18]
+ add r0, r0, #0x1
+ str r0, [sp, #0x18]
+_02085100:
+ add r0, r5, #0x0
+ mov r1, #0x97
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r6, r0
+ bne _02085114
+ ldr r0, [sp, #0x18]
+ add r0, r0, #0x1
+ str r0, [sp, #0x18]
+_02085114:
+ ldr r0, [sp, #0x18]
+ add r0, r0, r4
+ str r0, [sp, #0x18]
+ cmp r0, #0xff
+ ble _02085122
+ mov r0, #0xff
+ str r0, [sp, #0x18]
+_02085122:
+ ldr r0, [sp, #0x18]
+ cmp r0, #0x0
+ bge _0208512C
+ mov r0, #0x0
+ str r0, [sp, #0x18]
+_0208512C:
+ add r0, r5, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x18
+ bl FUN_02067830
+ mov r0, #0x1
+ pop {r4-r6}
+ pop {r3}
+ add sp, #0x10
+ bx r3
+
+ thumb_func_start FUN_02085140
+FUN_02085140: ; 0x02085140
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ bl FUN_0206B9AC
+ mov r7, #0x0
+ str r0, [sp, #0x4]
+ cmp r0, #0x0
+ ble _020851B4
+ mov r6, #0x7f
+_02085154:
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0206B9B0
+ mov r1, #0xab
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _020851AC
+ add r0, r5, #0x0
+ mov r1, #0xa3
+ mov r2, #0x0
+ bl FUN_020671BC
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0xa2
+ add r2, sp, #0x8
+ bl FUN_02067830
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x9f
+ add r2, sp, #0x8
+ bl FUN_02067830
+ mov r4, #0x0
+_02085190:
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02084DF0
+ cmp r0, #0x1
+ bne _020851A6
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02084E40
+_020851A6:
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _02085190
+_020851AC:
+ ldr r0, [sp, #0x4]
+ add r7, r7, #0x1
+ cmp r7, r0
+ blt _02085154
+_020851B4:
+ add sp, #0xc
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_020851B8
+FUN_020851B8: ; 0x020851B8
+ push {r3, lr}
+ mov r1, #0xc
+ bl FUN_02016998
+ mov r1, #0x0
+ strb r1, [r0, #0x0]
+ strb r1, [r0, #0x1]
+ strb r1, [r0, #0x2]
+ strb r1, [r0, #0x3]
+ strb r1, [r0, #0x4]
+ strb r1, [r0, #0x5]
+ strb r1, [r0, #0x6]
+ strb r1, [r0, #0x7]
+ strb r1, [r0, #0x8]
+ strb r1, [r0, #0x9]
+ strb r1, [r0, #0xa]
+ strb r1, [r0, #0xb]
+ pop {r3, pc}
+
+ thumb_func_start FUN_020851DC
+FUN_020851DC: ; 0x020851DC
+ push {r4-r6, lr}
+ sub r1, #0x95
+ lsl r1, r1, #0x10
+ lsr r6, r1, #0x10
+ add r1, r6, #0x0
+ add r5, r0, #0x0
+ add r4, r2, #0x0
+ bl FUN_02085200
+ cmp r4, #0x1
+ bne _020851F4
+ strb r6, [r5, #0x8]
+_020851F4:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020851F8
+FUN_020851F8: ; 0x020851F8
+ strb r1, [r0, #0x9]
+ strb r2, [r0, #0xa]
+ strb r3, [r0, #0xb]
+ bx lr
+
+ thumb_func_start FUN_02085200
+FUN_02085200: ; 0x02085200
+ push {r3-r6}
+ lsr r6, r1, #0x1f
+ lsl r5, r1, #0x1b
+ lsr r2, r1, #0x5
+ lsl r4, r2, #0x2
+ sub r5, r5, r6
+ mov r1, #0x1b
+ ror r5, r1
+ ldr r3, [r0, r4]
+ mov r2, #0x1
+ add r1, r6, r5
+ lsl r2, r1
+ add r1, r3, #0x0
+ orr r1, r2
+ str r1, [r0, r4]
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085224
+FUN_02085224: ; 0x02085224
+ push {r4-r5}
+ lsr r5, r1, #0x1f
+ lsl r4, r1, #0x1b
+ lsr r1, r1, #0x5
+ lsl r1, r1, #0x2
+ sub r4, r4, r5
+ mov r3, #0x1b
+ ror r4, r3
+ mov r2, #0x1
+ add r3, r5, r4
+ add r4, r2, #0x0
+ lsl r4, r3
+ ldr r0, [r0, r1]
+ tst r0, r4
+ bne _02085244
+ mov r2, #0x0
+_02085244:
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ pop {r4-r5}
+ bx lr
+
+ thumb_func_start FUN_0208524C
+FUN_0208524C: ; 0x0208524C
+ ldrb r3, [r0, #0x9]
+ strb r3, [r1, #0x0]
+ ldrb r0, [r0, #0xa]
+ strb r0, [r2, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085258
+FUN_02085258: ; 0x02085258
+ ldr r3, _02085260 ; =FUN_02006670
+ add r1, r0, #0x0
+ mov r0, #0x44
+ bx r3
+ .balign 4
+_02085260: .word FUN_02006670
+
+ thumb_func_start FUN_02085264
+FUN_02085264: ; 0x02085264
+ ldr r3, _02085268 ; =FUN_02006704
+ bx r3
+ .balign 4
+_02085268: .word FUN_02006704
+
+ thumb_func_start FUN_0208526C
+FUN_0208526C: ; 0x0208526C
+ ldr r3, _02085270 ; =FUN_020066F4
+ bx r3
+ .balign 4
+_02085270: .word FUN_020066F4
+
+ thumb_func_start FUN_02085274
+FUN_02085274: ; 0x02085274
+ add r3, r0, #0x0
+ add r2, r1, #0x0
+ add r1, r3, #0x0
+ ldr r3, _02085280 ; =LoadFromNarc_2
+ mov r0, #0x44
+ bx r3
+ .balign 4
+_02085280: .word LoadFromNarc_2
+
+ thumb_func_start FUN_02085284
+FUN_02085284: ; 0x02085284
+ ldr r3, _0208528C ; =FUN_02085274
+ sub r0, #0x95
+ bx r3
+ nop
+_0208528C: .word FUN_02085274
+
+ thumb_func_start FUN_02085290
+FUN_02085290: ; 0x02085290
+ cmp r1, #0xa
+ bhi _020852E2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020852A0: ; jump table (using 16-bit offset)
+ .short _020852B6 - _020852A0 - 2; case 0
+ .short _020852BA - _020852A0 - 2; case 1
+ .short _020852BE - _020852A0 - 2; case 2
+ .short _020852C2 - _020852A0 - 2; case 3
+ .short _020852C6 - _020852A0 - 2; case 4
+ .short _020852CA - _020852A0 - 2; case 5
+ .short _020852CE - _020852A0 - 2; case 6
+ .short _020852D2 - _020852A0 - 2; case 7
+ .short _020852D6 - _020852A0 - 2; case 8
+ .short _020852DA - _020852A0 - 2; case 9
+ .short _020852DE - _020852A0 - 2; case 10
+_020852B6:
+ ldrh r0, [r0, #0x0]
+ bx lr
+_020852BA:
+ ldrb r0, [r0, #0x2]
+ bx lr
+_020852BE:
+ ldrb r0, [r0, #0x3]
+ bx lr
+_020852C2:
+ ldrb r0, [r0, #0x4]
+ bx lr
+_020852C6:
+ ldrb r0, [r0, #0x5]
+ bx lr
+_020852CA:
+ ldrb r0, [r0, #0x6]
+ bx lr
+_020852CE:
+ ldrb r0, [r0, #0x7]
+ bx lr
+_020852D2:
+ ldrb r0, [r0, #0x8]
+ bx lr
+_020852D6:
+ ldrb r0, [r0, #0x9]
+ bx lr
+_020852DA:
+ ldrb r0, [r0, #0xa]
+ bx lr
+_020852DE:
+ ldrb r0, [r0, #0xb]
+ bx lr
+_020852E2:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020852E8
+FUN_020852E8: ; 0x020852E8
+ push {r3-r5, lr}
+ ldr r2, _0208530C ; =0x00000175
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ add r5, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0208530C: .word 0x00000175
+
+ thumb_func_start FUN_02085310
+FUN_02085310: ; 0x02085310
+ push {r3-r5, lr}
+ mov r2, #0x5d
+ add r4, r0, #0x0
+ add r3, r1, #0x0
+ mov r0, #0x1
+ mov r1, #0x1a
+ lsl r2, r2, #0x2
+ bl FUN_0200A86C
+ add r5, r0, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200A914
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02085338
+FUN_02085338: ; 0x02085338
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ add r0, r3, #0x0
+ mov r1, #0x24
+ add r6, r2, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ strb r5, [r4, #0x0]
+ strb r7, [r4, #0x1]
+ add r0, r6, #0x0
+ bl FUN_02024DA0
+ str r0, [r4, #0xc]
+ add r0, r6, #0x0
+ bl FUN_02013B5C
+ str r0, [r4, #0x10]
+ add r0, r6, #0x0
+ bl FUN_020462AC
+ bl FUN_0205ED0C
+ strb r0, [r4, #0x4]
+ mov r1, #0x0
+ strb r1, [r4, #0x5]
+ mov r0, #0x1
+ strb r0, [r4, #0x2]
+ add r0, r6, #0x0
+ strb r1, [r4, #0x3]
+ bl LoadPlayerDataAddress
+ bl FUN_02025084
+ str r0, [r4, #0x8]
+ cmp r5, #0x2
+ bne _02085390
+ add r0, r4, #0x0
+ add r0, #0x14
+ mov r1, #0x3
+ bl FUN_0201373C
+ b _020853A0
+_02085390:
+ ldr r0, _020853A4 ; =0x0000FFFF
+ mov r1, #0x0
+ add r2, r4, #0x0
+_02085396:
+ add r1, r1, #0x1
+ strh r0, [r2, #0x1c]
+ add r2, r2, #0x2
+ cmp r1, #0x2
+ blt _02085396
+_020853A0:
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_020853A4: .word 0x0000FFFF
+
+ thumb_func_start FUN_020853A8
+FUN_020853A8: ; 0x020853A8
+ ldr r3, _020853AC ; =FUN_02016A18
+ bx r3
+ .balign 4
+_020853AC: .word FUN_02016A18
+
+ thumb_func_start FUN_020853B0
+FUN_020853B0: ; 0x020853B0
+ strh r1, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_020853B4
+FUN_020853B4: ; 0x020853B4
+ strh r1, [r0, #0x1c]
+ strh r2, [r0, #0x1e]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020853BC
+FUN_020853BC: ; 0x020853BC
+ ldrh r2, [r1, #0x0]
+ strh r2, [r0, #0x14]
+ ldrh r2, [r1, #0x2]
+ strh r2, [r0, #0x16]
+ ldrh r2, [r1, #0x4]
+ strh r2, [r0, #0x18]
+ ldrh r1, [r1, #0x6]
+ strh r1, [r0, #0x1a]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020853D0
+FUN_020853D0: ; 0x020853D0
+ mov r1, #0x1
+ strb r1, [r0, #0x2]
+ mov r1, #0x0
+ strb r1, [r0, #0x3]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020853DC
+FUN_020853DC: ; 0x020853DC
+ mov r1, #0x1
+ strb r1, [r0, #0x5]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020853E4
+FUN_020853E4: ; 0x020853E4
+ ldrb r0, [r0, #0x2]
+ bx lr
+
+ thumb_func_start FUN_020853E8
+FUN_020853E8: ; 0x020853E8
+ ldrb r0, [r0, #0x3]
+ bx lr
+
+ thumb_func_start FUN_020853EC
+FUN_020853EC: ; 0x020853EC
+ ldrh r0, [r0, #0x1c]
+ bx lr
+
+ thumb_func_start FUN_020853F0
+FUN_020853F0: ; 0x020853F0
+ ldrh r2, [r0, #0x1c]
+ strh r2, [r1, #0x0]
+ ldrh r0, [r0, #0x1e]
+ strh r0, [r1, #0x2]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_020853FC
+FUN_020853FC: ; 0x020853FC
+ add r2, r0, #0x0
+ ldr r3, _02085408 ; =FUN_02013960
+ add r2, #0x14
+ add r0, r1, #0x0
+ add r1, r2, #0x0
+ bx r3
+ .balign 4
+_02085408: .word FUN_02013960
+
+ thumb_func_start FUN_0208540C
+FUN_0208540C: ; 0x0208540C
+ ldrb r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_02085410
+FUN_02085410: ; 0x02085410
+ ldrb r0, [r0, #0x1]
+ bx lr
+
+ thumb_func_start FUN_02085414
+FUN_02085414: ; 0x02085414
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_02085418
+FUN_02085418: ; 0x02085418
+ ldr r0, [r0, #0xc]
+ bx lr
+
+ thumb_func_start FUN_0208541C
+FUN_0208541C: ; 0x0208541C
+ ldr r0, [r0, #0x10]
+ bx lr
+
+ thumb_func_start FUN_02085420
+FUN_02085420: ; 0x02085420
+ ldrb r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_02085424
+FUN_02085424: ; 0x02085424
+ ldrb r0, [r0, #0x5]
+ bx lr
+
+ thumb_func_start FUN_02085428
+FUN_02085428: ; 0x02085428
+ ldrb r3, [r0, #0x0]
+ cmp r3, #0x0
+ beq _02085438
+ cmp r3, #0x1
+ beq _0208543E
+ cmp r3, #0x2
+ beq _02085448
+ bx lr
+_02085438:
+ ldrh r0, [r0, #0x1c]
+ strh r0, [r1, #0x0]
+ bx lr
+_0208543E:
+ ldrh r2, [r0, #0x1c]
+ strh r2, [r1, #0x0]
+ ldrh r0, [r0, #0x1e]
+ strh r0, [r1, #0x2]
+ bx lr
+_02085448:
+ ldrh r1, [r0, #0x14]
+ strh r1, [r2, #0x0]
+ ldrh r1, [r0, #0x16]
+ strh r1, [r2, #0x2]
+ ldrh r1, [r0, #0x18]
+ strh r1, [r2, #0x4]
+ ldrh r0, [r0, #0x1a]
+ strh r0, [r2, #0x6]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0208545C
+FUN_0208545C: ; 0x0208545C
+ push {r3, lr}
+ ldrb r3, [r0, #0x0]
+ cmp r3, #0x0
+ beq _0208546C
+ cmp r3, #0x1
+ beq _0208547C
+ cmp r3, #0x2
+ b _02085494
+_0208546C:
+ ldrh r1, [r1, #0x0]
+ ldrh r0, [r0, #0x1c]
+ cmp r1, r0
+ bne _02085478
+ mov r0, #0x1
+ pop {r3, pc}
+_02085478:
+ mov r0, #0x0
+ pop {r3, pc}
+_0208547C:
+ ldrh r3, [r1, #0x0]
+ ldrh r2, [r0, #0x1c]
+ cmp r3, r2
+ bne _02085490
+ ldrh r1, [r1, #0x2]
+ ldrh r0, [r0, #0x1e]
+ cmp r1, r0
+ bne _02085490
+ mov r0, #0x1
+ pop {r3, pc}
+_02085490:
+ mov r0, #0x0
+ pop {r3, pc}
+_02085494:
+ add r0, #0x14
+ add r1, r2, #0x0
+ bl FUN_02013928
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_020854A0
+FUN_020854A0: ; 0x020854A0
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_0208545C
+ cmp r0, #0x0
+ bne _020854B4
+ mov r0, #0x1
+ b _020854B6
+_020854B4:
+ mov r0, #0x0
+_020854B6:
+ strb r0, [r5, #0x3]
+ mov r1, #0x0
+ strb r1, [r5, #0x2]
+ add r2, r5, #0x0
+_020854BE:
+ ldrh r0, [r4, #0x0]
+ add r1, r1, #0x1
+ add r4, r4, #0x2
+ strh r0, [r2, #0x1c]
+ add r2, r2, #0x2
+ cmp r1, #0x2
+ blt _020854BE
+ ldrh r0, [r6, #0x0]
+ strh r0, [r5, #0x14]
+ ldrh r0, [r6, #0x2]
+ strh r0, [r5, #0x16]
+ ldrh r0, [r6, #0x4]
+ strh r0, [r5, #0x18]
+ ldrh r0, [r6, #0x6]
+ strh r0, [r5, #0x1a]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020854E0
+FUN_020854E0: ; 0x020854E0
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ add r7, r1, #0x0
+ add r6, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_02025838
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x20]
+ mov r1, #0x1c
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, [sp, #0x0]
+ strb r0, [r4, #0xf]
+ ldr r0, [sp, #0x4]
+ strb r6, [r4, #0xe]
+ str r0, [r4, #0x18]
+ mov r0, #0x1
+ strh r0, [r4, #0x0]
+ str r7, [r4, #0x8]
+ mov r0, #0x0
+ strh r0, [r4, #0xc]
+ ldr r0, [sp, #0x20]
+ str r5, [r4, #0x10]
+ bl FUN_020256BC
+ str r0, [r4, #0x14]
+ bl FUN_02025658
+ ldr r0, [r4, #0x14]
+ mov r1, #0xff
+ add r2, r6, #0x0
+ add r3, r5, #0x0
+ bl FUN_020256DC
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02085538
+FUN_02085538: ; 0x02085538
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ add r5, r1, #0x0
+ add r0, r3, #0x0
+ mov r1, #0x1c
+ add r6, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ str r5, [r4, #0x8]
+ strh r6, [r4, #0xc]
+ add r0, r7, #0x0
+ str r7, [r4, #0x10]
+ bl FUN_02025838
+ ldr r3, [sp, #0x0]
+ add r1, r5, #0x0
+ add r2, r6, #0x0
+ str r0, [r4, #0x18]
+ bl FUN_020258B0
+ str r0, [r4, #0x14]
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02085578
+FUN_02085578: ; 0x02085578
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x1c
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ str r5, [r4, #0x10]
+ add r0, r7, #0x0
+ bl FUN_020256BC
+ str r0, [r4, #0x14]
+ ldr r2, [r4, #0x14]
+ add r0, r6, #0x0
+ mov r1, #0xa9
+ bl FUN_020671BC
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020855B0
+FUN_020855B0: ; 0x020855B0
+ push {r3-r7, lr}
+ add r7, r2, #0x0
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r0, r7, #0x0
+ mov r1, #0x1c
+ bl FUN_020169D8
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x0
+ strh r0, [r4, #0x0]
+ add r0, r7, #0x0
+ str r5, [r4, #0x10]
+ bl FUN_020256BC
+ add r1, r6, #0x0
+ str r0, [r4, #0x14]
+ bl FUN_020257D0
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020855E4
+FUN_020855E4: ; 0x020855E4
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_020855E8
+FUN_020855E8: ; 0x020855E8
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_020855E4
+ cmp r0, #0x0
+ bne _020855FC
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_020855FC:
+ ldr r0, [r5, #0x18]
+ ldr r3, [r5, #0x14]
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_02025888
+ mov r0, #0x1
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_0208560C
+FUN_0208560C: ; 0x0208560C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_020855E4
+ cmp r0, #0x0
+ bne _0208561E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0208561E:
+ ldr r2, [r5, #0x14]
+ add r0, r4, #0x0
+ mov r1, #0xa9
+ bl FUN_02067830
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_0208562C
+FUN_0208562C: ; 0x0208562C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ beq _0208563A
+ bl FUN_02016A18
+_0208563A:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02085644
+FUN_02085644: ; 0x02085644
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ mov r1, #0x0
+ add r7, r0, #0x0
+ add r4, r2, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02025864
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mvn r0, r0
+ cmp r6, r0
+ beq _0208569E
+ add r0, r4, #0x0
+ bl FUN_020256BC
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xa9
+ add r2, r4, #0x0
+ bl FUN_020671BC
+ add r0, r7, #0x0
+ mov r1, #0x0
+ add r2, r6, #0x0
+ add r3, r4, #0x0
+ bl FUN_02025888
+ add r0, r4, #0x0
+ bl FUN_02025658
+ add r0, r5, #0x0
+ mov r1, #0xa9
+ add r2, r4, #0x0
+ bl FUN_02067830
+ add r0, r5, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ add r0, r6, #0x0
+_0208569E:
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_020856A0
+FUN_020856A0: ; 0x020856A0
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r4, r2, #0x0
+ mov r1, #0x0
+ add r2, r5, #0x0
+ add r7, r0, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_020258B0
+ add r6, r0, #0x0
+ bne _020856BC
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r7, pc}
+_020856BC:
+ bl FUN_020257CC
+ bl FUN_0206EAD8
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xa9
+ add r2, r6, #0x0
+ bl FUN_02067830
+ add r0, r4, #0x0
+ mov r1, #0x6
+ add r2, sp, #0x0
+ bl FUN_02067830
+ add r0, r7, #0x0
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_02025878
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020856F0
+FUN_020856F0: ; 0x020856F0
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x34
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x34
+ add r6, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x0
+ strh r0, [r6, #0x0]
+ add r0, r4, #0x0
+ bl FUN_020257C0
+ str r0, [r6, #0x8]
+ mov r0, #0x8
+ add r1, r5, #0x0
+ bl FUN_020219F4
+ str r0, [r6, #0x10]
+ add r0, r4, #0x0
+ bl FUN_020257C4
+ add r1, r0, #0x0
+ ldr r0, [r6, #0x10]
+ bl FUN_02021E28
+ add r0, r4, #0x0
+ bl FUN_020257CC
+ strb r0, [r6, #0xf]
+ add r0, r4, #0x0
+ bl FUN_020257D8
+ strb r0, [r6, #0xd]
+ add r0, r4, #0x0
+ bl FUN_020257DC
+ strb r0, [r6, #0xe]
+ mov r5, #0x0
+ mov r7, #0x2
+_02085748:
+ lsl r1, r5, #0x18
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ add r2, r7, #0x0
+ bl FUN_020257E0
+ lsl r1, r5, #0x1
+ add r1, r6, r1
+ strh r0, [r1, #0x14]
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x3
+ blo _02085748
+ add r7, r6, #0x0
+ mov r5, #0x0
+ add r7, #0x1a
+_0208576A:
+ lsl r1, r5, #0x18
+ add r0, r4, #0x0
+ lsr r1, r1, #0x18
+ bl FUN_02025814
+ add r1, r0, #0x0
+ lsl r0, r5, #0x3
+ add r0, r7, r0
+ bl FUN_02013960
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x3
+ blo _0208576A
+ add r0, r6, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_0208578C
+FUN_0208578C: ; 0x0208578C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x10]
+ cmp r0, #0x0
+ beq _0208579A
+ bl FUN_02021A20
+_0208579A:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020857A4
+FUN_020857A4: ; 0x020857A4
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r4, r7, #0x0
+ add r6, r0, #0x0
+ mov r5, #0x0
+ add r4, #0x1a
+_020857B0:
+ lsl r1, r5, #0x3
+ lsl r2, r5, #0x18
+ add r0, r6, #0x0
+ add r1, r4, r1
+ lsr r2, r2, #0x18
+ bl FUN_02025824
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r5, #0x3
+ blo _020857B0
+ ldrb r1, [r7, #0xf]
+ add r0, r6, #0x0
+ bl FUN_020257D0
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020857D4
+FUN_020857D4: ; 0x020857D4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020857F4
+ bl FUN_02006290
+ cmp r0, #0x0
+ beq _020857F4
+ ldr r0, [r4, #0x0]
+ bl FUN_02006260
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+_020857F4:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_020857F8
+FUN_020857F8: ; 0x020857F8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_0200628C
+ mov r2, #0x1
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x28
+ lsl r2, r2, #0xc
+ bl FUN_0201681C
+ add r0, r4, #0x0
+ mov r1, #0x1c
+ mov r2, #0x28
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x1c
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r1, #0x28
+ str r1, [r4, #0x0]
+ ldr r0, [r5, #0x14]
+ bl FUN_020856F0
+ str r0, [r4, #0x10]
+ ldr r0, [r5, #0x10]
+ bl LoadPlayerDataAddress
+ ldr r1, [r4, #0x10]
+ str r0, [r1, #0x4]
+ ldrh r0, [r5, #0x0]
+ cmp r0, #0x1
+ bne _02085844
+ ldrb r1, [r5, #0xf]
+ ldr r0, [r4, #0x10]
+ strb r1, [r0, #0xf]
+_02085844:
+ ldr r1, [r4, #0x10]
+ ldrb r0, [r1, #0xf]
+ cmp r0, #0xc
+ blo _02085850
+ mov r0, #0x0
+ strb r0, [r1, #0xf]
+_02085850:
+ ldrh r1, [r5, #0x0]
+ ldr r0, [r4, #0x10]
+ strh r1, [r0, #0x0]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208585C
+FUN_0208585C: ; 0x0208585C
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_0200628C
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x4
+ bls _02085878
+ b _02085990
+_02085878:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02085884: ; jump table (using 16-bit offset)
+ .short _0208588E - _02085884 - 2; case 0
+ .short _020858A6 - _02085884 - 2; case 1
+ .short _020858D2 - _02085884 - 2; case 2
+ .short _02085900 - _02085884 - 2; case 3
+ .short _0208595E - _02085884 - 2; case 4
+_0208588E:
+ ldrh r1, [r6, #0x0]
+ ldr r0, [r4, #0x10]
+ strh r1, [r0, #0x0]
+ ldr r0, _02085994 ; =0x020FCAA8
+ ldr r1, [r4, #0x10]
+ ldr r2, [r4, #0x0]
+ bl FUN_02006234
+ str r0, [r4, #0xc]
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _02085990
+_020858A6:
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_020857D4
+ cmp r0, #0x0
+ beq _02085990
+ ldr r0, [r4, #0x10]
+ ldrh r1, [r0, #0x0]
+ cmp r1, #0x3
+ beq _020858C6
+ ldr r0, _02085998 ; =0x0000FFFF
+ cmp r1, r0
+ bne _020858CC
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02085990
+_020858C6:
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02085990
+_020858CC:
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _02085990
+_020858D2:
+ ldrh r0, [r6, #0x0]
+ cmp r0, #0x1
+ bne _020858FC
+ ldr r1, [r4, #0x10]
+ ldrh r0, [r1, #0x0]
+ cmp r0, #0x3
+ bne _020858F8
+ ldr r0, [r6, #0x14]
+ bl FUN_020857A4
+ ldr r0, [r6, #0x10]
+ bl FUN_02029FC8
+ mov r1, #0x2
+ bl FUN_0202A170
+ mov r0, #0x1
+ str r0, [r6, #0x4]
+ b _020858FC
+_020858F8:
+ mov r0, #0x0
+ str r0, [r6, #0x4]
+_020858FC:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02085900:
+ ldr r2, [r6, #0x10]
+ ldr r3, [r4, #0x0]
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_02085338
+ str r0, [r4, #0x8]
+ ldr r0, [r4, #0x10]
+ add r1, r0, #0x0
+ ldrb r0, [r0, #0x2]
+ add r1, #0x1a
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ bl FUN_0201385C
+ cmp r0, #0x0
+ beq _02085938
+ ldr r1, [r4, #0x10]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ ldrb r1, [r1, #0x2]
+ add r2, #0x1a
+ add r0, #0x14
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ bl FUN_02013960
+ b _02085942
+_02085938:
+ add r0, r4, #0x0
+ add r0, #0x14
+ mov r1, #0x3
+ bl FUN_0201373C
+_02085942:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x8]
+ add r1, #0x14
+ bl FUN_020853BC
+ ldr r0, _0208599C ; =0x020FCAB8
+ ldr r1, [r4, #0x8]
+ ldr r2, [r4, #0x0]
+ bl FUN_02006234
+ str r0, [r4, #0xc]
+ mov r0, #0x4
+ str r0, [r5, #0x0]
+ b _02085990
+_0208595E:
+ add r0, r4, #0x0
+ add r0, #0xc
+ bl FUN_020857D4
+ cmp r0, #0x0
+ beq _02085990
+ ldr r0, [r4, #0x8]
+ bl FUN_020853E4
+ cmp r0, #0x0
+ bne _02085986
+ ldr r1, [r4, #0x10]
+ ldr r0, [r4, #0x8]
+ add r2, r1, #0x0
+ ldrb r1, [r1, #0x2]
+ add r2, #0x1a
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ bl FUN_020853FC
+_02085986:
+ ldr r0, [r4, #0x8]
+ bl FUN_020853A8
+ mov r0, #0x0
+ str r0, [r5, #0x0]
+_02085990:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_02085994: .word 0x020FCAA8
+_02085998: .word 0x0000FFFF
+_0208599C: .word 0x020FCAB8
+
+ thumb_func_start FUN_020859A0
+FUN_020859A0: ; 0x020859A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x10]
+ bl FUN_0208578C
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ ldr r0, [r4, #0x0]
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020859C0
+FUN_020859C0: ; 0x020859C0
+ push {r3-r7, lr}
+ mov r2, #0x2
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x35
+ lsl r2, r2, #0x12
+ bl FUN_0201681C
+ mov r0, #0x35
+ bl MOD62_02230F3C
+ bl MOD62_0222F7E0
+ ldr r1, _02085BA0 ; =0x0000042C
+ add r0, r5, #0x0
+ mov r2, #0x35
+ bl FUN_02006268
+ ldr r2, _02085BA0 ; =0x0000042C
+ mov r1, #0x0
+ add r4, r0, #0x0
+ bl memset
+ bl MOD62_0222E2BC
+ mov r1, #0x23
+ lsl r1, r1, #0x4
+ str r0, [r4, r1]
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ str r0, [r4, #0x0]
+ mov r0, #0x35
+ bl FUN_020669C0
+ ldr r1, _02085BA4 ; =0x00000428
+ mov r2, #0xff
+ str r0, [r4, r1]
+ add r0, r4, #0x0
+ add r0, #0xd4
+ str r2, [r0, #0x0]
+ mov r0, #0x0
+ sub r1, #0x10
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x20]
+ bl FUN_02029E0C
+ asr r1, r0, #0x2
+ lsr r1, r1, #0x1d
+ add r1, r0, r1
+ asr r0, r1, #0x3
+ add r1, r0, #0x1
+ ldr r0, _02085BA8 ; =0x0000041C
+ str r1, [r4, r0]
+ ldr r1, [r4, r0]
+ cmp r1, #0xa
+ ble _02085A38
+ mov r1, #0xa
+ str r1, [r4, r0]
+_02085A38:
+ ldr r0, [r4, #0x0]
+ bl FUN_02085D84
+ mov r1, #0xf1
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ bl FUN_02085D84
+ mov r1, #0xf2
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x20]
+ bl FUN_02029CEC
+ str r0, [r4, #0x64]
+ mov r6, #0x0
+ add r5, r4, #0x0
+ mov r7, #0xff
+_02085A60:
+ ldr r0, [r4, #0x0]
+ add r1, r6, #0x0
+ ldr r0, [r0, #0x20]
+ bl FUN_02029C8C
+ str r7, [r5, #0x4]
+ str r0, [r5, #0x8]
+ add r6, r6, #0x1
+ add r5, #0x8
+ cmp r6, #0xc
+ blt _02085A60
+ mov r5, #0x0
+ add r6, r5, #0x0
+ mov r7, #0xa1
+_02085A7C:
+ ldr r0, [r4, #0x0]
+ add r0, r0, r6
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ beq _02085A9A
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020671BC
+ cmp r0, #0x0
+ beq _02085A9A
+ lsl r0, r0, #0x3
+ add r0, r4, r0
+ sub r0, r0, #0x4
+ str r5, [r0, #0x0]
+_02085A9A:
+ add r5, r5, #0x1
+ add r6, r6, #0x4
+ cmp r5, #0x6
+ blt _02085A7C
+ mov r0, #0x35
+ bl FUN_02016B94
+ add r1, r4, #0x0
+ add r1, #0xe4
+ str r0, [r1, #0x0]
+ mov r0, #0x40
+ mov r1, #0x35
+ bl FUN_0201C24C
+ mov r0, #0x35
+ bl FUN_02002FD0
+ add r1, r4, #0x0
+ add r1, #0xe8
+ str r0, [r1, #0x0]
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_020038F0
+ add r0, r4, #0x0
+ add r0, #0xe8
+ mov r2, #0x2
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ mov r3, #0x35
+ bl FUN_02003008
+ add r0, r4, #0x0
+ add r0, #0xe8
+ mov r1, #0x1
+ ldr r0, [r0, #0x0]
+ lsl r2, r1, #0x9
+ mov r3, #0x35
+ bl FUN_02003008
+ add r0, r4, #0x0
+ add r0, #0xe8
+ mov r1, #0x2
+ ldr r0, [r0, #0x0]
+ lsl r2, r1, #0x8
+ mov r3, #0x35
+ bl FUN_02003008
+ add r0, r4, #0x0
+ add r0, #0xe8
+ mov r2, #0x2
+ ldr r0, [r0, #0x0]
+ mov r1, #0x3
+ lsl r2, r2, #0x8
+ mov r3, #0x35
+ bl FUN_02003008
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ bl MOD62_02230F80
+ bl MOD62_0222E360
+ mov r0, #0x35
+ bl FUN_02006D98
+ mov r1, #0x69
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ mov r0, #0x35
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_02014BF4
+ mov r1, #0x97
+ lsl r1, r1, #0x2
+ str r0, [r4, r1]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x24]
+ bl FUN_02025084
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ add r0, #0xe4
+ add r1, #0xe8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r1, #0x0]
+ add r2, r5, #0x0
+ bl MOD62_0222ED34
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ add r0, #0xe4
+ add r1, #0xe8
+ ldr r0, [r0, #0x0]
+ ldr r1, [r1, #0x0]
+ add r2, r5, #0x0
+ bl MOD62_0222EDBC
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl MOD62_0222E7E8
+ bl FUN_0201CC08
+ mov r0, #0x4
+ bl FUN_0201CC24
+ add r0, r4, #0x0
+ bl MOD62_022300E4
+ ldr r0, _02085BAC ; =0x022310CD
+ add r1, r4, #0x0
+ bl FUN_02015F10
+ add r0, r4, #0x0
+ bl MOD62_0222DD1C
+ mov r1, #0x0
+ mov r0, #0x3b
+ add r2, r1, #0x0
+ bl FUN_0200433C
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ nop
+_02085BA0: .word 0x0000042C
+_02085BA4: .word 0x00000428
+_02085BA8: .word 0x0000041C
+_02085BAC: .word 0x022310CD
+
+ thumb_func_start FUN_02085BB0
+FUN_02085BB0: ; 0x02085BB0
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r5, #0x0]
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ beq _02085BCA
+ cmp r1, #0x1
+ beq _02085BD8
+ cmp r1, #0x2
+ beq _02085BF6
+ b _02085C02
+_02085BCA:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02085C02
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _02085C02
+_02085BD8:
+ bl MOD12_0222F990
+ cmp r0, #0x0
+ bne _02085BE6
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02085C02
+_02085BE6:
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02006ED4
+ bl MOD62_0222E3A0
+ b _02085C02
+_02085BF6:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02085C02
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02085C02:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02085C08
+FUN_02085C08: ; 0x02085C08
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x8
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_0201E74C
+ mov r0, #0x8
+ mov r1, #0x0
+ bl FUN_0201E74C
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x2
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x3
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x4
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x5
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x6
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ mov r1, #0x7
+ bl FUN_020178A0
+ add r0, r4, #0x0
+ add r0, #0xe4
+ ldr r0, [r0, #0x0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ bl FUN_02003038
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x1
+ bl FUN_02003038
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x2
+ bl FUN_02003038
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ mov r1, #0x3
+ bl FUN_02003038
+ add r0, r4, #0x0
+ add r0, #0xe8
+ ldr r0, [r0, #0x0]
+ bl FUN_02002FEC
+ mov r1, #0xf1
+ lsl r1, r1, #0x2
+ ldr r1, [r4, r1]
+ ldr r0, [r4, #0x0]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ bl FUN_02085D8C
+ ldr r0, _02085D64 ; =0x00000428
+ ldr r0, [r4, r0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl MOD62_0222DAEC
+ mov r0, #0x73
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_0202212C
+ mov r0, #0x69
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_020072E8
+ mov r0, #0x97
+ lsl r0, r0, #0x2
+ ldr r0, [r4, r0]
+ bl FUN_02014C28
+ add r0, r4, #0x0
+ bl MOD62_0222DD38
+ add r0, r4, #0x0
+ add r0, #0xd4
+ bl MOD62_0222E874
+ bl FUN_0201C29C
+ mov r0, #0x23
+ lsl r0, r0, #0x4
+ ldr r0, [r4, r0]
+ bl FUN_020223BC
+ mov r0, #0x35
+ bl MOD62_02230F70
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ bl FUN_0201CD04
+ mov r0, #0x35
+ bl FUN_020168D0
+ ldr r0, _02085D68 ; =SDK_OVERLAY_MODULE_08_ID
+ bl UnloadOverlayByID
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ nop
+_02085D64: .word 0x00000428
+_02085D68: .word SDK_OVERLAY_MODULE_08_ID
+
+ thumb_func_start FUN_02085D6C
+FUN_02085D6C: ; 0x02085D6C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, r1
+ bge _02085D7C
+ bl ErrorHandling
+ mov r1, #0x0
+_02085D7C:
+ lsl r0, r1, #0x2
+ add r0, r4, r0
+ ldr r0, [r0, #0x4]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02085D84
+FUN_02085D84: ; 0x02085D84
+ add r0, #0x2c
+ ldrb r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085D8C
+FUN_02085D8C: ; 0x02085D8C
+ add r0, #0x2c
+ strb r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085D94
+FUN_02085D94: ; 0x02085D94
+ add r0, #0x2d
+ ldrb r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085D9C
+FUN_02085D9C: ; 0x02085D9C
+ add r0, #0x2d
+ strb r1, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02085DA4
+FUN_02085DA4: ; 0x02085DA4
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ ldr r7, [r6, #0x8]
+ bl FUN_02046528
+ str r0, [sp, #0x4]
+ ldr r0, [r6, #0x14]
+ cmp r0, #0x6
+ bls _02085DC2
+ b _02085F38
+_02085DC2:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02085DCE: ; jump table (using 16-bit offset)
+ .short _02085DDC - _02085DCE - 2; case 0
+ .short _02085E38 - _02085DCE - 2; case 1
+ .short _02085E48 - _02085DCE - 2; case 2
+ .short _02085E66 - _02085DCE - 2; case 3
+ .short _02085EA6 - _02085DCE - 2; case 4
+ .short _02085F14 - _02085DCE - 2; case 5
+ .short _02085F20 - _02085DCE - 2; case 6
+_02085DDC:
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r6, #0x10]
+ bl FUN_02029C80
+ str r0, [r7, #0x20]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ bl FUN_02085D8C
+ ldr r0, [r6, #0x10]
+ bl FUN_0206BB1C
+ str r0, [r7, #0x1c]
+ bl FUN_0206B9AC
+ mov r4, #0x0
+ str r0, [sp, #0x0]
+ str r0, [r7, #0x0]
+ cmp r0, #0x0
+ ble _02085E1E
+ add r5, r7, #0x0
+_02085E0A:
+ ldr r0, [r7, #0x1c]
+ add r1, r4, #0x0
+ bl FUN_0206B9B0
+ str r0, [r5, #0x4]
+ ldr r0, [sp, #0x0]
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, r0
+ blt _02085E0A
+_02085E1E:
+ cmp r4, #0x6
+ bge _02085E32
+ lsl r0, r4, #0x2
+ add r1, r7, r0
+ mov r0, #0x0
+_02085E28:
+ add r4, r4, #0x1
+ str r0, [r1, #0x4]
+ add r1, r1, #0x4
+ cmp r4, #0x6
+ blt _02085E28
+_02085E32:
+ mov r0, #0x1
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E38:
+ ldr r1, _02085F40 ; =0x020FCAD8
+ add r0, r5, #0x0
+ add r2, r7, #0x0
+ bl FUN_02046500
+ mov r0, #0x2
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E48:
+ ldr r0, [r6, #0x8]
+ bl FUN_02085D94
+ cmp r0, #0x0
+ beq _02085E5A
+ cmp r0, #0x1
+ beq _02085E60
+ bl ErrorHandling
+_02085E5A:
+ mov r0, #0x5
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E60:
+ mov r0, #0x3
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085E66:
+ ldr r4, [r6, #0xc]
+ ldr r0, [r7, #0x1c]
+ str r0, [r4, #0x0]
+ ldr r0, [r6, #0x10]
+ bl FUN_0206F158
+ str r0, [r4, #0x4]
+ ldr r0, [r6, #0x10]
+ bl FUN_02025838
+ str r0, [r4, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x0
+ add r0, #0x22
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [r7, #0x24]
+ ldr r1, _02085F44 ; =0x020F96DC
+ str r0, [r4, #0xc]
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02046500
+ mov r0, #0x4
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085EA6:
+ ldr r0, [r6, #0x8]
+ ldr r4, [r6, #0xc]
+ bl FUN_02085D84
+ add r0, r0, #0x1
+ str r0, [sp, #0x8]
+ add r4, #0x22
+ ldrb r1, [r4, #0x0]
+ cmp r1, #0x7
+ beq _02085F0E
+ ldr r0, [r6, #0x8]
+ bl FUN_02085D6C
+ mov r1, #0xa1
+ add r2, sp, #0x8
+ add r5, r0, #0x0
+ bl FUN_02067830
+ ldr r1, [sp, #0x8]
+ ldr r0, [r7, #0x20]
+ sub r1, r1, #0x1
+ bl FUN_02029C8C
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0xaa
+ bl FUN_02067830
+ ldr r1, [sp, #0x8]
+ ldr r0, [r7, #0x20]
+ sub r1, r1, #0x1
+ bl FUN_02029C8C
+ mov r1, #0x0
+ bl FUN_02029CC8
+ bl FUN_02029CE0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_02085FD0
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x4]
+ ldr r0, [r0, #0xc]
+ bl FUN_02022504
+ lsl r2, r4, #0x18
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02061798
+_02085F0E:
+ mov r0, #0x1
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085F14:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ mov r0, #0x6
+ str r0, [r6, #0x14]
+ b _02085F38
+_02085F20:
+ ldr r0, [r6, #0xc]
+ bl FUN_02016A18
+ ldr r0, [r6, #0x8]
+ bl FUN_02016A18
+ add r0, r6, #0x0
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_02085F38:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02085F40: .word 0x020FCAD8
+_02085F44: .word 0x020F96DC
+
+ thumb_func_start FUN_02085F48
+FUN_02085F48: ; 0x02085F48
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x18
+ bl FUN_020169D8
+ add r4, r0, #0x0
+ add r2, r4, #0x0
+ mov r1, #0x18
+ mov r0, #0x0
+_02085F5E:
+ strb r0, [r2, #0x0]
+ add r2, r2, #0x1
+ sub r1, r1, #0x1
+ bne _02085F5E
+ mov r0, #0xb
+ mov r1, #0x30
+ str r5, [r4, #0x10]
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x30
+ str r0, [r4, #0x8]
+ bl memset
+ add r0, r5, #0x0
+ bl LoadPlayerDataAddress
+ ldr r1, [r4, #0x8]
+ str r0, [r1, #0x24]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x40
+ str r5, [r0, #0x28]
+ mov r0, #0xb
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ str r0, [r4, #0xc]
+ bl memset
+ ldr r1, _02085FA8 ; =FUN_02085DA4
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ nop
+_02085FA8: .word FUN_02085DA4
+
+ thumb_func_start FUN_02085FAC
+FUN_02085FAC: ; 0x02085FAC
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02085FC8 ; =0x0000032A
+ cmp r4, r0
+ blo _02085FBA
+ bl ErrorHandling
+_02085FBA:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02085FCC ; =0x020FCAE8
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_02085FC8: .word 0x0000032A
+_02085FCC: .word 0x020FCAE8
+
+ thumb_func_start FUN_02085FD0
+FUN_02085FD0: ; 0x02085FD0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02085FEC ; =0x0000032A
+ cmp r4, r0
+ blo _02085FDE
+ bl ErrorHandling
+_02085FDE:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02085FF0 ; =0x020FCAEA
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_02085FEC: .word 0x0000032A
+_02085FF0: .word 0x020FCAEA
+
+ thumb_func_start FUN_02085FF4
+FUN_02085FF4: ; 0x02085FF4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02086010 ; =0x0000032A
+ cmp r4, r0
+ blo _02086002
+ bl ErrorHandling
+_02086002:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02086014 ; =0x020FCAEC
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_02086010: .word 0x0000032A
+_02086014: .word 0x020FCAEC
+
+ thumb_func_start FUN_02086018
+FUN_02086018: ; 0x02086018
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02086034 ; =0x0000032A
+ cmp r4, r0
+ blo _02086026
+ bl ErrorHandling
+_02086026:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02086038 ; =0x020FCAED
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_02086034: .word 0x0000032A
+_02086038: .word 0x020FCAED
+
+ thumb_func_start FUN_0208603C
+FUN_0208603C: ; 0x0208603C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02086058 ; =0x0000032A
+ cmp r4, r0
+ blo _0208604A
+ bl ErrorHandling
+_0208604A:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _0208605C ; =0x020FCAEE
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_02086058: .word 0x0000032A
+_0208605C: .word 0x020FCAEE
+
+ thumb_func_start FUN_02086060
+FUN_02086060: ; 0x02086060
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _0208607C ; =0x0000032A
+ cmp r4, r0
+ blo _0208606E
+ bl ErrorHandling
+_0208606E:
+ mov r0, #0xa
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02086080 ; =0x020FCAF0
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ nop
+_0208607C: .word 0x0000032A
+_02086080: .word 0x020FCAF0
+
+ thumb_func_start FUN_02086084
+FUN_02086084: ; 0x02086084
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ bl FUN_02015F1C
+ mov r2, #0x1
+ mov r0, #0x3
+ mov r1, #0x47
+ lsl r2, r2, #0x12
+ bl FUN_0201681C
+ add r0, r5, #0x0
+ mov r1, #0x80
+ mov r2, #0x47
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x80
+ add r4, r0, #0x0
+ bl memset
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ str r0, [r4, #0x0]
+ ldr r0, [r0, #0x10]
+ bl FUN_02024FF4
+ str r0, [r4, #0x10]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x10]
+ bl FUN_02025084
+ str r0, [r4, #0x14]
+ bl FUN_02086468
+ str r0, [r4, #0x38]
+ mov r0, #0x47
+ bl FUN_02006D98
+ str r0, [r4, #0x3c]
+ mov r0, #0x47
+ bl FUN_02016B94
+ str r0, [r4, #0x4]
+ mov r0, #0x40
+ mov r1, #0x47
+ bl FUN_0201C24C
+ mov r0, #0x47
+ mov r1, #0x1
+ mov r2, #0x0
+ bl FUN_02014BF4
+ str r0, [r4, #0x54]
+ mov r0, #0x47
+ bl FUN_02002FD0
+ str r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_020038F0
+ mov r2, #0x2
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ lsl r2, r2, #0x8
+ mov r3, #0x47
+ bl FUN_02003008
+ mov r1, #0x2
+ ldr r0, [r4, #0x8]
+ lsl r2, r1, #0x8
+ mov r3, #0x47
+ bl FUN_02003008
+ mov r1, #0x1
+ ldr r0, [r4, #0x8]
+ lsl r2, r1, #0x9
+ mov r3, #0x47
+ bl FUN_02003008
+ mov r2, #0x2
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ lsl r2, r2, #0x8
+ mov r3, #0x47
+ bl FUN_02003008
+ bl FUN_02086414
+ bl FUN_0208643C
+ bl FUN_0208650C
+ ldr r0, [r4, #0x4]
+ bl FUN_0208654C
+ add r0, r4, #0x4
+ bl FUN_02086E48
+ bl FUN_0200541C
+ ldr r0, _02086164 ; =FUN_02086664
+ add r1, r4, #0x0
+ bl FUN_02015F10
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ nop
+_02086164: .word FUN_02086664
+
+ thumb_func_start FUN_02086168
+FUN_02086168: ; 0x02086168
+ push {r3-r5, lr}
+ add r5, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r5, #0x0]
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ beq _0208617E
+ cmp r1, #0x1
+ beq _020861AA
+ b _020861C6
+_0208617E:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0208618C
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+_0208618C:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, _020861D8 ; =0x000001EA
+ cmp r0, r1
+ bne _020861A4
+ mov r0, #0x1
+ str r0, [r4, #0x58]
+ b _020861D2
+_020861A4:
+ mov r0, #0x0
+ str r0, [r4, #0x58]
+ b _020861D2
+_020861AA:
+ bl FUN_02086FA8
+ cmp r0, #0x0
+ bne _020861BA
+ ldr r0, [r5, #0x0]
+ add r0, r0, #0x1
+ str r0, [r5, #0x0]
+ b _020861D2
+_020861BA:
+ ldr r0, [r4, #0x3c]
+ bl FUN_02006ED4
+ bl FUN_02086698
+ b _020861D2
+_020861C6:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _020861D2
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_020861D2:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_020861D8: .word 0x000001EA
+
+ thumb_func_start FUN_020861DC
+FUN_020861DC: ; 0x020861DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x38]
+ bl FUN_020223BC
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x3
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_0201E74C
+ ldr r0, [r4, #0x8]
+ mov r1, #0x0
+ bl FUN_02003038
+ ldr r0, [r4, #0x8]
+ mov r1, #0x2
+ bl FUN_02003038
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003038
+ ldr r0, [r4, #0x8]
+ mov r1, #0x3
+ bl FUN_02003038
+ ldr r0, [r4, #0x8]
+ bl FUN_02002FEC
+ ldr r0, [r4, #0x4]
+ mov r1, #0x1
+ bl FUN_020178A0
+ ldr r0, [r4, #0x4]
+ mov r1, #0x2
+ bl FUN_020178A0
+ ldr r0, [r4, #0x4]
+ mov r1, #0x3
+ bl FUN_020178A0
+ ldr r0, [r4, #0x4]
+ mov r1, #0x4
+ bl FUN_020178A0
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ bl FUN_0201C29C
+ ldr r0, [r4, #0x3c]
+ bl FUN_020072E8
+ ldr r0, [r4, #0x54]
+ bl FUN_02014C28
+ add r0, r4, #0x4
+ bl FUN_02086ED4
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ mov r0, #0x47
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02086280
+FUN_02086280: ; 0x02086280
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x6
+ bls _02086294
+ b _020863CE
+_02086294:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020862A0: ; jump table (using 16-bit offset)
+ .short _020862AE - _020862A0 - 2; case 0
+ .short _020862C4 - _020862A0 - 2; case 1
+ .short _020862D6 - _020862A0 - 2; case 2
+ .short _0208633A - _020862A0 - 2; case 3
+ .short _02086396 - _020862A0 - 2; case 4
+ .short _020863B6 - _020862A0 - 2; case 5
+ .short _020863C4 - _020862A0 - 2; case 6
+_020862AE:
+ ldr r0, [r4, #0xc]
+ mov r1, #0xb
+ bl MOD05_021ED940
+ add r0, r5, #0x0
+ bl FUN_0204AF3C
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020862C4:
+ ldr r1, _020863D4 ; =0x020FCE14
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020862D6:
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r5, [r4, #0xc]
+ bl FUN_020377AC
+ bl FUN_020238F4
+ add r7, r0, #0x0
+ ldr r0, [r6, #0x1c]
+ ldr r0, [r0, #0x0]
+ bl FUN_02034824
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0x4c
+ add r2, sp, #0x8
+ bl FUN_02067830
+ mov r0, #0xb
+ str r0, [sp, #0x0]
+ ldr r3, [sp, #0x4]
+ add r0, r5, #0x0
+ add r1, r7, #0x0
+ mov r2, #0x6
+ bl FUN_0208089C
+ add r0, r5, #0x0
+ mov r1, #0xb2
+ mov r2, #0x0
+ bl FUN_02067830
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ ldr r1, [r4, #0xc]
+ bl FUN_0202C144
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x1
+ bne _02086334
+ mov r0, #0x3
+ str r0, [r4, #0x0]
+ b _020863CE
+_02086334:
+ mov r0, #0x5
+ str r0, [r4, #0x0]
+ b _020863CE
+_0208633A:
+ add r0, r5, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ ldr r0, [r4, #0xc]
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r7, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020377AC
+ bl LoadPlayerDataAddress
+ str r0, [sp, #0x0]
+ mov r0, #0xb
+ mov r1, #0x1
+ add r2, r7, #0x0
+ mov r3, #0xa
+ bl FUN_02077A84
+ str r0, [r4, #0x8]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x6f
+ mov r2, #0x0
+ bl FUN_020671BC
+ ldr r1, [r4, #0x8]
+ mov r2, #0x0
+ str r0, [r1, #0x10]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x70
+ bl FUN_020671BC
+ ldr r1, [r4, #0x8]
+ str r0, [r1, #0x8]
+ ldr r1, _020863D8 ; =0x020FA5FC
+ ldr r2, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02046500
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_02086396:
+ ldr r2, [r4, #0x8]
+ ldr r0, [r2, #0x14]
+ cmp r0, #0x0
+ bne _020863A8
+ ldr r0, [r4, #0xc]
+ ldr r2, [r2, #0x18]
+ mov r1, #0x77
+ bl FUN_02067830
+_020863A8:
+ ldr r0, [r4, #0x8]
+ bl FUN_02077AC4
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020863B6:
+ add r0, r5, #0x0
+ bl FUN_0204AF84
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+ b _020863CE
+_020863C4:
+ bl FUN_02016A18
+ add sp, #0xc
+ mov r0, #0x1
+ pop {r4-r7, pc}
+_020863CE:
+ mov r0, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_020863D4: .word 0x020FCE14
+_020863D8: .word 0x020FA5FC
+
+ thumb_func_start FUN_020863DC
+FUN_020863DC: ; 0x020863DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ mov r0, #0xb
+ mov r1, #0x1c
+ bl FUN_020169D8
+ add r2, r0, #0x0
+ add r3, r2, #0x0
+ mov r1, #0x1c
+ mov r0, #0x0
+_020863F2:
+ strb r0, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r1, r1, #0x1
+ bne _020863F2
+ add r3, r2, #0x0
+ add r3, #0xc
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r4!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r1, _02086410 ; =FUN_02086280
+ add r0, r5, #0x0
+ bl FUN_0204640C
+ pop {r3-r5, pc}
+ .balign 4
+_02086410: .word FUN_02086280
+
+ thumb_func_start FUN_02086414
+FUN_02086414: ; 0x02086414
+ push {r3, lr}
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _02086434 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _02086438 ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ pop {r3, pc}
+ .balign 4
+_02086434: .word 0xFFFFE0FF
+_02086438: .word 0x04001000
+
+ thumb_func_start FUN_0208643C
+FUN_0208643C: ; 0x0208643C
+ push {r3, lr}
+ mov r0, #0x7
+ str r0, [sp, #0x0]
+ ldr r0, _02086460 ; =0x04000050
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0xb
+ bl G2x_SetBlendAlpha_
+ mov r0, #0x8
+ str r0, [sp, #0x0]
+ ldr r0, _02086464 ; =0x04001050
+ mov r1, #0x0
+ mov r2, #0xe
+ mov r3, #0x7
+ bl G2x_SetBlendAlpha_
+ pop {r3, pc}
+ .balign 4
+_02086460: .word 0x04000050
+_02086464: .word 0x04001050
+
+ thumb_func_start FUN_02086468
+FUN_02086468: ; 0x02086468
+ push {r3, lr}
+ sub sp, #0x8
+ mov r2, #0x2
+ mov r1, #0x0
+ ldr r0, _02086484 ; =FUN_02086488
+ str r2, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x47
+ add r3, r1, #0x0
+ bl FUN_02022318
+ add sp, #0x8
+ pop {r3, pc}
+ nop
+_02086484: .word FUN_02086488
+
+ thumb_func_start FUN_02086488
+FUN_02086488: ; 0x02086488
+ push {r3, lr}
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl FUN_0201E6E4
+ ldr r0, _020864F4 ; =0x04000008
+ mov r1, #0x3
+ ldrh r2, [r0, #0x0]
+ bic r2, r1
+ mov r1, #0x1
+ orr r1, r2
+ strh r1, [r0, #0x0]
+ add r0, #0x58
+ ldrh r2, [r0, #0x0]
+ ldr r1, _020864F8 ; =0xFFFFCFFD
+ and r2, r1
+ strh r2, [r0, #0x0]
+ add r2, r1, #0x2
+ ldrh r3, [r0, #0x0]
+ add r1, r1, #0x2
+ and r3, r2
+ mov r2, #0x10
+ orr r2, r3
+ strh r2, [r0, #0x0]
+ ldrh r3, [r0, #0x0]
+ ldr r2, _020864FC ; =0x0000CFFB
+ and r3, r2
+ strh r3, [r0, #0x0]
+ ldrh r3, [r0, #0x0]
+ sub r2, #0x1c
+ and r3, r1
+ mov r1, #0x8
+ orr r1, r3
+ strh r1, [r0, #0x0]
+ ldrh r1, [r0, #0x0]
+ and r1, r2
+ strh r1, [r0, #0x0]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl G3X_SetFog
+ mov r0, #0x0
+ ldr r2, _02086500 ; =0x00007FFF
+ add r1, r0, #0x0
+ mov r3, #0x3f
+ str r0, [sp, #0x0]
+ bl G3X_SetClearColor
+ ldr r1, _02086504 ; =0xBFFF0000
+ ldr r0, _02086508 ; =0x04000580
+ str r1, [r0, #0x0]
+ pop {r3, pc}
+ .balign 4
+_020864F4: .word 0x04000008
+_020864F8: .word 0xFFFFCFFD
+_020864FC: .word 0x0000CFFB
+_02086500: .word 0x00007FFF
+_02086504: .word 0xBFFF0000
+_02086508: .word 0x04000580
+
+ thumb_func_start FUN_0208650C
+FUN_0208650C: ; 0x0208650C
+ push {r3-r5, lr}
+ ldr r3, _02086544 ; =0x021064B8
+ mov r0, #0x2
+ mov r1, #0x0
+ ldr r3, [r3, #0x0]
+ lsl r0, r0, #0xe
+ add r2, r1, #0x0
+ blx r3
+ ldr r3, _02086548 ; =0x021064C0
+ mov r1, #0x0
+ add r4, r0, #0x0
+ ldr r3, [r3, #0x0]
+ mov r0, #0x80
+ add r2, r1, #0x0
+ blx r3
+ add r5, r0, #0x0
+ cmp r4, #0x0
+ bne _02086534
+ bl ErrorHandling
+_02086534:
+ cmp r5, #0x0
+ bne _0208653C
+ bl ErrorHandling
+_0208653C:
+ bl FUN_02012CC8
+ pop {r3-r5, pc}
+ nop
+_02086544: .word 0x021064B8
+_02086548: .word 0x021064C0
+
+ thumb_func_start FUN_0208654C
+FUN_0208654C: ; 0x0208654C
+ push {r3-r5, lr}
+ sub sp, #0xa8
+ add r4, r0, #0x0
+ bl FUN_0201E6D8
+ ldr r5, _02086650 ; =0x020FCEBC
+ add r3, sp, #0x2c
+ mov r2, #0x5
+_0208655C:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _0208655C
+ add r0, sp, #0x2c
+ bl FUN_0201E66C
+ mov r1, #0x6
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x12
+ bl MIi_CpuClear32
+ mov r1, #0x62
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ bl MIi_CpuClear32
+ mov r1, #0x19
+ mov r2, #0x1
+ mov r0, #0x0
+ lsl r1, r1, #0x16
+ lsl r2, r2, #0x12
+ bl MIi_CpuClear32
+ mov r1, #0x66
+ mov r2, #0x2
+ mov r0, #0x0
+ lsl r1, r1, #0x14
+ lsl r2, r2, #0x10
+ bl MIi_CpuClear32
+ ldr r5, _02086654 ; =0x020FCE24
+ add r3, sp, #0x1c
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _02086658 ; =0x020FCF84
+ add r3, sp, #0x54
+ mov r2, #0xa
+_020865BC:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _020865BC
+ ldr r0, [r5, #0x0]
+ mov r1, #0x1
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ add r2, sp, #0x54
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x2
+ add r2, sp, #0x70
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x3
+ add r2, sp, #0x8c
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x1
+ bl FUN_02018744
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02018744
+ add r0, r4, #0x0
+ mov r1, #0x3
+ bl FUN_02018744
+ ldr r1, _0208665C ; =0x04000008
+ mov r0, #0x3
+ ldrh r2, [r1, #0x0]
+ bic r2, r0
+ mov r0, #0x1
+ orr r2, r0
+ strh r2, [r1, #0x0]
+ add r1, r0, #0x0
+ bl FUN_0201E6E4
+ bl FUN_0201E788
+ mov r0, #0x10
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r5, _02086660 ; =0x020FCE60
+ add r3, sp, #0x0
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x4
+ str r0, [r3, #0x0]
+ add r0, r4, #0x0
+ mov r3, #0x0
+ bl FUN_02016C18
+ add r0, r4, #0x0
+ mov r1, #0x4
+ bl FUN_02018744
+ add sp, #0xa8
+ pop {r3-r5, pc}
+ .balign 4
+_02086650: .word 0x020FCEBC
+_02086654: .word 0x020FCE24
+_02086658: .word 0x020FCF84
+_0208665C: .word 0x04000008
+_02086660: .word 0x020FCE60
+
+ thumb_func_start FUN_02086664
+FUN_02086664: ; 0x02086664
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x3c]
+ bl FUN_020081C4
+ bl FUN_0201C30C
+ bl FUN_0200BC30
+ ldr r0, [r4, #0x8]
+ bl FUN_0200372C
+ ldr r0, [r4, #0x4]
+ bl FUN_0201AB60
+ ldr r3, _02086690 ; =0x027E0000
+ ldr r1, _02086694 ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ pop {r4, pc}
+ .balign 4
+_02086690: .word 0x027E0000
+_02086694: .word 0x00003FF8
+
+ thumb_func_start FUN_02086698
+FUN_02086698: ; 0x02086698
+ push {r3, lr}
+ bl FUN_020222AC
+ bl FUN_02013364
+ cmp r0, #0x0
+ ble _020866AE
+ bl FUN_020222AC
+ bl FUN_020B02C8
+_020866AE:
+ bl FUN_02013388
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_020222B4
+ pop {r3, pc}
+
+ thumb_func_start FUN_020866BC
+FUN_020866BC: ; 0x020866BC
+ push {lr}
+ sub sp, #0xc
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r1, #0x1
+ str r1, [sp, #0x4]
+ mov r0, #0x47
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r2, r1, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ add sp, #0xc
+ pop {pc}
+ .balign 4
+
+ thumb_func_start FUN_020866DC
+FUN_020866DC: ; 0x020866DC
+ push {lr}
+ sub sp, #0xc
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ mov r0, #0x47
+ str r0, [sp, #0x8]
+ mov r0, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ add sp, #0xc
+ pop {pc}
+
+ thumb_func_start FUN_020866FC
+FUN_020866FC: ; 0x020866FC
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r6, r2, #0x0
+ add r4, r1, #0x0
+ lsl r1, r6, #0x18
+ lsr r1, r1, #0x18
+ str r1, [sp, #0x0]
+ mov r1, #0x47
+ str r1, [sp, #0x4]
+ mov r1, #0x1
+ mov r2, #0x14
+ mov r3, #0xf
+ add r5, r0, #0x0
+ bl FUN_0200CD68
+ add r0, r6, #0x0
+ bl FUN_0200CD64
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0xc0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x26
+ mov r3, #0x47
+ bl FUN_020030E8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x47
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x32
+ mov r3, #0xd
+ bl FUN_0200CB00
+ bl FUN_0200CAFC
+ add r2, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0xd0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x26
+ mov r3, #0x47
+ bl FUN_020030E8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0xe0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0xe
+ mov r2, #0x7
+ mov r3, #0x47
+ bl FUN_020030E8
+ add sp, #0xc
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02086784
+FUN_02086784: ; 0x02086784
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r1, #0x0
+ add r7, r0, #0x0
+ add r0, r5, #0x0
+ add r4, r2, #0x0
+ add r6, r3, #0x0
+ bl FUN_0201901C
+ ldr r0, [sp, #0x28]
+ lsl r2, r4, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x2c]
+ lsl r3, r6, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x30]
+ add r1, r5, #0x0
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x38]
+ lsr r2, r2, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x34]
+ lsr r3, r3, #0x18
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+ add r0, r7, #0x0
+ bl FUN_02019064
+ add r0, r5, #0x0
+ mov r1, #0x1
+ mov r2, #0x14
+ mov r3, #0xc
+ bl FUN_0200D0BC
+ add r0, r5, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ add r0, r5, #0x0
+ bl FUN_020191D0
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_020867EC
+FUN_020867EC: ; 0x020867EC
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r4, r1, #0x0
+ mov r1, #0xf
+ str r0, [sp, #0xc]
+ str r2, [sp, #0x10]
+ add r6, r3, #0x0
+ bl FUN_02019620
+ ldr r2, _02086874 ; =0x0000013F
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r3, #0x47
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ mov r0, #0x47
+ bl FUN_0200AA80
+ add r5, r0, #0x0
+ add r0, r7, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200A914
+ str r0, [sp, #0x14]
+ mov r0, #0xff
+ mov r1, #0x47
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ ldr r0, [sp, #0x10]
+ bl FUN_020690E4
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_0200AC60
+ ldr r2, [sp, #0x14]
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200B7B8
+ mov r3, #0x0
+ str r3, [sp, #0x0]
+ str r6, [sp, #0x4]
+ ldr r0, [sp, #0xc]
+ mov r1, #0x1
+ add r2, r4, #0x0
+ str r3, [sp, #0x8]
+ bl FUN_0201BD84
+ add r6, r0, #0x0
+ add r0, r7, #0x0
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ ldr r0, [sp, #0x14]
+ bl FUN_02021A20
+ add r0, r5, #0x0
+ bl FUN_0200AB18
+ add r0, r6, #0x0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+_02086874: .word 0x0000013F
+
+ thumb_func_start FUN_02086878
+FUN_02086878: ; 0x02086878
+ push {r4-r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0x0
+ add r0, r2, #0x0
+ add r6, r1, #0x0
+ str r2, [sp, #0x14]
+ add r4, r3, #0x0
+ bl FUN_0201901C
+ ldr r0, [sp, #0x3c]
+ ldr r3, [sp, #0x38]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x40]
+ lsl r2, r4, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x44]
+ lsl r3, r3, #0x18
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4c]
+ ldr r1, [sp, #0x14]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x48]
+ lsr r2, r2, #0x18
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x10]
+ add r0, r6, #0x0
+ lsr r3, r3, #0x18
+ bl FUN_02019064
+ mov r0, #0x2
+ mov r1, #0x47
+ bl FUN_02012838
+ str r0, [r5, #0x44]
+ ldr r2, _0208695C ; =0x0000013F
+ mov r0, #0x0
+ mov r1, #0x1a
+ mov r3, #0x47
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ mov r4, #0x0
+_020868DE:
+ add r0, r7, #0x0
+ add r1, r4, #0x2
+ bl FUN_0200A914
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x44]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_020128A0
+ add r0, r6, #0x0
+ bl FUN_02021A20
+ add r4, r4, #0x1
+ cmp r4, #0x2
+ blt _020868DE
+ add r0, r7, #0x0
+ bl FUN_0200A8B8
+ ldr r0, [r5, #0x44]
+ mov r1, #0x0
+ str r0, [sp, #0x18]
+ add r0, sp, #0x18
+ strb r1, [r0, #0x8]
+ ldr r1, [sp, #0x14]
+ mov r2, #0x2
+ str r1, [sp, #0x1c]
+ mov r1, #0x1
+ strb r1, [r0, #0x9]
+ strb r2, [r0, #0xa]
+ ldrb r3, [r0, #0xb]
+ mov r2, #0xf
+ bic r3, r2
+ strb r3, [r0, #0xb]
+ ldrb r3, [r0, #0xb]
+ mov r2, #0x30
+ bic r3, r2
+ strb r3, [r0, #0xb]
+ ldrb r3, [r0, #0xb]
+ mov r2, #0xc0
+ bic r3, r2
+ mov r2, #0x40
+ orr r2, r3
+ strb r2, [r0, #0xb]
+ ldr r0, [sp, #0x14]
+ mov r2, #0x32
+ mov r3, #0xd
+ bl FUN_0200CCA4
+ mov r0, #0x47
+ str r0, [sp, #0x0]
+ mov r0, #0x2
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x18
+ mov r1, #0x8
+ add r3, r2, #0x0
+ bl FUN_02001C14
+ str r0, [r5, #0x48]
+ add sp, #0x24
+ pop {r4-r7, pc}
+ nop
+_0208695C: .word 0x0000013F
+
+ thumb_func_start FUN_02086960
+FUN_02086960: ; 0x02086960
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x28
+ mov r1, #0x1
+ bl FUN_0200CCF8
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_02019570
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_02019178
+ ldr r0, [r4, #0x48]
+ mov r1, #0x0
+ bl FUN_02001C5C
+ ldr r0, [r4, #0x44]
+ bl FUN_02012870
+ pop {r4, pc}
+
+ thumb_func_start FUN_0208698C
+FUN_0208698C: ; 0x0208698C
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_02019570
+ add r0, r4, #0x0
+ bl FUN_02019178
+ pop {r4, pc}
+
+ thumb_func_start FUN_0208699C
+FUN_0208699C: ; 0x0208699C
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ mov r1, #0x0
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x47
+ str r0, [sp, #0xc]
+ mov r0, #0x76
+ add r2, r5, #0x0
+ mov r3, #0x3
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r1, #0x1
+ str r1, [sp, #0x8]
+ mov r0, #0x47
+ str r0, [sp, #0xc]
+ mov r0, #0x76
+ add r2, r5, #0x0
+ mov r3, #0x3
+ bl FUN_020068C8
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ mov r0, #0x40
+ str r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r1, #0x76
+ mov r2, #0x8
+ mov r3, #0x47
+ bl FUN_020030E8
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020869F0
+FUN_020869F0: ; 0x020869F0
+ push {r3-r5, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x47
+ add r4, r1, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ mov r1, #0xa
+ add r2, r5, #0x0
+ mov r3, #0x4
+ bl FUN_0200687C
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ mov r0, #0x47
+ str r0, [sp, #0xc]
+ mov r0, #0xc
+ mov r1, #0xb
+ add r2, r5, #0x0
+ mov r3, #0x4
+ bl FUN_020068C8
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ mov r1, #0xc
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ add r2, r1, #0x0
+ mov r3, #0x47
+ bl FUN_020030E8
+ add sp, #0x10
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02086A48
+FUN_02086A48: ; 0x02086A48
+ push {r4, lr}
+ ldr r3, _02086A60 ; =0x021064B8
+ mov r2, #0x0
+ ldr r3, [r3, #0x0]
+ blx r3
+ add r4, r0, #0x0
+ bl FUN_0201327C
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0xd
+ pop {r4, pc}
+ nop
+_02086A60: .word 0x021064B8
+
+ thumb_func_start FUN_02086A64
+FUN_02086A64: ; 0x02086A64
+ push {r4, lr}
+ ldr r3, _02086A7C ; =0x021064C0
+ mov r2, #0x0
+ ldr r3, [r3, #0x0]
+ blx r3
+ add r4, r0, #0x0
+ bl FUN_020132BC
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0xd
+ pop {r4, pc}
+ nop
+_02086A7C: .word 0x021064C0
+
+ thumb_func_start FUN_02086A80
+FUN_02086A80: ; 0x02086A80
+ push {r4, lr}
+ sub sp, #0x8
+ mov r1, #0x12
+ lsl r1, r1, #0xa
+ add r4, r0, #0x0
+ bl FUN_02016998
+ add r2, r0, #0x0
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ mov r3, #0x12
+ ldr r0, _02086AC0 ; =FUN_02086A48
+ ldr r1, _02086AC4 ; =FUN_02086A64
+ lsl r3, r3, #0xa
+ str r4, [sp, #0x4]
+ bl FUN_02012CDC
+ add r4, r0, #0x0
+ bl FUN_0201343C
+ add r2, r0, #0x0
+ beq _02086AB8
+ mov r0, #0x1
+ mov r1, #0xe1
+ lsl r0, r0, #0xc
+ lsl r1, r1, #0xe
+ bl FUN_0201EC94
+_02086AB8:
+ add r0, r4, #0x0
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02086AC0: .word FUN_02086A48
+_02086AC4: .word FUN_02086A64
+
+ thumb_func_start FUN_02086AC8
+FUN_02086AC8: ; 0x02086AC8
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r7, r2, #0x0
+ bl FUN_02086A80
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ add r1, r7, #0x0
+ add r2, r5, #0x0
+ bl FUN_0201318C
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ mov r2, #0xa
+ mov r3, #0x1
+ bl FUN_02013194
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02086AF0
+FUN_02086AF0: ; 0x02086AF0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_020133E8
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_02012DE4
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02086B08
+FUN_02086B08: ; 0x02086B08
+ push {r3}
+ sub sp, #0xc
+ add r2, sp, #0x0
+ mov r1, #0x0
+ str r1, [r2, #0x0]
+ str r1, [r2, #0x4]
+ str r1, [r2, #0x8]
+ ldr r1, [r0, #0x20]
+ ldr r2, [sp, #0x0]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x4]
+ add r1, r2, r1
+ str r1, [r0, #0x28]
+ ldr r1, [r0, #0x20]
+ ldr r2, [sp, #0x4]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0x8]
+ add r1, r2, r1
+ str r1, [r0, #0x2c]
+ ldr r1, [r0, #0x20]
+ ldr r2, [sp, #0x8]
+ ldr r1, [r1, #0x0]
+ ldr r1, [r1, #0xc]
+ add r1, r2, r1
+ str r1, [r0, #0x30]
+ add sp, #0xc
+ pop {r3}
+ bx lr
+
+ thumb_func_start FUN_02086B40
+FUN_02086B40: ; 0x02086B40
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0x0
+ bne _02086B54
+ bl ErrorHandling
+_02086B54:
+ ldr r0, [r5, #0x0]
+ ldr r2, [r5, #0x4]
+ mov r1, #0x77
+ str r0, [r4, #0x0]
+ str r2, [r4, #0x4]
+ ldr r0, [r4, #0x0]
+ bl FUN_02086AC8
+ mov r1, #0x1
+ str r0, [r4, #0xc]
+ bl FUN_02013440
+ add r0, r4, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02086B70
+FUN_02086B70: ; 0x02086B70
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0xc]
+ ldr r2, _02086B88 ; =FUN_02086B08
+ add r3, r4, #0x0
+ bl FUN_020133AC
+ ldr r0, [r4, #0xc]
+ mov r1, #0x1
+ bl FUN_02013440
+ pop {r4, pc}
+ .balign 4
+_02086B88: .word FUN_02086B08
+
+ thumb_func_start FUN_02086B8C
+FUN_02086B8C: ; 0x02086B8C
+ push {r3, lr}
+ ldr r0, [r0, #0xc]
+ bl FUN_020133C8
+ cmp r0, #0x0
+ beq _02086B9C
+ mov r0, #0x1
+ pop {r3, pc}
+_02086B9C:
+ mov r0, #0x0
+ pop {r3, pc}
+
+ thumb_func_start FUN_02086BA0
+FUN_02086BA0: ; 0x02086BA0
+ ldr r3, _02086BA4 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02086BA4: .word FUN_02016A18
+
+ thumb_func_start FUN_02086BA8
+FUN_02086BA8: ; 0x02086BA8
+ push {r4-r6, lr}
+ sub sp, #0x38
+ ldr r3, _02086C8C ; =0x020FCE9C
+ add r2, sp, #0x18
+ add r6, r0, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r5, [r6, #0x4c]
+ ldr r4, [r6, #0x50]
+ ldr r6, [r6, #0x8]
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, _02086C90 ; =0x00004E20
+ add r1, r5, #0x0
+ str r0, [sp, #0x8]
+ ldr r3, [sp, #0x18]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ bl FUN_0200C00C
+ mov r0, #0x76
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x1c]
+ mov r1, #0x2
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02086C94 ; =0x00004E21
+ add r2, r4, #0x0
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ add r3, r5, #0x0
+ bl FUN_0200C0DC
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, _02086C98 ; =0x00004E22
+ add r1, r5, #0x0
+ str r0, [sp, #0x4]
+ ldr r3, [sp, #0x20]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ bl FUN_0200C124
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, _02086C9C ; =0x00004E23
+ add r1, r5, #0x0
+ str r0, [sp, #0x4]
+ ldr r3, [sp, #0x24]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ bl FUN_0200C13C
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ str r0, [sp, #0x4]
+ ldr r0, _02086CA0 ; =0x000061A8
+ add r1, r5, #0x0
+ str r0, [sp, #0x8]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ mov r3, #0x7
+ bl FUN_0200C00C
+ mov r0, #0x76
+ str r0, [sp, #0x0]
+ mov r0, #0xa
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ mov r0, #0x1
+ str r0, [sp, #0xc]
+ str r0, [sp, #0x10]
+ ldr r0, _02086CA4 ; =0x000061A9
+ mov r1, #0x2
+ str r0, [sp, #0x14]
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ add r3, r5, #0x0
+ bl FUN_0200C0DC
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, _02086CA8 ; =0x000061AA
+ add r1, r5, #0x0
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ mov r3, #0x6
+ bl FUN_0200C124
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, _02086CAC ; =0x000061AB
+ add r1, r5, #0x0
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r2, #0x76
+ mov r3, #0x5
+ bl FUN_0200C13C
+ add sp, #0x38
+ pop {r4-r6, pc}
+ .balign 4
+_02086C8C: .word 0x020FCE9C
+_02086C90: .word 0x00004E20
+_02086C94: .word 0x00004E21
+_02086C98: .word 0x00004E22
+_02086C9C: .word 0x00004E23
+_02086CA0: .word 0x000061A8
+_02086CA4: .word 0x000061A9
+_02086CA8: .word 0x000061AA
+_02086CAC: .word 0x000061AB
+
+ thumb_func_start FUN_02086CB0
+FUN_02086CB0: ; 0x02086CB0
+ push {r3-r4, lr}
+ sub sp, #0x34
+ add r4, r0, #0x0
+ mov r1, #0x80
+ add r0, sp, #0x0
+ strh r1, [r0, #0x0]
+ mov r1, #0x78
+ strh r1, [r0, #0x2]
+ mov r1, #0x0
+ strh r1, [r0, #0x4]
+ strh r1, [r0, #0x6]
+ mov r0, #0x1
+ mov r2, #0x2
+ str r1, [sp, #0x8]
+ str r1, [sp, #0xc]
+ str r1, [sp, #0x30]
+ ldr r1, _02086D4C ; =0x00004E20
+ str r0, [sp, #0x10]
+ add r0, r1, #0x1
+ str r0, [sp, #0x18]
+ add r0, r1, #0x2
+ str r0, [sp, #0x1c]
+ add r0, r1, #0x3
+ str r0, [sp, #0x20]
+ sub r0, r2, #0x3
+ str r2, [sp, #0x2c]
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x24]
+ str r0, [sp, #0x28]
+ ldr r0, [r4, #0x50]
+ ldr r1, [r4, #0x4c]
+ add r2, sp, #0x0
+ bl FUN_0200C154
+ str r0, [r4, #0x6c]
+ bl FUN_0200C5A8
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x2
+ bl FUN_0200C840
+ mov r2, #0x0
+ add r0, sp, #0x0
+ add r1, r2, #0x0
+ strh r2, [r0, #0x0]
+ sub r1, #0x10
+ strh r1, [r0, #0x2]
+ ldr r1, _02086D50 ; =0x000061A8
+ str r2, [sp, #0x2c]
+ add r0, r1, #0x1
+ str r0, [sp, #0x18]
+ add r0, r1, #0x2
+ str r0, [sp, #0x1c]
+ add r0, r1, #0x3
+ str r1, [sp, #0x14]
+ str r0, [sp, #0x20]
+ ldr r0, [r4, #0x50]
+ ldr r1, [r4, #0x4c]
+ add r2, sp, #0x0
+ bl FUN_0200C154
+ str r0, [r4, #0x70]
+ bl FUN_0200C5A8
+ mov r1, #0x90
+ add r0, sp, #0x0
+ strh r1, [r0, #0x2]
+ ldr r0, [r4, #0x50]
+ ldr r1, [r4, #0x4c]
+ add r2, sp, #0x0
+ bl FUN_0200C154
+ str r0, [r4, #0x74]
+ bl FUN_0200C5A8
+ add sp, #0x34
+ pop {r3-r4, pc}
+ nop
+_02086D4C: .word 0x00004E20
+_02086D50: .word 0x000061A8
+
+ thumb_func_start FUN_02086D54
+FUN_02086D54: ; 0x02086D54
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r7, r1, #0x0
+ add r4, r6, #0x0
+ ldr r1, [r6, #0x78]
+ add r4, #0x78
+ cmp r1, #0x0
+ bne _02086DE6
+ ldr r0, [r4, #0x4]
+ cmp r0, #0xa
+ blt _02086D74
+ add r0, r1, #0x1
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ b _02086DE6
+_02086D74:
+ mov r1, #0x14
+ add r3, r7, #0x0
+ mul r3, r1
+ ldr r1, _02086DF4 ; =0x020FCEE4
+ lsl r2, r0, #0x1
+ add r1, r1, r3
+ ldrsh r1, [r2, r1]
+ lsl r0, r0, #0x2
+ mov r5, #0x0
+ mov r12, r1
+ ldr r1, _02086DF8 ; =0x020FCF34
+ add r1, r1, r3
+ ldrsh r2, [r2, r1]
+ mov r1, #0x28
+ add r3, r7, #0x0
+ mul r3, r1
+ ldr r1, _02086DFC ; =0x020FCFD8
+ add r1, r1, r3
+ ldr r7, [r0, r1]
+ ldr r1, _02086E00 ; =0x020FD078
+ add r1, r1, r3
+ ldr r0, [r0, r1]
+ str r0, [sp, #0x0]
+ mov r0, r12
+ cmp r0, #0xff
+ bne _02086DAC
+ mov r12, r5
+ add r5, r5, #0x1
+_02086DAC:
+ cmp r2, #0xff
+ bne _02086DB4
+ mov r2, #0x0
+ add r5, r5, #0x1
+_02086DB4:
+ ldr r0, [r6, #0x6c]
+ mov r1, r12
+ bl FUN_0200C82C
+ mov r0, #0x0
+ add r1, r7, #0x0
+ bl _feq
+ beq _02086DD2
+ ldr r0, [r6, #0x6c]
+ ldr r2, [sp, #0x0]
+ add r1, r7, #0x0
+ bl FUN_0200C884
+ b _02086DD4
+_02086DD2:
+ add r5, r5, #0x1
+_02086DD4:
+ cmp r5, #0x3
+ beq _02086DE0
+ ldr r0, [r4, #0x4]
+ add r0, r0, #0x1
+ str r0, [r4, #0x4]
+ b _02086DEE
+_02086DE0:
+ ldr r0, [r4, #0x0]
+ add r0, r0, #0x1
+ str r0, [r4, #0x0]
+_02086DE6:
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ str r0, [r4, #0x4]
+ pop {r3-r7, pc}
+_02086DEE:
+ mov r0, #0x1
+ pop {r3-r7, pc}
+ nop
+_02086DF4: .word 0x020FCEE4
+_02086DF8: .word 0x020FCF34
+_02086DFC: .word 0x020FCFD8
+_02086E00: .word 0x020FD078
+
+ thumb_func_start FUN_02086E04
+FUN_02086E04: ; 0x02086E04
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02086D54
+ cmp r0, #0x0
+ bne _02086E16
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_02086E16:
+ cmp r4, #0x4
+ ldr r0, [r5, #0x7c]
+ bne _02086E24
+ cmp r0, #0x6
+ bne _02086E2C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02086E24:
+ cmp r0, #0x6
+ bne _02086E2C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02086E2C:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02086E30
+FUN_02086E30: ; 0x02086E30
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x6c]
+ bl FUN_0200C3DC
+ ldr r0, [r4, #0x70]
+ bl FUN_0200C3DC
+ ldr r0, [r4, #0x74]
+ bl FUN_0200C3DC
+ pop {r4, pc}
+
+ thumb_func_start FUN_02086E48
+FUN_02086E48: ; 0x02086E48
+ push {r3-r6, lr}
+ sub sp, #0x4c
+ add r4, r0, #0x0
+ mov r0, #0x47
+ bl FUN_0200BB14
+ add r2, sp, #0x2c
+ ldr r5, _02086EC8 ; =0x020FCE7C
+ str r0, [r4, #0x4c]
+ ldmia r5!, {r0-r1}
+ add r3, r2, #0x0
+ stmia r2!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ ldr r6, _02086ECC ; =0x020FCE34
+ stmia r2!, {r0-r1}
+ add r5, sp, #0x18
+ ldmia r6!, {r0-r1}
+ add r2, r5, #0x0
+ stmia r5!, {r0-r1}
+ ldmia r6!, {r0-r1}
+ stmia r5!, {r0-r1}
+ ldr r0, [r6, #0x0]
+ add r1, r3, #0x0
+ str r0, [r5, #0x0]
+ ldr r0, [r4, #0x4c]
+ mov r3, #0x20
+ bl FUN_0200BB6C
+ ldr r3, _02086ED0 ; =0x020FCE48
+ add r2, sp, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r4, #0x4c]
+ bl FUN_0200BB34
+ str r0, [r4, #0x48]
+ ldr r0, [r4, #0x4c]
+ ldr r1, [r4, #0x48]
+ mov r2, #0xff
+ bl FUN_0200BBF0
+ cmp r0, #0x0
+ bne _02086EB2
+ bl ErrorHandling
+_02086EB2:
+ ldr r0, [r4, #0x4c]
+ ldr r1, [r4, #0x48]
+ add r2, sp, #0x0
+ bl FUN_0200BF60
+ cmp r0, #0x0
+ bne _02086EC4
+ bl ErrorHandling
+_02086EC4:
+ add sp, #0x4c
+ pop {r3-r6, pc}
+ .balign 4
+_02086EC8: .word 0x020FCE7C
+_02086ECC: .word 0x020FCE34
+_02086ED0: .word 0x020FCE48
+
+ thumb_func_start FUN_02086ED4
+FUN_02086ED4: ; 0x02086ED4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x4c]
+ ldr r1, [r4, #0x48]
+ bl FUN_0200C398
+ ldr r0, [r4, #0x4c]
+ bl FUN_0200BD04
+ pop {r4, pc}
+
+ thumb_func_start FUN_02086EE8
+FUN_02086EE8: ; 0x02086EE8
+ push {r3-r7, lr}
+ sub sp, #0x38
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x5
+ ldr r4, [r0, #0xc]
+ mov r2, #0x0
+ add r0, r4, #0x0
+ bl FUN_020671BC
+ add r6, r0, #0x0
+ add r0, r4, #0x0
+ mov r1, #0x2
+ bl FUN_02068E14
+ add r7, r0, #0x0
+ mov r0, #0x0
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ mov r1, #0x4c
+ add r2, sp, #0x10
+ bl FUN_02067830
+ add r0, sp, #0x28
+ add r1, r4, #0x0
+ mov r2, #0x2
+ bl FUN_02068B68
+ lsl r1, r6, #0x10
+ add r0, sp, #0x14
+ lsr r1, r1, #0x10
+ bl FUN_02069010
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ add r7, #0x60
+ str r1, [sp, #0x4]
+ add r0, sp, #0x14
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ ldr r0, [r5, #0x3c]
+ add r1, sp, #0x28
+ mov r2, #0x80
+ add r3, r7, #0x0
+ bl FUN_020073A0
+ str r0, [r5, #0x68]
+ add sp, #0x38
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02086F4C
+FUN_02086F4C: ; 0x02086F4C
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl FUN_02068854
+ add r6, r0, #0x0
+ ldr r0, [r5, #0x68]
+ mov r1, #0x1
+ bl FUN_02007314
+ lsl r2, r4, #0x10
+ str r6, [sp, #0x0]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x54]
+ ldr r1, [r5, #0x68]
+ lsr r2, r2, #0x10
+ mov r3, #0x2
+ bl FUN_02069038
+ add sp, #0xc
+ pop {r3-r6, pc}
+
+ thumb_func_start FUN_02086F8C
+FUN_02086F8C: ; 0x02086F8C
+ ldr r3, _02086F94 ; =FUN_02007534
+ ldr r0, [r0, #0x68]
+ bx r3
+ nop
+_02086F94: .word FUN_02007534
+
+ thumb_func_start FUN_02086F98
+FUN_02086F98: ; 0x02086F98
+ ldr r3, _02086FA4 ; =FUN_02007558
+ add r2, r1, #0x0
+ ldr r0, [r0, #0x68]
+ mov r1, #0x6
+ bx r3
+ nop
+_02086FA4: .word FUN_02007558
+
+ thumb_func_start FUN_02086FA8
+FUN_02086FA8: ; 0x02086FA8
+ push {r3, lr}
+ ldr r1, [r0, #0x58]
+ lsl r2, r1, #0x2
+ ldr r1, _02086FB8 ; =0x020FD118
+ ldr r1, [r1, r2]
+ blx r1
+ pop {r3, pc}
+ nop
+_02086FB8: .word 0x020FD118
+
+ thumb_func_start FUN_02086FBC
+FUN_02086FBC: ; 0x02086FBC
+ push {r3-r5, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x5c]
+ mov r5, #0x1
+ cmp r1, #0x11
+ bls _02086FCC
+ b _0208720E
+_02086FCC:
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02086FD8: ; jump table (using 16-bit offset)
+ .short _02086FFC - _02086FD8 - 2; case 0
+ .short _0208706A - _02086FD8 - 2; case 1
+ .short _02087074 - _02086FD8 - 2; case 2
+ .short _02087092 - _02086FD8 - 2; case 3
+ .short _020870A2 - _02086FD8 - 2; case 4
+ .short _020870B2 - _02086FD8 - 2; case 5
+ .short _020870C2 - _02086FD8 - 2; case 6
+ .short _020870D2 - _02086FD8 - 2; case 7
+ .short _0208710E - _02086FD8 - 2; case 8
+ .short _02087122 - _02086FD8 - 2; case 9
+ .short _02087132 - _02086FD8 - 2; case 10
+ .short _02087158 - _02086FD8 - 2; case 11
+ .short _020871AA - _02086FD8 - 2; case 12
+ .short _020871E2 - _02086FD8 - 2; case 13
+ .short _020871EE - _02086FD8 - 2; case 14
+ .short _020871F4 - _02086FD8 - 2; case 15
+ .short _020871FE - _02086FD8 - 2; case 16
+ .short _0208720E - _02086FD8 - 2; case 17
+_02086FFC:
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ bl FUN_0208699C
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ bl FUN_020869F0
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r2, [r4, #0x14]
+ bl FUN_020866FC
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x3b
+ str r0, [sp, #0xc]
+ mov r0, #0xe
+ str r0, [sp, #0x10]
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x4]
+ add r1, #0x18
+ add r2, r5, #0x0
+ mov r3, #0x2
+ bl FUN_02086784
+ add r0, r4, #0x0
+ bl FUN_02086BA8
+ add r0, r4, #0x0
+ bl FUN_02086CB0
+ add r0, r4, #0x0
+ bl FUN_02086EE8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02086F98
+ mov r0, #0x47
+ str r0, [sp, #0x18]
+ mov r0, #0x0
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x18
+ bl FUN_02086B40
+ str r0, [r4, #0x40]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_0208706A:
+ bl FUN_020866BC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087074:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0208712A
+ bl FUN_0200541C
+ ldr r1, _02087240 ; =0x00000475
+ mov r0, #0xd
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_02087092:
+ bl FUN_0208749C
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870A2:
+ bl FUN_020874E4
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870B2:
+ bl FUN_02087554
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870C2:
+ bl FUN_020875AC
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020870D2:
+ bl FUN_02087610
+ cmp r0, #0x0
+ bne _0208712A
+ add r0, r4, #0x0
+ bl FUN_02086F4C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02005578
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x0
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_0208710E:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0208712A
+ ldr r0, _02087244 ; =0x00000484
+ bl FUN_02005C28
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087122:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ beq _0208712C
+_0208712A:
+ b _02087232
+_0208712C:
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087132:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087232
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x1
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087158:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087232
+ ldr r0, [r4, #0x54]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _02087232
+ ldr r0, [r4, #0x68]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _02087232
+ mov r0, #0x19
+ str r0, [sp, #0x0]
+ mov r0, #0xd
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x4
+ str r0, [sp, #0xc]
+ mov r0, #0xa7
+ str r0, [sp, #0x10]
+ mov r0, #0xe
+ str r0, [sp, #0x14]
+ add r2, r4, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, r4, #0x0
+ add r2, #0x28
+ mov r3, #0x1
+ bl FUN_02086878
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871AA:
+ ldr r0, [r4, #0x48]
+ bl FUN_02001C78
+ sub r1, r5, #0x3
+ cmp r0, r1
+ beq _020871BE
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _02087232
+ b _020871CC
+_020871BE:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871CC:
+ cmp r0, #0x0
+ bne _020871D4
+ add r1, r5, #0x0
+ b _020871D6
+_020871D4:
+ mov r1, #0x0
+_020871D6:
+ ldr r0, [r4, #0x0]
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871E2:
+ bl FUN_02086960
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871EE:
+ add r0, r1, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_020871F4:
+ bl FUN_020866DC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_020871FE:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02087232
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087232
+_0208720E:
+ add r0, r4, #0x0
+ bl FUN_02086F8C
+ add r0, r4, #0x0
+ bl FUN_02086E30
+ add r0, r4, #0x0
+ add r0, #0x18
+ bl FUN_0208698C
+ ldr r0, [r4, #0x40]
+ ldr r0, [r0, #0xc]
+ bl FUN_02086AF0
+ ldr r0, [r4, #0x40]
+ bl FUN_02086BA0
+ mov r5, #0x0
+_02087232:
+ ldr r0, [r4, #0x4c]
+ bl FUN_0200BC1C
+ add r0, r5, #0x0
+ add sp, #0x20
+ pop {r3-r5, pc}
+ nop
+_02087240: .word 0x00000475
+_02087244: .word 0x00000484
+
+ thumb_func_start FUN_02087248
+FUN_02087248: ; 0x02087248
+ push {r3-r5, lr}
+ sub sp, #0x20
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x5c]
+ mov r5, #0x1
+ cmp r1, #0x11
+ bls _02087258
+ b _02087462
+_02087258:
+ add r2, r1, r1
+ add r2, pc
+ ldrh r2, [r2, #0x6]
+ lsl r2, r2, #0x10
+ asr r2, r2, #0x10
+ add pc, r2
+_02087264: ; jump table (using 16-bit offset)
+ .short _02087288 - _02087264 - 2; case 0
+ .short _020872FE - _02087264 - 2; case 1
+ .short _02087308 - _02087264 - 2; case 2
+ .short _02087322 - _02087264 - 2; case 3
+ .short _0208735C - _02087264 - 2; case 4
+ .short _0208735C - _02087264 - 2; case 5
+ .short _0208735C - _02087264 - 2; case 6
+ .short _0208735C - _02087264 - 2; case 7
+ .short _02087362 - _02087264 - 2; case 8
+ .short _02087376 - _02087264 - 2; case 9
+ .short _02087386 - _02087264 - 2; case 10
+ .short _020873AC - _02087264 - 2; case 11
+ .short _020873FE - _02087264 - 2; case 12
+ .short _02087436 - _02087264 - 2; case 13
+ .short _02087442 - _02087264 - 2; case 14
+ .short _02087448 - _02087264 - 2; case 15
+ .short _02087452 - _02087264 - 2; case 16
+ .short _02087462 - _02087264 - 2; case 17
+_02087288:
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ bl FUN_0208699C
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ bl FUN_020869F0
+ ldr r0, [r4, #0x4]
+ ldr r1, [r4, #0x8]
+ ldr r2, [r4, #0x14]
+ bl FUN_020866FC
+ mov r0, #0x13
+ str r0, [sp, #0x0]
+ mov r0, #0x1b
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ mov r0, #0x3b
+ str r0, [sp, #0xc]
+ mov r0, #0xe
+ str r0, [sp, #0x10]
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x4]
+ add r1, #0x18
+ add r2, r5, #0x0
+ mov r3, #0x2
+ bl FUN_02086784
+ add r0, r4, #0x0
+ bl FUN_02086BA8
+ add r0, r4, #0x0
+ bl FUN_02086CB0
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ add r0, r4, #0x0
+ bl FUN_02086EE8
+ add r0, r4, #0x0
+ add r1, r5, #0x0
+ bl FUN_02086F98
+ mov r0, #0x47
+ str r0, [sp, #0x18]
+ add r0, r5, #0x0
+ str r0, [sp, #0x1c]
+ add r0, sp, #0x18
+ bl FUN_02086B40
+ str r0, [r4, #0x40]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_020872FE:
+ bl FUN_020866BC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087308:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _0208737E
+ ldr r1, _02087494 ; =0x00000475
+ mov r0, #0xd
+ mov r2, #0x1
+ bl FUN_0200433C
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087322:
+ bl FUN_02087820
+ cmp r0, #0x0
+ bne _0208737E
+ add r0, r4, #0x0
+ bl FUN_02086F4C
+ ldr r0, [r4, #0x0]
+ mov r1, #0x5
+ ldr r0, [r0, #0xc]
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02005578
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x0
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ mov r0, #0x8
+ str r0, [r4, #0x5c]
+ b _02087486
+_0208735C:
+ bl ErrorHandling
+ b _02087486
+_02087362:
+ bl FUN_02005670
+ cmp r0, #0x0
+ bne _0208737E
+ ldr r0, _02087498 ; =0x00000484
+ bl FUN_02005C28
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087376:
+ bl FUN_02005CBC
+ cmp r0, #0x0
+ beq _02087380
+_0208737E:
+ b _02087486
+_02087380:
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087386:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087486
+ ldr r2, [r4, #0x0]
+ add r0, r4, #0x0
+ ldr r2, [r2, #0xc]
+ ldr r3, [r4, #0x10]
+ add r0, #0x18
+ mov r1, #0x1
+ bl FUN_020867EC
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_020873AC:
+ ldr r0, [r4, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02087486
+ ldr r0, [r4, #0x54]
+ mov r1, #0x0
+ bl FUN_02014D7C
+ cmp r0, #0x1
+ bne _02087486
+ ldr r0, [r4, #0x68]
+ bl FUN_02007390
+ cmp r0, #0x0
+ bne _02087486
+ mov r0, #0x19
+ str r0, [sp, #0x0]
+ mov r0, #0xd
+ str r0, [sp, #0x4]
+ mov r0, #0x6
+ str r0, [sp, #0x8]
+ mov r0, #0x4
+ str r0, [sp, #0xc]
+ mov r0, #0xa7
+ str r0, [sp, #0x10]
+ mov r0, #0xe
+ str r0, [sp, #0x14]
+ add r2, r4, #0x0
+ ldr r1, [r4, #0x4]
+ add r0, r4, #0x0
+ add r2, #0x28
+ mov r3, #0x1
+ bl FUN_02086878
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_020873FE:
+ ldr r0, [r4, #0x48]
+ bl FUN_02001C78
+ sub r1, r5, #0x3
+ cmp r0, r1
+ beq _02087412
+ add r1, r1, #0x1
+ cmp r0, r1
+ beq _02087486
+ b _02087420
+_02087412:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087420:
+ cmp r0, #0x0
+ bne _02087428
+ add r1, r5, #0x0
+ b _0208742A
+_02087428:
+ mov r1, #0x0
+_0208742A:
+ ldr r0, [r4, #0x0]
+ str r1, [r0, #0x4]
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087436:
+ bl FUN_02086960
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087442:
+ add r0, r1, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087448:
+ bl FUN_020866DC
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+_02087452:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02087486
+ ldr r0, [r4, #0x5c]
+ add r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _02087486
+_02087462:
+ add r0, r4, #0x0
+ bl FUN_02086F8C
+ add r0, r4, #0x0
+ bl FUN_02086E30
+ add r0, r4, #0x0
+ add r0, #0x18
+ bl FUN_0208698C
+ ldr r0, [r4, #0x40]
+ ldr r0, [r0, #0xc]
+ bl FUN_02086AF0
+ ldr r0, [r4, #0x40]
+ bl FUN_02086BA0
+ mov r5, #0x0
+_02087486:
+ ldr r0, [r4, #0x4c]
+ bl FUN_0200BC1C
+ add r0, r5, #0x0
+ add sp, #0x20
+ pop {r3-r5, pc}
+ nop
+_02087494: .word 0x00000475
+_02087498: .word 0x00000484
+
+ thumb_func_start FUN_0208749C
+FUN_0208749C: ; 0x0208749C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x64]
+ cmp r0, #0x0
+ beq _020874AC
+ cmp r0, #0x1
+ beq _020874BC
+ b _020874D4
+_020874AC:
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C61C
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _020874DC
+_020874BC:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0x19
+ blt _020874DC
+ ldr r0, _020874E0 ; =0x00000714
+ bl FUN_020054C8
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _020874DC
+_020874D4:
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ str r0, [r4, #0x60]
+ pop {r4, pc}
+_020874DC:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_020874E0: .word 0x00000714
+
+ thumb_func_start FUN_020874E4
+FUN_020874E4: ; 0x020874E4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x64]
+ cmp r1, #0x0
+ beq _020874F4
+ cmp r1, #0x1
+ beq _0208750E
+ b _02087532
+_020874F4:
+ ldr r0, [r4, #0x40]
+ bl FUN_02086B8C
+ cmp r0, #0x1
+ beq _0208754C
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x1
+ bl FUN_0200C61C
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _0208754C
+_0208750E:
+ mov r1, #0x0
+ bl FUN_02086E04
+ cmp r0, #0x2
+ bne _0208754C
+ ldr r0, _02087550 ; =0x00000714
+ bl FUN_020054C8
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x2
+ bl FUN_0200C61C
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ mov r0, #0x0
+ str r0, [r4, #0x60]
+ b _0208754C
+_02087532:
+ mov r1, #0x0
+ bl FUN_02086E04
+ cmp r0, #0x2
+ bne _0208754C
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x2
+ bl FUN_0200C61C
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ str r0, [r4, #0x60]
+ pop {r4, pc}
+_0208754C:
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_02087550: .word 0x00000714
+
+ thumb_func_start FUN_02087554
+FUN_02087554: ; 0x02087554
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x64]
+ cmp r1, #0x0
+ beq _02087564
+ cmp r1, #0x1
+ beq _0208756A
+ b _0208759C
+_02087564:
+ add r0, r1, #0x1
+ str r0, [r4, #0x64]
+ b _020875A4
+_0208756A:
+ mov r1, #0x1
+ bl FUN_02086E04
+ add r5, r0, #0x0
+ cmp r5, #0x1
+ bne _0208758C
+ ldr r0, _020875A8 ; =0x00000714
+ bl FUN_020054C8
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x3
+ bl FUN_0200C61C
+ ldr r0, [r4, #0x40]
+ mov r1, #0x0
+ bl FUN_02086B70
+_0208758C:
+ cmp r5, #0x2
+ bne _020875A4
+ mov r0, #0x0
+ str r0, [r4, #0x60]
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _020875A4
+_0208759C:
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ str r0, [r4, #0x60]
+ pop {r3-r5, pc}
+_020875A4:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_020875A8: .word 0x00000714
+
+ thumb_func_start FUN_020875AC
+FUN_020875AC: ; 0x020875AC
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x64]
+ cmp r1, #0x0
+ beq _020875BC
+ cmp r1, #0x1
+ beq _020875CE
+ b _02087600
+_020875BC:
+ ldr r0, [r4, #0x40]
+ bl FUN_02086B8C
+ cmp r0, #0x1
+ beq _02087608
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087608
+_020875CE:
+ mov r1, #0x2
+ bl FUN_02086E04
+ add r5, r0, #0x0
+ cmp r5, #0x1
+ bne _020875F0
+ ldr r0, _0208760C ; =0x00000714
+ bl FUN_020054C8
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x4
+ bl FUN_0200C61C
+ ldr r0, [r4, #0x40]
+ mov r1, #0x1
+ bl FUN_02086B70
+_020875F0:
+ cmp r5, #0x2
+ bne _02087608
+ mov r0, #0x0
+ str r0, [r4, #0x60]
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087608
+_02087600:
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ str r0, [r4, #0x60]
+ pop {r3-r5, pc}
+_02087608:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+_0208760C: .word 0x00000714
+
+ thumb_func_start FUN_02087610
+FUN_02087610: ; 0x02087610
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x64]
+ cmp r1, #0x5
+ bls _0208761E
+ b _020877FC
+_0208761E:
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0208762A: ; jump table (using 16-bit offset)
+ .short _02087636 - _0208762A - 2; case 0
+ .short _02087658 - _0208762A - 2; case 1
+ .short _0208769A - _0208762A - 2; case 2
+ .short _02087702 - _0208762A - 2; case 3
+ .short _02087794 - _0208762A - 2; case 4
+ .short _020877E0 - _0208762A - 2; case 5
+_02087636:
+ ldr r0, [r4, #0x40]
+ bl FUN_02086B8C
+ cmp r0, #0x1
+ beq _020876A4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x4
+ bl FUN_0200C61C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_02087658:
+ mov r1, #0x3
+ bl FUN_02086E04
+ add r5, r0, #0x0
+ cmp r5, #0x1
+ bne _02087682
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x5
+ bl FUN_0200C61C
+ ldr r0, _02087818 ; =0x00000707
+ bl FUN_020054C8
+ ldr r0, [r4, #0x40]
+ mov r1, #0x2
+ bl FUN_02086B70
+ ldr r0, [r4, #0x40]
+ mov r1, #0x3
+ bl FUN_02086B70
+_02087682:
+ cmp r5, #0x2
+ bne _020876A4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ mov r0, #0x0
+ str r0, [r4, #0x60]
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_0208769A:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0xa
+ bge _020876A6
+_020876A4:
+ b _02087810
+_020876A6:
+ mov r3, #0x0
+ str r3, [r4, #0x60]
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ bl FUN_02020354
+ mov r1, #0x1
+ bl FUN_0201E28C
+ add r5, r0, #0x0
+ mov r3, #0x0
+ mov r6, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ lsl r6, r5
+ eor r2, r6
+ lsl r2, r2, #0x10
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ lsr r2, r2, #0x10
+ bl FUN_02003210
+ ldr r0, _0208781C ; =0x0000FFFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E68
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_02087702:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x70]
+ mov r5, #0x0
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ add r1, r5, #0x0
+ ldrsh r2, [r0, r1]
+ add r0, r1, #0x0
+ sub r0, #0x30
+ cmp r2, r0
+ ble _02087728
+ ldr r0, [r4, #0x70]
+ sub r2, r1, #0x4
+ bl FUN_0200C82C
+ b _0208772A
+_02087728:
+ add r5, r5, #0x1
+_0208772A:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x74]
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc0
+ bge _0208774A
+ ldr r0, [r4, #0x74]
+ mov r2, #0x4
+ bl FUN_0200C82C
+ b _0208774C
+_0208774A:
+ add r5, r5, #0x1
+_0208774C:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087810
+ cmp r5, #0x2
+ bne _02087810
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087810
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02086F98
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x70]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_02087794:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0x19
+ blt _02087810
+ mov r2, #0x0
+ ldr r0, _0208781C ; =0x0000FFFF
+ str r2, [r4, #0x60]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E68
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _0208781C ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_02003210
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_020877E0:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087810
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087810
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087810
+_020877FC:
+ ldr r0, [r4, #0x40]
+ bl FUN_02086B8C
+ cmp r0, #0x1
+ beq _02087810
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ add sp, #0x10
+ str r0, [r4, #0x60]
+ pop {r4-r6, pc}
+_02087810:
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r4-r6, pc}
+ nop
+_02087818: .word 0x00000707
+_0208781C: .word 0x0000FFFF
+
+ thumb_func_start FUN_02087820
+FUN_02087820: ; 0x02087820
+ push {r4-r6, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x64]
+ cmp r0, #0x4
+ bls _0208782E
+ b _020879FC
+_0208782E:
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0208783A: ; jump table (using 16-bit offset)
+ .short _02087844 - _0208783A - 2; case 0
+ .short _02087874 - _0208783A - 2; case 1
+ .short _02087902 - _0208783A - 2; case 2
+ .short _02087994 - _0208783A - 2; case 3
+ .short _020879E0 - _0208783A - 2; case 4
+_02087844:
+ ldr r0, [r4, #0x40]
+ mov r1, #0x0
+ bl FUN_02086B70
+ ldr r0, [r4, #0x40]
+ mov r1, #0x1
+ bl FUN_02086B70
+ ldr r0, [r4, #0x40]
+ mov r1, #0x2
+ bl FUN_02086B70
+ ldr r0, [r4, #0x40]
+ mov r1, #0x3
+ bl FUN_02086B70
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201E6E4
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_02087874:
+ ldr r0, [r4, #0x60]
+ cmp r0, #0x19
+ beq _02087884
+ cmp r0, #0x50
+ beq _0208788C
+ cmp r0, #0x8e
+ beq _02087894
+ b _0208789A
+_02087884:
+ ldr r0, _02087A0C ; =0x00000806
+ bl FUN_020054C8
+ b _0208789A
+_0208788C:
+ ldr r0, _02087A10 ; =0x000007AA
+ bl FUN_020054C8
+ b _0208789A
+_02087894:
+ ldr r0, _02087A14 ; =0x00000815
+ bl FUN_020054C8
+_0208789A:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0xa0
+ bge _020878A6
+ b _02087A06
+_020878A6:
+ mov r3, #0x0
+ str r3, [r4, #0x60]
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ ldr r0, [r4, #0x70]
+ ldr r0, [r0, #0x0]
+ bl FUN_02020354
+ mov r1, #0x1
+ bl FUN_0201E28C
+ add r5, r0, #0x0
+ mov r3, #0x0
+ mov r6, #0x1
+ str r3, [sp, #0x0]
+ mov r0, #0x10
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r0, [sp, #0x4]
+ str r2, [sp, #0x8]
+ lsl r6, r5
+ eor r2, r6
+ lsl r2, r2, #0x10
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ lsr r2, r2, #0x10
+ bl FUN_02003210
+ ldr r0, _02087A18 ; =0x0000FFFF
+ mov r1, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r2, #0x10
+ add r3, r1, #0x0
+ bl FUN_02007E68
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_02087902:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x70]
+ mov r5, #0x0
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ add r1, r5, #0x0
+ ldrsh r2, [r0, r1]
+ add r0, r1, #0x0
+ sub r0, #0x30
+ cmp r2, r0
+ ble _02087928
+ ldr r0, [r4, #0x70]
+ sub r2, r1, #0x4
+ bl FUN_0200C82C
+ b _0208792A
+_02087928:
+ add r5, r5, #0x1
+_0208792A:
+ add r1, sp, #0xc
+ ldr r0, [r4, #0x74]
+ add r1, #0x2
+ add r2, sp, #0xc
+ bl FUN_0200C7A0
+ add r0, sp, #0xc
+ mov r1, #0x0
+ ldrsh r0, [r0, r1]
+ cmp r0, #0xc0
+ bge _0208794A
+ ldr r0, [r4, #0x74]
+ mov r2, #0x4
+ bl FUN_0200C82C
+ b _0208794C
+_0208794A:
+ add r5, r5, #0x1
+_0208794C:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087A06
+ cmp r5, #0x2
+ bne _02087A06
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087A06
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_02086F98
+ mov r0, #0x2
+ mov r1, #0x1
+ bl FUN_0201E6E4
+ ldr r0, [r4, #0x6c]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x70]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x74]
+ mov r1, #0x0
+ bl FUN_0200C644
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_02087994:
+ ldr r0, [r4, #0x60]
+ add r0, r0, #0x1
+ str r0, [r4, #0x60]
+ cmp r0, #0x19
+ blt _02087A06
+ mov r2, #0x0
+ ldr r0, _02087A18 ; =0x0000FFFF
+ str r2, [r4, #0x60]
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x68]
+ mov r1, #0x10
+ add r3, r2, #0x0
+ bl FUN_02007E68
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x1
+ bl FUN_02003210
+ mov r0, #0x10
+ str r0, [sp, #0x0]
+ mov r3, #0x0
+ ldr r2, _02087A18 ; =0x0000FFFF
+ str r3, [sp, #0x4]
+ str r2, [sp, #0x8]
+ ldr r0, [r4, #0x8]
+ mov r1, #0x4
+ bl FUN_02003210
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_020879E0:
+ ldr r0, [r4, #0x8]
+ bl FUN_020038E4
+ cmp r0, #0x0
+ bne _02087A06
+ ldr r0, [r4, #0x68]
+ bl FUN_02007F20
+ cmp r0, #0x0
+ bne _02087A06
+ ldr r0, [r4, #0x64]
+ add r0, r0, #0x1
+ str r0, [r4, #0x64]
+ b _02087A06
+_020879FC:
+ mov r0, #0x0
+ str r0, [r4, #0x64]
+ add sp, #0x10
+ str r0, [r4, #0x60]
+ pop {r4-r6, pc}
+_02087A06:
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r4-r6, pc}
+ .balign 4
+_02087A0C: .word 0x00000806
+_02087A10: .word 0x000007AA
+_02087A14: .word 0x00000815
+_02087A18: .word 0x0000FFFF
+
+ thumb_func_start FUN_02087A1C
+FUN_02087A1C: ; 0x02087A1C
+ ldr r3, _02087A34 ; =0x020FD13C
+ mov r2, #0x0
+_02087A20:
+ ldrb r1, [r3, #0x0]
+ cmp r0, r1
+ beq _02087A2E
+ add r2, r2, #0x1
+ add r3, r3, #0x1
+ cmp r2, #0x6
+ blt _02087A20
+_02087A2E:
+ add r0, r2, #0x0
+ bx lr
+ nop
+_02087A34: .word 0x020FD13C
+
+ thumb_func_start FUN_02087A38
+FUN_02087A38: ; 0x02087A38
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x6
+ blt _02087A44
+ bl ErrorHandling
+_02087A44:
+ ldr r0, _02087A4C ; =0x020FD13C
+ ldrb r0, [r0, r4]
+ pop {r4, pc}
+ nop
+_02087A4C: .word 0x020FD13C
+
+ thumb_func_start FUN_02087A50
+FUN_02087A50: ; 0x02087A50
+ ldr r3, _02087A68 ; =0x020FD120
+ mov r2, #0x0
+_02087A54:
+ ldrh r1, [r3, #0x0]
+ cmp r0, r1
+ beq _02087A62
+ add r2, r2, #0x1
+ add r3, r3, #0x2
+ cmp r2, #0xe
+ blt _02087A54
+_02087A62:
+ add r0, r2, #0x0
+ bx lr
+ nop
+_02087A68: .word 0x020FD120
+
+ thumb_func_start FUN_02087A6C
+FUN_02087A6C: ; 0x02087A6C
+ push {r3, lr}
+ mov r1, #0x18
+ bl FUN_02016998
+ add r3, r0, #0x0
+ mov r2, #0x18
+ mov r1, #0x0
+_02087A7A:
+ strb r1, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r2, r2, #0x1
+ bne _02087A7A
+ pop {r3, pc}
+
+ thumb_func_start FUN_02087A84
+FUN_02087A84: ; 0x02087A84
+ push {r4, lr}
+ add r4, r0, #0x0
+ bne _02087A8E
+ bl ErrorHandling
+_02087A8E:
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087A98
+FUN_02087A98: ; 0x02087A98
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r4, r2, #0x0
+ cmp r5, #0x0
+ bne _02087AA8
+ bl ErrorHandling
+_02087AA8:
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x0
+ beq _02087AB2
+ bl ErrorHandling
+_02087AB2:
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ beq _02087ABC
+ bl ErrorHandling
+_02087ABC:
+ add r0, r4, #0x0
+ bl FUN_02087C18
+ str r0, [r5, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02087C2C
+ str r0, [r5, #0x4]
+ cmp r6, #0x0
+ bne _02087AEE
+ add r0, r5, #0x0
+ add r1, r5, #0x0
+ add r0, #0x8
+ add r1, #0xc
+ add r2, r4, #0x0
+ bl FUN_02087C40
+ add r0, r5, #0x0
+ add r5, #0x14
+ add r0, #0x10
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02087CA0
+ pop {r4-r6, pc}
+_02087AEE:
+ add r0, r5, #0x0
+ add r1, r5, #0x0
+ add r0, #0x8
+ add r1, #0xc
+ add r2, r4, #0x0
+ bl FUN_02087C70
+ add r0, r5, #0x0
+ add r5, #0x14
+ add r0, #0x10
+ add r1, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_02087CD0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02087B0C
+FUN_02087B0C: ; 0x02087B0C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ bne _02087B1A
+ bl ErrorHandling
+_02087B1A:
+ ldr r0, [r4, #0x4]
+ cmp r0, #0x0
+ bne _02087B24
+ bl ErrorHandling
+_02087B24:
+ ldr r0, [r4, #0x0]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x8]
+ bl FUN_02016A18
+ ldr r0, [r4, #0xc]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x10]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x14]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ str r0, [r4, #0x4]
+ str r0, [r4, #0x8]
+ str r0, [r4, #0xc]
+ str r0, [r4, #0x10]
+ str r0, [r4, #0x14]
+ pop {r4, pc}
+
+ thumb_func_start FUN_02087B58
+FUN_02087B58: ; 0x02087B58
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087B66
+ bl ErrorHandling
+_02087B66:
+ ldr r0, [r5, #0x0]
+ cmp r0, #0x0
+ bne _02087B70
+ bl ErrorHandling
+_02087B70:
+ ldr r1, [r5, #0x0]
+ lsl r0, r4, #0x2
+ ldr r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087B78
+FUN_02087B78: ; 0x02087B78
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087B86
+ bl ErrorHandling
+_02087B86:
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ bne _02087B90
+ bl ErrorHandling
+_02087B90:
+ ldr r1, [r5, #0x4]
+ lsl r0, r4, #0x2
+ ldr r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087B98
+FUN_02087B98: ; 0x02087B98
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087BA6
+ bl ErrorHandling
+_02087BA6:
+ ldr r0, [r5, #0x8]
+ cmp r0, #0x0
+ bne _02087BB0
+ bl ErrorHandling
+_02087BB0:
+ ldr r1, [r5, #0x8]
+ lsl r0, r4, #0x1
+ ldrsh r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087BB8
+FUN_02087BB8: ; 0x02087BB8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087BC6
+ bl ErrorHandling
+_02087BC6:
+ ldr r0, [r5, #0xc]
+ cmp r0, #0x0
+ bne _02087BD0
+ bl ErrorHandling
+_02087BD0:
+ ldr r1, [r5, #0xc]
+ lsl r0, r4, #0x1
+ ldrsh r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087BD8
+FUN_02087BD8: ; 0x02087BD8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087BE6
+ bl ErrorHandling
+_02087BE6:
+ ldr r0, [r5, #0x10]
+ cmp r0, #0x0
+ bne _02087BF0
+ bl ErrorHandling
+_02087BF0:
+ ldr r1, [r5, #0x10]
+ lsl r0, r4, #0x1
+ ldrsh r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087BF8
+FUN_02087BF8: ; 0x02087BF8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r5, #0x0
+ bne _02087C06
+ bl ErrorHandling
+_02087C06:
+ ldr r0, [r5, #0x14]
+ cmp r0, #0x0
+ bne _02087C10
+ bl ErrorHandling
+_02087C10:
+ ldr r1, [r5, #0x14]
+ lsl r0, r4, #0x1
+ ldrsh r0, [r1, r0]
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087C18
+FUN_02087C18: ; 0x02087C18
+ push {r3, lr}
+ mov r1, #0x0
+ add r3, r0, #0x0
+ mov r0, #0x4b
+ add r2, r1, #0x0
+ str r1, [sp, #0x0]
+ bl FUN_02006C98
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087C2C
+FUN_02087C2C: ; 0x02087C2C
+ push {r3, lr}
+ add r3, r0, #0x0
+ mov r2, #0x0
+ mov r0, #0x4b
+ mov r1, #0x1
+ str r2, [sp, #0x0]
+ bl FUN_02006C98
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087C40
+FUN_02087C40: ; 0x02087C40
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r2, #0x0
+ mov r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x4b
+ mov r1, #0x9
+ add r3, r6, #0x0
+ bl FUN_02006C98
+ str r0, [r5, #0x0]
+ mov r2, #0x0
+ mov r0, #0x4b
+ mov r1, #0xa
+ add r3, r6, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02006C98
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087C70
+FUN_02087C70: ; 0x02087C70
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r2, #0x0
+ mov r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x4b
+ mov r1, #0x7
+ add r3, r6, #0x0
+ bl FUN_02006C98
+ str r0, [r5, #0x0]
+ mov r2, #0x0
+ mov r0, #0x4b
+ mov r1, #0x8
+ add r3, r6, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02006C98
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087CA0
+FUN_02087CA0: ; 0x02087CA0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r2, #0x0
+ mov r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x4b
+ mov r1, #0x5
+ add r3, r6, #0x0
+ bl FUN_02006C98
+ str r0, [r5, #0x0]
+ mov r2, #0x0
+ mov r0, #0x4b
+ mov r1, #0x6
+ add r3, r6, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02006C98
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087CD0
+FUN_02087CD0: ; 0x02087CD0
+ push {r3-r6, lr}
+ sub sp, #0x4
+ add r6, r2, #0x0
+ mov r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x4b
+ mov r1, #0x3
+ add r3, r6, #0x0
+ bl FUN_02006C98
+ str r0, [r5, #0x0]
+ mov r2, #0x0
+ mov r0, #0x4b
+ mov r1, #0x4
+ add r3, r6, #0x0
+ str r2, [sp, #0x0]
+ bl FUN_02006C98
+ str r0, [r4, #0x0]
+ add sp, #0x4
+ pop {r3-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087D00
+FUN_02087D00: ; 0x02087D00
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ mov r0, #0x0
+ mov r1, #0xcf
+ str r0, [sp, #0x0]
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_02016998
+ mov r2, #0xcf
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ add r7, r0, #0x0
+ bl MI_CpuFill8
+ add r0, r4, #0x0
+ bl FUN_02028048
+ str r0, [r7, #0x8]
+ add r0, r4, #0x0
+ bl FUN_020238F4
+ str r0, [r7, #0xc]
+ add r0, r4, #0x0
+ bl FUN_0206BB1C
+ str r0, [r7, #0x10]
+ add r0, r4, #0x0
+ bl FUN_0206F158
+ str r0, [r7, #0x14]
+ add r0, r4, #0x0
+ bl LoadPlayerDataAddress
+ str r0, [r7, #0x18]
+ add r0, r5, #0x0
+ bl FUN_02027E5C
+ add r4, r0, #0x0
+ mov r0, #0x1
+ mov r1, #0x20
+ add r2, r5, #0x0
+ bl FUN_0200AA90
+ str r0, [sp, #0x4]
+ mov r6, #0x0
+_02087D60:
+ ldr r0, [r7, #0x8]
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_02028174
+ add r0, r4, #0x0
+ bl FUN_02027E34
+ cmp r0, #0x0
+ beq _02087DEE
+ add r0, r4, #0x0
+ add r1, sp, #0x8
+ bl FUN_02027FBC
+ ldr r0, [sp, #0x0]
+ add r1, r7, #0x0
+ add r1, #0x1c
+ lsl r0, r0, #0x3
+ add r5, r1, r0
+ strb r6, [r1, r0]
+ add r0, r4, #0x0
+ bl FUN_02027FDC
+ strb r0, [r5, #0x1]
+ add r0, sp, #0x8
+ ldrb r1, [r0, #0x0]
+ mov r2, #0x1
+ strb r1, [r5, #0x2]
+ ldrb r0, [r0, #0x6]
+ mov r1, #0x0
+ strb r0, [r5, #0x3]
+ add r0, sp, #0x8
+_02087DA0:
+ add r3, r0, r1
+ ldrb r3, [r3, #0x1]
+ cmp r3, #0x0
+ beq _02087DAE
+ ldrb r3, [r5, #0x4]
+ orr r3, r2
+ strb r3, [r5, #0x4]
+_02087DAE:
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsl r2, r2, #0x19
+ lsr r1, r1, #0x18
+ lsr r2, r2, #0x18
+ cmp r1, #0x5
+ blo _02087DA0
+ ldrb r1, [r5, #0x4]
+ mov r0, #0x20
+ orr r0, r1
+ strb r0, [r5, #0x4]
+ ldrb r2, [r5, #0x4]
+ mov r1, #0x80
+ add r0, r2, #0x0
+ bic r0, r1
+ lsl r1, r2, #0x1a
+ lsr r1, r1, #0x1f
+ lsl r1, r1, #0x1f
+ lsr r1, r1, #0x18
+ orr r0, r1
+ strb r0, [r5, #0x4]
+ ldr r0, [sp, #0x0]
+ add r1, r0, #0x0
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ str r1, [sp, #0x0]
+ strb r0, [r5, #0x5]
+ mov r0, #0xff
+ strb r0, [r5, #0x6]
+ ldrb r0, [r5, #0x6]
+ strb r0, [r5, #0x7]
+_02087DEE:
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x64
+ blo _02087D60
+ ldr r0, [sp, #0x4]
+ bl FUN_0200AB18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ ldr r0, [sp, #0x0]
+ strb r0, [r7, #0x0]
+ mov r0, #0x5
+ strb r0, [r7, #0x3]
+ add r0, r7, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087E14
+FUN_02087E14: ; 0x02087E14
+ ldr r3, _02087E18 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02087E18: .word FUN_02016A18
+
+ thumb_func_start FUN_02087E1C
+FUN_02087E1C: ; 0x02087E1C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02087E3C
+ bl FUN_02006290
+ cmp r0, #0x0
+ beq _02087E3C
+ ldr r0, [r4, #0x0]
+ bl FUN_02006260
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+_02087E3C:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02087E40
+FUN_02087E40: ; 0x02087E40
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_0200628C
+ mov r2, #0x1
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x2c
+ lsl r2, r2, #0xc
+ bl FUN_0201681C
+ add r0, r4, #0x0
+ mov r1, #0x18
+ mov r2, #0x2c
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x18
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x2c
+ str r0, [r4, #0x0]
+ str r5, [r4, #0xc]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02087E74
+FUN_02087E74: ; 0x02087E74
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x8
+ bhi _02087EE4
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02087E8E: ; jump table (using 16-bit offset)
+ .short _02087EA0 - _02087E8E - 2; case 0
+ .short _02087EA8 - _02087E8E - 2; case 1
+ .short _02087EB0 - _02087E8E - 2; case 2
+ .short _02087EB8 - _02087E8E - 2; case 3
+ .short _02087EC0 - _02087E8E - 2; case 4
+ .short _02087EC8 - _02087E8E - 2; case 5
+ .short _02087ED0 - _02087E8E - 2; case 6
+ .short _02087ED8 - _02087E8E - 2; case 7
+ .short _02087EE0 - _02087E8E - 2; case 8
+_02087EA0:
+ bl FUN_02087F50
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EA8:
+ bl FUN_02087F68
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EB0:
+ bl FUN_02087FD4
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EB8:
+ bl FUN_0208805C
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EC0:
+ bl FUN_020880A0
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EC8:
+ bl FUN_0208810C
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087ED0:
+ bl FUN_02088130
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087ED8:
+ bl FUN_020881AC
+ str r0, [r4, #0x0]
+ b _02087EE4
+_02087EE0:
+ mov r0, #0x1
+ pop {r4, pc}
+_02087EE4:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_02087EE8
+FUN_02087EE8: ; 0x02087EE8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ bl FUN_02087F08
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ ldr r0, [r4, #0x0]
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087F08
+FUN_02087F08: ; 0x02087F08
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r2, [r5, #0xc]
+ mov r0, #0x0
+ ldrb r1, [r2, #0x0]
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ bls _02087F42
+ mov r6, #0x1
+_02087F1A:
+ add r3, r2, #0x0
+ add r3, #0x1c
+ lsl r1, r4, #0x3
+ add r1, r3, r1
+ ldrb r3, [r1, #0x4]
+ lsl r3, r3, #0x19
+ lsr r3, r3, #0x1f
+ beq _02087F34
+ ldrb r1, [r1, #0x0]
+ ldr r0, [r2, #0x8]
+ bl FUN_020280B8
+ add r0, r6, #0x0
+_02087F34:
+ add r1, r4, #0x1
+ lsl r1, r1, #0x18
+ ldr r2, [r5, #0xc]
+ lsr r4, r1, #0x18
+ ldrb r1, [r2, #0x0]
+ cmp r4, r1
+ blo _02087F1A
+_02087F42:
+ cmp r0, #0x0
+ beq _02087F4C
+ ldr r0, [r2, #0x8]
+ bl FUN_020280F4
+_02087F4C:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02087F50
+FUN_02087F50: ; 0x02087F50
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, _02087F64 ; =0x020FD15C
+ ldr r1, [r4, #0xc]
+ ldr r2, [r4, #0x0]
+ bl FUN_02006234
+ str r0, [r4, #0x14]
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+_02087F64: .word 0x020FD15C
+
+ thumb_func_start FUN_02087F68
+FUN_02087F68: ; 0x02087F68
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ bl FUN_02087E1C
+ cmp r0, #0x0
+ bne _02087F7A
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02087F7A:
+ ldr r1, [r5, #0xc]
+ ldrb r0, [r1, #0x2]
+ cmp r0, #0x0
+ bne _02087F86
+ mov r0, #0x8
+ pop {r3-r5, pc}
+_02087F86:
+ mov r0, #0x0
+ strb r0, [r1, #0x2]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x40
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0x40
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r0, [r5, #0xc]
+ mov r1, #0x0
+ ldr r0, [r0, #0x10]
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x14]
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ add r0, #0x21
+ strb r1, [r0, #0x0]
+ add r0, r4, #0x0
+ mov r1, #0x14
+ add r0, #0x20
+ strb r1, [r0, #0x0]
+ ldr r0, [r5, #0xc]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x18]
+ str r0, [r4, #0xc]
+ ldr r0, _02087FD0 ; =0x020F96DC
+ ldr r2, [r5, #0x0]
+ bl FUN_02006234
+ str r0, [r5, #0x14]
+ str r4, [r5, #0x10]
+ mov r0, #0x2
+ pop {r3-r5, pc}
+ .balign 4
+_02087FD0: .word 0x020F96DC
+
+ thumb_func_start FUN_02087FD4
+FUN_02087FD4: ; 0x02087FD4
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ bl FUN_02087E1C
+ cmp r0, #0x0
+ bne _02087FE6
+ mov r0, #0x2
+ pop {r3-r7, pc}
+_02087FE6:
+ ldr r7, [r5, #0x10]
+ add r0, r7, #0x0
+ add r0, #0x22
+ ldrb r6, [r0, #0x0]
+ strb r6, [r5, #0x8]
+ ldr r0, [r5, #0x10]
+ bl FUN_02016A18
+ cmp r6, #0x7
+ bne _02087FFE
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02087FFE:
+ ldr r0, [r5, #0x0]
+ mov r1, #0x30
+ bl FUN_02016998
+ add r4, r0, #0x0
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x10]
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x18]
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ strb r6, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9AC
+ strb r0, [r4, #0x13]
+ mov r1, #0x0
+ strh r1, [r4, #0x18]
+ mov r0, #0x3
+ strb r0, [r4, #0x12]
+ mov r0, #0x1
+ str r0, [r4, #0x2c]
+ str r1, [r4, #0x28]
+ ldr r1, _02088054 ; =0x020FD158
+ add r0, r4, #0x0
+ bl FUN_0207B000
+ ldr r1, [r5, #0xc]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0xc]
+ bl FUN_0207C2A4
+ ldr r0, _02088058 ; =0x020FA6E8
+ ldr r2, [r5, #0x0]
+ add r1, r7, #0x0
+ bl FUN_02006234
+ str r0, [r5, #0x14]
+ str r4, [r5, #0x10]
+ mov r0, #0x3
+ pop {r3-r7, pc}
+ .balign 4
+_02088054: .word 0x020FD158
+_02088058: .word 0x020FA6E8
+
+ thumb_func_start FUN_0208805C
+FUN_0208805C: ; 0x0208805C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r0, #0x14
+ bl FUN_02087E1C
+ cmp r0, #0x0
+ bne _0208806E
+ mov r0, #0x3
+ pop {r3-r5, pc}
+_0208806E:
+ ldr r0, [r5, #0x10]
+ ldrb r4, [r0, #0x17]
+ ldrb r0, [r0, #0x14]
+ strb r0, [r5, #0x8]
+ ldr r0, [r5, #0x10]
+ bl FUN_02016A18
+ cmp r4, #0x1
+ bne _02088084
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02088084:
+ ldr r0, [r5, #0xc]
+ add r3, r0, #0x0
+ ldrb r0, [r0, #0x1]
+ add r3, #0x20
+ lsl r2, r0, #0x3
+ ldrb r1, [r3, r2]
+ mov r0, #0x40
+ orr r0, r1
+ strb r0, [r3, r2]
+ ldr r0, [r5, #0xc]
+ mov r1, #0x1
+ strb r1, [r0, #0x2]
+ mov r0, #0x4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_020880A0
+FUN_020880A0: ; 0x020880A0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0xc
+ bl FUN_02016998
+ mov r1, #0x0
+ mov r2, #0xc
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ ldr r1, [r5, #0xc]
+ ldrb r0, [r1, #0x1]
+ lsl r0, r0, #0x3
+ add r0, r1, r0
+ ldrb r0, [r0, #0x1e]
+ strh r0, [r4, #0x8]
+ ldr r2, [r5, #0xc]
+ ldrb r1, [r2, #0x1]
+ ldr r0, [r2, #0x8]
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ ldrb r1, [r1, #0x1c]
+ ldr r2, [r5, #0x0]
+ bl FUN_02028190
+ str r0, [r4, #0x4]
+ ldr r0, [r5, #0xc]
+ ldrb r1, [r5, #0x8]
+ ldr r0, [r0, #0x10]
+ bl FUN_0206B9B0
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x18]
+ bl FUN_02024FF4
+ strb r0, [r4, #0xa]
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x18]
+ bl FUN_02025084
+ strb r0, [r4, #0xb]
+ ldr r0, _02088108 ; =0x020FD16C
+ ldr r2, [r5, #0x0]
+ add r1, r4, #0x0
+ bl FUN_02006234
+ str r0, [r5, #0x14]
+ str r4, [r5, #0x10]
+ mov r0, #0x5
+ pop {r3-r5, pc}
+ .balign 4
+_02088108: .word 0x020FD16C
+
+ thumb_func_start FUN_0208810C
+FUN_0208810C: ; 0x0208810C
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x14
+ bl FUN_02087E1C
+ cmp r0, #0x0
+ bne _0208811E
+ mov r0, #0x5
+ pop {r4, pc}
+_0208811E:
+ ldr r4, [r4, #0x10]
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ mov r0, #0x6
+ pop {r4, pc}
+
+ thumb_func_start FUN_02088130
+FUN_02088130: ; 0x02088130
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x30
+ bl FUN_02016998
+ ldr r2, [r5, #0xc]
+ add r4, r0, #0x0
+ ldrb r1, [r2, #0x1]
+ ldr r0, [r2, #0x8]
+ lsl r1, r1, #0x3
+ add r1, r2, r1
+ ldrb r1, [r1, #0x1c]
+ ldr r2, [r5, #0x0]
+ bl FUN_02028190
+ add r6, r0, #0x0
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x10]
+ str r0, [r4, #0x0]
+ ldr r0, [r5, #0xc]
+ ldr r0, [r0, #0x18]
+ str r0, [r4, #0x4]
+ mov r0, #0x1
+ strb r0, [r4, #0x11]
+ ldrb r0, [r5, #0x8]
+ strb r0, [r4, #0x14]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206B9AC
+ strb r0, [r4, #0x13]
+ mov r1, #0x0
+ strh r1, [r4, #0x18]
+ mov r0, #0x4
+ strb r0, [r4, #0x12]
+ str r6, [r4, #0x24]
+ mov r0, #0x1
+ str r0, [r4, #0x2c]
+ str r1, [r4, #0x28]
+ ldr r1, _020881A4 ; =0x020FD154
+ add r0, r4, #0x0
+ bl FUN_0207B000
+ ldr r1, [r5, #0xc]
+ add r0, r4, #0x0
+ ldr r1, [r1, #0xc]
+ bl FUN_0207C2A4
+ ldr r0, _020881A8 ; =0x020FA6E8
+ ldr r2, [r5, #0x0]
+ add r1, r4, #0x0
+ bl FUN_02006234
+ str r0, [r5, #0x14]
+ str r4, [r5, #0x10]
+ mov r0, #0x7
+ pop {r4-r6, pc}
+ nop
+_020881A4: .word 0x020FD154
+_020881A8: .word 0x020FA6E8
+
+ thumb_func_start FUN_020881AC
+FUN_020881AC: ; 0x020881AC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x14
+ bl FUN_02087E1C
+ cmp r0, #0x0
+ bne _020881BE
+ mov r0, #0x7
+ pop {r4, pc}
+_020881BE:
+ ldr r0, [r4, #0x10]
+ ldr r0, [r0, #0x24]
+ bl FUN_02016A18
+ ldr r0, [r4, #0x10]
+ bl FUN_02016A18
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_020881D0
+FUN_020881D0: ; 0x020881D0
+ push {r3-r5, lr}
+ sub sp, #0x8
+ lsl r2, r1, #0x1
+ ldr r1, _02088214 ; =0x020FD17C
+ ldrb r4, [r1, r2]
+ ldr r1, _02088218 ; =0x020FD17D
+ ldrb r5, [r1, r2]
+ cmp r4, #0x5
+ bne _020881E8
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_020881E8:
+ add r1, sp, #0x0
+ bl FUN_02027FBC
+ add r0, r4, #0x1
+ add r2, sp, #0x0
+ ldrb r1, [r2, r0]
+ add r0, r5, #0x1
+ ldrb r0, [r2, r0]
+ cmp r1, r0
+ bne _02088202
+ add sp, #0x8
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_02088202:
+ cmp r1, r0
+ bls _0208820C
+ add sp, #0x8
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0208820C:
+ mov r0, #0x1
+ add sp, #0x8
+ pop {r3-r5, pc}
+ nop
+_02088214: .word 0x020FD17C
+_02088218: .word 0x020FD17D
+
+ thumb_func_start FUN_0208821C
+FUN_0208821C: ; 0x0208821C
+ push {r3-r7, lr}
+ sub sp, #0x30
+ add r6, r1, #0x0
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02068854
+ lsl r1, r0, #0x1
+ ldr r0, _02088310 ; =0x020FD17C
+ ldrb r0, [r0, r1]
+ str r0, [sp, #0x4]
+ ldr r0, _02088314 ; =0x020FD17D
+ ldrb r0, [r0, r1]
+ add r1, sp, #0x10
+ str r0, [sp, #0x0]
+ add r0, r4, #0x0
+ bl FUN_02027FBC
+ mov r4, #0x0
+ add r7, r4, #0x0
+ add r5, sp, #0x18
+_02088246:
+ add r1, r4, #0x0
+ add r0, r6, #0x0
+ add r1, #0x13
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ lsl r1, r4, #0x2
+ str r0, [r5, r1]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x6
+ blo _02088246
+ add r4, sp, #0x8
+ mov r1, #0x0
+ mov r3, #0x1
+ add r0, sp, #0x10
+ add r4, #0x1
+_0208826A:
+ ldrb r5, [r0, r3]
+ add r2, r1, #0x0
+ add r1, r1, #0x1
+ strb r5, [r4, r2]
+ add r2, r3, #0x1
+ lsl r2, r2, #0x18
+ lsl r1, r1, #0x18
+ lsr r3, r2, #0x18
+ lsr r1, r1, #0x18
+ cmp r3, #0x6
+ bls _0208826A
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x5
+ beq _020882B8
+ ldrb r0, [r4, r0]
+ bl _ffltu
+ add r1, r0, #0x0
+ ldr r0, _02088318 ; =0x3F8CCCCD
+ bl _fmul
+ bl _ffixu
+ ldr r1, [sp, #0x4]
+ strb r0, [r4, r1]
+ add r4, sp, #0x8
+ ldr r0, [sp, #0x0]
+ add r4, #0x1
+ ldrb r0, [r4, r0]
+ bl _ffltu
+ add r1, r0, #0x0
+ ldr r0, _0208831C ; =0x3F666666
+ bl _fmul
+ bl _ffixu
+ ldr r1, [sp, #0x0]
+ strb r0, [r4, r1]
+_020882B8:
+ add r7, sp, #0x8
+ mov r5, #0x0
+ add r4, sp, #0x18
+ add r7, #0x1
+_020882C0:
+ lsl r2, r5, #0x2
+ ldrb r0, [r7, r5]
+ ldr r1, [r4, r2]
+ add r0, r1, r0
+ str r0, [r4, r2]
+ ldr r0, [r4, r2]
+ cmp r0, #0xff
+ ble _020882D4
+ mov r0, #0xff
+ str r0, [r4, r2]
+_020882D4:
+ add r1, r5, #0x0
+ add r0, r6, #0x0
+ add r1, #0x13
+ add r2, r4, r2
+ bl FUN_02067830
+ add r0, r5, #0x1
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ cmp r5, #0x6
+ blo _020882C0
+ add r0, r6, #0x0
+ mov r1, #0x9
+ mov r2, #0x0
+ bl FUN_020671BC
+ add r1, sp, #0x8
+ strb r0, [r1, #0x0]
+ ldrb r0, [r1, #0x0]
+ cmp r0, #0xff
+ bhs _0208830C
+ add r0, r0, #0x1
+ strb r0, [r1, #0x0]
+ add r0, r6, #0x0
+ mov r1, #0x9
+ add r2, sp, #0x8
+ bl FUN_02067830
+_0208830C:
+ add sp, #0x30
+ pop {r3-r7, pc}
+ .balign 4
+_02088310: .word 0x020FD17C
+_02088314: .word 0x020FD17D
+_02088318: .word 0x3F8CCCCD
+_0208831C: .word 0x3F666666
+
+ thumb_func_start FUN_02088320
+FUN_02088320: ; 0x02088320
+ push {r3-r7, lr}
+ add r5, r1, #0x0
+ mov r1, #0x59
+ lsl r1, r1, #0x2
+ add r6, r0, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x0]
+ bl FUN_02016998
+ mov r2, #0x59
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ str r6, [r4, #0x0]
+ cmp r5, #0x10
+ bls _0208834A
+ mov r0, #0x10
+ strh r0, [r4, #0xa]
+ b _0208834C
+_0208834A:
+ strh r7, [r4, #0xa]
+_0208834C:
+ strh r5, [r4, #0xc]
+ ldr r0, [sp, #0x0]
+ strh r0, [r4, #0xe]
+ ldr r0, [sp, #0x18]
+ str r0, [r4, #0x4]
+ add r0, r4, #0x0
+ bl FUN_0208837C
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02088360
+FUN_02088360: ; 0x02088360
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl FUN_0208843C
+ mov r2, #0x59
+ add r0, r4, #0x0
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ bl MI_CpuFill8
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_0208837C
+FUN_0208837C: ; 0x0208837C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ ldr r1, _02088438 ; =0x020FD1C0
+ str r0, [sp, #0x0]
+ ldrb r2, [r1, #0x0]
+ add r0, sp, #0x8
+ strb r2, [r0, #0x0]
+ ldrb r2, [r1, #0x1]
+ strb r2, [r0, #0x1]
+ ldrb r2, [r1, #0x2]
+ ldrb r1, [r1, #0x3]
+ strb r2, [r0, #0x2]
+ strb r1, [r0, #0x3]
+ ldr r0, [sp, #0x0]
+ ldr r2, [sp, #0x0]
+ ldr r1, [sp, #0x0]
+ ldrh r0, [r0, #0xc]
+ ldr r2, [r2, #0x0]
+ add r1, #0x14
+ bl FUN_02008C9C
+ ldr r1, [sp, #0x0]
+ mov r6, #0x15
+ str r0, [r1, #0x10]
+ add r0, r1, #0x0
+ ldrh r1, [r0, #0xa]
+ add r0, sp, #0x8
+ ldr r5, [sp, #0x0]
+ strb r1, [r0, #0x1]
+ mov r0, #0x0
+ str r0, [sp, #0x4]
+ add r7, sp, #0x8
+ add r4, r0, #0x0
+ lsl r6, r6, #0x4
+_020883C0:
+ ldr r2, [sp, #0x0]
+ ldrb r0, [r7, #0x0]
+ ldr r1, [sp, #0x4]
+ ldr r2, [r2, #0x0]
+ bl FUN_02008DEC
+ mov r1, #0x5
+ lsl r1, r1, #0x6
+ str r0, [r5, r1]
+ ldr r1, [sp, #0x0]
+ ldrb r0, [r7, #0x0]
+ ldr r1, [r1, #0x0]
+ bl FUN_02009424
+ mov r1, #0x15
+ lsl r1, r1, #0x4
+ str r0, [r5, r1]
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ ldr r3, [r5, r0]
+ mov r1, #0x0
+ ldr r0, [r3, #0x4]
+ cmp r0, #0x0
+ bls _02088402
+ add r2, r1, #0x0
+_020883F2:
+ ldr r0, [r3, #0x0]
+ add r1, r1, #0x1
+ str r4, [r0, r2]
+ ldr r3, [r5, r6]
+ add r2, r2, #0x4
+ ldr r0, [r3, #0x4]
+ cmp r1, r0
+ blo _020883F2
+_02088402:
+ ldr r0, [sp, #0x4]
+ add r7, r7, #0x1
+ add r0, r0, #0x1
+ add r5, r5, #0x4
+ str r0, [sp, #0x4]
+ cmp r0, #0x4
+ blo _020883C0
+ ldr r0, [sp, #0x0]
+ bl FUN_020886CC
+ ldr r0, [sp, #0x0]
+ mov r1, #0x4
+ ldr r0, [r0, #0x0]
+ bl FUN_02016998
+ mov r2, #0x16
+ ldr r1, [sp, #0x0]
+ lsl r2, r2, #0x4
+ str r0, [r1, r2]
+ add r0, r1, #0x0
+ ldr r0, [r0, r2]
+ mov r1, #0x0
+ mov r2, #0x4
+ bl MI_CpuFill8
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02088438: .word 0x020FD1C0
+
+ thumb_func_start FUN_0208843C
+FUN_0208843C: ; 0x0208843C
+ push {r3-r7, lr}
+ add r5, r0, #0x0
+ mov r0, #0x16
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_02016A18
+ ldr r0, [r5, #0x10]
+ bl FUN_0201FD58
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ ldr r0, [r5, r0]
+ bl FUN_02009C30
+ mov r0, #0x55
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02009E28
+ mov r7, #0x15
+ lsl r7, r7, #0x4
+ add r6, r7, #0x0
+ mov r4, #0x0
+ sub r6, #0x10
+_0208846E:
+ ldr r0, [r5, r7]
+ bl FUN_02009448
+ ldr r0, [r5, r6]
+ bl FUN_02008E2C
+ add r4, r4, #0x1
+ add r5, r5, #0x4
+ cmp r4, #0x4
+ blo _0208846E
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02088484
+FUN_02088484: ; 0x02088484
+ ldr r3, _0208848C ; =FUN_0201FDEC
+ ldr r0, [r0, #0x10]
+ bx r3
+ nop
+_0208848C: .word FUN_0201FDEC
+
+ thumb_func_start FUN_02088490
+FUN_02088490: ; 0x02088490
+ push {r3-r7, lr}
+ sub sp, #0x70
+ str r1, [sp, #0x2c]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ add r5, r0, #0x0
+ add r7, r2, #0x0
+ str r3, [sp, #0x30]
+ bl FUN_020887CC
+ str r0, [sp, #0x3c]
+ cmp r0, #0x0
+ bge _020884B4
+ bl ErrorHandling
+ add sp, #0x70
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_020884B4:
+ ldr r0, [r5, #0x0]
+ mov r1, #0x8
+ bl FUN_02016998
+ str r0, [sp, #0x38]
+ mov r1, #0x0
+ mov r2, #0x8
+ bl MI_CpuFill8
+ ldr r1, [sp, #0x3c]
+ ldr r0, [sp, #0x38]
+ strh r1, [r0, #0x0]
+ ldr r0, [sp, #0x94]
+ cmp r0, #0x0
+ bne _020884D6
+ mov r6, #0x1
+ b _020884D8
+_020884D6:
+ mov r6, #0x2
+_020884D8:
+ ldr r0, [sp, #0x3c]
+ mov r1, #0x55
+ lsl r1, r1, #0x2
+ lsl r4, r0, #0x2
+ ldr r0, [r5, r1]
+ ldr r3, [sp, #0x2c]
+ ldr r0, [r0, #0x0]
+ sub r1, #0x10
+ ldr r0, [r0, r4]
+ mov r2, #0x58
+ str r0, [sp, #0x34]
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [r5, #0x0]
+ add r3, r3, #0x3
+ str r0, [sp, #0x4]
+ ldr r0, [r5, r1]
+ ldr r1, [sp, #0x34]
+ bl FUN_02009168
+ mov r0, #0x55
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ ldr r0, [r0, #0x0]
+ ldr r0, [r0, r4]
+ bl FUN_02009DE0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x10
+ bl FUN_02016998
+ add r4, r0, #0x0
+ ldr r0, [r5, #0x0]
+ mov r1, #0x8
+ bl FUN_02016998
+ str r0, [r4, #0x8]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x24
+ bl FUN_02016998
+ ldr r1, [r4, #0x8]
+ mov r3, #0xe
+ str r0, [r1, #0x0]
+ ldr r0, [r4, #0x8]
+ lsl r3, r3, #0xc
+ ldr r0, [r0, #0x0]
+ mov r1, #0x0
+ str r0, [r4, #0x4]
+ mov r0, #0x0
+ str r3, [sp, #0x0]
+ mvn r0, r0
+ str r0, [sp, #0x4]
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ add r0, sp, #0x78
+ ldrb r0, [r0, #0x14]
+ str r0, [sp, #0x10]
+ mov r0, #0x5
+ lsl r0, r0, #0x6
+ ldr r2, [r5, r0]
+ str r2, [sp, #0x14]
+ add r2, r0, #0x4
+ ldr r2, [r5, r2]
+ str r2, [sp, #0x18]
+ add r2, r0, #0x0
+ add r2, #0x8
+ ldr r2, [r5, r2]
+ add r0, #0xc
+ str r2, [sp, #0x1c]
+ ldr r0, [r5, r0]
+ str r0, [sp, #0x20]
+ str r1, [sp, #0x24]
+ str r1, [sp, #0x28]
+ ldr r2, [sp, #0x3c]
+ ldr r0, [r4, #0x4]
+ add r1, r3, #0x0
+ add r2, r2, r3
+ bl FUN_02008AA4
+ ldr r0, [r5, #0x10]
+ cmp r7, #0x0
+ str r0, [sp, #0x40]
+ ldr r0, [r4, #0x4]
+ str r0, [sp, #0x44]
+ beq _02088596
+ lsl r0, r7, #0xc
+ bl _fflt
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ b _020885A4
+_02088596:
+ lsl r0, r7, #0xc
+ bl _fflt
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+_020885A4:
+ bl _ffix
+ str r0, [sp, #0x48]
+ ldr r0, [sp, #0x30]
+ cmp r0, #0x0
+ beq _020885C2
+ lsl r0, r0, #0xc
+ bl _fflt
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ b _020885D0
+_020885C2:
+ lsl r0, r0, #0xc
+ bl _fflt
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+_020885D0:
+ bl _ffix
+ str r0, [sp, #0x4c]
+ add r0, sp, #0x78
+ ldrh r0, [r0, #0x10]
+ cmp r0, #0x0
+ beq _020885F0
+ lsl r0, r0, #0xc
+ bl _fflt
+ add r1, r0, #0x0
+ mov r0, #0x3f
+ lsl r0, r0, #0x18
+ bl _fadd
+ b _020885FE
+_020885F0:
+ lsl r0, r0, #0xc
+ bl _fflt
+ mov r1, #0x3f
+ lsl r1, r1, #0x18
+ bl _fsub
+_020885FE:
+ bl _ffix
+ str r0, [sp, #0x50]
+ cmp r6, #0x2
+ bne _02088612
+ mov r0, #0x3
+ ldr r1, [sp, #0x4c]
+ lsl r0, r0, #0x12
+ add r0, r1, r0
+ str r0, [sp, #0x4c]
+_02088612:
+ mov r0, #0x1
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x54]
+ str r0, [sp, #0x58]
+ str r0, [sp, #0x5c]
+ mov r1, #0x0
+ add r0, sp, #0x40
+ strh r1, [r0, #0x20]
+ add r0, sp, #0x78
+ ldrb r0, [r0, #0x18]
+ str r6, [sp, #0x68]
+ str r0, [sp, #0x64]
+ ldr r0, [r5, #0x0]
+ str r0, [sp, #0x6c]
+ add r0, sp, #0x40
+ bl FUN_0201FE94
+ str r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _02088652
+ mov r1, #0x0
+ bl FUN_02020130
+ ldr r0, [sp, #0x34]
+ add r1, r6, #0x0
+ bl FUN_02009E88
+ add r1, r0, #0x0
+ ldr r0, [r4, #0x0]
+ bl FUN_02020248
+ b _02088656
+_02088652:
+ bl ErrorHandling
+_02088656:
+ ldr r0, [sp, #0x38]
+ str r4, [r0, #0x4]
+ add sp, #0x70
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02088660
+FUN_02088660: ; 0x02088660
+ push {r4, lr}
+ sub sp, #0x8
+ add r3, r2, #0x0
+ mov r2, #0x55
+ lsl r2, r2, #0x2
+ ldr r4, [r0, r2]
+ ldrh r1, [r1, #0x0]
+ ldr r4, [r4, #0x0]
+ sub r2, #0x10
+ lsl r1, r1, #0x2
+ ldr r4, [r4, r1]
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r1, [r0, #0x0]
+ add r3, r3, #0x3
+ str r1, [sp, #0x4]
+ ldr r0, [r0, r2]
+ add r1, r4, #0x0
+ mov r2, #0x58
+ bl FUN_02009168
+ add r0, r4, #0x0
+ bl FUN_02009DE0
+ add sp, #0x8
+ pop {r4, pc}
+
+ thumb_func_start FUN_02088694
+FUN_02088694: ; 0x02088694
+ push {r3-r5, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ ldr r0, [r4, #0x4]
+ bl FUN_0200C3DC
+ mov r1, #0x16
+ ldrh r2, [r4, #0x0]
+ lsl r1, r1, #0x4
+ ldr r3, [r5, r1]
+ mov r0, #0x0
+ lsl r2, r2, #0x2
+ strb r0, [r3, r2]
+ ldrh r2, [r4, #0x0]
+ ldr r3, [r5, r1]
+ lsl r2, r2, #0x2
+ add r2, r3, r2
+ strh r0, [r2, #0x2]
+ ldr r2, [r5, r1]
+ ldrh r1, [r4, #0x0]
+ lsl r1, r1, #0x2
+ add r1, r2, r1
+ strb r0, [r1, #0x1]
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020886CC
+FUN_020886CC: ; 0x020886CC
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r5, r0, #0x0
+ mov r0, #0x15
+ lsl r0, r0, #0x4
+ ldr r4, [r5, r0]
+ mov r1, #0xe
+ lsl r1, r1, #0xc
+ str r1, [sp, #0x0]
+ ldrh r1, [r5, #0xe]
+ mov r2, #0x0
+ sub r0, #0x10
+ str r1, [sp, #0x4]
+ ldr r1, [r5, #0x0]
+ add r3, r2, #0x0
+ str r1, [sp, #0x8]
+ ldr r0, [r5, r0]
+ mov r1, #0x58
+ bl FUN_02008F34
+ ldr r1, [r4, #0x0]
+ str r0, [r1, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02088704
+ bl ErrorHandling
+_02088704:
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x0
+ beq _02088728
+ cmp r0, #0x1
+ beq _02088714
+ cmp r0, #0x2
+ beq _0208871E
+ b _02088728
+_02088714:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_02009B04
+ b _02088730
+_0208871E:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_02009B78
+ b _02088730
+_02088728:
+ ldr r0, [r4, #0x0]
+ ldr r0, [r0, #0x0]
+ bl FUN_02009A50
+_02088730:
+ mov r4, #0x0
+ add r6, r5, #0x0
+_02088734:
+ mov r0, #0x56
+ lsl r0, r0, #0x2
+ ldr r7, [r6, r0]
+ mov r0, #0xe
+ lsl r0, r0, #0xc
+ str r0, [sp, #0x0]
+ add r0, r4, #0x2
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x58
+ str r0, [sp, #0x8]
+ mov r0, #0x52
+ lsl r0, r0, #0x2
+ ldr r0, [r6, r0]
+ add r2, r4, #0x1
+ mov r3, #0x0
+ bl FUN_020090AC
+ ldr r1, [r7, #0x0]
+ str r0, [r1, #0x0]
+ ldr r0, [r7, #0x0]
+ ldr r0, [r0, #0x0]
+ cmp r0, #0x0
+ bne _02088768
+ bl ErrorHandling
+_02088768:
+ add r4, r4, #0x1
+ add r6, r6, #0x4
+ cmp r4, #0x2
+ blt _02088734
+ mov r0, #0x55
+ lsl r0, r0, #0x2
+ ldr r6, [r5, r0]
+ ldrh r0, [r5, #0xa]
+ mov r7, #0x0
+ cmp r0, #0x0
+ ble _020887C6
+ add r4, r7, #0x0
+_02088780:
+ mov r0, #0xe
+ lsl r0, r0, #0xc
+ add r0, r7, r0
+ str r0, [sp, #0x0]
+ ldrh r0, [r5, #0xe]
+ mov r1, #0x58
+ mov r2, #0x4
+ str r0, [sp, #0x4]
+ mov r0, #0x1
+ str r0, [sp, #0x8]
+ ldr r0, [r5, #0x0]
+ mov r3, #0x0
+ str r0, [sp, #0xc]
+ mov r0, #0x51
+ lsl r0, r0, #0x2
+ ldr r0, [r5, r0]
+ bl FUN_02008FEC
+ ldr r1, [r6, #0x0]
+ str r0, [r1, r4]
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r4]
+ cmp r0, #0x0
+ bne _020887B4
+ bl ErrorHandling
+_020887B4:
+ ldr r0, [r6, #0x0]
+ ldr r0, [r0, r4]
+ bl FUN_02009CF0
+ ldrh r0, [r5, #0xa]
+ add r7, r7, #0x1
+ add r4, r4, #0x4
+ cmp r7, r0
+ blt _02088780
+_020887C6:
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_020887CC
+FUN_020887CC: ; 0x020887CC
+ push {r3-r6}
+ ldrh r5, [r0, #0xa]
+ mov r3, #0x0
+ cmp r5, #0x0
+ bls _0208880A
+ mov r2, #0x16
+ lsl r2, r2, #0x4
+ ldr r4, [r0, r2]
+_020887DC:
+ lsl r2, r3, #0x2
+ ldrb r6, [r4, r2]
+ cmp r6, #0x0
+ bne _02088800
+ add r4, r4, r2
+ strh r3, [r4, #0x2]
+ mov r4, #0x16
+ lsl r4, r4, #0x4
+ ldr r5, [r0, r4]
+ add r5, r5, r2
+ strb r1, [r5, #0x1]
+ ldr r0, [r0, r4]
+ mov r1, #0x1
+ strb r1, [r0, r2]
+ lsl r0, r3, #0x10
+ asr r0, r0, #0x10
+ pop {r3-r6}
+ bx lr
+_02088800:
+ add r2, r3, #0x1
+ lsl r2, r2, #0x10
+ lsr r3, r2, #0x10
+ cmp r3, r5
+ blo _020887DC
+_0208880A:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02088814
+FUN_02088814: ; 0x02088814
+ mov r0, #0x3
+ bx lr
+
+ thumb_func_start FUN_02088818
+FUN_02088818: ; 0x02088818
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_0208881C
+FUN_0208881C: ; 0x0208881C
+ ldr r3, _02088828 ; =FUN_0202D8D0
+ add r2, r0, #0x0
+ ldr r0, _0208882C ; =0x020FD1C4
+ mov r1, #0x6c
+ bx r3
+ nop
+_02088828: .word FUN_0202D8D0
+_0208882C: .word 0x020FD1C4
+
+ thumb_func_start FUN_02088830
+FUN_02088830: ; 0x02088830
+ ldr r0, _02088834 ; =0x0000066C
+ bx lr
+ .balign 4
+_02088834: .word 0x0000066C
+
+ thumb_func_start FUN_02088838
+FUN_02088838: ; 0x02088838
+ mov r0, #0x2f
+ lsl r0, r0, #0x6
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02088840
+FUN_02088840: ; 0x02088840
+ mov r0, #0x3f
+ lsl r0, r0, #0x4
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02088848
+FUN_02088848: ; 0x02088848
+ mov r0, #0xa
+ bx lr
+
+ thumb_func_start FUN_0208884C
+FUN_0208884C: ; 0x0208884C
+ mov r0, #0x32
+ bx lr
+
+ thumb_func_start FUN_02088850
+FUN_02088850: ; 0x02088850
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_02088854
+FUN_02088854: ; 0x02088854
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_02088858
+FUN_02088858: ; 0x02088858
+ ldr r3, _02088860 ; =HandleLoadOverlay
+ ldr r0, _02088864 ; =SDK_OVERLAY_MODULE_04_ID
+ mov r1, #0x2
+ bx r3
+ .balign 4
+_02088860: .word HandleLoadOverlay
+_02088864: .word SDK_OVERLAY_MODULE_04_ID
+
+ thumb_func_start FUN_02088868
+FUN_02088868: ; 0x02088868
+ ldr r3, _02088870 ; =UnloadOverlayByID
+ ldr r0, _02088874 ; =SDK_OVERLAY_MODULE_04_ID
+ bx r3
+ nop
+_02088870: .word UnloadOverlayByID
+_02088874: .word SDK_OVERLAY_MODULE_04_ID
+
+ thumb_func_start FUN_02088878
+FUN_02088878: ; 0x02088878
+ ldr r3, _02088880 ; =HandleLoadOverlay
+ ldr r0, _02088884 ; =SDK_OVERLAY_MODULE_13_ID
+ mov r1, #0x2
+ bx r3
+ .balign 4
+_02088880: .word HandleLoadOverlay
+_02088884: .word SDK_OVERLAY_MODULE_13_ID
+
+ thumb_func_start FUN_02088888
+FUN_02088888: ; 0x02088888
+ ldr r3, _02088890 ; =UnloadOverlayByID
+ ldr r0, _02088894 ; =SDK_OVERLAY_MODULE_13_ID
+ bx r3
+ nop
+_02088890: .word UnloadOverlayByID
+_02088894: .word SDK_OVERLAY_MODULE_13_ID
+
+ thumb_func_start FUN_02088898
+FUN_02088898: ; 0x02088898
+ push {r4, lr}
+ add r4, r1, #0x0
+ bl FUN_02088858
+ bl FUN_02088878
+ add r0, r4, #0x0
+ bl MOD07_02211E60
+ bl FUN_02088888
+ bl FUN_02088868
+ mov r0, #0x0
+ bl OS_ResetSystem
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020888BC
+FUN_020888BC: ; 0x020888BC
+ ldr r3, _020888C4 ; =HandleLoadOverlay
+ ldr r0, _020888C8 ; =SDK_OVERLAY_MODULE_79_ID
+ mov r1, #0x2
+ bx r3
+ .balign 4
+_020888C4: .word HandleLoadOverlay
+_020888C8: .word SDK_OVERLAY_MODULE_79_ID
+
+ thumb_func_start FUN_020888CC
+FUN_020888CC: ; 0x020888CC
+ ldr r3, _020888D4 ; =UnloadOverlayByID
+ ldr r0, _020888D8 ; =SDK_OVERLAY_MODULE_79_ID
+ bx r3
+ nop
+_020888D4: .word UnloadOverlayByID
+_020888D8: .word SDK_OVERLAY_MODULE_79_ID
+
+ thumb_func_start FUN_020888DC
+FUN_020888DC: ; 0x020888DC
+ push {r4, lr}
+ mov r2, #0x41
+ add r4, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x31
+ lsl r2, r2, #0xc
+ bl FUN_0201681C
+ add r0, r4, #0x0
+ bl FUN_0200628C
+ ldr r0, [r0, #0x8]
+ mov r1, #0x31
+ bl FUN_02088898
+ mov r0, #0x31
+ bl FUN_020168D0
+ mov r0, #0x0
+ bl OS_ResetSystem
+ mov r0, #0x1
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208890C
+FUN_0208890C: ; 0x0208890C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ add r5, r1, #0x0
+ add r0, r2, #0x0
+ mov r1, #0x20
+ add r7, r3, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r1, #0x0
+ mov r2, #0x20
+ bl MI_CpuFill8
+ str r5, [r4, #0xc]
+ add r0, r5, #0x0
+ bl FUN_02028048
+ str r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_020238F4
+ str r0, [r4, #0x10]
+ add r0, r5, #0x0
+ bl FUN_0206F158
+ str r0, [r4, #0x14]
+ add r0, r5, #0x0
+ bl LoadPlayerDataAddress
+ str r0, [r4, #0x18]
+ str r7, [r4, #0x1c]
+ str r6, [r4, #0x4]
+ add r0, r4, #0x0
+ pop {r3-r7, pc}
+
+ thumb_func_start FUN_02088950
+FUN_02088950: ; 0x02088950
+ ldr r3, _02088958 ; =FUN_020373D4
+ add r2, r1, #0x0
+ ldr r1, _0208895C ; =0x020FD6E4
+ bx r3
+ .balign 4
+_02088958: .word FUN_020373D4
+_0208895C: .word 0x020FD6E4
+
+ thumb_func_start FUN_02088960
+FUN_02088960: ; 0x02088960
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ bl FUN_020377AC
+ add r3, r5, #0x0
+ add r3, #0x98
+ add r1, r0, #0x0
+ ldr r3, [r3, #0x0]
+ add r0, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_0208890C
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02088950
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208898C
+FUN_0208898C: ; 0x0208898C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x0]
+ cmp r0, #0x0
+ beq _020889AC
+ bl FUN_02006290
+ cmp r0, #0x0
+ beq _020889AC
+ ldr r0, [r4, #0x0]
+ bl FUN_02006260
+ mov r0, #0x0
+ str r0, [r4, #0x0]
+ mov r0, #0x1
+ pop {r4, pc}
+_020889AC:
+ mov r0, #0x0
+ pop {r4, pc}
+
+ thumb_func_start FUN_020889B0
+FUN_020889B0: ; 0x020889B0
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ bl FUN_0200628C
+ mov r2, #0x1
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x37
+ lsl r2, r2, #0xe
+ bl FUN_0201681C
+ add r0, r4, #0x0
+ mov r1, #0x24
+ mov r2, #0x37
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x24
+ add r4, r0, #0x0
+ bl MI_CpuFill8
+ mov r0, #0x37
+ str r0, [r4, #0x0]
+ str r5, [r4, #0x10]
+ ldr r0, [r4, #0x0]
+ bl FUN_0206F164
+ str r0, [r4, #0xc]
+ ldr r0, [r5, #0x4]
+ cmp r0, #0x1
+ bne _020889FA
+ ldrh r1, [r4, #0x6]
+ mov r0, #0xff
+ bic r1, r0
+ mov r0, #0x1
+ orr r0, r1
+ strh r0, [r4, #0x6]
+_020889FA:
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_02088A00
+FUN_02088A00: ; 0x02088A00
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_02006278
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ ldr r5, [r4, #0x0]
+ cmp r5, #0x4
+ bhi _02088A6A
+ add r0, r5, r5
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02088A24: ; jump table (using 16-bit offset)
+ .short _02088A2E - _02088A24 - 2; case 0
+ .short _02088A3C - _02088A24 - 2; case 1
+ .short _02088A4A - _02088A24 - 2; case 2
+ .short _02088A58 - _02088A24 - 2; case 3
+ .short _02088A66 - _02088A24 - 2; case 4
+_02088A2E:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088AAC
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A3C:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088AFC
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A4A:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088B28
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A58:
+ add r1, r6, #0x0
+ add r0, r6, #0x0
+ add r1, #0x14
+ bl FUN_02088B48
+ str r0, [r4, #0x0]
+ b _02088A6A
+_02088A66:
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02088A6A:
+ ldr r0, [r4, #0x0]
+ cmp r5, r0
+ beq _02088A74
+ mov r0, #0x0
+ str r0, [r6, #0x14]
+_02088A74:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02088A78
+FUN_02088A78: ; 0x02088A78
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ add r4, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ ldr r0, [r4, #0xc]
+ ldr r6, [r4, #0x0]
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r2, #0x24
+ bl MI_CpuFill8
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ add r0, r6, #0x0
+ bl FUN_020168D0
+ mov r0, #0x1
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02088AAC
+FUN_02088AAC: ; 0x02088AAC
+ push {r4, lr}
+ add r4, r1, #0x0
+ ldr r1, [r4, #0x0]
+ cmp r1, #0x5
+ bhi _02088AF6
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02088AC2: ; jump table (using 16-bit offset)
+ .short _02088ACE - _02088AC2 - 2; case 0
+ .short _02088AD6 - _02088AC2 - 2; case 1
+ .short _02088ADE - _02088AC2 - 2; case 2
+ .short _02088AE6 - _02088AC2 - 2; case 3
+ .short _02088AEE - _02088AC2 - 2; case 4
+ .short _02088AF2 - _02088AC2 - 2; case 5
+_02088ACE:
+ bl FUN_02088B4C
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088AD6:
+ bl FUN_02088BA8
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088ADE:
+ bl FUN_02088C3C
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088AE6:
+ bl FUN_02088CDC
+ str r0, [r4, #0x0]
+ b _02088AF6
+_02088AEE:
+ mov r0, #0x1
+ pop {r4, pc}
+_02088AF2:
+ mov r0, #0x4
+ pop {r4, pc}
+_02088AF6:
+ mov r0, #0x0
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02088AFC
+FUN_02088AFC: ; 0x02088AFC
+ push {r3-r5, lr}
+ sub sp, #0x10
+ ldr r5, _02088B24 ; =0x020FD708
+ add r3, sp, #0x0
+ add r4, r0, #0x0
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ ldr r2, [r4, #0x0]
+ add r1, r4, #0x0
+ bl FUN_02006234
+ str r0, [r4, #0x1c]
+ mov r0, #0x2
+ add sp, #0x10
+ pop {r3-r5, pc}
+ nop
+_02088B24: .word 0x020FD708
+
+ thumb_func_start FUN_02088B28
+FUN_02088B28: ; 0x02088B28
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x1c
+ bl FUN_0208898C
+ cmp r0, #0x0
+ bne _02088B3A
+ mov r0, #0x2
+ pop {r4, pc}
+_02088B3A:
+ ldr r0, [r4, #0x20]
+ cmp r0, #0x1
+ bne _02088B44
+ mov r0, #0x0
+ pop {r4, pc}
+_02088B44:
+ mov r0, #0x3
+ pop {r4, pc}
+
+ thumb_func_start FUN_02088B48
+FUN_02088B48: ; 0x02088B48
+ mov r0, #0x4
+ bx lr
+
+ thumb_func_start FUN_02088B4C
+FUN_02088B4C: ; 0x02088B4C
+ push {r3-r5, lr}
+ sub sp, #0x10
+ ldr r3, _02088BA0 ; =0x020FD6F8
+ add r2, sp, #0x0
+ add r5, r0, #0x0
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r5, #0x10]
+ ldr r1, _02088BA4 ; =0x020FD6F4
+ ldr r0, [r0, #0x14]
+ ldr r2, [r5, #0x0]
+ bl FUN_0206EFEC
+ add r4, r0, #0x0
+ ldrh r0, [r5, #0x6]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x1
+ bne _02088B7A
+ mov r2, #0x5
+ b _02088B7C
+_02088B7A:
+ mov r2, #0x4
+_02088B7C:
+ ldr r1, [r5, #0x10]
+ lsl r2, r2, #0x18
+ ldr r1, [r1, #0xc]
+ ldr r3, [r5, #0xc]
+ add r0, r4, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_0206E314
+ ldr r2, [r5, #0x0]
+ add r0, sp, #0x0
+ add r1, r4, #0x0
+ bl FUN_02006234
+ str r0, [r5, #0x1c]
+ str r4, [r5, #0x18]
+ mov r0, #0x1
+ add sp, #0x10
+ pop {r3-r5, pc}
+ .balign 4
+_02088BA0: .word 0x020FD6F8
+_02088BA4: .word 0x020FD6F4
+
+ thumb_func_start FUN_02088BA8
+FUN_02088BA8: ; 0x02088BA8
+ push {r3-r5, lr}
+ add r4, r0, #0x0
+ add r0, #0x1c
+ bl FUN_0208898C
+ cmp r0, #0x0
+ bne _02088BBA
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02088BBA:
+ ldr r0, [r4, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0206E2F0
+ add r5, r0, #0x0
+ bl FUN_0206E308
+ add r2, r0, #0x0
+ ldr r1, [r4, #0x18]
+ add r0, r5, #0x0
+ bl memcpy
+ ldr r0, [r4, #0x18]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x18]
+ add r0, r5, #0x0
+ bl FUN_0206E37C
+ str r0, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ bl FUN_0206E384
+ cmp r0, #0x5
+ bhi _02088C16
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02088C02: ; jump table (using 16-bit offset)
+ .short _02088C1E - _02088C02 - 2; case 0
+ .short _02088C0E - _02088C02 - 2; case 1
+ .short _02088C1E - _02088C02 - 2; case 2
+ .short _02088C1E - _02088C02 - 2; case 3
+ .short _02088C1E - _02088C02 - 2; case 4
+ .short _02088C12 - _02088C02 - 2; case 5
+_02088C0E:
+ mov r0, #0x2
+ pop {r3-r5, pc}
+_02088C12:
+ mov r0, #0x5
+ pop {r3-r5, pc}
+_02088C16:
+ bl ErrorHandling
+ mov r0, #0x95
+ str r0, [r4, #0x8]
+_02088C1E:
+ ldr r0, [r4, #0x10]
+ ldr r1, [r4, #0x8]
+ ldr r0, [r0, #0x14]
+ lsl r1, r1, #0x10
+ ldr r3, [r4, #0x0]
+ lsr r1, r1, #0x10
+ mov r2, #0x1
+ bl FUN_0206EDD4
+ cmp r0, #0x0
+ bne _02088C38
+ bl ErrorHandling
+_02088C38:
+ mov r0, #0x4
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02088C3C
+FUN_02088C3C: ; 0x02088C3C
+ push {r3-r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x10]
+ ldr r3, _02088CD8 ; =0x020FD718
+ ldr r0, [r0, #0x14]
+ add r2, sp, #0x8
+ str r0, [sp, #0x0]
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldmia r3!, {r0-r1}
+ stmia r2!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_020851B8
+ str r0, [r5, #0x18]
+ ldr r1, [r5, #0x8]
+ mov r2, #0x1
+ lsl r1, r1, #0x10
+ lsr r1, r1, #0x10
+ bl FUN_020851DC
+ mov r6, #0x0
+ add r4, r6, #0x0
+_02088C70:
+ add r0, r4, #0x0
+ bl FUN_0206EB1C
+ lsl r0, r0, #0x18
+ lsr r7, r0, #0x18
+ ldr r0, [sp, #0x0]
+ ldr r3, [r5, #0x0]
+ add r1, r7, #0x0
+ mov r2, #0x1
+ bl FUN_0206EE50
+ cmp r0, #0x1
+ bne _02088C9A
+ ldr r0, [r5, #0x18]
+ add r1, r7, #0x0
+ mov r2, #0x0
+ bl FUN_020851DC
+ add r0, r6, #0x1
+ lsl r0, r0, #0x18
+ lsr r6, r0, #0x18
+_02088C9A:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x40
+ blo _02088C70
+ add r3, sp, #0x4
+ ldr r0, [r5, #0xc]
+ mov r1, #0x4
+ add r2, sp, #0x4
+ add r3, #0x1
+ bl FUN_0206F17C
+ add r2, sp, #0x4
+ ldrb r1, [r2, #0x1]
+ add r3, r6, #0x2
+ lsl r3, r3, #0x18
+ ldrb r2, [r2, #0x0]
+ ldr r0, [r5, #0x18]
+ lsr r3, r3, #0x18
+ bl FUN_020851F8
+ ldr r1, [r5, #0x18]
+ ldr r2, [r5, #0x0]
+ add r0, sp, #0x8
+ bl FUN_02006234
+ str r0, [r5, #0x1c]
+ mov r0, #0x3
+ add sp, #0x18
+ pop {r3-r7, pc}
+ nop
+_02088CD8: .word 0x020FD718
+
+ thumb_func_start FUN_02088CDC
+FUN_02088CDC: ; 0x02088CDC
+ push {r3-r4, lr}
+ sub sp, #0x4
+ add r4, r0, #0x0
+ add r0, #0x1c
+ bl FUN_0208898C
+ cmp r0, #0x0
+ bne _02088CF2
+ add sp, #0x4
+ mov r0, #0x3
+ pop {r3-r4, pc}
+_02088CF2:
+ add r1, sp, #0x0
+ ldr r0, [r4, #0x18]
+ add r1, #0x1
+ add r2, sp, #0x0
+ bl FUN_0208524C
+ add r3, sp, #0x0
+ ldrb r2, [r3, #0x0]
+ ldrb r3, [r3, #0x1]
+ ldr r0, [r4, #0xc]
+ mov r1, #0x4
+ bl FUN_0206F190
+ ldr r0, [r4, #0x18]
+ bl FUN_02016A18
+ mov r0, #0x0
+ str r0, [r4, #0x18]
+ add sp, #0x4
+ pop {r3-r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02088D1C
+FUN_02088D1C: ; 0x02088D1C
+ mov r0, #0x13
+ bx lr
+
+ thumb_func_start FUN_02088D20
+FUN_02088D20: ; 0x02088D20
+ ldr r3, _02088D3C ; =0x020FD8C8
+ mov r2, #0x0
+_02088D24:
+ ldrb r1, [r3, #0x0]
+ cmp r0, r1
+ bne _02088D2E
+ add r0, r2, #0x0
+ bx lr
+_02088D2E:
+ add r2, r2, #0x1
+ add r3, #0xc
+ cmp r2, #0x13
+ blo _02088D24
+ mov r0, #0x0
+ bx lr
+ nop
+_02088D3C: .word 0x020FD8C8
+
+ thumb_func_start FUN_02088D40
+FUN_02088D40: ; 0x02088D40
+ push {r3, lr}
+ bl FUN_02088D20
+ bl FUN_02088D4C
+ pop {r3, pc}
+
+ thumb_func_start FUN_02088D4C
+FUN_02088D4C: ; 0x02088D4C
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x13
+ blo _02088D58
+ bl ErrorHandling
+_02088D58:
+ mov r0, #0xc
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02088D64 ; =0x020FD8CA
+ ldrh r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02088D64: .word 0x020FD8CA
+
+ thumb_func_start FUN_02088D68
+FUN_02088D68: ; 0x02088D68
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x13
+ blo _02088D74
+ bl ErrorHandling
+_02088D74:
+ mov r0, #0xc
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02088D80 ; =0x020FD8C8
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02088D80: .word 0x020FD8C8
+
+ thumb_func_start FUN_02088D84
+FUN_02088D84: ; 0x02088D84
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x13
+ blo _02088D90
+ bl ErrorHandling
+_02088D90:
+ mov r0, #0xc
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02088D9C ; =0x020FD8C9
+ ldrb r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02088D9C: .word 0x020FD8C9
+
+ thumb_func_start FUN_02088DA0
+FUN_02088DA0: ; 0x02088DA0
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x13
+ blo _02088DAC
+ bl ErrorHandling
+_02088DAC:
+ mov r0, #0xc
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02088DB8 ; =0x020FD8CC
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02088DB8: .word 0x020FD8CC
+
+ thumb_func_start FUN_02088DBC
+FUN_02088DBC: ; 0x02088DBC
+ push {r4, lr}
+ add r4, r0, #0x0
+ cmp r4, #0x13
+ blo _02088DC8
+ bl ErrorHandling
+_02088DC8:
+ mov r0, #0xc
+ add r1, r4, #0x0
+ mul r1, r0
+ ldr r0, _02088DD4 ; =0x020FD8D0
+ ldr r0, [r0, r1]
+ pop {r4, pc}
+ .balign 4
+_02088DD4: .word 0x020FD8D0
+
+ thumb_func_start FUN_02088DD8
+FUN_02088DD8: ; 0x02088DD8
+ push {r3, lr}
+ mov r1, #0x18
+ bl FUN_02016998
+ add r3, r0, #0x0
+ mov r2, #0x18
+ mov r1, #0x0
+_02088DE6:
+ strb r1, [r3, #0x0]
+ add r3, r3, #0x1
+ sub r2, r2, #0x1
+ bne _02088DE6
+ pop {r3, pc}
+
+ thumb_func_start FUN_02088DF0
+FUN_02088DF0: ; 0x02088DF0
+ ldr r3, _02088DF4 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_02088DF4: .word FUN_02016A18
+
+ thumb_func_start FUN_02088DF8
+FUN_02088DF8: ; 0x02088DF8
+ push {r3-r7, lr}
+ sub sp, #0x18
+ str r1, [sp, #0x0]
+ mov r1, #0x5
+ mov r2, #0x0
+ add r5, r0, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0xc]
+ add r0, r5, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ mov r1, #0xa0
+ mov r2, #0x0
+ bl FUN_020671BC
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r4, #0x0
+ str r0, [sp, #0x4]
+ add r7, r4, #0x0
+ add r6, sp, #0x10
+_02088E34:
+ add r1, r4, #0x0
+ add r0, r5, #0x0
+ add r1, #0x36
+ add r2, r7, #0x0
+ bl FUN_020671BC
+ lsl r1, r4, #0x1
+ strh r0, [r6, r1]
+ add r0, r4, #0x1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x4
+ blo _02088E34
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ mov r1, #0x2c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ ldr r0, [sp, #0xc]
+ ldr r1, [sp, #0x8]
+ add r2, r7, #0x0
+ bl FUN_02069F9C
+ mov r2, #0x0
+ mov r12, r2
+_02088E70:
+ mov r0, r12
+ lsl r0, r0, #0x1
+ ldrh r5, [r7, r0]
+ ldr r6, _02088EF4 ; =0x0000FFFF
+ cmp r5, r6
+ bne _02088E82
+ lsl r0, r2, #0x1
+ strh r6, [r4, r0]
+ b _02088EE8
+_02088E82:
+ mov r1, #0xfe
+ lsl r1, r1, #0x8
+ and r1, r5
+ asr r3, r1, #0x9
+ ldr r1, [sp, #0x4]
+ cmp r3, r1
+ bgt _02088EDA
+ lsr r1, r6, #0x7
+ and r1, r5
+ strh r1, [r7, r0]
+ ldrh r3, [r7, r0]
+ mov r1, #0x0
+ add r6, sp, #0x10
+_02088E9C:
+ lsl r5, r1, #0x1
+ ldrh r5, [r6, r5]
+ cmp r3, r5
+ beq _02088EAE
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, #0x4
+ blo _02088E9C
+_02088EAE:
+ cmp r1, #0x4
+ bne _02088EDA
+ mov r1, #0x0
+ cmp r2, #0x0
+ bls _02088ECA
+_02088EB8:
+ lsl r5, r1, #0x1
+ ldrh r5, [r4, r5]
+ cmp r5, r3
+ beq _02088ECA
+ add r1, r1, #0x1
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x18
+ cmp r1, r2
+ blo _02088EB8
+_02088ECA:
+ cmp r1, r2
+ bne _02088EDA
+ ldrh r1, [r7, r0]
+ lsl r0, r2, #0x1
+ strh r1, [r4, r0]
+ add r0, r2, #0x1
+ lsl r0, r0, #0x18
+ lsr r2, r0, #0x18
+_02088EDA:
+ mov r0, r12
+ add r0, r0, #0x1
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ mov r12, r0
+ cmp r0, #0x16
+ blo _02088E70
+_02088EE8:
+ add r0, r7, #0x0
+ bl FUN_02016A18
+ add r0, r4, #0x0
+ add sp, #0x18
+ pop {r3-r7, pc}
+ .balign 4
+_02088EF4: .word 0x0000FFFF
+
+ thumb_func_start FUN_02088EF8
+FUN_02088EF8: ; 0x02088EF8
+ ldrh r1, [r0, #0x0]
+ ldr r0, _02088F08 ; =0x0000FFFF
+ cmp r1, r0
+ beq _02088F04
+ mov r0, #0x1
+ bx lr
+_02088F04:
+ mov r0, #0x0
+ bx lr
+ .balign 4
+_02088F08: .word 0x0000FFFF
+
+ thumb_func_start FUN_02088F0C
+FUN_02088F0C: ; 0x02088F0C
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ ldr r1, _02088F44 ; =0x0000195C
+ add r6, r0, #0x0
+ bl FUN_02016998
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ str r5, [r4, #0x0]
+ bl FUN_020139D8
+ str r0, [r4, #0x4]
+ mov r3, #0x0
+ ldr r0, _02088F48 ; =0x0000189E
+ add r2, r3, #0x0
+_02088F2A:
+ add r1, r4, r3
+ add r3, r3, #0x1
+ strb r2, [r1, r0]
+ cmp r3, #0xbb
+ blt _02088F2A
+ add r0, r4, #0x0
+ bl FUN_02088F60
+ add r0, r4, #0x0
+ bl FUN_020891D0
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_02088F44: .word 0x0000195C
+_02088F48: .word 0x0000189E
+
+ thumb_func_start FUN_02088F4C
+FUN_02088F4C: ; 0x02088F4C
+ push {r4, lr}
+ add r4, r0, #0x0
+ beq _02088F5E
+ ldr r0, [r4, #0x4]
+ bl FUN_02013A10
+ add r0, r4, #0x0
+ bl FUN_02016A18
+_02088F5E:
+ pop {r4, pc}
+
+ thumb_func_start FUN_02088F60
+FUN_02088F60: ; 0x02088F60
+ push {r4-r7, lr}
+ sub sp, #0xc
+ mov r4, #0x0
+ str r0, [sp, #0x0]
+ add r7, r0, #0x0
+ str r0, [sp, #0x8]
+ add r0, #0x68
+ ldr r5, _02088F9C ; =0x020FE17C
+ str r4, [sp, #0x4]
+ str r0, [sp, #0x8]
+_02088F74:
+ ldr r3, [sp, #0x8]
+ str r4, [r7, #0x38]
+ lsl r6, r4, #0x1
+ add r3, r3, r6
+ ldr r0, [sp, #0x0]
+ ldr r1, [r5, #0x4]
+ ldr r2, [r5, #0x8]
+ ldr r6, [r5, #0x0]
+ blx r6
+ str r0, [r7, #0x8]
+ add r4, r4, r0
+ ldr r0, [sp, #0x4]
+ add r7, r7, #0x4
+ add r0, r0, #0x1
+ add r5, #0xc
+ str r0, [sp, #0x4]
+ cmp r0, #0xc
+ blt _02088F74
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02088F9C: .word 0x020FE17C
+
+ thumb_func_start FUN_02088FA0
+FUN_02088FA0: ; 0x02088FA0
+ push {r4-r7, lr}
+ sub sp, #0xc
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ str r2, [sp, #0x4]
+ add r5, r1, #0x0
+ add r4, r3, #0x0
+ mov r6, #0x0
+ bl FUN_02085418
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x4]
+ add r7, r6, #0x0
+ cmp r0, #0x0
+ bls _02088FF6
+_02088FBE:
+ ldrh r1, [r5, #0x0]
+ ldr r0, [sp, #0x8]
+ bl FUN_020245F0
+ cmp r0, #0x0
+ beq _02088FEC
+ ldrh r3, [r5, #0x0]
+ ldr r0, [sp, #0x0]
+ mov r2, #0x7
+ lsr r1, r3, #0x3
+ add r1, r0, r1
+ ldr r0, _02088FFC ; =0x0000189E
+ and r3, r2
+ mov r2, #0x1
+ ldrb r0, [r1, r0]
+ lsl r2, r3
+ orr r2, r0
+ ldr r0, _02088FFC ; =0x0000189E
+ add r6, r6, #0x1
+ strb r2, [r1, r0]
+ ldrh r0, [r5, #0x0]
+ strh r0, [r4, #0x0]
+ add r4, r4, #0x2
+_02088FEC:
+ ldr r0, [sp, #0x4]
+ add r7, r7, #0x1
+ add r5, r5, #0x2
+ cmp r7, r0
+ blo _02088FBE
+_02088FF6:
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ .balign 4
+_02088FFC: .word 0x0000189E
+
+ thumb_func_start FUN_02089000
+FUN_02089000: ; 0x02089000
+ push {r3-r7, lr}
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ add r5, r1, #0x0
+ add r7, r2, #0x0
+ add r4, r3, #0x0
+ bl FUN_02085420
+ cmp r0, #0x0
+ beq _02089046
+ mov r2, #0x0
+ cmp r7, #0x0
+ bls _02089042
+_0208901A:
+ ldrh r6, [r5, #0x0]
+ ldr r0, [sp, #0x0]
+ mov r3, #0x7
+ lsr r1, r6, #0x3
+ add r1, r0, r1
+ ldr r0, _0208904C ; =0x0000189E
+ and r6, r3
+ mov r3, #0x1
+ ldrb r0, [r1, r0]
+ lsl r3, r6
+ orr r3, r0
+ ldr r0, _0208904C ; =0x0000189E
+ add r2, r2, #0x1
+ strb r3, [r1, r0]
+ ldrh r0, [r5, #0x0]
+ add r5, r5, #0x2
+ strh r0, [r4, #0x0]
+ add r4, r4, #0x2
+ cmp r2, r7
+ blo _0208901A
+_02089042:
+ add r0, r7, #0x0
+ pop {r3-r7, pc}
+_02089046:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_0208904C: .word 0x0000189E
+
+ thumb_func_start FUN_02089050
+FUN_02089050: ; 0x02089050
+ push {r3-r7, lr}
+ sub sp, #0x10
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ add r5, r1, #0x0
+ str r2, [sp, #0x4]
+ add r4, r3, #0x0
+ bl FUN_0208541C
+ str r0, [sp, #0xc]
+ ldr r0, _020890BC ; =0x00000189
+ mov r1, #0x0
+ bl FUN_02013A9C
+ str r0, [sp, #0x8]
+ mov r7, #0x0
+ ldr r0, [sp, #0x4]
+ add r6, r7, #0x0
+ cmp r0, #0x0
+ bls _020890B4
+_02089078:
+ ldrh r2, [r5, #0x0]
+ ldr r1, [sp, #0x8]
+ ldr r0, [sp, #0xc]
+ sub r1, r2, r1
+ bl FUN_02013B68
+ cmp r0, #0x0
+ beq _020890AA
+ ldrh r3, [r5, #0x0]
+ ldr r0, [sp, #0x0]
+ mov r2, #0x7
+ lsr r1, r3, #0x3
+ add r1, r0, r1
+ ldr r0, _020890C0 ; =0x0000189E
+ and r3, r2
+ mov r2, #0x1
+ ldrb r0, [r1, r0]
+ lsl r2, r3
+ orr r2, r0
+ ldr r0, _020890C0 ; =0x0000189E
+ add r6, r6, #0x1
+ strb r2, [r1, r0]
+ ldrh r0, [r5, #0x0]
+ strh r0, [r4, #0x0]
+ add r4, r4, #0x2
+_020890AA:
+ ldr r0, [sp, #0x4]
+ add r7, r7, #0x1
+ add r5, r5, #0x2
+ cmp r7, r0
+ blo _02089078
+_020890B4:
+ add r0, r6, #0x0
+ add sp, #0x10
+ pop {r3-r7, pc}
+ nop
+_020890BC: .word 0x00000189
+_020890C0: .word 0x0000189E
+
+ thumb_func_start FUN_020890C4
+FUN_020890C4: ; 0x020890C4
+ push {r4-r7, lr}
+ sub sp, #0x14
+ str r0, [sp, #0x0]
+ ldr r0, [r0, #0x0]
+ add r5, r1, #0x0
+ str r2, [sp, #0x4]
+ add r4, r3, #0x0
+ bl FUN_0208541C
+ str r0, [sp, #0x10]
+ ldr r0, _02089144 ; =0x00000186
+ mov r1, #0x0
+ bl FUN_02013A9C
+ add r6, r0, #0x0
+ add r0, r6, #0x5
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0xc]
+ mov r7, #0x0
+ ldr r0, [sp, #0x4]
+ str r7, [sp, #0x8]
+ cmp r0, #0x0
+ bls _0208913C
+_020890F4:
+ ldrh r1, [r5, #0x0]
+ cmp r1, r6
+ blo _0208910C
+ ldr r0, [sp, #0xc]
+ cmp r1, r0
+ bhi _0208910C
+ ldr r0, [sp, #0x10]
+ sub r1, r1, r6
+ bl FUN_02013C0C
+ cmp r0, #0x0
+ beq _0208912E
+_0208910C:
+ ldrh r3, [r5, #0x0]
+ ldr r0, [sp, #0x0]
+ mov r2, #0x7
+ lsr r1, r3, #0x3
+ add r1, r0, r1
+ ldr r0, _02089148 ; =0x0000189E
+ and r3, r2
+ mov r2, #0x1
+ ldrb r0, [r1, r0]
+ lsl r2, r3
+ orr r2, r0
+ ldr r0, _02089148 ; =0x0000189E
+ add r7, r7, #0x1
+ strb r2, [r1, r0]
+ ldrh r0, [r5, #0x0]
+ strh r0, [r4, #0x0]
+ add r4, r4, #0x2
+_0208912E:
+ ldr r0, [sp, #0x8]
+ add r5, r5, #0x2
+ add r1, r0, #0x1
+ ldr r0, [sp, #0x4]
+ str r1, [sp, #0x8]
+ cmp r1, r0
+ blo _020890F4
+_0208913C:
+ add r0, r7, #0x0
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_02089144: .word 0x00000186
+_02089148: .word 0x0000189E
+
+ thumb_func_start FUN_0208914C
+FUN_0208914C: ; 0x0208914C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r0, #0x0
+ mov lr, r2
+ mov r12, r0
+ mov r0, lr
+ add r4, r1, #0x0
+ add r7, r3, #0x0
+ cmp r0, #0x0
+ bls _020891C2
+_02089160:
+ ldrh r2, [r4, #0x0]
+ ldr r0, _020891C8 ; =0x0000FFFE
+ cmp r2, r0
+ bne _02089196
+ add r0, r4, #0x2
+ add r4, r4, #0x4
+ ldrh r2, [r0, #0x0]
+ ldrh r0, [r4, #0x0]
+ cmp r2, #0x0
+ strh r0, [r7, #0x0]
+ beq _020891B6
+_02089176:
+ ldrh r5, [r4, #0x0]
+ mov r3, #0x7
+ add r4, r4, #0x2
+ lsr r0, r5, #0x3
+ add r1, r6, r0
+ ldr r0, _020891CC ; =0x0000189E
+ and r5, r3
+ mov r3, #0x1
+ ldrb r0, [r1, r0]
+ lsl r3, r5
+ orr r3, r0
+ ldr r0, _020891CC ; =0x0000189E
+ sub r2, r2, #0x1
+ strb r3, [r1, r0]
+ bne _02089176
+ b _020891B6
+_02089196:
+ lsr r0, r2, #0x3
+ ldr r1, _020891CC ; =0x0000189E
+ add r0, r6, r0
+ ldrb r3, [r0, r1]
+ mov r1, #0x7
+ mov r5, #0x1
+ and r1, r2
+ add r2, r5, #0x0
+ lsl r2, r1
+ ldr r1, _020891CC ; =0x0000189E
+ orr r2, r3
+ strb r2, [r0, r1]
+ ldrh r0, [r4, #0x0]
+ add r4, r4, #0x2
+ strh r0, [r7, #0x0]
+ add r7, r7, #0x2
+_020891B6:
+ mov r0, r12
+ add r1, r0, #0x1
+ mov r0, lr
+ mov r12, r1
+ cmp r1, r0
+ blo _02089160
+_020891C2:
+ mov r0, lr
+ pop {r3-r7, pc}
+ nop
+_020891C8: .word 0x0000FFFE
+_020891CC: .word 0x0000189E
+
+ thumb_func_start FUN_020891D0
+FUN_020891D0: ; 0x020891D0
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ mov r4, #0x0
+ ldr r6, _0208920C ; =0x020FDDF0
+ str r4, [sp, #0x0]
+ add r5, r7, #0x0
+_020891DC:
+ ldr r0, _02089210 ; =0x00000C84
+ mov r2, #0xcf
+ str r4, [r5, r0]
+ lsl r2, r2, #0x4
+ ldr r1, [r6, #0x0]
+ add r0, r7, #0x0
+ add r2, r7, r2
+ add r3, r4, #0x0
+ bl FUN_02089218
+ ldr r1, _02089214 ; =0x00000C18
+ add r6, r6, #0x4
+ str r0, [r5, r1]
+ add r0, r1, #0x0
+ ldr r0, [r5, r0]
+ add r5, r5, #0x4
+ add r4, r4, r0
+ ldr r0, [sp, #0x0]
+ add r0, r0, #0x1
+ str r0, [sp, #0x0]
+ cmp r0, #0x1b
+ blo _020891DC
+ pop {r3-r7, pc}
+ nop
+_0208920C: .word 0x020FDDF0
+_02089210: .word 0x00000C84
+_02089214: .word 0x00000C18
+
+ thumb_func_start FUN_02089218
+FUN_02089218: ; 0x02089218
+ push {r3-r7, lr}
+ add r7, r1, #0x0
+ add r6, r0, #0x0
+ str r2, [sp, #0x0]
+ mov r0, #0x0
+ mov r12, r0
+ ldrh r2, [r7, #0x0]
+ ldr r0, _020892B8 ; =0x0000FFFF
+ mov lr, r3
+ cmp r2, r0
+ beq _020892B4
+_0208922E:
+ ldr r0, _020892BC ; =0x0000FFFE
+ cmp r2, r0
+ bne _02089280
+ add r0, r7, #0x2
+ ldrh r5, [r0, #0x0]
+ add r7, r7, #0x4
+ mov r3, #0x0
+ cmp r5, #0x0
+ bls _0208927A
+ add r4, r7, #0x0
+_02089242:
+ ldrh r2, [r4, #0x0]
+ mov r0, #0x7
+ mov r1, #0x1
+ and r0, r2
+ lsl r1, r0
+ lsr r0, r2, #0x3
+ add r2, r6, r0
+ ldr r0, _020892C0 ; =0x0000189E
+ ldrb r0, [r2, r0]
+ tst r0, r1
+ beq _02089272
+ lsl r0, r3, #0x1
+ ldrh r1, [r7, r0]
+ mov r0, lr
+ lsl r2, r0, #0x1
+ mov r0, lr
+ add r0, r0, #0x1
+ mov lr, r0
+ ldr r0, [sp, #0x0]
+ strh r1, [r0, r2]
+ mov r0, r12
+ add r0, r0, #0x1
+ mov r12, r0
+ b _0208927A
+_02089272:
+ add r3, r3, #0x1
+ add r4, r4, #0x2
+ cmp r3, r5
+ blo _02089242
+_0208927A:
+ lsl r0, r5, #0x1
+ add r7, r7, r0
+ b _020892AC
+_02089280:
+ mov r1, #0x1
+ mov r0, #0x7
+ and r0, r2
+ add r3, r1, #0x0
+ lsl r3, r0
+ lsr r0, r2, #0x3
+ add r1, r6, r0
+ ldr r0, _020892C0 ; =0x0000189E
+ ldrb r0, [r1, r0]
+ tst r0, r3
+ beq _020892AA
+ mov r1, lr
+ add r1, r1, #0x1
+ mov r0, lr
+ mov lr, r1
+ ldr r1, [sp, #0x0]
+ lsl r0, r0, #0x1
+ strh r2, [r1, r0]
+ mov r0, r12
+ add r0, r0, #0x1
+ mov r12, r0
+_020892AA:
+ add r7, r7, #0x2
+_020892AC:
+ ldrh r2, [r7, #0x0]
+ ldr r0, _020892B8 ; =0x0000FFFF
+ cmp r2, r0
+ bne _0208922E
+_020892B4:
+ mov r0, r12
+ pop {r3-r7, pc}
+ .balign 4
+_020892B8: .word 0x0000FFFF
+_020892BC: .word 0x0000FFFE
+_020892C0: .word 0x0000189E
+
+ thumb_func_start FUN_020892C4
+FUN_020892C4: ; 0x020892C4
+ lsl r1, r1, #0x2
+ add r0, r0, r1
+ ldr r0, [r0, #0x8]
+ bx lr
+
+ thumb_func_start FUN_020892CC
+FUN_020892CC: ; 0x020892CC
+ push {r4, lr}
+ add r4, r0, #0x0
+ lsl r1, r1, #0x2
+ add r1, r4, r1
+ ldr r1, [r1, #0x38]
+ ldr r0, [r4, #0x4]
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r1, r4, r1
+ add r1, #0x68
+ ldrh r1, [r1, #0x0]
+ add r2, r3, #0x0
+ bl FUN_02013A30
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_020892EC
+FUN_020892EC: ; 0x020892EC
+ lsl r1, r1, #0x2
+ add r1, r0, r1
+ ldr r1, [r1, #0x38]
+ add r1, r1, r2
+ lsl r1, r1, #0x1
+ add r0, r0, r1
+ add r0, #0x68
+ ldrh r0, [r0, #0x0]
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02089300
+FUN_02089300: ; 0x02089300
+ lsl r1, r1, #0x2
+ add r1, r0, r1
+ ldr r0, _0208930C ; =0x00000C18
+ ldr r0, [r1, r0]
+ bx lr
+ nop
+_0208930C: .word 0x00000C18
+
+ thumb_func_start FUN_02089310
+FUN_02089310: ; 0x02089310
+ push {r4-r6, lr}
+ add r4, r3, #0x0
+ add r5, r0, #0x0
+ lsl r3, r1, #0x2
+ add r6, r5, r3
+ ldr r3, _02089334 ; =0x00000C18
+ ldr r3, [r6, r3]
+ cmp r3, #0x0
+ beq _02089330
+ bl FUN_02089338
+ add r1, r0, #0x0
+ ldr r0, [r5, #0x4]
+ add r2, r4, #0x0
+ bl FUN_02013A30
+_02089330:
+ pop {r4-r6, pc}
+ nop
+_02089334: .word 0x00000C18
+
+ thumb_func_start FUN_02089338
+FUN_02089338: ; 0x02089338
+ push {r3-r4}
+ lsl r1, r1, #0x2
+ ldr r3, _02089360 ; =0x00000C18
+ add r4, r0, r1
+ ldr r1, [r4, r3]
+ cmp r1, #0x0
+ beq _0208935A
+ add r1, r3, #0x0
+ add r1, #0x6c
+ ldr r1, [r4, r1]
+ add r3, #0xd8
+ add r1, r2, r1
+ lsl r1, r1, #0x1
+ add r0, r0, r1
+ ldrh r0, [r0, r3]
+ pop {r3-r4}
+ bx lr
+_0208935A:
+ ldr r0, _02089364 ; =0x0000FFFF
+ pop {r3-r4}
+ bx lr
+ .balign 4
+_02089360: .word 0x00000C18
+_02089364: .word 0x0000FFFF
+
+ thumb_func_start FUN_02089368
+FUN_02089368: ; 0x02089368
+ push {r3-r6}
+ mov r1, #0x0
+ ldr r2, _0208938C ; =0x020FF2FC
+ ldr r5, _02089390 ; =0x020FE17C
+ add r0, r1, #0x0
+ mov r3, #0xc
+_02089374:
+ ldrb r4, [r2, #0x0]
+ add r1, r1, #0x1
+ add r2, r2, #0x1
+ add r6, r4, #0x0
+ mul r6, r3
+ add r4, r5, r6
+ ldr r4, [r4, #0x8]
+ add r0, r0, r4
+ cmp r1, #0x5
+ blo _02089374
+ pop {r3-r6}
+ bx lr
+ .balign 4
+_0208938C: .word 0x020FF2FC
+_02089390: .word 0x020FE17C
+
+ thumb_func_start FUN_02089394
+FUN_02089394: ; 0x02089394
+ push {r4-r7}
+ mov r2, #0x0
+ ldr r3, _020893D8 ; =0x020FF2FC
+ add r1, r2, #0x0
+_0208939C:
+ ldrb r5, [r3, #0x0]
+ mov r4, #0xc
+ add r6, r5, #0x0
+ mul r6, r4
+ ldr r4, _020893DC ; =0x020FE17C
+ add r5, r4, r6
+ ldr r7, [r5, #0x8]
+ mov r6, #0x0
+ ldr r4, [r5, #0x4]
+ cmp r7, #0x0
+ ble _020893C8
+_020893B2:
+ ldrh r5, [r4, #0x0]
+ cmp r0, r5
+ bne _020893BE
+ add r0, r2, #0x0
+ pop {r4-r7}
+ bx lr
+_020893BE:
+ add r6, r6, #0x1
+ add r2, r2, #0x1
+ add r4, r4, #0x2
+ cmp r6, r7
+ blt _020893B2
+_020893C8:
+ add r1, r1, #0x1
+ add r3, r3, #0x1
+ cmp r1, #0x5
+ blo _0208939C
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4-r7}
+ bx lr
+ .balign 4
+_020893D8: .word 0x020FF2FC
+_020893DC: .word 0x020FE17C
+
+ thumb_func_start FUN_020893E0
+FUN_020893E0: ; 0x020893E0
+ mov r1, #0x0
+ ldr r0, _020893EC ; =0x02106154
+ mvn r1, r1
+ str r1, [r0, #0x0]
+ bx lr
+ nop
+_020893EC: .word 0x02106154
+
+ thumb_func_start FUN_020893F0
+FUN_020893F0: ; 0x020893F0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x3
+ lsl r0, r0, #0xc
+ cmp r2, r0
+ bhs _0208940A
+ add r0, r1, #0x0
+ ldr r1, _02089410 ; =0x021C5C58
+ bl MIi_CpuCopy32
+ ldr r0, _02089414 ; =0x02106154
+ str r4, [r0, #0x0]
+ pop {r4, pc}
+_0208940A:
+ bl ErrorHandling
+ pop {r4, pc}
+ .balign 4
+_02089410: .word 0x021C5C58
+_02089414: .word 0x02106154
+
+ thumb_func_start FUN_02089418
+FUN_02089418: ; 0x02089418
+ push {r3, lr}
+ mov r3, #0x3
+ lsl r3, r3, #0xc
+ cmp r2, r3
+ bhs _02089434
+ ldr r3, _0208943C ; =0x02106154
+ ldr r3, [r3, #0x0]
+ cmp r0, r3
+ bne _02089438
+ ldr r0, _02089440 ; =0x021C5C58
+ bl MIi_CpuCopy32
+ mov r0, #0x1
+ pop {r3, pc}
+_02089434:
+ bl ErrorHandling
+_02089438:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_0208943C: .word 0x02106154
+_02089440: .word 0x021C5C58
+
+ thumb_func_start FUN_02089444
+FUN_02089444: ; 0x02089444
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x3
+ lsl r0, r0, #0xc
+ cmp r2, r0
+ bhs _0208945E
+ add r0, r1, #0x0
+ ldr r1, _02089464 ; =0x021C5C58
+ bl MIi_CpuCopyFast
+ ldr r0, _02089468 ; =0x02106154
+ str r4, [r0, #0x0]
+ pop {r4, pc}
+_0208945E:
+ bl ErrorHandling
+ pop {r4, pc}
+ .balign 4
+_02089464: .word 0x021C5C58
+_02089468: .word 0x02106154
+
+ thumb_func_start FUN_0208946C
+FUN_0208946C: ; 0x0208946C
+ push {r3, lr}
+ mov r3, #0x3
+ lsl r3, r3, #0xc
+ cmp r2, r3
+ bhs _02089488
+ ldr r3, _02089490 ; =0x02106154
+ ldr r3, [r3, #0x0]
+ cmp r0, r3
+ bne _0208948C
+ ldr r0, _02089494 ; =0x021C5C58
+ bl MIi_CpuCopyFast
+ mov r0, #0x1
+ pop {r3, pc}
+_02089488:
+ bl ErrorHandling
+_0208948C:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02089490: .word 0x02106154
+_02089494: .word 0x021C5C58
+
+ thumb_func_start FUN_02089498
+FUN_02089498: ; 0x02089498
+ push {r3-r5, lr}
+ mov r2, #0x2
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x58
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ add r0, r5, #0x0
+ mov r1, #0x38
+ mov r2, #0x58
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x38
+ add r4, r0, #0x0
+ bl memset
+ mov r0, #0x58
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ ldr r0, [r0, #0x8]
+ str r0, [r4, #0x30]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_020894D4
+FUN_020894D4: ; 0x020894D4
+ push {r3-r6, lr}
+ sub sp, #0xc
+ add r5, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r5, #0x0]
+ add r4, r0, #0x0
+ mov r6, #0x0
+ cmp r1, #0x3
+ bhi _020895DA
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020894F4: ; jump table (using 16-bit offset)
+ .short _020894FC - _020894F4 - 2; case 0
+ .short _02089588 - _020894F4 - 2; case 1
+ .short _02089596 - _020894F4 - 2; case 2
+ .short _020895BC - _020894F4 - 2; case 3
+_020894FC:
+ ldr r0, _020895E0 ; =0x00000495
+ add r1, r6, #0x0
+ bl FUN_02005350
+ add r0, r6, #0x0
+ bl FUN_0200516C
+ add r0, r6, #0x0
+ bl FUN_0200415C
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ add r1, r6, #0x0
+ bl FUN_0200E3A0
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _020895E4 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _020895E8 ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ add r0, r4, #0x0
+ bl FUN_0208961C
+ add r0, r4, #0x0
+ bl FUN_02089734
+ ldr r0, _020895EC ; =FUN_02089610
+ add r1, r4, #0x0
+ bl FUN_02015F10
+ bl FUN_0201E788
+ mov r0, #0x6
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r2, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _020895DA
+_02089588:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _020895DA
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _020895DA
+_02089596:
+ bl FUN_02089790
+ cmp r0, #0x1
+ bne _020895DA
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x8]
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x3
+ str r0, [r5, #0x0]
+ b _020895DA
+_020895BC:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _020895DA
+ add r0, r4, #0x0
+ bl FUN_0208977C
+ add r0, r4, #0x0
+ bl FUN_020896E0
+ add r0, r6, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r6, #0x1
+_020895DA:
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r3-r6, pc}
+ .balign 4
+_020895E0: .word 0x00000495
+_020895E4: .word 0xFFFFE0FF
+_020895E8: .word 0x04001000
+_020895EC: .word FUN_02089610
+
+ thumb_func_start FUN_020895F0
+FUN_020895F0: ; 0x020895F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ ldr r4, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ add r0, r4, #0x0
+ bl FUN_020168D0
+ mov r0, #0x0
+ bl OS_ResetSystem
+ mov r0, #0x1
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02089610
+FUN_02089610: ; 0x02089610
+ ldr r3, _02089618 ; =FUN_0201AB60
+ ldr r0, [r0, #0x14]
+ bx r3
+ nop
+_02089618: .word FUN_0201AB60
+
+ thumb_func_start FUN_0208961C
+FUN_0208961C: ; 0x0208961C
+ push {r4-r5, lr}
+ sub sp, #0x5c
+ ldr r5, _020896C8 ; =0x020FF340
+ add r4, r0, #0x0
+ add r3, sp, #0x34
+ mov r2, #0x5
+_02089628:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02089628
+ add r0, sp, #0x34
+ bl FUN_0201E66C
+ ldr r0, [r4, #0x0]
+ bl FUN_02016B94
+ add r3, sp, #0x24
+ ldr r5, _020896CC ; =0x020FF314
+ str r0, [r4, #0x14]
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _020896D0 ; =0x020FF324
+ add r3, sp, #0x8
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x0
+ str r0, [r3, #0x0]
+ ldr r0, [r4, #0x14]
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _020896D4 ; =0x000001E2
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x14]
+ mov r3, #0x2
+ bl FUN_0200CD68
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _020896D8 ; =0x000001D9
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x14]
+ mov r3, #0x3
+ bl FUN_0200CB00
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ mov r1, #0x20
+ bl FUN_02002ED0
+ mov r0, #0x0
+ ldr r3, [r4, #0x0]
+ mov r1, #0x20
+ add r2, r0, #0x0
+ bl FUN_02017F18
+ ldr r1, _020896DC ; =0x00006C21
+ mov r0, #0x0
+ bl FUN_02017FE4
+ ldr r1, _020896DC ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ add sp, #0x5c
+ pop {r4-r5, pc}
+ .balign 4
+_020896C8: .word 0x020FF340
+_020896CC: .word 0x020FF314
+_020896D0: .word 0x020FF324
+_020896D4: .word 0x000001E2
+_020896D8: .word 0x000001D9
+_020896DC: .word 0x00006C21
+
+ thumb_func_start FUN_020896E0
+FUN_020896E0: ; 0x020896E0
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0201797C
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x3
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x5
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x6
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x7
+ mov r1, #0x0
+ bl FUN_0201797C
+ ldr r0, [r4, #0x14]
+ mov r1, #0x0
+ bl FUN_020178A0
+ ldr r0, [r4, #0x14]
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_02089734
+FUN_02089734: ; 0x02089734
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r3, [r4, #0x0]
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x4
+ bl FUN_0200A86C
+ str r0, [r4, #0x18]
+ bl FUN_0201BD5C
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x14]
+ ldr r2, _02089778 ; =0x020FF304
+ add r1, #0x1c
+ bl FUN_02019150
+ mov r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ mov r2, #0x0
+ add r4, #0x1c
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02089778: .word 0x020FF304
+
+ thumb_func_start FUN_0208977C
+FUN_0208977C: ; 0x0208977C
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x1c
+ bl FUN_02019178
+ ldr r0, [r4, #0x18]
+ bl FUN_0200A8B8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02089790
+FUN_02089790: ; 0x02089790
+ push {r3-r5, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ mov r5, #0x0
+ cmp r1, #0x6
+ bhi _02089888
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_020897AA: ; jump table (using 16-bit offset)
+ .short _020897B8 - _020897AA - 2; case 0
+ .short _020897E2 - _020897AA - 2; case 1
+ .short _02089802 - _020897AA - 2; case 2
+ .short _0208982C - _020897AA - 2; case 3
+ .short _0208984C - _020897AA - 2; case 4
+ .short _0208986C - _020897AA - 2; case 5
+ .short _0208987E - _020897AA - 2; case 6
+_020897B8:
+ add r1, r5, #0x0
+ mov r2, #0x1
+ mov r3, #0x4
+ bl FUN_0208989C
+ cmp r0, #0x1
+ bne _02089888
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r1, _02089890 ; =0x020FF30C
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x14]
+ ldr r2, _02089894 ; =0x000001D9
+ mov r3, #0x3
+ bl FUN_020020EC
+ str r0, [r4, #0x2c]
+ mov r0, #0x1
+ str r0, [r4, #0x4]
+ b _02089888
+_020897E2:
+ ldr r0, [r4, #0x2c]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _020897F6
+ sub r1, r5, #0x2
+ cmp r0, r1
+ beq _020897FC
+ b _02089888
+_020897F6:
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _02089888
+_020897FC:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_02089802:
+ mov r1, #0x1
+ add r2, r1, #0x0
+ mov r3, #0x4
+ bl FUN_0208989C
+ cmp r0, #0x1
+ bne _02089888
+ mov r0, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r1, _02089890 ; =0x020FF30C
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x14]
+ ldr r2, _02089894 ; =0x000001D9
+ mov r3, #0x3
+ bl FUN_020020EC
+ str r0, [r4, #0x2c]
+ mov r0, #0x3
+ str r0, [r4, #0x4]
+ b _02089888
+_0208982C:
+ ldr r0, [r4, #0x2c]
+ ldr r1, [r4, #0x0]
+ bl FUN_020021AC
+ cmp r0, #0x0
+ beq _02089840
+ sub r1, r5, #0x2
+ cmp r0, r1
+ beq _02089846
+ b _02089888
+_02089840:
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _02089888
+_02089846:
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_0208984C:
+ mov r1, #0x2
+ mov r2, #0x1
+ add r3, r5, #0x0
+ bl FUN_0208989C
+ cmp r0, #0x1
+ bne _02089888
+ add r0, r4, #0x0
+ ldr r1, _02089898 ; =0x000001E2
+ add r0, #0x1c
+ bl FUN_0200D858
+ str r0, [r4, #0x34]
+ mov r0, #0x5
+ str r0, [r4, #0x4]
+ b _02089888
+_0208986C:
+ ldr r0, [r4, #0x30]
+ bl FUN_0202263C
+ ldr r0, [r4, #0x34]
+ bl FUN_0200DBFC
+ mov r0, #0x6
+ str r0, [r4, #0x4]
+ b _02089888
+_0208987E:
+ ldr r0, [r4, #0x14]
+ add r1, r5, #0x0
+ bl FUN_02018744
+ mov r5, #0x1
+_02089888:
+ add r0, r5, #0x0
+ add sp, #0x8
+ pop {r3-r5, pc}
+ nop
+_02089890: .word 0x020FF30C
+_02089894: .word 0x000001D9
+_02089898: .word 0x000001E2
+
+ thumb_func_start FUN_0208989C
+FUN_0208989C: ; 0x0208989C
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ ldr r0, [r5, #0x8]
+ add r7, r1, #0x0
+ add r4, r3, #0x0
+ mov r6, #0x0
+ cmp r0, #0x0
+ beq _020898B8
+ cmp r0, #0x1
+ beq _02089920
+ cmp r0, #0x2
+ beq _0208993C
+ b _02089950
+_020898B8:
+ mov r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r0, #0x1c
+ mov r1, #0xf
+ add r2, r6, #0x0
+ add r3, r6, #0x0
+ bl FUN_020196F4
+ add r0, r5, #0x0
+ ldr r2, _02089958 ; =0x000001E2
+ add r0, #0x1c
+ add r1, r6, #0x0
+ mov r3, #0x2
+ bl FUN_0200D0BC
+ mov r0, #0x1
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0xa
+ bl FUN_020219F4
+ str r0, [r5, #0x10]
+ ldr r0, [r5, #0x18]
+ ldr r2, [r5, #0x10]
+ add r1, r7, #0x0
+ bl FUN_0200A8E0
+ add r3, r6, #0x0
+ str r3, [sp, #0x0]
+ str r4, [sp, #0x4]
+ str r3, [sp, #0x8]
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x10]
+ add r0, #0x1c
+ mov r1, #0x1
+ bl FUN_0201BD84
+ str r0, [r5, #0xc]
+ cmp r4, #0x0
+ bne _02089918
+ ldr r0, [r5, #0x10]
+ bl FUN_02021A20
+ ldr r0, [r5, #0x8]
+ add r0, r0, #0x1
+ str r0, [r5, #0x8]
+_02089918:
+ ldr r0, [r5, #0x8]
+ add r0, r0, #0x1
+ str r0, [r5, #0x8]
+ b _02089950
+_02089920:
+ ldr r0, [r5, #0xc]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02089950
+ ldr r0, [r5, #0x10]
+ bl FUN_02021A20
+ ldr r0, [r5, #0x8]
+ add r0, r0, #0x1
+ str r0, [r5, #0x8]
+ b _02089950
+_0208993C:
+ cmp r2, #0x0
+ bne _0208994A
+ ldr r0, _0208995C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _02089950
+_0208994A:
+ mov r0, #0x0
+ str r0, [r5, #0x8]
+ mov r6, #0x1
+_02089950:
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02089958: .word 0x000001E2
+_0208995C: .word 0x021C48B8
+
+ thumb_func_start FUN_02089960
+FUN_02089960: ; 0x02089960
+ push {r3-r5, lr}
+ mov r2, #0x2
+ add r5, r0, #0x0
+ mov r0, #0x3
+ mov r1, #0x58
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ add r0, r5, #0x0
+ mov r1, #0x3c
+ mov r2, #0x58
+ bl FUN_02006268
+ mov r1, #0x0
+ mov r2, #0x3c
+ add r4, r0, #0x0
+ bl memset
+ mov r0, #0x58
+ str r0, [r4, #0x0]
+ mov r0, #0x0
+ str r0, [r4, #0x4]
+ add r0, r5, #0x0
+ bl FUN_0200628C
+ ldr r0, [r0, #0x8]
+ str r0, [r4, #0x34]
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208999C
+FUN_0208999C: ; 0x0208999C
+ push {r4-r6, lr}
+ add r5, r1, #0x0
+ bl FUN_02006278
+ ldr r1, [r5, #0x0]
+ add r6, r0, #0x0
+ mov r4, #0x0
+ cmp r1, #0x0
+ beq _020899B8
+ cmp r1, #0x1
+ beq _02089A12
+ cmp r1, #0x2
+ beq _02089A20
+ b _02089A34
+_020899B8:
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ add r1, r4, #0x0
+ bl FUN_0200E3A0
+ add r0, r4, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ add r0, r4, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _02089A38 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _02089A3C ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ add r0, r6, #0x0
+ bl FUN_02089A6C
+ add r0, r6, #0x0
+ bl FUN_02089B80
+ bl FUN_0201E788
+ mov r0, #0x1
+ str r0, [r5, #0x0]
+ b _02089A34
+_02089A12:
+ bl FUN_02089BE0
+ cmp r0, #0x1
+ bne _02089A34
+ mov r0, #0x2
+ str r0, [r5, #0x0]
+ b _02089A34
+_02089A20:
+ bl FUN_02089BCC
+ add r0, r6, #0x0
+ bl FUN_02089B2C
+ add r0, r4, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r4, #0x1
+_02089A34:
+ add r0, r4, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_02089A38: .word 0xFFFFE0FF
+_02089A3C: .word 0x04001000
+
+ thumb_func_start FUN_02089A40
+FUN_02089A40: ; 0x02089A40
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ bl FUN_02006278
+ ldr r4, [r0, #0x0]
+ add r0, r5, #0x0
+ bl FUN_0200627C
+ add r0, r4, #0x0
+ bl FUN_020168D0
+ ldr r0, _02089A64 ; =SDK_OVERLAY_MODULE_83_ID
+ ldr r1, _02089A68 ; =0x0223A360
+ bl FUN_02000E7C
+ mov r0, #0x1
+ pop {r3-r5, pc}
+ nop
+_02089A64: .word SDK_OVERLAY_MODULE_83_ID
+_02089A68: .word 0x0223A360
+
+ thumb_func_start FUN_02089A6C
+FUN_02089A6C: ; 0x02089A6C
+ push {r4-r5, lr}
+ sub sp, #0x5c
+ ldr r5, _02089B18 ; =0x020FF3AC
+ add r4, r0, #0x0
+ add r3, sp, #0x34
+ mov r2, #0x5
+_02089A78:
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ sub r2, r2, #0x1
+ bne _02089A78
+ add r0, sp, #0x34
+ bl FUN_0201E66C
+ ldr r0, [r4, #0x0]
+ bl FUN_02016B94
+ add r3, sp, #0x24
+ ldr r5, _02089B1C ; =0x020FF380
+ str r0, [r4, #0x18]
+ add r2, r3, #0x0
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ add r0, r2, #0x0
+ bl FUN_02016BBC
+ ldr r5, _02089B20 ; =0x020FF390
+ add r3, sp, #0x8
+ ldmia r5!, {r0-r1}
+ add r2, r3, #0x0
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldmia r5!, {r0-r1}
+ stmia r3!, {r0-r1}
+ ldr r0, [r5, #0x0]
+ mov r1, #0x0
+ str r0, [r3, #0x0]
+ ldr r0, [r4, #0x18]
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ ldr r0, [r4, #0x18]
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _02089B24 ; =0x000001E2
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x18]
+ mov r3, #0x2
+ bl FUN_0200CD68
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [r4, #0x0]
+ ldr r2, _02089B28 ; =0x000001D9
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x18]
+ mov r3, #0x3
+ bl FUN_0200CB00
+ ldr r2, [r4, #0x0]
+ mov r0, #0x0
+ mov r1, #0x20
+ bl FUN_02002ED0
+ mov r0, #0x0
+ ldr r3, [r4, #0x0]
+ mov r1, #0x20
+ add r2, r0, #0x0
+ bl FUN_02017F18
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_02017FE4
+ add sp, #0x5c
+ pop {r4-r5, pc}
+ .balign 4
+_02089B18: .word 0x020FF3AC
+_02089B1C: .word 0x020FF380
+_02089B20: .word 0x020FF390
+_02089B24: .word 0x000001E2
+_02089B28: .word 0x000001D9
+
+ thumb_func_start FUN_02089B2C
+FUN_02089B2C: ; 0x02089B2C
+ push {r4, lr}
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0201797C
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x3
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x4
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x5
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x6
+ mov r1, #0x0
+ bl FUN_0201797C
+ mov r0, #0x7
+ mov r1, #0x0
+ bl FUN_0201797C
+ ldr r0, [r4, #0x18]
+ mov r1, #0x0
+ bl FUN_020178A0
+ ldr r0, [r4, #0x18]
+ bl FUN_02016A18
+ pop {r4, pc}
+
+ thumb_func_start FUN_02089B80
+FUN_02089B80: ; 0x02089B80
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r2, _02089BC4 ; =0x00000167
+ ldr r3, [r4, #0x0]
+ mov r0, #0x1
+ mov r1, #0x1a
+ bl FUN_0200A86C
+ str r0, [r4, #0x1c]
+ bl FUN_0201BD5C
+ mov r0, #0x0
+ str r0, [r4, #0xc]
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x18]
+ ldr r2, _02089BC8 ; =0x020FF378
+ add r1, #0x20
+ bl FUN_02019150
+ mov r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ mov r2, #0x0
+ add r4, #0x20
+ str r0, [sp, #0x4]
+ add r0, r4, #0x0
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_02089BC4: .word 0x00000167
+_02089BC8: .word 0x020FF378
+
+ thumb_func_start FUN_02089BCC
+FUN_02089BCC: ; 0x02089BCC
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x20
+ bl FUN_02019178
+ ldr r0, [r4, #0x1c]
+ bl FUN_0200A8B8
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_02089BE0
+FUN_02089BE0: ; 0x02089BE0
+ push {r4-r5, lr}
+ sub sp, #0xc
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x4]
+ mov r5, #0x0
+ cmp r1, #0x5
+ bhi _02089CC2
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_02089BFA: ; jump table (using 16-bit offset)
+ .short _02089C06 - _02089BFA - 2; case 0
+ .short _02089C3C - _02089BFA - 2; case 1
+ .short _02089C68 - _02089BFA - 2; case 2
+ .short _02089C76 - _02089BFA - 2; case 3
+ .short _02089CA2 - _02089BFA - 2; case 4
+ .short _02089CC0 - _02089BFA - 2; case 5
+_02089C06:
+ ldr r0, [r4, #0x34]
+ bl FUN_02022800
+ cmp r0, #0x3
+ bhi _02089CC2
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_02089C1C: ; jump table (using 16-bit offset)
+ .short _02089C24 - _02089C1C - 2; case 0
+ .short _02089C24 - _02089C1C - 2; case 1
+ .short _02089C2A - _02089C1C - 2; case 2
+ .short _02089C34 - _02089C1C - 2; case 3
+_02089C24:
+ mov r0, #0x5
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C2A:
+ add r0, r5, #0x0
+ str r0, [r4, #0x8]
+ mov r0, #0x1
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C34:
+ mov r0, #0x1
+ str r0, [r4, #0x8]
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C3C:
+ ldr r1, _02089CC8 ; =0x00006C21
+ add r0, r5, #0x0
+ bl FUN_02017FE4
+ ldr r1, _02089CC8 ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x6
+ mov r1, #0x1
+ str r0, [sp, #0x0]
+ str r1, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ add r2, r1, #0x0
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x2
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C68:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02089CC2
+ mov r0, #0x3
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089C76:
+ ldr r1, [r4, #0x8]
+ add r2, r5, #0x0
+ mov r3, #0x4
+ bl FUN_02089CCC
+ cmp r0, #0x1
+ bne _02089CC2
+ mov r0, #0x6
+ str r0, [sp, #0x0]
+ mov r0, #0x1
+ str r0, [sp, #0x4]
+ ldr r0, [r4, #0x0]
+ str r0, [sp, #0x8]
+ add r0, r5, #0x0
+ add r1, r0, #0x0
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_0200E1D0
+ mov r0, #0x4
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089CA2:
+ bl FUN_0200E308
+ cmp r0, #0x1
+ bne _02089CC2
+ add r0, r5, #0x0
+ add r1, r0, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x4
+ add r1, r5, #0x0
+ bl FUN_02017FE4
+ mov r0, #0x5
+ str r0, [r4, #0x4]
+ b _02089CC2
+_02089CC0:
+ mov r5, #0x1
+_02089CC2:
+ add r0, r5, #0x0
+ add sp, #0xc
+ pop {r4-r5, pc}
+ .balign 4
+_02089CC8: .word 0x00006C21
+
+ thumb_func_start FUN_02089CCC
+FUN_02089CCC: ; 0x02089CCC
+ push {r4-r7, lr}
+ sub sp, #0xc
+ add r5, r0, #0x0
+ ldr r0, [r5, #0xc]
+ add r7, r1, #0x0
+ add r4, r3, #0x0
+ mov r6, #0x0
+ cmp r0, #0x0
+ beq _02089CE8
+ cmp r0, #0x1
+ beq _02089D50
+ cmp r0, #0x2
+ beq _02089D6C
+ b _02089D80
+_02089CE8:
+ mov r0, #0xd8
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ add r0, r5, #0x0
+ add r0, #0x20
+ mov r1, #0xf
+ add r2, r6, #0x0
+ add r3, r6, #0x0
+ bl FUN_020196F4
+ add r0, r5, #0x0
+ ldr r2, _02089D88 ; =0x000001E2
+ add r0, #0x20
+ add r1, r6, #0x0
+ mov r3, #0x2
+ bl FUN_0200D0BC
+ mov r0, #0x1
+ ldr r1, [r5, #0x0]
+ lsl r0, r0, #0xa
+ bl FUN_020219F4
+ str r0, [r5, #0x14]
+ ldr r0, [r5, #0x1c]
+ ldr r2, [r5, #0x14]
+ add r1, r7, #0x0
+ bl FUN_0200A8E0
+ add r3, r6, #0x0
+ str r3, [sp, #0x0]
+ str r4, [sp, #0x4]
+ str r3, [sp, #0x8]
+ add r0, r5, #0x0
+ ldr r2, [r5, #0x14]
+ add r0, #0x20
+ mov r1, #0x1
+ bl FUN_0201BD84
+ str r0, [r5, #0x10]
+ cmp r4, #0x0
+ bne _02089D48
+ ldr r0, [r5, #0x14]
+ bl FUN_02021A20
+ ldr r0, [r5, #0xc]
+ add r0, r0, #0x1
+ str r0, [r5, #0xc]
+_02089D48:
+ ldr r0, [r5, #0xc]
+ add r0, r0, #0x1
+ str r0, [r5, #0xc]
+ b _02089D80
+_02089D50:
+ ldr r0, [r5, #0x10]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bl FUN_0201BD70
+ cmp r0, #0x0
+ bne _02089D80
+ ldr r0, [r5, #0x14]
+ bl FUN_02021A20
+ ldr r0, [r5, #0xc]
+ add r0, r0, #0x1
+ str r0, [r5, #0xc]
+ b _02089D80
+_02089D6C:
+ cmp r2, #0x0
+ bne _02089D7A
+ ldr r0, _02089D8C ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0x1
+ tst r0, r1
+ beq _02089D80
+_02089D7A:
+ mov r0, #0x0
+ str r0, [r5, #0xc]
+ mov r6, #0x1
+_02089D80:
+ add r0, r6, #0x0
+ add sp, #0xc
+ pop {r4-r7, pc}
+ nop
+_02089D88: .word 0x000001E2
+_02089D8C: .word 0x021C48B8
+
+ thumb_func_start FUN_02089D90
+FUN_02089D90: ; 0x02089D90
+ push {r3-r6, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _02089EF4 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _02089EF8 ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ ldr r0, _02089EFC ; =0x021C4918
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ ldr r3, _02089F00 ; =0x04000050
+ mov r0, #0x0
+ strh r0, [r3, #0x0]
+ ldr r2, _02089F04 ; =0x04001050
+ sub r3, #0x50
+ strh r0, [r2, #0x0]
+ ldr r1, [r3, #0x0]
+ ldr r0, _02089F08 ; =0xFFFF1FFF
+ sub r2, #0x50
+ and r1, r0
+ str r1, [r3, #0x0]
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ ldr r0, _02089F0C ; =0x020FF418
+ bl FUN_0201E66C
+ add r0, r4, #0x0
+ bl FUN_02016B94
+ add r5, r0, #0x0
+ ldr r0, _02089F10 ; =0x020FF3EC
+ bl FUN_02016BBC
+ mov r1, #0x0
+ ldr r2, _02089F14 ; =0x020FF3FC
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r2, _02089F18 ; =0x000001F7
+ add r0, r5, #0x0
+ mov r3, #0x2
+ str r4, [sp, #0x4]
+ bl FUN_0200CB00
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r4, #0x0
+ bl FUN_02002ED0
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ add r3, r4, #0x0
+ bl FUN_02017F18
+ ldr r1, _02089F1C ; =0x00006C21
+ mov r0, #0x0
+ bl FUN_02017FE4
+ ldr r1, _02089F1C ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x5
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ add r1, r4, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ bl FUN_0201BD5C
+ ldr r2, _02089F20 ; =0x020FF3E4
+ add r0, r5, #0x0
+ add r1, sp, #0xc
+ bl FUN_02019150
+ mov r0, #0xd0
+ str r0, [sp, #0x0]
+ mov r0, #0x90
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0xc
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r2, _02089F18 ; =0x000001F7
+ add r0, sp, #0xc
+ mov r1, #0x0
+ mov r3, #0x2
+ bl FUN_0200CCA4
+ add r0, r6, #0x0
+ mov r1, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r0, sp, #0xc
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x8]
+ bl FUN_0201BD84
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ bl FUN_0201E788
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ mov r4, #0x1
+_02089EE4:
+ bl FUN_02000FE8
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ bl OS_WaitIrq
+ b _02089EE4
+ nop
+_02089EF4: .word 0xFFFFE0FF
+_02089EF8: .word 0x04001000
+_02089EFC: .word 0x021C4918
+_02089F00: .word 0x04000050
+_02089F04: .word 0x04001050
+_02089F08: .word 0xFFFF1FFF
+_02089F0C: .word 0x020FF418
+_02089F10: .word 0x020FF3EC
+_02089F14: .word 0x020FF3FC
+_02089F18: .word 0x000001F7
+_02089F1C: .word 0x00006C21
+_02089F20: .word 0x020FF3E4
+
+ thumb_func_start FUN_02089F24
+FUN_02089F24: ; 0x02089F24
+ push {r3-r6, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _0208A088 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _0208A08C ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ ldr r0, _0208A090 ; =0x021C4918
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ ldr r3, _0208A094 ; =0x04000050
+ mov r0, #0x0
+ strh r0, [r3, #0x0]
+ ldr r2, _0208A098 ; =0x04001050
+ sub r3, #0x50
+ strh r0, [r2, #0x0]
+ ldr r1, [r3, #0x0]
+ ldr r0, _0208A09C ; =0xFFFF1FFF
+ sub r2, #0x50
+ and r1, r0
+ str r1, [r3, #0x0]
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ ldr r0, _0208A0A0 ; =0x020FF418
+ bl FUN_0201E66C
+ add r0, r4, #0x0
+ bl FUN_02016B94
+ add r5, r0, #0x0
+ ldr r0, _0208A0A4 ; =0x020FF3EC
+ bl FUN_02016BBC
+ mov r1, #0x0
+ ldr r2, _0208A0A8 ; =0x020FF3FC
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r2, _0208A0AC ; =0x000001F7
+ add r0, r5, #0x0
+ mov r3, #0x2
+ str r4, [sp, #0x4]
+ bl FUN_0200CB00
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r4, #0x0
+ bl FUN_02002ED0
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ add r3, r4, #0x0
+ bl FUN_02017F18
+ ldr r1, _0208A0B0 ; =0x00006C21
+ mov r0, #0x0
+ bl FUN_02017FE4
+ ldr r1, _0208A0B0 ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x5
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r6, r0, #0x0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ add r1, r4, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ bl FUN_0201BD5C
+ ldr r2, _0208A0B4 ; =0x020FF3E4
+ add r0, r5, #0x0
+ add r1, sp, #0xc
+ bl FUN_02019150
+ mov r0, #0xd0
+ str r0, [sp, #0x0]
+ mov r0, #0x90
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0xc
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r2, _0208A0AC ; =0x000001F7
+ add r0, sp, #0xc
+ mov r1, #0x0
+ mov r3, #0x2
+ bl FUN_0200CCA4
+ add r0, r6, #0x0
+ mov r1, #0x1
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r0, sp, #0xc
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x8]
+ bl FUN_0201BD84
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ bl FUN_0201E788
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ mov r4, #0x1
+_0208A078:
+ bl FUN_02000FE8
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ bl OS_WaitIrq
+ b _0208A078
+ nop
+_0208A088: .word 0xFFFFE0FF
+_0208A08C: .word 0x04001000
+_0208A090: .word 0x021C4918
+_0208A094: .word 0x04000050
+_0208A098: .word 0x04001050
+_0208A09C: .word 0xFFFF1FFF
+_0208A0A0: .word 0x020FF418
+_0208A0A4: .word 0x020FF3EC
+_0208A0A8: .word 0x020FF3FC
+_0208A0AC: .word 0x000001F7
+_0208A0B0: .word 0x00006C21
+_0208A0B4: .word 0x020FF3E4
+
+ thumb_func_start FUN_0208A0B8
+FUN_0208A0B8: ; 0x0208A0B8
+ push {r4-r7, lr}
+ sub sp, #0x1c
+ add r4, r0, #0x0
+ cmp r1, #0x0
+ bne _0208A0C6
+ mov r6, #0x1
+ b _0208A0C8
+_0208A0C6:
+ mov r6, #0x0
+_0208A0C8:
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ bl FUN_02015EF4
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _0208A228 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _0208A22C ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ ldr r0, _0208A230 ; =0x021C4918
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ ldr r3, _0208A234 ; =0x04000050
+ mov r1, #0x0
+ strh r1, [r3, #0x0]
+ ldr r0, _0208A238 ; =0x04001050
+ sub r3, #0x50
+ strh r1, [r0, #0x0]
+ ldr r2, [r3, #0x0]
+ ldr r1, _0208A23C ; =0xFFFF1FFF
+ sub r0, #0x50
+ and r2, r1
+ str r2, [r3, #0x0]
+ ldr r2, [r0, #0x0]
+ and r1, r2
+ str r1, [r0, #0x0]
+ ldr r0, _0208A240 ; =0x020FF474
+ bl FUN_0201E66C
+ add r0, r4, #0x0
+ bl FUN_02016B94
+ add r5, r0, #0x0
+ ldr r0, _0208A244 ; =0x020FF448
+ bl FUN_02016BBC
+ mov r1, #0x0
+ ldr r2, _0208A248 ; =0x020FF458
+ add r0, r5, #0x0
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ add r0, r5, #0x0
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r2, _0208A24C ; =0x000001F7
+ add r0, r5, #0x0
+ mov r3, #0x2
+ str r4, [sp, #0x4]
+ bl FUN_0200CB00
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r4, #0x0
+ bl FUN_02002ED0
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ add r3, r4, #0x0
+ bl FUN_02017F18
+ ldr r1, _0208A250 ; =0x00006C21
+ mov r0, #0x0
+ bl FUN_02017FE4
+ ldr r1, _0208A250 ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0x6
+ add r3, r4, #0x0
+ bl FUN_0200A86C
+ add r7, r0, #0x0
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ add r1, r4, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ bl FUN_0201BD5C
+ ldr r2, _0208A254 ; =0x020FF440
+ add r0, r5, #0x0
+ add r1, sp, #0xc
+ bl FUN_02019150
+ mov r0, #0xd0
+ str r0, [sp, #0x0]
+ mov r0, #0x90
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0xc
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r2, _0208A24C ; =0x000001F7
+ add r0, sp, #0xc
+ mov r1, #0x0
+ mov r3, #0x2
+ bl FUN_0200CCA4
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r0, sp, #0xc
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x8]
+ bl FUN_0201BD84
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ bl FUN_0201E788
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ mov r4, #0x1
+_0208A21A:
+ bl FUN_02000FE8
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ bl OS_WaitIrq
+ b _0208A21A
+ .balign 4
+_0208A228: .word 0xFFFFE0FF
+_0208A22C: .word 0x04001000
+_0208A230: .word 0x021C4918
+_0208A234: .word 0x04000050
+_0208A238: .word 0x04001050
+_0208A23C: .word 0xFFFF1FFF
+_0208A240: .word 0x020FF474
+_0208A244: .word 0x020FF448
+_0208A248: .word 0x020FF458
+_0208A24C: .word 0x000001F7
+_0208A250: .word 0x00006C21
+_0208A254: .word 0x020FF440
+
+ thumb_func_start FUN_0208A258
+FUN_0208A258: ; 0x0208A258
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r0, _0208A290 ; =0x0000022F
+ ldrb r0, [r4, r0]
+ cmp r0, #0x10
+ beq _0208A278
+ cmp r0, #0x11
+ beq _0208A286
+ b _0208A28C
+_0208A278:
+ add r0, r6, #0x0
+ add r1, r4, #0x0
+ bl FUN_0208A294
+ ldr r1, _0208A290 ; =0x0000022F
+ strb r0, [r4, r1]
+ b _0208A28C
+_0208A286:
+ add r0, r5, #0x0
+ bl FUN_0208A2C4
+_0208A28C:
+ mov r0, #0x0
+ pop {r4-r6, pc}
+ .balign 4
+_0208A290: .word 0x0000022F
+
+ thumb_func_start FUN_0208A294
+FUN_0208A294: ; 0x0208A294
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0208A2A6
+ mov r0, #0x10
+ pop {r3-r5, pc}
+_0208A2A6:
+ ldr r0, [r4, #0x4]
+ bl FUN_0206E394
+ mov r1, #0x9
+ lsl r1, r1, #0x6
+ strb r0, [r4, r1]
+ ldr r0, [r4, #0x4]
+ bl FUN_02016A18
+ add r0, r5, #0x0
+ bl FUN_0204649C
+ mov r0, #0x11
+ pop {r3-r5, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208A2C4
+FUN_0208A2C4: ; 0x0208A2C4
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ bl FUN_02046528
+ add r6, r0, #0x0
+ add r0, r5, #0x0
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0208A2F6
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ ldr r1, _0208A2F8 ; =0x0223D4AD
+ add r0, r5, #0x0
+ add r2, r4, #0x0
+ bl FUN_020463EC
+ ldr r0, _0208A2FC ; =0x0000022F
+ mov r1, #0x12
+ strb r1, [r4, r0]
+_0208A2F6:
+ pop {r4-r6, pc}
+ .balign 4
+_0208A2F8: .word 0x0223D4AD
+_0208A2FC: .word 0x0000022F
+
+ thumb_func_start FUN_0208A300
+FUN_0208A300: ; 0x0208A300
+ push {r3, lr}
+ mov r1, #0x8
+ bl FUN_02016998
+ mov r1, #0x0
+ strb r1, [r0, #0x0]
+ strb r1, [r0, #0x1]
+ strb r1, [r0, #0x2]
+ strb r1, [r0, #0x3]
+ strb r1, [r0, #0x4]
+ strb r1, [r0, #0x5]
+ strb r1, [r0, #0x6]
+ strb r1, [r0, #0x7]
+ mov r1, #0x2
+ str r1, [r0, #0x4]
+ pop {r3, pc}
+
+ thumb_func_start FUN_0208A320
+FUN_0208A320: ; 0x0208A320
+ ldr r3, _0208A324 ; =FUN_02016A18
+ bx r3
+ .balign 4
+_0208A324: .word FUN_02016A18
+
+ thumb_func_start FUN_0208A328
+FUN_0208A328: ; 0x0208A328
+ ldr r0, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0208A32C
+FUN_0208A32C: ; 0x0208A32C
+ str r1, [r0, #0x0]
+ bx lr
+
+ thumb_func_start FUN_0208A330
+FUN_0208A330: ; 0x0208A330
+ ldr r0, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0208A334
+FUN_0208A334: ; 0x0208A334
+ str r1, [r0, #0x4]
+ bx lr
+
+ thumb_func_start FUN_0208A338
+FUN_0208A338: ; 0x0208A338
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ bl FUN_02046528
+ add r5, r0, #0x0
+ mov r0, #0x20
+ mov r1, #0x6c
+ bl FUN_02016998
+ add r4, r0, #0x0
+ mov r0, #0x19
+ str r5, [r4, #0x0]
+ lsl r0, r0, #0x4
+ mov r1, #0x20
+ bl FUN_020219F4
+ str r0, [r4, #0x4]
+ mov r0, #0x19
+ lsl r0, r0, #0x4
+ mov r1, #0x20
+ bl FUN_020219F4
+ str r0, [r4, #0x8]
+ mov r0, #0x20
+ bl FUN_0200AA80
+ str r0, [r4, #0xc]
+ ldr r2, _0208A3C0 ; =0x00000171
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r3, #0x20
+ bl FUN_0200A86C
+ str r0, [r4, #0x10]
+ mov r0, #0x20
+ bl FUN_02013690
+ str r0, [r4, #0x14]
+ ldr r2, [r4, #0x0]
+ mov r0, #0x2
+ ldr r2, [r2, #0xc]
+ mov r1, #0x0
+ mov r3, #0x20
+ bl FUN_02085338
+ str r0, [r4, #0x50]
+ bl FUN_020853DC
+ add r0, r4, #0x0
+ add r0, #0x18
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_0201901C
+ add r0, r4, #0x0
+ add r0, #0x38
+ bl FUN_0201901C
+ mov r0, #0x0
+ str r0, [r4, #0x54]
+ ldr r1, _0208A3C4 ; =FUN_0208A458
+ add r0, r6, #0x0
+ add r2, r4, #0x0
+ bl FUN_0204640C
+ pop {r4-r6, pc}
+ .balign 4
+_0208A3C0: .word 0x00000171
+_0208A3C4: .word FUN_0208A458
+
+ thumb_func_start FUN_0208A3C8
+FUN_0208A3C8: ; 0x0208A3C8
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r0, [r4, #0x50]
+ bl FUN_020853A8
+ ldr r0, [r4, #0x14]
+ bl FUN_020136C0
+ ldr r0, [r4, #0x4]
+ bl FUN_02021A20
+ ldr r0, [r4, #0x8]
+ bl FUN_02021A20
+ ldr r0, [r4, #0xc]
+ bl FUN_0200AB18
+ ldr r0, [r4, #0x10]
+ bl FUN_0200A8B8
+ add r0, r4, #0x0
+ bl FUN_0208A400
+ add r0, r4, #0x0
+ bl FUN_02016A18
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208A400
+FUN_0208A400: ; 0x0208A400
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r0, #0x18
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0208A41E
+ add r0, r4, #0x0
+ add r0, #0x18
+ bl FUN_02019178
+ add r0, r4, #0x0
+ add r0, #0x18
+ bl FUN_0201901C
+_0208A41E:
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0208A43A
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_02019178
+ add r0, r4, #0x0
+ add r0, #0x28
+ bl FUN_0201901C
+_0208A43A:
+ add r0, r4, #0x0
+ add r0, #0x38
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0208A456
+ add r0, r4, #0x0
+ add r0, #0x38
+ bl FUN_02019178
+ add r4, #0x38
+ add r0, r4, #0x0
+ bl FUN_0201901C
+_0208A456:
+ pop {r4, pc}
+
+ thumb_func_start FUN_0208A458
+FUN_0208A458: ; 0x0208A458
+ push {r3-r5, lr}
+ bl FUN_0204652C
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x54]
+ cmp r1, #0xd
+ bhi _0208A4A4
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #0x6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_0208A472: ; jump table (using 16-bit offset)
+ .short _0208A48E - _0208A472 - 2; case 0
+ .short _0208A49C - _0208A472 - 2; case 1
+ .short _0208A4B8 - _0208A472 - 2; case 2
+ .short _0208A556 - _0208A472 - 2; case 3
+ .short _0208A566 - _0208A472 - 2; case 4
+ .short _0208A57A - _0208A472 - 2; case 5
+ .short _0208A5A6 - _0208A472 - 2; case 6
+ .short _0208A5BE - _0208A472 - 2; case 7
+ .short _0208A5D4 - _0208A472 - 2; case 8
+ .short _0208A614 - _0208A472 - 2; case 9
+ .short _0208A628 - _0208A472 - 2; case 10
+ .short _0208A694 - _0208A472 - 2; case 11
+ .short _0208A6A2 - _0208A472 - 2; case 12
+ .short _0208A6C0 - _0208A472 - 2; case 13
+_0208A48E:
+ mov r1, #0x0
+ add r2, r1, #0x0
+ bl FUN_0208A6D4
+ mov r0, #0x1
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A49C:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ bne _0208A4A6
+_0208A4A4:
+ b _0208A6C8
+_0208A4A6:
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ add r0, r4, #0x0
+ bl FUN_0208A77C
+ mov r0, #0x2
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A4B8:
+ bl FUN_0208A8DC
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [r4, #0x64]
+ cmp r0, r1
+ beq _0208A5B0
+ add r0, r4, #0x0
+ bl FUN_0208A820
+ ldr r0, [r4, #0x64]
+ cmp r0, #0x4
+ bhi _0208A5B0
+ add r0, r0, r0
+ add r0, pc
+ ldrh r0, [r0, #0x6]
+ lsl r0, r0, #0x10
+ asr r0, r0, #0x10
+ add pc, r0
+_0208A4DE: ; jump table (using 16-bit offset)
+ .short _0208A4E8 - _0208A4DE - 2; case 0
+ .short _0208A502 - _0208A4DE - 2; case 1
+ .short _0208A51C - _0208A4DE - 2; case 2
+ .short _0208A536 - _0208A4DE - 2; case 3
+ .short _0208A550 - _0208A4DE - 2; case 4
+_0208A4E8:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x0
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A502:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x1
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A51C:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x2
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A536:
+ ldr r0, [r4, #0x0]
+ mov r1, #0x3
+ ldr r0, [r0, #0xc]
+ bl FUN_0202A5F4
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ add r0, #0x48
+ bl FUN_02013960
+ mov r0, #0x3
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A550:
+ mov r0, #0xb
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A556:
+ ldr r1, [r4, #0x64]
+ mov r2, #0x0
+ add r1, r1, #0x1
+ bl FUN_0208A6D4
+ mov r0, #0x4
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A566:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A5B0
+ mov r0, #0x0
+ bl MOD05_021D7CA4
+ mov r0, #0x5
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A57A:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0208A5B0
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x50]
+ add r1, #0x48
+ bl FUN_020853BC
+ ldr r0, [r4, #0x50]
+ bl FUN_020853D0
+ add r0, r4, #0x0
+ bl FUN_0208A400
+ ldr r0, [r4, #0x0]
+ ldr r1, [r4, #0x50]
+ bl FUN_02037E80
+ mov r0, #0x6
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5A6:
+ ldr r0, [r4, #0x0]
+ bl FUN_0204647C
+ cmp r0, #0x0
+ beq _0208A5B2
+_0208A5B0:
+ b _0208A6C8
+_0208A5B2:
+ ldr r0, [r4, #0x0]
+ bl FUN_0204649C
+ mov r0, #0x7
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5BE:
+ ldr r0, [r4, #0x0]
+ bl FUN_020464A4
+ cmp r0, #0x0
+ beq _0208A6C8
+ mov r0, #0x1
+ bl MOD05_021D7CA4
+ mov r0, #0x8
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5D4:
+ bl FUN_0200E308
+ cmp r0, #0x0
+ beq _0208A6C8
+ ldr r0, [r4, #0x50]
+ bl FUN_020853E4
+ cmp r0, #0x0
+ beq _0208A5EC
+ mov r0, #0xb
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A5EC:
+ add r1, r4, #0x0
+ ldr r0, [r4, #0x50]
+ add r1, #0x48
+ bl FUN_020853FC
+ ldr r0, [r4, #0x0]
+ add r2, r4, #0x0
+ ldr r0, [r0, #0xc]
+ ldr r1, [r4, #0x64]
+ add r2, #0x48
+ bl FUN_0202A5D4
+ add r0, r4, #0x0
+ mov r1, #0x6
+ mov r2, #0x0
+ bl FUN_0208A6D4
+ mov r0, #0x9
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A614:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A6C8
+ add r0, r4, #0x0
+ bl FUN_0208A82C
+ mov r0, #0xa
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A628:
+ bl FUN_0208A8DC
+ mov r1, #0x0
+ mvn r1, r1
+ str r0, [r4, #0x64]
+ cmp r0, r1
+ beq _0208A6C8
+ cmp r0, #0x0
+ beq _0208A63E
+ cmp r0, #0x1
+ b _0208A656
+_0208A63E:
+ add r0, r4, #0x0
+ bl FUN_0208A8D0
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ add r0, r4, #0x0
+ bl FUN_0208A77C
+ mov r0, #0x2
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A656:
+ add r0, r4, #0x0
+ add r0, #0x48
+ mov r1, #0x0
+ bl FUN_02013918
+ add r5, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_0208A8D0
+ ldr r0, _0208A6CC ; =0x0000FFFF
+ cmp r5, r0
+ beq _0208A684
+ ldr r0, [r4, #0xc]
+ mov r1, #0x0
+ add r2, r5, #0x0
+ bl FUN_0200B518
+ add r0, r4, #0x0
+ mov r1, #0x8
+ mov r2, #0x1
+ bl FUN_0208A6D4
+ b _0208A68E
+_0208A684:
+ add r0, r4, #0x0
+ mov r1, #0x7
+ mov r2, #0x0
+ bl FUN_0208A6D4
+_0208A68E:
+ mov r0, #0xc
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A694:
+ mov r1, #0x5
+ mov r2, #0x0
+ bl FUN_0208A6D4
+ mov r0, #0xc
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A6A2:
+ bl FUN_0208A750
+ cmp r0, #0x0
+ beq _0208A6C8
+ ldr r0, _0208A6D0 ; =0x021C48B8
+ ldr r1, [r0, #0x48]
+ mov r0, #0xf3
+ tst r0, r1
+ beq _0208A6C8
+ add r0, r4, #0x0
+ bl FUN_0208A760
+ mov r0, #0xd
+ str r0, [r4, #0x54]
+ b _0208A6C8
+_0208A6C0:
+ bl FUN_0208A3C8
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_0208A6C8:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ .balign 4
+_0208A6CC: .word 0x0000FFFF
+_0208A6D0: .word 0x021C48B8
+
+ thumb_func_start FUN_0208A6D4
+FUN_0208A6D4: ; 0x0208A6D4
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r5, #0x0
+ add r4, #0x18
+ cmp r2, #0x0
+ ldr r0, [r5, #0x10]
+ beq _0208A6F4
+ ldr r2, [r5, #0x4]
+ bl FUN_0200A8E0
+ ldr r0, [r5, #0xc]
+ ldr r1, [r5, #0x8]
+ ldr r2, [r5, #0x4]
+ bl FUN_0200B7B8
+ b _0208A6FA
+_0208A6F4:
+ ldr r2, [r5, #0x8]
+ bl FUN_0200A8E0
+_0208A6FA:
+ add r0, r4, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _0208A722
+ ldr r0, [r5, #0x0]
+ add r1, r4, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ bl FUN_020545B8
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ add r1, r0, #0x0
+ add r0, r4, #0x0
+ bl FUN_02054608
+ b _0208A734
+_0208A722:
+ add r0, r4, #0x0
+ bl FUN_0205464C
+ ldr r2, _0208A74C ; =0x000003E2
+ add r0, r4, #0x0
+ mov r1, #0x0
+ mov r3, #0xa
+ bl FUN_0200D0BC
+_0208A734:
+ ldr r0, [r5, #0x0]
+ ldr r0, [r0, #0xc]
+ bl LoadPlayerDataAddress
+ add r2, r0, #0x0
+ ldr r1, [r5, #0x8]
+ add r0, r4, #0x0
+ mov r3, #0x1
+ bl FUN_02054658
+ str r0, [r5, #0x58]
+ pop {r3-r5, pc}
+ .balign 4
+_0208A74C: .word 0x000003E2
+
+ thumb_func_start FUN_0208A750
+FUN_0208A750: ; 0x0208A750
+ ldr r0, [r0, #0x58]
+ ldr r3, _0208A75C ; =FUN_020546C8
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ bx r3
+ nop
+_0208A75C: .word FUN_020546C8
+
+ thumb_func_start FUN_0208A760
+FUN_0208A760: ; 0x0208A760
+ push {r4, lr}
+ add r4, r0, #0x0
+ add r4, #0x18
+ add r0, r4, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ beq _0208A778
+ add r0, r4, #0x0
+ mov r1, #0x0
+ bl FUN_0200D0E0
+_0208A778:
+ pop {r4, pc}
+ .balign 4
+
+ thumb_func_start FUN_0208A77C
+FUN_0208A77C: ; 0x0208A77C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r7, r5, #0x0
+ add r7, #0x28
+ add r0, r7, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _0208A808
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0xa5
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r1, #0xd
+ str r1, [sp, #0x0]
+ mov r0, #0xe
+ str r0, [sp, #0x4]
+ mov r0, #0xa
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ mov r0, #0x1
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x11
+ bl FUN_02019064
+ add r0, r7, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r6, #0x0
+ add r4, r6, #0x0
+_0208A7D2:
+ add r1, r6, #0x0
+ ldr r0, [r5, #0x10]
+ ldr r2, [r5, #0x8]
+ add r1, #0x9
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, [r5, #0x8]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ mov r3, #0xc
+ bl FUN_0201BD84
+ add r6, r6, #0x1
+ add r4, #0x10
+ cmp r6, #0x5
+ blt _0208A7D2
+ mov r2, #0x0
+ ldr r0, [r5, #0x14]
+ add r1, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_020136F8
+_0208A808:
+ str r7, [r5, #0x68]
+ mov r1, #0x0
+ str r1, [r5, #0x5c]
+ mov r0, #0x5
+ str r0, [r5, #0x60]
+ add r0, r7, #0x0
+ mov r2, #0xa5
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0208A820
+FUN_0208A820: ; 0x0208A820
+ ldr r3, _0208A828 ; =FUN_0200CCF8
+ add r0, #0x28
+ mov r1, #0x1
+ bx r3
+ .balign 4
+_0208A828: .word FUN_0200CCF8
+
+ thumb_func_start FUN_0208A82C
+FUN_0208A82C: ; 0x0208A82C
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r5, r0, #0x0
+ add r7, r5, #0x0
+ add r7, #0x38
+ add r0, r7, #0x0
+ bl FUN_02019048
+ cmp r0, #0x0
+ bne _0208A8B8
+ mov r0, #0x0
+ str r0, [sp, #0x0]
+ mov r0, #0x20
+ str r0, [sp, #0x4]
+ ldr r0, [r5, #0x0]
+ mov r1, #0x3
+ ldr r0, [r0, #0x8]
+ mov r2, #0xa5
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r1, #0xd
+ str r1, [sp, #0x0]
+ mov r0, #0x6
+ str r0, [sp, #0x4]
+ mov r0, #0x4
+ str r0, [sp, #0x8]
+ str r1, [sp, #0xc]
+ mov r0, #0x8d
+ str r0, [sp, #0x10]
+ ldr r0, [r5, #0x0]
+ add r1, r7, #0x0
+ ldr r0, [r0, #0x8]
+ mov r2, #0x3
+ mov r3, #0x19
+ bl FUN_02019064
+ add r0, r7, #0x0
+ mov r1, #0xf
+ bl FUN_02019620
+ mov r6, #0x0
+ add r4, r6, #0x0
+_0208A882:
+ add r1, r6, #0x0
+ ldr r0, [r5, #0x10]
+ ldr r2, [r5, #0x8]
+ add r1, #0xe
+ bl FUN_0200A8E0
+ str r4, [sp, #0x0]
+ mov r0, #0xff
+ str r0, [sp, #0x4]
+ mov r0, #0x0
+ str r0, [sp, #0x8]
+ ldr r2, [r5, #0x8]
+ add r0, r7, #0x0
+ mov r1, #0x0
+ mov r3, #0xc
+ bl FUN_0201BD84
+ add r6, r6, #0x1
+ add r4, #0x10
+ cmp r6, #0x2
+ blt _0208A882
+ mov r2, #0x0
+ ldr r0, [r5, #0x14]
+ add r1, r7, #0x0
+ add r3, r2, #0x0
+ bl FUN_020136F8
+_0208A8B8:
+ str r7, [r5, #0x68]
+ mov r1, #0x0
+ str r1, [r5, #0x5c]
+ mov r0, #0x2
+ str r0, [r5, #0x60]
+ add r0, r7, #0x0
+ mov r2, #0xa5
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x14
+ pop {r4-r7, pc}
+
+ thumb_func_start FUN_0208A8D0
+FUN_0208A8D0: ; 0x0208A8D0
+ ldr r3, _0208A8D8 ; =FUN_0200CCF8
+ add r0, #0x38
+ mov r1, #0x1
+ bx r3
+ .balign 4
+_0208A8D8: .word FUN_0200CCF8
+
+ thumb_func_start FUN_0208A8DC
+FUN_0208A8DC: ; 0x0208A8DC
+ push {r4, lr}
+ sub sp, #0x8
+ add r4, r0, #0x0
+ ldr r0, _0208A990 ; =0x021C48B8
+ mov r1, #0x40
+ ldr r0, [r0, #0x48]
+ tst r1, r0
+ beq _0208A906
+ ldr r0, [r4, #0x5c]
+ sub r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ bpl _0208A954
+ ldr r0, [r4, #0x60]
+ cmp r0, #0x2
+ ble _0208A900
+ sub r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _0208A954
+_0208A900:
+ mov r0, #0x0
+ str r0, [r4, #0x5c]
+ b _0208A954
+_0208A906:
+ mov r1, #0x80
+ tst r1, r0
+ beq _0208A928
+ ldr r0, [r4, #0x5c]
+ add r1, r0, #0x1
+ str r1, [r4, #0x5c]
+ ldr r0, [r4, #0x60]
+ cmp r1, r0
+ blt _0208A954
+ cmp r0, #0x2
+ ble _0208A922
+ mov r0, #0x0
+ str r0, [r4, #0x5c]
+ b _0208A954
+_0208A922:
+ sub r0, r0, #0x1
+ str r0, [r4, #0x5c]
+ b _0208A954
+_0208A928:
+ mov r1, #0x1
+ tst r1, r0
+ beq _0208A93A
+ ldr r0, _0208A994 ; =0x000005DC
+ bl FUN_020054C8
+ add sp, #0x8
+ ldr r0, [r4, #0x5c]
+ pop {r4, pc}
+_0208A93A:
+ mov r1, #0x2
+ tst r0, r1
+ beq _0208A94E
+ ldr r0, _0208A994 ; =0x000005DC
+ bl FUN_020054C8
+ ldr r0, [r4, #0x60]
+ add sp, #0x8
+ sub r0, r0, #0x1
+ pop {r4, pc}
+_0208A94E:
+ add sp, #0x8
+ sub r0, r1, #0x3
+ pop {r4, pc}
+_0208A954:
+ ldr r0, [r4, #0x68]
+ mov r1, #0xc
+ str r1, [sp, #0x0]
+ ldrb r1, [r0, #0x8]
+ mov r2, #0x0
+ add r3, r2, #0x0
+ lsl r1, r1, #0x13
+ lsr r1, r1, #0x10
+ str r1, [sp, #0x4]
+ mov r1, #0xf
+ bl FUN_020196F4
+ ldr r3, [r4, #0x5c]
+ ldr r0, [r4, #0x14]
+ ldr r1, [r4, #0x68]
+ mov r2, #0x0
+ lsl r3, r3, #0x4
+ bl FUN_020136F8
+ ldr r0, [r4, #0x68]
+ bl FUN_02019548
+ ldr r0, _0208A994 ; =0x000005DC
+ bl FUN_020054C8
+ mov r0, #0x0
+ mvn r0, r0
+ add sp, #0x8
+ pop {r4, pc}
+ nop
+_0208A990: .word 0x021C48B8
+_0208A994: .word 0x000005DC
+
+ thumb_func_start FUN_0208A998
+FUN_0208A998: ; 0x0208A998
+ ldr r3, _0208A9AC ; =0x027E0000
+ ldr r1, _0208A9B0 ; =0x00003FF8
+ mov r0, #0x1
+ ldr r2, [r3, r1]
+ orr r0, r2
+ str r0, [r3, r1]
+ ldr r3, _0208A9B4 ; =MI_WaitDma
+ mov r0, #0x3
+ bx r3
+ nop
+_0208A9AC: .word 0x027E0000
+_0208A9B0: .word 0x00003FF8
+_0208A9B4: .word MI_WaitDma
+
+ thumb_func_start FUN_0208A9B8
+FUN_0208A9B8: ; 0x0208A9B8
+ push {r4-r7, lr}
+ sub sp, #0x24
+ ldr r0, _0208ABC8 ; =0x021C8C58
+ ldr r1, [r0, #0x0]
+ cmp r1, #0x1
+ bne _0208A9C6
+ b _0208ABC4
+_0208A9C6:
+ mov r1, #0x1
+ str r1, [r0, #0x0]
+ mov r0, #0x0
+ bl OS_GetInitArenaHi
+ add r1, r0, #0x0
+ mov r0, #0x0
+ bl OS_SetArenaHi
+ mov r0, #0x0
+ bl OS_GetInitArenaLo
+ add r1, r0, #0x0
+ mov r0, #0x0
+ bl OS_SetArenaLo
+ mov r1, #0x1
+ ldr r0, _0208ABCC ; =0x020FF4A4
+ add r2, r1, #0x0
+ mov r3, #0x0
+ bl FUN_020166C8
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ mov r1, #0x0
+ bl FUN_0200E3A0
+ mov r0, #0x1
+ bl OS_DisableIrqMask
+ ldr r1, _0208ABD0 ; =FUN_0208A998
+ mov r0, #0x1
+ bl OS_SetIrqFunction
+ mov r0, #0x1
+ bl OS_EnableIrqMask
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F10
+ mov r0, #0x0
+ add r1, r0, #0x0
+ bl FUN_02015F34
+ bl FUN_0201E6D8
+ bl FUN_0201E740
+ mov r2, #0x1
+ lsl r2, r2, #0x1a
+ ldr r1, [r2, #0x0]
+ ldr r0, _0208ABD4 ; =0xFFFFE0FF
+ and r1, r0
+ str r1, [r2, #0x0]
+ ldr r2, _0208ABD8 ; =0x04001000
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ mov r0, #0x4
+ mov r1, #0x8
+ bl FUN_0201669C
+ ldr r0, _0208ABDC ; =0x021C4918
+ mov r1, #0x0
+ strb r1, [r0, #0x5]
+ bl FUN_0201E7A0
+ ldr r3, _0208ABE0 ; =0x04000050
+ mov r0, #0x0
+ strh r0, [r3, #0x0]
+ ldr r2, _0208ABE4 ; =0x04001050
+ sub r3, #0x50
+ strh r0, [r2, #0x0]
+ ldr r1, [r3, #0x0]
+ ldr r0, _0208ABE8 ; =0xFFFF1FFF
+ sub r2, #0x50
+ and r1, r0
+ str r1, [r3, #0x0]
+ ldr r1, [r2, #0x0]
+ and r0, r1
+ str r0, [r2, #0x0]
+ ldr r0, _0208ABEC ; =0x020FF4D8
+ bl FUN_0201E66C
+ mov r0, #0x0
+ bl FUN_02016B94
+ str r0, [sp, #0x10]
+ ldr r0, _0208ABF0 ; =0x020FF4AC
+ bl FUN_02016BBC
+ mov r1, #0x0
+ ldr r0, [sp, #0x10]
+ ldr r2, _0208ABF4 ; =0x020FF4BC
+ add r3, r1, #0x0
+ bl FUN_02016C18
+ ldr r0, [sp, #0x10]
+ mov r1, #0x0
+ bl FUN_02018744
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ ldr r0, [sp, #0x10]
+ ldr r2, _0208ABF8 ; =0x000001F7
+ mov r3, #0x2
+ str r1, [sp, #0x4]
+ bl FUN_0200CB00
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ bl FUN_02002ED0
+ mov r0, #0x0
+ mov r1, #0x20
+ add r2, r0, #0x0
+ add r3, r0, #0x0
+ bl FUN_02017F18
+ ldr r1, _0208ABFC ; =0x00006C21
+ mov r0, #0x0
+ bl FUN_02017FE4
+ ldr r1, _0208ABFC ; =0x00006C21
+ mov r0, #0x4
+ bl FUN_02017FE4
+ mov r0, #0x1
+ mov r1, #0x1a
+ mov r2, #0xc8
+ mov r3, #0x0
+ bl FUN_0200A86C
+ str r0, [sp, #0xc]
+ mov r0, #0x6
+ lsl r0, r0, #0x6
+ mov r1, #0x0
+ bl FUN_020219F4
+ add r4, r0, #0x0
+ bl FUN_0201BD5C
+ ldr r0, [sp, #0x10]
+ ldr r2, _0208AC00 ; =0x020FF49C
+ add r1, sp, #0x14
+ bl FUN_02019150
+ mov r0, #0xd0
+ str r0, [sp, #0x0]
+ mov r0, #0x90
+ mov r2, #0x0
+ str r0, [sp, #0x4]
+ add r0, sp, #0x14
+ mov r1, #0xf
+ add r3, r2, #0x0
+ bl FUN_020196F4
+ ldr r2, _0208ABF8 ; =0x000001F7
+ add r0, sp, #0x14
+ mov r1, #0x0
+ mov r3, #0x2
+ bl FUN_0200CCA4
+ ldr r0, [sp, #0xc]
+ mov r1, #0x3
+ add r2, r4, #0x0
+ bl FUN_0200A8E0
+ mov r1, #0x0
+ str r1, [sp, #0x0]
+ str r1, [sp, #0x4]
+ add r0, sp, #0x14
+ add r2, r4, #0x0
+ add r3, r1, #0x0
+ str r1, [sp, #0x8]
+ bl FUN_0201BD84
+ add r0, r4, #0x0
+ bl FUN_02021A20
+ bl FUN_0201E788
+ mov r0, #0x0
+ bl FUN_0200E394
+ mov r0, #0x1
+ bl FUN_0200E394
+ mov r0, #0x0
+ mov r1, #0x3f
+ mov r2, #0x3
+ bl FUN_0200A274
+ bl FUN_02032DAC
+ mov r4, #0x1
+_0208AB58:
+ bl FUN_02000FE8
+ bl FUN_0202FB80
+ bl FUN_02033678
+ cmp r0, #0x0
+ bne _0208AB72
+ add r0, r4, #0x0
+ add r1, r4, #0x0
+ bl OS_WaitIrq
+ b _0208AB58
+_0208AB72:
+ ldr r5, _0208AC04 ; =0x04000130
+ ldr r4, _0208AC08 ; =0x027FFFA8
+ ldr r7, _0208AC0C ; =0x00002FFF
+ mov r6, #0x1
+_0208AB7A:
+ bl FUN_02000FE8
+ ldrh r1, [r5, #0x0]
+ ldrh r0, [r4, #0x0]
+ orr r1, r0
+ ldr r0, _0208AC0C ; =0x00002FFF
+ eor r0, r1
+ and r0, r7
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ tst r0, r6
+ bne _0208AB9C
+ mov r0, #0x1
+ add r1, r0, #0x0
+ bl OS_WaitIrq
+ b _0208AB7A
+_0208AB9C:
+ ldr r1, _0208AC10 ; =0x00007FFF
+ mov r0, #0x0
+ bl FUN_0200E3A0
+ ldr r1, _0208AC10 ; =0x00007FFF
+ mov r0, #0x1
+ bl FUN_0200E3A0
+ add r0, sp, #0x14
+ bl FUN_02019178
+ ldr r0, [sp, #0xc]
+ bl FUN_0200A8B8
+ ldr r0, [sp, #0x10]
+ bl FUN_02016A18
+ mov r0, #0x0
+ bl OS_ResetSystem
+_0208ABC4:
+ add sp, #0x24
+ pop {r4-r7, pc}
+ .balign 4
+_0208ABC8: .word 0x021C8C58
+_0208ABCC: .word 0x020FF4A4
+_0208ABD0: .word FUN_0208A998
+_0208ABD4: .word 0xFFFFE0FF
+_0208ABD8: .word 0x04001000
+_0208ABDC: .word 0x021C4918
+_0208ABE0: .word 0x04000050
+_0208ABE4: .word 0x04001050
+_0208ABE8: .word 0xFFFF1FFF
+_0208ABEC: .word 0x020FF4D8
+_0208ABF0: .word 0x020FF4AC
+_0208ABF4: .word 0x020FF4BC
+_0208ABF8: .word 0x000001F7
+_0208ABFC: .word 0x00006C21
+_0208AC00: .word 0x020FF49C
+_0208AC04: .word 0x04000130
+_0208AC08: .word 0x027FFFA8
+_0208AC0C: .word 0x00002FFF
+_0208AC10: .word 0x00007FFF