diff options
-rw-r--r-- | arm9/arm9.lcf | 15 | ||||
-rw-r--r-- | arm9/asm/unk_02052EE8.s | 114652 | ||||
-rw-r--r-- | arm9/asm/unk_0205363C.s | 158 | ||||
-rw-r--r-- | arm9/asm/unk_02053750.s | 1871 | ||||
-rw-r--r-- | arm9/asm/unk_02054590.s | 264 | ||||
-rw-r--r-- | arm9/asm/unk_0205478C.s | 892 | ||||
-rw-r--r-- | arm9/asm/unk_02054C14.s | 592 | ||||
-rw-r--r-- | arm9/asm/unk_02055068.s | 1160 | ||||
-rw-r--r-- | arm9/asm/unk_020557F4.s | 3478 | ||||
-rw-r--r-- | arm9/asm/unk_02057380.s | 3998 | ||||
-rw-r--r-- | arm9/asm/unk_02058EE8.s | 2038 | ||||
-rw-r--r-- | arm9/asm/unk_02059F04.s | 2002 | ||||
-rw-r--r-- | arm9/asm/unk_0205AD98.s | 2442 | ||||
-rw-r--r-- | arm9/asm/unk_0205BEF8.s | 595 | ||||
-rw-r--r-- | arm9/asm/unk_0205C334.s | 324 | ||||
-rw-r--r-- | arm9/asm/unk_0205C598.s | 1104 | ||||
-rw-r--r-- | arm9/asm/unk_0205CDB4.s | 93794 | ||||
-rw-r--r-- | arm9/global.inc | 128 |
18 files changed, 114855 insertions, 114652 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf index d54968c8..6811658a 100644 --- a/arm9/arm9.lcf +++ b/arm9/arm9.lcf @@ -318,6 +318,21 @@ SECTIONS { unk_02050E48.o (.text) unk_020520AC.o (.text) unk_02052EE8.o (.text) + unk_0205363C.o (.text) + unk_02053750.o (.text) + unk_02054590.o (.text) + unk_0205478C.o (.text) + unk_02054C14.o (.text) + unk_02055068.o (.text) + unk_020557F4.o (.text) + unk_02057380.o (.text) + unk_02058EE8.o (.text) + unk_02059F04.o (.text) + unk_0205AD98.o (.text) + unk_0205BEF8.o (.text) + unk_0205C334.o (.text) + unk_0205C598.o (.text) + unk_0205CDB4.o (.text) /* Third-party libraries */ unk_0208AC14.o (.text) FUN_020910A4.o (.text) diff --git a/arm9/asm/unk_02052EE8.s b/arm9/asm/unk_02052EE8.s index 8f0160eb..ba042fa2 100644 --- a/arm9/asm/unk_02052EE8.s +++ b/arm9/asm/unk_02052EE8.s @@ -952,114655 +952,3 @@ FUN_0205362C: ; 0x0205362C 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_0205363C.s b/arm9/asm/unk_0205363C.s new file mode 100644 index 00000000..446b6e28 --- /dev/null +++ b/arm9/asm/unk_0205363C.s @@ -0,0 +1,158 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02053750.s b/arm9/asm/unk_02053750.s new file mode 100644 index 00000000..ff993422 --- /dev/null +++ b/arm9/asm/unk_02053750.s @@ -0,0 +1,1871 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02054590.s b/arm9/asm/unk_02054590.s new file mode 100644 index 00000000..92a182d7 --- /dev/null +++ b/arm9/asm/unk_02054590.s @@ -0,0 +1,264 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_0205478C.s b/arm9/asm/unk_0205478C.s new file mode 100644 index 00000000..81afebcc --- /dev/null +++ b/arm9/asm/unk_0205478C.s @@ -0,0 +1,892 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02054C14.s b/arm9/asm/unk_02054C14.s new file mode 100644 index 00000000..f6e73ce9 --- /dev/null +++ b/arm9/asm/unk_02054C14.s @@ -0,0 +1,592 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02055068.s b/arm9/asm/unk_02055068.s new file mode 100644 index 00000000..93414ed4 --- /dev/null +++ b/arm9/asm/unk_02055068.s @@ -0,0 +1,1160 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_020557F4.s b/arm9/asm/unk_020557F4.s new file mode 100644 index 00000000..e6a7ee2c --- /dev/null +++ b/arm9/asm/unk_020557F4.s @@ -0,0 +1,3478 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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} diff --git a/arm9/asm/unk_02057380.s b/arm9/asm/unk_02057380.s new file mode 100644 index 00000000..32354f95 --- /dev/null +++ b/arm9/asm/unk_02057380.s @@ -0,0 +1,3998 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02058EE8.s b/arm9/asm/unk_02058EE8.s new file mode 100644 index 00000000..ed54c457 --- /dev/null +++ b/arm9/asm/unk_02058EE8.s @@ -0,0 +1,2038 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_02059F04.s b/arm9/asm/unk_02059F04.s new file mode 100644 index 00000000..86040c1a --- /dev/null +++ b/arm9/asm/unk_02059F04.s @@ -0,0 +1,2002 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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} diff --git a/arm9/asm/unk_0205AD98.s b/arm9/asm/unk_0205AD98.s new file mode 100644 index 00000000..2ff049a0 --- /dev/null +++ b/arm9/asm/unk_0205AD98.s @@ -0,0 +1,2442 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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} diff --git a/arm9/asm/unk_0205BEF8.s b/arm9/asm/unk_0205BEF8.s new file mode 100644 index 00000000..4e7e154e --- /dev/null +++ b/arm9/asm/unk_0205BEF8.s @@ -0,0 +1,595 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_0205C334.s b/arm9/asm/unk_0205C334.s new file mode 100644 index 00000000..b23680af --- /dev/null +++ b/arm9/asm/unk_0205C334.s @@ -0,0 +1,324 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_0205C598.s b/arm9/asm/unk_0205C598.s new file mode 100644 index 00000000..b071294b --- /dev/null +++ b/arm9/asm/unk_0205C598.s @@ -0,0 +1,1104 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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 diff --git a/arm9/asm/unk_0205CDB4.s b/arm9/asm/unk_0205CDB4.s new file mode 100644 index 00000000..8f02f627 --- /dev/null +++ b/arm9/asm/unk_0205CDB4.s @@ -0,0 +1,93794 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + 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/global.inc b/arm9/global.inc index e42c1e8d..6504acf0 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -6478,3 +6478,131 @@ .extern FUN_02052E38
.extern FUN_02052EAC
.extern FUN_02052ED0
+.extern FUN_02057634
+.extern FUN_020584A4
+.extern FUN_02058534
+.extern FUN_0205853C
+.extern FUN_020588EC
+.extern FUN_02058AFC
+.extern FUN_02058B04
+.extern FUN_02058B0C
+.extern FUN_0205483C
+.extern FUN_02054848
+.extern FUN_02054854
+.extern FUN_02054860
+.extern FUN_0205486C
+.extern FUN_020549CC
+.extern FUN_020549D8
+.extern FUN_020549E4
+.extern FUN_020549F0
+.extern FUN_02054A24
+.extern FUN_02054A30
+.extern FUN_02054B20
+.extern FUN_02054B8C
+.extern FUN_02054BB0
+.extern FUN_02054BD4
+.extern FUN_02054BE0
+.extern FUN_02054BF4
+.extern FUN_02054C08
+.extern FUN_02058454
+.extern FUN_02058484
+.extern FUN_0205848C
+.extern FUN_02058494
+.extern FUN_020584EC
+.extern FUN_02058960
+.extern FUN_02058AC8
+.extern FUN_02058DBC
+.extern FUN_020552A4
+.extern FUN_02055338
+.extern FUN_02055344
+.extern FUN_0205536C
+.extern FUN_02055374
+.extern FUN_0205540C
+.extern FUN_0205541C
+.extern FUN_02055430
+.extern FUN_02055438
+.extern FUN_0205543C
+.extern FUN_0205545C
+.extern FUN_02055460
+.extern FUN_02055464
+.extern FUN_020554AC
+.extern FUN_020554BC
+.extern FUN_02055698
+.extern FUN_0205569C
+.extern FUN_020556E0
+.extern FUN_020556F4
+.extern FUN_0205570C
+.extern FUN_02055738
+.extern FUN_02055778
+.extern FUN_02055790
+.extern FUN_020557A4
+.extern FUN_020557B0
+.extern FUN_020557BC
+.extern FUN_020557D0
+.extern FUN_020557E8
+.extern FUN_020584CC
+.extern FUN_020586F0
+.extern FUN_0205995C
+.extern FUN_02059A08
+.extern FUN_02059A60
+.extern FUN_02059AC4
+.extern FUN_02059B2C
+.extern FUN_02059B94
+.extern FUN_02059BB4
+.extern FUN_02059BD4
+.extern FUN_02059E28
+.extern FUN_0205AE80
+.extern FUN_0205B020
+.extern FUN_02057124
+.extern FUN_02058EE8
+.extern FUN_02058EF8
+.extern FUN_02059EC8
+.extern FUN_020584A0
+.extern FUN_020584D8
+.extern FUN_02058538
+.extern FUN_02058540
+.extern FUN_0205858C
+.extern FUN_020585B0
+.extern FUN_020585B4
+.extern FUN_020585D8
+.extern FUN_020585DC
+.extern FUN_02058600
+.extern FUN_02058638
+.extern FUN_0205864C
+.extern FUN_020586E8
+.extern FUN_020586F8
+.extern FUN_02058700
+.extern FUN_02058710
+.extern FUN_02058718
+.extern FUN_02058728
+.extern FUN_02058730
+.extern FUN_0205881C
+.extern FUN_0205883C
+.extern FUN_02058848
+.extern FUN_02058860
+.extern FUN_0205886C
+.extern FUN_0205897C
+.extern FUN_020589E4
+.extern FUN_02058A34
+.extern FUN_02058A4C
+.extern FUN_02058A80
+.extern FUN_02058AE4
+.extern FUN_02058B18
+.extern FUN_02058B20
+.extern FUN_02058B28
+.extern FUN_02058B34
+.extern FUN_02058B44
+.extern FUN_02058B54
+.extern FUN_02058BD4
+.extern FUN_0205B058
+.extern FUN_0205BEF8
+.extern FUN_0205BF00
+.extern FUN_020598F0
+.extern FUN_02059C0C
+.extern FUN_02059CC8
+.extern FUN_02059E80
+.extern FUN_0205AE0C
+.extern FUN_0205B080
+.extern FUN_0205EB20
+.extern FUN_0205EB2C
+.extern FUN_0205C9E8
|